@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
JavaScript
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