@knax/backend-utils
Version:
58 lines • 4.29 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
// @ts-ignore
const Validator = require("fastest-validator");
const validation_error_1 = require("../response/validation_error");
const config_1 = require("../config");
// @ts-ignore
const v = new Validator({
messages: config_1.globalConfig.validationMessage
});
exports.validator = {
query: (schema) => {
const compiledSchema = v.compile(schema);
return (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
const result = compiledSchema(ctx.query);
if (Array.isArray(result)) {
validation_error_1.validationErrorResponse(ctx, 'QueryValidationError', result);
}
else {
yield next();
}
});
},
body: (schema) => {
const compiledSchema = v.compile(schema);
return (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
const result = compiledSchema(ctx.request.body);
if (Array.isArray(result)) {
validation_error_1.validationErrorResponse(ctx, 'BodyValidationError', result);
}
else {
yield next();
}
});
},
params: (schema) => {
const compiledSchema = v.compile(schema);
return (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
const result = compiledSchema(ctx.params);
if (Array.isArray(result)) {
validation_error_1.validationErrorResponse(ctx, 'ParamsValidationError', result);
}
else {
yield next();
}
});
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxhQUFhO0FBQ2IsK0NBQStDO0FBRS9DLG1FQUFxRTtBQUNyRSxzQ0FBdUM7QUFFdkMsYUFBYTtBQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDO0lBQ3BCLFFBQVEsRUFBRSxxQkFBWSxDQUFDLGlCQUFpQjtDQUMzQyxDQUFDLENBQUM7QUFFVSxRQUFBLFNBQVMsR0FBRztJQUNyQixLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNkLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUN2QixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXpDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkIsMENBQXVCLENBQUMsR0FBRyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNO2dCQUNILE1BQU0sSUFBSSxFQUFFLENBQUM7YUFDaEI7UUFDTCxDQUFDLENBQUEsQ0FBQztJQUNOLENBQUM7SUFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNiLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUN2QixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3ZCLDBDQUF1QixDQUFDLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxNQUFNLElBQUksRUFBRSxDQUFDO2FBQ2hCO1FBQ0wsQ0FBQyxDQUFBLENBQUM7SUFDTixDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDZixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3ZCLDBDQUF1QixDQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNqRTtpQkFBTTtnQkFDSCxNQUFNLElBQUksRUFBRSxDQUFDO2FBQ2hCO1FBQ0wsQ0FBQyxDQUFBLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyJ9