Files
bigcapital/server/src/http/controllers/BaseController.ts
Ahmed Bouhuolia 750377ba86 feat: fix issues in invite user.
feat: fix update last login at after login.
2020-09-05 22:18:53 +02:00

27 lines
788 B
TypeScript

import { Response, Request } from 'express';
import { matchedData, validationResult } from "express-validator";
import { mapKeys, camelCase, omit } from "lodash";
export default class BaseController {
matchedBodyData(req: Request, options: any) {
const data = matchedData(req, {
locations: ['body'],
includeOptionals: true,
...omit(options, ['locations']), // override any propery except locations.
});
return mapKeys(data, (v, k) => camelCase(k));
}
validationResult(req: Request, res: Response, next: NextFunction) {
const validationErrors = validationResult(req);
if (!validationErrors.isEmpty()) {
return res.boom.badData(null, {
code: 'validation_error',
...validationErrors,
});
}
next();
}
}