1 | ;
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const convict_1 = __importDefault(require("convict"));
|
7 | const job_schemas_1 = require("./job-schemas");
|
8 | // @ts-ignore
|
9 | const validateOptions = { allowed: true };
|
10 | /**
|
11 | * Merges the provided inputSchema with commonSchema and then validates the
|
12 | * provided opConfig against the resulting schema.
|
13 | */
|
14 | function validateOpConfig(inputSchema, inputConfig) {
|
15 | const schema = Object.assign({}, job_schemas_1.opSchema, inputSchema);
|
16 | const config = convict_1.default(schema);
|
17 | try {
|
18 | config.load(inputConfig);
|
19 | config.validate(validateOptions);
|
20 | }
|
21 | catch (err) {
|
22 | throw new Error(`Validation failed for opConfig: ${inputConfig._op} - ${err.message}`);
|
23 | }
|
24 | return config.getProperties();
|
25 | }
|
26 | exports.validateOpConfig = validateOpConfig;
|
27 | /**
|
28 | * Merges the provided inputSchema with commonSchema and then validates the
|
29 | * provided apiConfig against the resulting schema.
|
30 | */
|
31 | function validateAPIConfig(inputSchema, inputConfig) {
|
32 | const schema = Object.assign({}, job_schemas_1.apiSchema, inputSchema);
|
33 | const config = convict_1.default(schema);
|
34 | try {
|
35 | config.load(inputConfig);
|
36 | config.validate(validateOptions);
|
37 | }
|
38 | catch (err) {
|
39 | throw new Error(`Validation failed for apiConfig: ${inputConfig._name} - ${err.message}`);
|
40 | }
|
41 | return config.getProperties();
|
42 | }
|
43 | exports.validateAPIConfig = validateAPIConfig;
|
44 | /**
|
45 | * Merges the provided inputSchema with commonSchema and then validates the
|
46 | * provided jobConfig against the resulting schema.
|
47 | */
|
48 | function validateJobConfig(inputSchema, inputConfig) {
|
49 | const config = convict_1.default(inputSchema);
|
50 | try {
|
51 | config.load(inputConfig);
|
52 | config.validate(validateOptions);
|
53 | }
|
54 | catch (err) {
|
55 | throw new Error(`Validation failed for jobConfig: ${inputConfig.name} - ${err.stack}`);
|
56 | }
|
57 | return config.getProperties();
|
58 | }
|
59 | exports.validateJobConfig = validateJobConfig;
|
60 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBOEI7QUFFOUIsK0NBQW9EO0FBRXBELGFBQWE7QUFDYixNQUFNLGVBQWUsR0FBNEIsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFbkU7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUksV0FBZ0MsRUFBRSxXQUFnQjtJQUNsRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxzQkFBUSxFQUFFLFdBQVcsQ0FBaUMsQ0FBQztJQUN4RixNQUFNLE1BQU0sR0FBRyxpQkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9CLElBQUk7UUFDQSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDcEM7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLFdBQVcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDMUY7SUFFRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBWkQsNENBWUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBSSxXQUFnQyxFQUFFLFdBQWdCO0lBQ25GLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLHVCQUFTLEVBQUUsV0FBVyxDQUFrQyxDQUFDO0lBQzFGLE1BQU0sTUFBTSxHQUFHLGlCQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0IsSUFBSTtRQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUNwQztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsV0FBVyxDQUFDLEtBQUssTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUM3RjtJQUVELE9BQU8sTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFaRCw4Q0FZQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFJLFdBQWdDLEVBQUUsV0FBZ0I7SUFDbkYsTUFBTSxNQUFNLEdBQUcsaUJBQU8sQ0FBQyxXQUFxRCxDQUFDLENBQUM7SUFFOUUsSUFBSTtRQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUNwQztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsV0FBVyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMxRjtJQUVELE9BQU8sTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFYRCw4Q0FXQyJ9 |
\ | No newline at end of file |