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

100% Statements 12/12
100% Branches 7/7
100% Functions 1/1
100% Lines 12/12

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 301x 1x                 1x 10x 10x 10x 10x 10x   10x         5x   3x   5x      
import {BadRequestError} from '@app/errors';
import {CarService} from '@app/models';
import {RequestHandler} from 'express';
 
/**
 * Controller for handling parking of the specified car.
 * @param req   - Request
 * @param res   - Response
 * @param next  - Next
 */
export const parkCarController: RequestHandler = async (req, res, next) => {
  const user = req.user;
  const groupId = parseInt(req.params.groupId, 10);
  const carId = parseInt(req.params.carId, 10);
  const lat = parseFloat(req.body.latitude);
  const lon = parseFloat(req.body.longitude);
 
  if (typeof user === 'object' &&
      !isNaN(groupId) &&
      !isNaN(carId) &&
      !isNaN(lat) &&
      !isNaN(lon)) {
    await CarService.parkCar(user, groupId, carId, lat, lon);
 
    res.status(204).send();
  } else {
    throw new BadRequestError('Missing parameter');
  }
};