somod-schema
Version:
Schema to validate yaml files in somod modules
72 lines (71 loc) • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runtimeConfig = void 0;
var keywords_1 = require("../common/keywords");
exports.runtimeConfig = {
type: "object",
additionalProperties: false,
patternProperties: {
"^[a-zA-Z][a-zA-Z0-9_]{0,63}$": {
$ref: "#/definitions/somodFunctions"
}
},
maxProperties: 32,
errorMessage: {
additionalProperties: "Config Name must contain only Letters, Numbers and Underscore. Must start with letters only"
}
};
var uiConfig = {
$schema: "http://json-schema.org/draft-07/schema",
$id: "https://somod.json-schema.sodaru.com/ui-config/index.json",
title: "JSON Schema for UI Config in SOMOD",
definitions: {
somodAjvCompile: keywords_1.somodAjvCompile,
somodAnd: keywords_1.somodAnd,
somodEquals: keywords_1.somodEquals,
somodFunctions: keywords_1.somodFunctions,
somodIf: keywords_1.somodIf,
somodJsonParse: keywords_1.somodJsonParse,
somodJsonStringify: keywords_1.somodJsonStringify,
somodKey: keywords_1.somodKey,
somodOr: keywords_1.somodOr,
somodParameter: keywords_1.somodParameter,
runtimeConfig: exports.runtimeConfig
},
type: "object",
additionalProperties: false,
properties: {
env: {
type: "object",
additionalProperties: false,
patternProperties: {
"^[A-Z][A-Z0-9_]{0,63}$": {
$ref: "#/definitions/somodFunctions"
}
},
maxProperties: 32,
errorMessage: {
additionalProperties: "Environmental Variable Name must contain only UpperCase Letters, Numbers and Underscore. Must start with letters only"
}
},
imageDomains: {
type: "array",
items: {
anyOf: [
{ type: "string", format: "hostname" },
{
$ref: "#/definitions/somodFunctions"
}
]
},
maxItems: 16
},
publicRuntimeConfig: {
$ref: "#/definitions/runtimeConfig"
},
serverRuntimeConfig: {
$ref: "#/definitions/runtimeConfig"
}
}
};
exports.default = uiConfig;