All files / app/routes/api/user/invite/group-id/join join-group-controller.ts

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

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  1x 1x                 1x 5x   5x 3x 2x   2x      
import {RequestHandler} from 'express';
import {InviteService} from '@models';
import {BadRequestError} from '@errors';
 
/**
 * Controller for handling request to let
 * the currently logged in user join a group.
 * @param req   - Request
 * @param res   - Response
 * @param next  - Next
 */
export const joinGroupController: RequestHandler = async (req, res, next) => {
  const groupId = parseInt(req.params.groupId, 10);
 
  if (req.user && !isNaN(groupId)) {
    await InviteService.assignUserToGroup(req.user, groupId);
    res.status(204).send();
  } else {
    throw new BadRequestError();
  }
};