fix: resource advanced view filter.

This commit is contained in:
Ahmed Bouhuolia
2020-09-16 21:41:09 +02:00
parent a22c8395f3
commit ca92c925a9
72 changed files with 997 additions and 2324 deletions

View File

@@ -1,17 +1,28 @@
import { Response, Request } from 'express';
import { Response, Request, NextFunction } from 'express';
import { matchedData, validationResult } from "express-validator";
import { camelCase, omit } from "lodash";
import { mapKeysDeep } from 'utils'
export default class BaseController {
private dataToCamelCase(data) {
return mapKeysDeep(data, (v, k) => camelCase(k));
}
matchedBodyData(req: Request, options: any = {}) {
const data = matchedData(req, {
locations: ['body'],
includeOptionals: true,
...omit(options, ['locations']), // override any propery except locations.
});
return mapKeysDeep(data, (v, k) => camelCase(k));
return this.dataToCamelCase(data);
}
matchedQueryData(req: Request) {
const data = matchedData(req, {
locations: ['query'],
});
return this.dataToCamelCase(data);
}
validationResult(req: Request, res: Response, next: NextFunction) {