Files
Mastering-Node.js-Web-Devel…/Chapter 15/End of Chapter/part2app/dist/server/api/validation_adapter.js
T
2024-05-29 18:54:49 +01:00

47 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Validator = void 0;
const validation_functions_1 = require("./validation_functions");
class Validator {
ws;
validation;
constructor(ws, validation) {
this.ws = ws;
this.validation = validation;
}
getOne(id) {
return this.ws.getOne(this.validateId(id));
}
getMany(query) {
if (this.validation.getMany) {
query = (0, validation_functions_1.validate)(query, this.validation.getMany);
}
return this.ws.getMany(query);
}
store(data) {
if (this.validation.store) {
data = (0, validation_functions_1.validate)(data, this.validation.store);
}
return this.ws.store(data);
}
delete(id) {
return this.ws.delete(this.validateId(id));
}
replace(id, data) {
if (this.validation.replace) {
data = (0, validation_functions_1.validate)(data, this.validation.replace);
}
return this.ws.replace(this.validateId(id), data);
}
modify(id, data) {
if (this.validation.modify) {
data = (0, validation_functions_1.validate)(data, this.validation.modify);
}
return this.ws.modify(this.validateId(id), data);
}
validateId(val) {
return (0, validation_functions_1.validateIdProperty)(val, this.validation);
}
}
exports.Validator = Validator;