All files / src/utils handle_error.ts

68% Statements 17/25
50% Branches 2/4
100% Functions 1/1
68% Lines 17/25

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 251x 1x 1x 1x 1x 1x 1x 9x             9x 9x 12x 12x 12x 9x 9x 9x     9x
import { Response } from 'express';
import {isMongoValidationErrors, isReqValidationErrors} from "./utils";
import {ValidationError} from "types/validation_errors";
 
 
 
export const handleError = (err: any, res: Response) => {
    if (isMongoValidationErrors(err)) {
        const errors: ValidationError[] = Object.keys(err.errors).map(field => ({
            field,
            message: err.errors[field].message,
            value: err.errors[field].value
        }));
        res.status(400).json({ message: err.message, errors });
    } else if (isReqValidationErrors(err)) {
        const errors: ValidationError[] = err.errors.map((error: any) => ({
            field: error.parm ?? error.path ,
            message: error.msg,
            value: error.value
        }));
        res.status(400).json({ message: err.message, errors });
    } else {
        res.status(500).json({ message: err.message });
    }
};