All files / app/routes/api/group/group-id/update update-group-controller.ts

100% Statements 11/11
100% Branches 4/4
100% Functions 1/1
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 391x 1x                     1x         8x 8x 8x   8x       3x     5x           3x     1x  
import {GroupService} from '@app/models';
import {
  BadRequestError,
} from '@app/errors';
import {RequestHandler} from 'express';
 
/**
 * Handles the request to update a group.
 * @param req   - Http request
 * @param res   - Http response
 * @param _next  - Next function
 */
export const updateGroupController: RequestHandler = async (
  req,
  res,
  _next,
) => {
  const currentUser = req.user;
  const values = req.body;
  const groupId = parseInt(req.params.groupId, 10);
 
  if (
    typeof currentUser !== 'object' ||
    isNaN(groupId)
  ) {
    throw new BadRequestError('Incorrect arguments');
  }
 
  const updatedGroup = await GroupService.update(
      currentUser,
      groupId,
      {name: values.name, description: values.description},
  );
 
  res.send(updatedGroup);
};
 
export default updateGroupController;