UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.

111 lines (110 loc) 3.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { exportPrintersFloorsYamlSchema: function() { return exportPrintersFloorsYamlSchema; }, importPrinterPositionsSchema: function() { return importPrinterPositionsSchema; }, importPrintersFloorsYamlSchema: function() { return importPrintersFloorsYamlSchema; }, numberOrStringIdValidator: function() { return numberOrStringIdValidator; }, printerPositionsSchema: function() { return printerPositionsSchema; } }); const _zod = require("zod"); const _printerservicevalidation = require("./printer-service.validation"); const _floorservicevalidation = require("./floor-service.validation"); const exportPrintersFloorsYamlSchema = _zod.z.object({ exportPrinters: _zod.z.boolean(), exportFloorGrid: _zod.z.boolean(), exportFloors: _zod.z.boolean(), exportGroups: _zod.z.boolean(), printerComparisonStrategiesByPriority: _zod.z.array(_zod.z.string().refine((val)=>[ "name", "url", "id" ].includes(val))).min(1), floorComparisonStrategiesByPriority: _zod.z.string().refine((val)=>[ "name", "floor", "id" ].includes(val)), notes: _zod.z.string().optional() }); const numberOrStringIdValidator = _zod.z.union([ _zod.z.number(), _zod.z.string() ]); const printerPositionsSchema = _zod.z.array(_zod.z.object({ printerId: numberOrStringIdValidator, floorId: numberOrStringIdValidator.optional(), x: _floorservicevalidation.xValidator, y: _floorservicevalidation.yValidator })).min(0); const importPrinterPositionsSchema = _zod.z.object({ printers: printerPositionsSchema.optional() }); const importPrintersFloorsYamlSchema = _zod.z.object({ version: _zod.z.string().optional(), exportedAt: _zod.z.date().optional(), databaseType: _zod.z.enum([ "mongo", "sqlite" ]).default("mongo"), config: _zod.z.object({ exportPrinters: _zod.z.boolean(), exportFloorGrid: _zod.z.boolean(), exportFloors: _zod.z.boolean(), exportGroups: _zod.z.boolean().optional(), printerComparisonStrategiesByPriority: _zod.z.array(_zod.z.string().refine((val)=>[ "name", "url", "id" ].includes(val))).min(1), floorComparisonStrategiesByPriority: _zod.z.string().refine((val)=>[ "name", "floor", "id" ].includes(val)) }), printers: _zod.z.array(_zod.z.object({ id: numberOrStringIdValidator, printerURL: _printerservicevalidation.printerUrlValidator, printerType: _printerservicevalidation.printerTypeValidator, apiKey: _printerservicevalidation.printerApiKeyValidator, enabled: _printerservicevalidation.printerEnabledValidator, name: _printerservicevalidation.printerNameValidator, printerName: _zod.z.string().optional(), settingsAppearance: _zod.z.object({ name: _zod.z.string().optional() }).optional() })).min(0).default([]), floors: _zod.z.array(_zod.z.object({ id: numberOrStringIdValidator, floor: _floorservicevalidation.floorLevelValidator, name: _floorservicevalidation.floorNameValidator, printers: printerPositionsSchema })).min(0).default([]), groups: _zod.z.array(_zod.z.object({ id: numberOrStringIdValidator, name: _zod.z.string(), printers: _zod.z.array(_zod.z.object({ printerId: numberOrStringIdValidator })) })).min(0).default([]) }); //# sourceMappingURL=yaml-service.validation.js.map