UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.

48 lines (47 loc) 2.49 kB
import { isProductionEnvironment } from "../../utils/env.utils.js"; import { z } from "zod"; //#region src/services/validators/settings-service.validation.ts const serverSettingsUpdateSchema = z.object({ registration: z.boolean(), loginRequired: z.boolean(), experimentalMoonrakerSupport: z.boolean(), experimentalBambuSupport: z.boolean(), experimentalPrusaLinkSupport: z.boolean(), sentryDiagnosticsEnabled: z.boolean() }); const timeoutSettingsUpdateSchema = z.object({ apiTimeout: z.number().int().min(1e3), apiUploadTimeout: z.number().int().min(1e4) }); const frontendSettingsUpdateSchema = z.object({ gridCols: z.number().int().min(1), gridRows: z.number().int().min(1), largeTiles: z.boolean(), tilePreferCancelOverQuickStop: z.boolean(), gridNameSortDirection: z.enum(["horizontal", "vertical"]).optional() }); const jwtSecretCredentialSettingUpdateSchema = z.object({ jwtSecret: z.string().min(10) }); const credentialSettingSchema = z.object({ jwtExpiresIn: z.number().int().min(isProductionEnvironment() ? 120 : 0).max(isProductionEnvironment() ? 7200 : Infinity), refreshTokenAttempts: z.number().int().min(-1), refreshTokenExpiry: z.number().int().min(isProductionEnvironment() ? 240 : 0), slicerApiKey: z.string().nullable() }); const credentialCoreSettingUpdateSchema = z.object({ jwtExpiresIn: z.number().int().min(isProductionEnvironment() ? 120 : 0).max(isProductionEnvironment() ? 7200 : Infinity), refreshTokenAttempts: z.number().int().min(-1), refreshTokenExpiry: z.number().int().min(isProductionEnvironment() ? 240 : 0) }); const slicerApiKeyUpdateSchema = z.object({ slicerApiKey: z.string().nullable() }); const wizardUpdateSchema = z.object({ wizardCompleted: z.boolean(), wizardCompletedAt: z.date().nullable(), wizardVersion: z.number().int().min(0) }); const sentryDiagnosticsEnabledSchema = z.object({ enabled: z.boolean() }); const moonrakerSupportSchema = z.object({ enabled: z.boolean() }); const prusaLinkSupportSchema = z.object({ enabled: z.boolean() }); const bambuSupportSchema = z.object({ enabled: z.boolean() }); //#endregion export { bambuSupportSchema, credentialCoreSettingUpdateSchema, credentialSettingSchema, frontendSettingsUpdateSchema, jwtSecretCredentialSettingUpdateSchema, moonrakerSupportSchema, prusaLinkSupportSchema, sentryDiagnosticsEnabledSchema, serverSettingsUpdateSchema, slicerApiKeyUpdateSchema, timeoutSettingsUpdateSchema, wizardUpdateSchema }; //# sourceMappingURL=settings-service.validation.js.map