Files
forgetmenot-django/api/validation/index.js

30 lines
548 B
JavaScript

/*
* Validation
*/
const Ajv = require(`ajv`);
const validateOrThrow = (schema, data) => {
const ajv = new Ajv();
const valid = ajv.validate(schema, data);
if (!valid) {
throw validationError(ajv.errors);
}
};
/**
* Build a custom validation error
* @param {array[string]} validationErrors Validation errors
*/
const validationError = (validationErrors = []) => {
let error = new Error("Validation error(s)");
error.validationErrors = validationErrors;
error.code = 400;
return error;
};
module.exports = {
validateOrThrow,
};