@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.
47 lines (46 loc) • 2.63 kB
JavaScript
import { credentialSettingsKey, frontendSettingKey, getDefaultCredentialSettings, getDefaultFrontendSettings, getDefaultServerSettings, getDefaultTimeout, getDefaultWizardSettings, serverSettingsKey, timeoutSettingKey, wizardSettingKey } from "../constants/server-settings.constants.js";
import { v4 } from "uuid";
//#region src/shared/runtime-settings.migration.ts
function migrateSettingsRuntime(knownSettings) {
const entity = knownSettings;
entity[wizardSettingKey] ??= getDefaultWizardSettings();
entity[timeoutSettingKey] ??= getDefaultTimeout();
if (entity["timeout"]) {
const defaultTimeoutSettings = getDefaultTimeout();
entity[timeoutSettingKey] = {
apiTimeout: entity["timeout"].apiTimeout ?? defaultTimeoutSettings.apiTimeout,
apiUploadTimeout: entity["timeout"].apiUploadTimeout ?? defaultTimeoutSettings.apiUploadTimeout
};
}
entity[serverSettingsKey] ??= getDefaultServerSettings();
entity[frontendSettingKey] ??= getDefaultFrontendSettings();
entity[credentialSettingsKey] ??= {
...getDefaultCredentialSettings(),
jwtSecret: v4()
};
if (entity["frontend"]) {
const defaultFrontendSettings = getDefaultFrontendSettings();
entity[frontendSettingKey] = {
gridCols: entity["frontend"].gridCols ?? defaultFrontendSettings.gridCols,
gridRows: entity["frontend"].gridRows ?? defaultFrontendSettings.gridRows,
largeTiles: entity["frontend"].largeTiles ?? defaultFrontendSettings.largeTiles,
tilePreferCancelOverQuickStop: entity["frontend"].tilePreferCancelOverQuickStop ?? defaultFrontendSettings.tilePreferCancelOverQuickStop,
gridNameSortDirection: entity["frontend"].gridNameSortDirection ?? defaultFrontendSettings.gridNameSortDirection
};
}
if (entity["server"]) {
const defaultServerSettings = getDefaultServerSettings();
entity[serverSettingsKey] = {
loginRequired: entity["server"].loginRequired ?? defaultServerSettings.loginRequired,
registration: entity["server"].registration ?? defaultServerSettings.registration,
experimentalMoonrakerSupport: entity["server"].experimentalMoonrakerSupport ?? defaultServerSettings.experimentalMoonrakerSupport,
experimentalPrusaLinkSupport: entity["server"].experimentalPrusaLinkSupport ?? defaultServerSettings.experimentalPrusaLinkSupport,
experimentalBambuSupport: entity["server"].experimentalBambuSupport ?? defaultServerSettings.experimentalBambuSupport,
sentryDiagnosticsEnabled: entity["server"].sentryDiagnosticsEnabled ?? defaultServerSettings.sentryDiagnosticsEnabled
};
}
return entity;
}
//#endregion
export { migrateSettingsRuntime };
//# sourceMappingURL=runtime-settings.migration.js.map