All files / app/routes/api/group/get get-groups-controller.ts

100% Statements 13/13
100% Branches 2/2
100% Functions 1/1
100% Lines 13/13

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  1x 1x 1x   1x 1x               1x 3x   3x 2x   2x 2x   1x 1x      
import {RequestHandler} from 'express';
import {GroupService} from '@app/models';
import {BadRequestError} from '@app/errors';
import debug from 'debug';
 
const log = debug('group-car:group:get-all:controller');
const error = debug('group-car:group:get-all:controller:error');
 
/**
 * Controller for handling returning all groups of the currently logged in user.
 * @param req   - Request
 * @param res   - Response
 * @param next  - Next
 */
export const getGroupsController: RequestHandler = async (req, res, next) => {
  const currentUser = req.user;
 
  if (typeof currentUser === 'object') {
    log('User %d: Get all groups', currentUser.id);
 
    const groups = await GroupService.findAllForUser(currentUser);
    res.send({groups});
  } else {
    error('User is missing in request');
    throw new BadRequestError();
  }
};