@fdm-monster/server 1.7.4 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.template +0 -3
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/{yarn-4.5.1.cjs → yarn-4.5.2.cjs} +292 -292
- package/.yarnrc.yml +1 -1
- package/RELEASE_NOTES.MD +11 -0
- package/dist/constants/server-settings.constants.js +0 -9
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/controllers/auth.controller.js +1 -1
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +1 -20
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/middleware/global.middleware.js +1 -25
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/models/Settings.js +0 -10
- package/dist/models/Settings.js.map +1 -1
- package/dist/server.constants.js +1 -2
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +1 -1
- package/dist/server.core.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js +3 -15
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/mongoose/settings.service.js +10 -30
- package/dist/services/mongoose/settings.service.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +2 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/orm/settings.service.js +9 -27
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +8 -19
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/state/settings.store.js +0 -9
- package/dist/state/settings.store.js.map +1 -1
- package/package.json +12 -13
package/.yarnrc.yml
CHANGED
package/RELEASE_NOTES.MD
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Develop
|
|
2
2
|
|
|
3
|
+
# FDM Monster 23/11/2024 1.7.5
|
|
4
|
+
|
|
5
|
+
## Fixes
|
|
6
|
+
|
|
7
|
+
- Demo mode should never show first-time-setup. It would always return "first time setup completed: false". Now this will return true.
|
|
8
|
+
- Incorrect UI state "No USB" shown, when OctoPrint USB is disconnected.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- Remove whitelist settings from database, API, validation and remove IP package (CVE)
|
|
13
|
+
|
|
3
14
|
# FDM Monster 13/11/2024 1.7.4
|
|
4
15
|
|
|
5
16
|
## Features:
|
|
@@ -33,9 +33,6 @@ _export(exports, {
|
|
|
33
33
|
getDefaultTimeout: function() {
|
|
34
34
|
return getDefaultTimeout;
|
|
35
35
|
},
|
|
36
|
-
getDefaultWhitelistIpAddresses: function() {
|
|
37
|
-
return getDefaultWhitelistIpAddresses;
|
|
38
|
-
},
|
|
39
36
|
getDefaultWizardSettings: function() {
|
|
40
37
|
return getDefaultWizardSettings;
|
|
41
38
|
},
|
|
@@ -54,10 +51,6 @@ _export(exports, {
|
|
|
54
51
|
});
|
|
55
52
|
const _serverconstants = require("../server.constants");
|
|
56
53
|
const _uuid = require("uuid");
|
|
57
|
-
const getDefaultWhitelistIpAddresses = ()=>[
|
|
58
|
-
"::12",
|
|
59
|
-
"127.0.0.1"
|
|
60
|
-
];
|
|
61
54
|
const wizardSettingKey = "wizard";
|
|
62
55
|
const getDefaultWizardSettings = ()=>({
|
|
63
56
|
wizardCompleted: false,
|
|
@@ -77,8 +70,6 @@ const getDefaultServerSettings = ()=>({
|
|
|
77
70
|
sentryDiagnosticsEnabled: false,
|
|
78
71
|
loginRequired: true,
|
|
79
72
|
registration: false,
|
|
80
|
-
whitelistEnabled: false,
|
|
81
|
-
whitelistedIpAddresses: getDefaultWhitelistIpAddresses(),
|
|
82
73
|
experimentalMoonrakerSupport: false,
|
|
83
74
|
experimentalTypeormSupport: false,
|
|
84
75
|
experimentalClientSupport: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/server-settings.constants.ts"],"names":["credentialSettingsKey","frontendSettingKey","getDefaultCredentialSettings","getDefaultFileCleanSettings","getDefaultFrontendSettings","getDefaultServerSettings","getDefaultSettings","getDefaultTimeout","
|
|
1
|
+
{"version":3,"sources":["../../src/constants/server-settings.constants.ts"],"names":["credentialSettingsKey","frontendSettingKey","getDefaultCredentialSettings","getDefaultFileCleanSettings","getDefaultFrontendSettings","getDefaultServerSettings","getDefaultSettings","getDefaultTimeout","getDefaultWizardSettings","printerFileCleanSettingKey","serverSettingsKey","timeoutSettingKey","wizardSettingKey","wizardCompleted","wizardCompletedAt","wizardVersion","debugSettings","debugSocketIoEvents","debugSocketReconnect","debugSocketRetries","debugSocketSetup","debugSocketMessages","debugSocketIoBandwidth","sentryDiagnosticsEnabled","loginRequired","registration","experimentalMoonrakerSupport","experimentalTypeormSupport","experimentalClientSupport","jwtSecret","uuidv4","jwtExpiresIn","AppConstants","DEFAULT_JWT_EXPIRES_IN","refreshTokenAttempts","DEFAULT_REFRESH_TOKEN_ATTEMPTS","refreshTokenExpiry","DEFAULT_REFRESH_TOKEN_EXPIRY","gridCols","gridRows","largeTiles","apiTimeout","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays"],"mappings":";;;;;;;;;;;IAoCaA,qBAAqB;eAArBA;;IAYAC,kBAAkB;eAAlBA;;IAXAC,4BAA4B;eAA5BA;;IAwBAC,2BAA2B;eAA3BA;;IAZAC,0BAA0B;eAA1BA;;IA9BAC,wBAAwB;eAAxBA;;IAgDAC,kBAAkB;eAAlBA;;IAXAC,iBAAiB;eAAjBA;;IA5CAC,wBAAwB;eAAxBA;;IAgDAC,0BAA0B;eAA1BA;;IA1CAC,iBAAiB;eAAjBA;;IAqCAC,iBAAiB;eAAjBA;;IA5CAC,gBAAgB;eAAhBA;;;iCAXgB;sBACA;AAUtB,MAAMA,mBAAmB;AACzB,MAAMJ,2BAA2B,IAA0B,CAAA;QAChEK,iBAAiB;QACjBC,mBAAmB;QACnBC,eAAe;IACjB,CAAA;AAEO,MAAML,oBAAoB;AAC1B,MAAML,2BAA2B,IAA0B,CAAA;QAChEW,eAAe;YACbC,qBAAqB;YACrBC,sBAAsB;YACtBC,oBAAoB;YACpBC,kBAAkB;YAClBC,qBAAqB;YACrBC,wBAAwB;QAC1B;QACAC,0BAA0B;QAC1BC,eAAe;QACfC,cAAc;QACdC,8BAA8B;QAC9BC,4BAA4B;QAC5BC,2BAA2B;IAC7B,CAAA;AAEO,MAAM5B,wBAAwB;AAC9B,MAAME,+BAA+B,IAA8B,CAAA;QAExE2B,WAAWC,IAAAA,QAAM;QAEjBC,cAAcC,6BAAY,CAACC,sBAAsB;QAEjDC,sBAAsBF,6BAAY,CAACG,8BAA8B;QAEjEC,oBAAoBJ,6BAAY,CAACK,4BAA4B;IAC/D,CAAA;AAEO,MAAMpC,qBAAqB;AAC3B,MAAMG,6BAA6B,IAA4B,CAAA;QACpEkC,UAAU;QACVC,UAAU;QACVC,YAAY;IACd,CAAA;AAEO,MAAM7B,oBAAoB;AAC1B,MAAMJ,oBAAoB,IAA2B,CAAA;QAC1DkC,YAAY;IACd,CAAA;AAEO,MAAMhC,6BAA6B;AACnC,MAAMN,8BAA8B,IAA6B,CAAA;QACtEuC,gCAAgC;QAChCC,0BAA0B;QAC1BC,iCAAiC;IACnC,CAAA;AAEO,MAAMtC,qBAAqB,IAAO,CAAA;QACvC,CAACI,kBAAkB,EAAEL;QACrB,CAACO,iBAAiB,EAAEJ;QACpB,CAACR,sBAAsB,EAAEE;QACzB,CAACO,2BAA2B,EAAEN;QAC9B,CAACF,mBAAmB,EAAEG;QACtB,CAACO,kBAAkB,EAAEJ;IACvB,CAAA"}
|
|
@@ -51,7 +51,7 @@ class AuthController {
|
|
|
51
51
|
const isDemoMode = this.configService.isDemoMode();
|
|
52
52
|
wizardState = {
|
|
53
53
|
...wizardState,
|
|
54
|
-
wizardCompleted: isDemoMode ?
|
|
54
|
+
wizardCompleted: isDemoMode ? true : wizardState.wizardCompleted
|
|
55
55
|
};
|
|
56
56
|
res.send({
|
|
57
57
|
loginRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/auth.controller.ts"],"names":["AuthController","authService","settingsStore","userService","roleService","logger","configService","constructor","loggerFactory","name","login","req","res","debug","ip","headers","tokens","loginUser","body","username","password","send","getLoginRequired","loginRequired","registration","isRegistrationEnabled","wizardState","getWizardState","isDemoMode","wizardCompleted","verifyLogin","success","needsPasswordChange","isLoginRequired","authenticated","isAuthenticated","user","refreshLogin","refreshToken","validateMiddleware","refreshTokenRules","idToken","renewLoginByRefreshToken","token","logout","end","jwtToken","authorization","replace","undefined","userId","id","logoutUserId","register","registrationEnabled","BadRequestException","registerUserRules","toLowerCase","includes","roles","getAppDefaultRoleIds","result","isDemoUser","isRootUser","isVerified","userDto","toDto","createController","prefix","AppConstants","apiRoute","post","demoUserNotAllowedInterceptor","get","before","authenticate"],"mappings":";;;;;;;;;;;IAiBaA,cAAc;eAAdA;;
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/auth.controller.ts"],"names":["AuthController","authService","settingsStore","userService","roleService","logger","configService","constructor","loggerFactory","name","login","req","res","debug","ip","headers","tokens","loginUser","body","username","password","send","getLoginRequired","loginRequired","registration","isRegistrationEnabled","wizardState","getWizardState","isDemoMode","wizardCompleted","verifyLogin","success","needsPasswordChange","isLoginRequired","authenticated","isAuthenticated","user","refreshLogin","refreshToken","validateMiddleware","refreshTokenRules","idToken","renewLoginByRefreshToken","token","logout","end","jwtToken","authorization","replace","undefined","userId","id","logoutUserId","register","registrationEnabled","BadRequestException","registerUserRules","toLowerCase","includes","roles","getAppDefaultRoleIds","result","isDemoUser","isRootUser","isVerified","userDto","toDto","createController","prefix","AppConstants","apiRoute","post","demoUserNotAllowedInterceptor","get","before","authenticate"],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ const _serverconstants = require("../server.constants");
|
|
|
22
22
|
const _authorizationconstants = require("../constants/authorization.constants");
|
|
23
23
|
const _validators = require("../handlers/validators");
|
|
24
24
|
const _settingsservicevalidation = require("../services/validators/settings-service.validation");
|
|
25
|
-
const _ip = require("ip");
|
|
26
25
|
const _demomiddleware = require("../middleware/demo.middleware");
|
|
27
26
|
const _printerapiinterface = require("../services/printer-api.interface");
|
|
28
27
|
class SettingsController {
|
|
@@ -43,10 +42,8 @@ class SettingsController {
|
|
|
43
42
|
getSettings(req, res) {
|
|
44
43
|
let connection;
|
|
45
44
|
try {
|
|
46
|
-
const serverIp = (0, _ip.address)();
|
|
47
45
|
connection = {
|
|
48
46
|
clientIp: req.socket?.remoteAddress,
|
|
49
|
-
ip: serverIp,
|
|
50
47
|
version: this.serverVersion
|
|
51
48
|
};
|
|
52
49
|
} catch (e) {
|
|
@@ -84,22 +81,13 @@ class SettingsController {
|
|
|
84
81
|
const result = await this.settingsStore.setExperimentalClientSupport(enabled);
|
|
85
82
|
res.send(result);
|
|
86
83
|
}
|
|
87
|
-
async updateWhitelistSettings(req, res) {
|
|
88
|
-
const { whitelistEnabled, whitelistedIpAddresses } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.whitelistSettingUpdateRules);
|
|
89
|
-
if (!whitelistedIpAddresses.includes("127.0.0.1")) {
|
|
90
|
-
whitelistedIpAddresses.push("127.0.0.1");
|
|
91
|
-
}
|
|
92
|
-
await this.settingsStore.setWhitelist(whitelistEnabled, whitelistedIpAddresses);
|
|
93
|
-
res.send();
|
|
94
|
-
}
|
|
95
84
|
async updateFrontendSettings(req, res) {
|
|
96
85
|
const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.frontendSettingsUpdateRules);
|
|
97
86
|
const result = await this.settingsStore.updateFrontendSettings(validatedInput);
|
|
98
87
|
res.send(result);
|
|
99
88
|
}
|
|
100
89
|
async updateServerSettings(req, res) {
|
|
101
|
-
const
|
|
102
|
-
const validatedInput = await (0, _validators.validateInput)(req.body, (0, _settingsservicevalidation.serverSettingsUpdateRules)(isWhitelistFeatureEnabled));
|
|
90
|
+
const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.serverSettingsUpdateRules);
|
|
103
91
|
const result = await this.settingsStore.updateServerSettings(validatedInput);
|
|
104
92
|
res.send(result);
|
|
105
93
|
}
|
|
@@ -191,13 +179,6 @@ const _default = (0, _awilixexpress.createController)(SettingsController).prefix
|
|
|
191
179
|
]),
|
|
192
180
|
_demomiddleware.demoUserNotAllowed
|
|
193
181
|
]
|
|
194
|
-
}).put("/whitelist", "updateWhitelistSettings", {
|
|
195
|
-
before: [
|
|
196
|
-
(0, _authenticate.authorizeRoles)([
|
|
197
|
-
_authorizationconstants.ROLES.ADMIN
|
|
198
|
-
]),
|
|
199
|
-
_demomiddleware.demoUserNotAllowed
|
|
200
|
-
]
|
|
201
182
|
}).put("/frontend", "updateFrontendSettings", {
|
|
202
183
|
before: [
|
|
203
184
|
(0, _authenticate.authorizeRoles)([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","settingsStore","logger","printerCache","printerService","configService","serverVersion","constructor","loggerFactory","name","getSettings","req","res","connection","
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","settingsStore","logger","printerCache","printerService","configService","serverVersion","constructor","loggerFactory","name","getSettings","req","res","connection","clientIp","socket","remoteAddress","version","e","warn","settings","send","getSettingsSensitive","updateSentryDiagnosticsEnabled","enabled","validateInput","body","sentryDiagnosticsEnabledRules","result","setSentryDiagnosticsEnabled","updateMoonrakerSupport","moonrakerSupportRules","setExperimentalMoonrakerSupport","printers","listCachedPrinters","klipperPrinters","filter","p","printerType","MoonrakerType","printer","updateEnabled","id","updateClientSupport","clientNextRules","setExperimentalClientSupport","updateFrontendSettings","validatedInput","frontendSettingsUpdateRules","updateServerSettings","serverSettingsUpdateRules","updateLoginRequiredSettings","loginRequired","setLoginRequired","updateRegistrationEnabledSettings","registrationEnabled","setRegistrationEnabled","updateCredentialSettings","credentialSettingPatchRules","updateFileCleanSettings","fileCleanSettingsUpdateRules","patchFileCleanSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","createController","prefix","AppConstants","apiRoute","before","authenticate","get","authorizeRoles","ROLES","ADMIN","demoUserNotAllowed","patch","demoUserNotAllowedInterceptor","put"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/entities/settings.entity.ts"],"names":["Settings","serverSettingsKey","credentialSettingsKey","wizardSettingKey","printerFileCleanSettingKey","frontendSettingKey","timeoutSettingKey","BaseEntity","id","type","nullable"],"mappings":";;;;+BAYaA;;;eAAAA;;;yCALN;yBACgD;4BAC5B;;;;;;;;;;IAQzB,
|
|
1
|
+
{"version":3,"sources":["../../src/entities/settings.entity.ts"],"names":["Settings","serverSettingsKey","credentialSettingsKey","wizardSettingKey","printerFileCleanSettingKey","frontendSettingKey","timeoutSettingKey","BaseEntity","id","type","nullable"],"mappings":";;;;+BAYaA;;;eAAAA;;;yCALN;yBACgD;4BAC5B;;;;;;;;;;IAQzB,MAiBA,OAQA,OAOA,OAOA,OAOA;AA9CA,OAACC,0CAAiB;AAiBlB,QAACC,8CAAqB;AAQtB,QAACC,yCAAgB;AAOjB,QAACC,mDAA0B;AAO3B,QAACC,2CAAkB;AAOnB,QAACC,0CAAiB;AAnDb,MAAMN,iBAAiBO,sBAAU;IAEtCC,GAAY;IAGZ,CAAA,KAAmB,CAcjB;IAGF,CAAA,MAAuB,CAKrB;IAGF,CAAA,MAAkB,CAIhB;IAGF,CAAA,MAA4B,CAI1B;IAGF,CAAA,MAAoB,CAIlB;IAGF,CAAA,MAAmB,CAEjB;AACJ;;;;;;;QAlDYC,MAAM;QAAeC,UAAU;;;uBACzC;;;QAgBUD,MAAM;QAAeC,UAAU;;;uBACzC;;;QAOUD,MAAM;QAAeC,UAAU;;;uBACzC;;;QAMUD,MAAM;QAAeC,UAAU;;;uBACzC;;;QAMUD,MAAM;QAAeC,UAAU;;;uBACzC;;;QAMUD,MAAM;QAAeC,UAAU;;;uBACzC"}
|
|
@@ -12,18 +12,14 @@ _export(exports, {
|
|
|
12
12
|
interceptRoles: function() {
|
|
13
13
|
return interceptRoles;
|
|
14
14
|
},
|
|
15
|
-
validateWhitelistedIp: function() {
|
|
16
|
-
return validateWhitelistedIp;
|
|
17
|
-
},
|
|
18
15
|
validateWizardCompleted: function() {
|
|
19
16
|
return validateWizardCompleted;
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
19
|
const _awilixexpress = require("awilix-express");
|
|
23
|
-
const _serversettingsconstants = require("../constants/server-settings.constants");
|
|
24
20
|
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
25
21
|
const validateWizardCompleted = (0, _awilixexpress.inject)(({ configService, settingsStore, loggerFactory })=>async (req, res, next)=>{
|
|
26
|
-
const logger = loggerFactory(
|
|
22
|
+
const logger = loggerFactory(validateWizardCompleted.name);
|
|
27
23
|
const isDemoMode = configService.isDemoMode();
|
|
28
24
|
if (isDemoMode || !!settingsStore.getWizardSettings()?.wizardCompleted) {
|
|
29
25
|
next();
|
|
@@ -43,26 +39,6 @@ const validateWizardCompleted = (0, _awilixexpress.inject)(({ configService, set
|
|
|
43
39
|
throw new _runtimeexceptions.ForbiddenError(`First-time-setup not completed, these api paths are enabled: ${allowedPaths.join(", ")}`);
|
|
44
40
|
}
|
|
45
41
|
});
|
|
46
|
-
const validateWhitelistedIp = (0, _awilixexpress.inject)(({ settingsStore, loggerFactory })=>async (req, res, next)=>{
|
|
47
|
-
const logger = loggerFactory(validateWhitelistedIp.name);
|
|
48
|
-
const serverSettings = settingsStore.getSettings();
|
|
49
|
-
if (!serverSettings && !settingsStore.getServerSettings() || !settingsStore.getServerSettings()?.whitelistEnabled) {
|
|
50
|
-
next();
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const whitelist = serverSettings[_serversettingsconstants.serverSettingsKey].whitelistedIpAddresses;
|
|
54
|
-
const ipAddress = req.socket.remoteAddress;
|
|
55
|
-
if (whitelist?.length && !whitelist.includes(ipAddress) && ipAddress !== "::ffff:127.0.0.1") {
|
|
56
|
-
const subnextMatched = whitelist.find((w)=>{
|
|
57
|
-
return ipAddress.startsWith(w);
|
|
58
|
-
});
|
|
59
|
-
if (!subnextMatched) {
|
|
60
|
-
logger.error("IP did not match whitelist filters", req.socket.remoteAddress);
|
|
61
|
-
throw new _runtimeexceptions.ForbiddenError("Bad IP: " + req.socket.remoteAddress);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
next();
|
|
65
|
-
});
|
|
66
42
|
const interceptRoles = (0, _awilixexpress.inject)(({ settingsStore, roleService, isTypeormMode })=>async (req, res, next)=>{
|
|
67
43
|
const serverSettings = await settingsStore.getSettings();
|
|
68
44
|
if (isTypeormMode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","
|
|
1
|
+
{"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","validateWizardCompleted","inject","configService","settingsStore","loggerFactory","req","res","next","logger","name","isDemoMode","getWizardSettings","wizardCompleted","allowedPaths","includes","path","startsWith","error","ForbiddenError","join","roleService","isTypeormMode","serverSettings","getSettings","roles","user","map","r","roleId","roleName","getAppDefaultRole"],"mappings":";;;;;;;;;;;IA0CaA,cAAc;eAAdA;;IAlCAC,uBAAuB;eAAvBA;;;+BARU;mCAEQ;AAMxB,MAAMA,0BAA0BC,IAAAA,qBAAM,EAC3C,CAAC,EACGC,aAAa,EACbC,aAAa,EACbC,aAAa,EAKd,GACD,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAcJ,wBAAwBS,IAAI;QACzD,MAAMC,aAAaR,cAAcQ,UAAU;QAC3C,IAAIA,cAAc,CAAC,CAACP,cAAcQ,iBAAiB,IAAIC,iBAAiB;YACtEL;YACA;QACF;QAEA,MAAMM,eAAe;YACnB;YACA;YACA;YACA;SACD;QACD,IAAIA,aAAaC,QAAQ,CAACT,IAAIU,IAAI,KAAK,CAACV,IAAIU,IAAI,CAACC,UAAU,CAAC,SAAS;YACnET;YACA;QACF,OAAO;YACLC,OAAOS,KAAK,CAAC,wBAAwBZ,IAAIU,IAAI;YAC7C,MAAM,IAAIG,iCAAc,CAAC,CAAC,6DAA6D,EAAEL,aAAaM,IAAI,CAAC,OAAO;QACpH;IACF;AAGG,MAAMpB,iBAAiBE,IAAAA,qBAAM,EAClC,CAAC,EAAEE,aAAa,EAAEiB,WAAW,EAAEC,aAAa,EAAE,GAC5C,OAAOhB,KAAcC,KAAeC;QAClC,MAAMe,iBAAiB,MAAMnB,cAAcoB,WAAW;QAEtD,IAAIF,eAAe;YACjBhB,IAAImB,KAAK,GAAGnB,IAAIoB,IAAI,EAAED,MAAME,IAAI,CAACC,IAAMA,EAAEC,MAAM;QACjD,OAAO;YACLvB,IAAImB,KAAK,GAAGnB,IAAIoB,IAAI,EAAED;QACxB;QAGA,IAAIF,kBAAkB,CAACjB,IAAIoB,IAAI,EAAE;YAC/B,MAAMI,WAAW,MAAMT,YAAYU,iBAAiB;YACpDzB,IAAImB,KAAK,GAAG;gBAACK;aAAS;QACxB;QAEAtB;IACF"}
|
package/dist/models/Settings.js
CHANGED
|
@@ -126,16 +126,6 @@ const SettingsSchema = new _mongoose.Schema({
|
|
|
126
126
|
default: false,
|
|
127
127
|
required: true
|
|
128
128
|
},
|
|
129
|
-
whitelistEnabled: {
|
|
130
|
-
type: Boolean,
|
|
131
|
-
default: false,
|
|
132
|
-
required: true
|
|
133
|
-
},
|
|
134
|
-
whitelistedIpAddresses: [
|
|
135
|
-
{
|
|
136
|
-
type: String
|
|
137
|
-
}
|
|
138
|
-
],
|
|
139
129
|
experimentalMoonrakerSupport: {
|
|
140
130
|
type: Boolean,
|
|
141
131
|
default: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/Settings.ts"],"names":["Settings","SettingsSchema","Schema","wizardSettingKey","wizardCompleted","type","Boolean","default","required","wizardCompletedAt","Date","wizardVersion","Number","printerFileCleanSettingKey","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","credentialSettingsKey","jwtSecret","String","minlength","trim","jwtExpiresIn","refreshTokenAttempts","refreshTokenExpiry","createdAt","now","updatedAt","serverSettingsKey","sentryDiagnosticsEnabled","debugSettings","debugSocketIoEvents","debugSocketReconnect","debugSocketRetries","debugSocketSetup","debugSocketMessages","debugSocketIoBandwidth","loginRequired","registration","
|
|
1
|
+
{"version":3,"sources":["../../src/models/Settings.ts"],"names":["Settings","SettingsSchema","Schema","wizardSettingKey","wizardCompleted","type","Boolean","default","required","wizardCompletedAt","Date","wizardVersion","Number","printerFileCleanSettingKey","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","credentialSettingsKey","jwtSecret","String","minlength","trim","jwtExpiresIn","refreshTokenAttempts","refreshTokenExpiry","createdAt","now","updatedAt","serverSettingsKey","sentryDiagnosticsEnabled","debugSettings","debugSocketIoEvents","debugSocketReconnect","debugSocketRetries","debugSocketSetup","debugSocketMessages","debugSocketIoBandwidth","loginRequired","registration","experimentalMoonrakerSupport","experimentalClientSupport","frontendSettingKey","gridCols","gridRows","largeTiles","timeoutSettingKey","apiTimeout","model"],"mappings":";;;;+BA6NaA;;;eAAAA;;;0BA7NiB;yCAQvB;AA4DP,MAAMC,iBAAiB,IAAIC,gBAAM,CAAY;IAC3C,CAACC,yCAAgB,CAAC,EAAE;QAClBC,iBAAiB;YACfC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACAC,mBAAmB;YACjBJ,MAAMK;YACNH,SAAS;YACTC,UAAU;QACZ;QACAG,eAAe;YACbN,MAAMO;YACNL,SAAS;YACTC,UAAU;QACZ;IACF;IACA,CAACK,mDAA0B,CAAC,EAAE;QAC5BC,gCAAgC;YAC9BT,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACAO,0BAA0B;YACxBV,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACAQ,iCAAiC;YAC/BX,MAAMO;YACNL,SAAS;YACTC,UAAU;QACZ;IACF;IACA,CAACS,8CAAqB,CAAC,EAAE;QACvBZ,MAAM;YACJa,WAAW;gBACTb,MAAMc;gBACNC,WAAW;gBACXC,MAAM;gBACNb,UAAU;YACZ;YACAc,cAAc;gBACZjB,MAAMO;gBACNJ,UAAU;YACZ;YACAe,sBAAsB;gBACpBlB,MAAMO;gBACNJ,UAAU;YACZ;YACAgB,oBAAoB;gBAClBnB,MAAMO;gBACNJ,UAAU;YACZ;YACAiB,WAAW;gBACTpB,MAAMK;gBACNH,SAASG,KAAKgB,GAAG;gBACjBlB,UAAU;YACZ;YACAmB,WAAW;gBACTtB,MAAMK;gBACNH,SAASG,KAAKgB,GAAG;gBACjBlB,UAAU;YACZ;QACF;QACAA,UAAU;IACZ;IACA,CAACoB,0CAAiB,CAAC,EAAE;QACnBC,0BAA0B;YACxBxB,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACAsB,eAAe;YACbC,qBAAqB;gBACnB1B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;YACAwB,sBAAsB;gBACpB3B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;YACAyB,oBAAoB;gBAClB5B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;YACA0B,kBAAkB;gBAChB7B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;YACA2B,qBAAqB;gBACnB9B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;YACA4B,wBAAwB;gBACtB/B,MAAMC;gBACNC,SAAS;gBACTC,UAAU;YACZ;QACF;QACA6B,eAAe;YACbhC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACA8B,cAAc;YACZjC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACA+B,8BAA8B;YAC5BlC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;QACAgC,2BAA2B;YACzBnC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;IACF;IACA,CAACiC,2CAAkB,CAAC,EAAE;QACpBC,UAAU;YACRrC,MAAMO;YACNL,SAAS;YACTC,UAAU;QACZ;QACAmC,UAAU;YACRtC,MAAMO;YACNL,SAAS;YACTC,UAAU;QACZ;QACAoC,YAAY;YACVvC,MAAMC;YACNC,SAAS;YACTC,UAAU;QACZ;IACF;IACA,CAACqC,0CAAiB,CAAC,EAAE;QACnBC,YAAY;YACVzC,MAAMO;YACNL,SAAS;YACTC,UAAU;QACZ;IACF;AACF;AAEO,MAAMR,WAAW+C,IAAAA,eAAK,EAAC,kBAAkB9C"}
|
package/dist/server.constants.js
CHANGED
|
@@ -27,7 +27,6 @@ const AppConstants = {
|
|
|
27
27
|
defaultMongoStringUnauthenticated: "mongodb://127.0.0.1:27017/fdm-monster",
|
|
28
28
|
apiRoute: "/api",
|
|
29
29
|
enableClientDistAutoUpdateKey: "ENABLE_CLIENT_DIST_AUTO_UPDATE",
|
|
30
|
-
ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS: "ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS",
|
|
31
30
|
OVERRIDE_LOGIN_REQUIRED: "OVERRIDE_LOGIN_REQUIRED",
|
|
32
31
|
OVERRIDE_REGISTRATION_ENABLED: "OVERRIDE_REGISTRATION_ENABLED",
|
|
33
32
|
DEFAULT_USERNAME_MINLEN: 3,
|
|
@@ -66,7 +65,7 @@ const AppConstants = {
|
|
|
66
65
|
githubUrl: "https://github.com/fdm-monster/fdm-monster",
|
|
67
66
|
orgName: "fdm-monster",
|
|
68
67
|
currentWizardVersion: 1,
|
|
69
|
-
defaultClientMinimum: "1.
|
|
68
|
+
defaultClientMinimum: "1.7.2",
|
|
70
69
|
influxUrl: "INFLUX_URL",
|
|
71
70
|
influxToken: "INFLUX_TOKEN",
|
|
72
71
|
influxOrg: "INFLUX_ORG",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NON_NPM_MODE_KEY","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","MONGO_KEY","DATABASE_PATH","DATABASE_FILE","pm2ServiceName","logAppName","defaultFileStorageFolder","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultServerPort","defaultMongoStringUnauthenticated","apiRoute","enableClientDistAutoUpdateKey","
|
|
1
|
+
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NON_NPM_MODE_KEY","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","MONGO_KEY","DATABASE_PATH","DATABASE_FILE","pm2ServiceName","logAppName","defaultFileStorageFolder","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultServerPort","defaultMongoStringUnauthenticated","apiRoute","enableClientDistAutoUpdateKey","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_USERNAME_MINLEN","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultDevelopmentEnv","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","serverRepoName","clientPackageName","clientRepoName","clientNextPackageName","clientNextRepoName","githubUrl","orgName","currentWizardVersion","defaultClientMinimum","influxUrl","influxToken","influxOrg","influxBucket","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","enableMqttAutoDiscoveryToken","enableMqttAutoDiscoveryDefault","mqttUrlToken","mqttPortToken","mqttPortDefault","mqttUsernameToken","mqttPasswordToken","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","debugRoutesKey","ENABLE_EXPERIMENTAL_TYPEORM","enableExperimentalTypeormDefault"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,WAAW;IACXC,eAAe;IACfC,eAAe;IAEfC,gBAAgB;IAChBC,YAAY;IAGZC,0BAA0B;IAC1BC,mBAAmB;IACnBC,sBAAsB;IAEtBC,4BAA4B;IAC5BC,gCAAgC;IAChCC,mBAAmB;IACnBC,mCAAmC;IACnCC,UAAU;IACVC,+BAA+B;IAG/BC,yBAAyB;IAEzBC,+BAA+B;IAE/BC,yBAAyB;IAEzBC,yBAAyB;IAEzBC,qBAAqB;IAErBC,yBAAyB;IACzBC,wBAAwB,KAAK;IAE7BC,gCAAgC,CAAC;IAEjCC,8BAA8B,KAAK,KAAK,KAAK;IAE7CC,qBAAqB;IACrBC,oBAAoB;IAEpBC,uBAAuB;IACvBC,sBAAsB;IAEtBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,oBAAoB;IACpBC,mBAAmB;IAEnBC,uBAAuB;IACvBC,gBAAgB;IAChBC,sBAAsB;IACtBC,eAAe;QAAC;QAAe;QAAc;KAAO;IACpDC,YAAY;IACZC,mBAAmB;IACnBC,gBAAgB;IAChBC,mBAAmB;IACnBC,gBAAgB;IAChBC,uBAAuB;IACvBC,oBAAoB;IACpBC,WAAW;IACXC,SAAS;IAETC,sBAAsB;IACtBC,sBAAsB;IAEtBC,WAAW;IACXC,aAAa;IACbC,WAAW;IACXC,cAAc;IAGdC,kCAAkC;IAClCC,2BAA2B;IAC3BC,sBAAsB;IACtBC,0BAA0B;IAC1BC,gCAAgC;IAChCC,oCAAoC;IAGpCC,8BAA8B;IAC9BC,gCAAgC;IAChCC,cAAc;IACdC,eAAe;IACfC,iBAAiB;IACjBC,mBAAmB;IACnBC,mBAAmB;IAGnBC,mBAAmB;IAGnBC,sBAAsB;IACtBC,wBAAwB;IAExBC,gBAAgB;IAEhBC,6BAA6B;IAC7BC,kCAAkC;AACpC"}
|
package/dist/server.core.js
CHANGED
|
@@ -91,7 +91,7 @@ async function setupServer() {
|
|
|
91
91
|
"anonymous"
|
|
92
92
|
], {
|
|
93
93
|
session: false
|
|
94
|
-
})).use((0, _awilixexpress.scopePerRequest)(container)).use(_database.interceptDatabaseError).use(_globalmiddleware.
|
|
94
|
+
})).use((0, _awilixexpress.scopePerRequest)(container)).use(_database.interceptDatabaseError).use(_globalmiddleware.validateWizardCompleted).use(_globalmiddleware.interceptRoles);
|
|
95
95
|
return {
|
|
96
96
|
httpServer,
|
|
97
97
|
container
|
package/dist/server.core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpServer","express","experimentalTypeormEnabled","getEnvOrDefault","AppConstants","ENABLE_EXPERIMENTAL_TYPEORM","enableExperimentalTypeormDefault","dbFolder","process","env","DATABASE_PATH","ensureDirExists","join","superRootPath","container","configureContainer","initializePassportStrategies","passport","use","cors","origin","methods","helmet","contentSecurityPolicy","json","limit","cookieParser","urlencoded","extended","initialize","authenticate","session","scopePerRequest","interceptDatabaseError","
|
|
1
|
+
{"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpServer","express","experimentalTypeormEnabled","getEnvOrDefault","AppConstants","ENABLE_EXPERIMENTAL_TYPEORM","enableExperimentalTypeormDefault","dbFolder","process","env","DATABASE_PATH","ensureDirExists","join","superRootPath","container","configureContainer","initializePassportStrategies","passport","use","cors","origin","methods","helmet","contentSecurityPolicy","json","limit","cookieParser","urlencoded","extended","initialize","authenticate","session","scopePerRequest","interceptDatabaseError","validateWizardCompleted","interceptRoles"],"mappings":";;;;+BAesBA;;;eAAAA;;;iEAfoB;qEACjB;iEACJ;6DACJ;+DACE;+BACa;2BACG;0BACI;kCACiB;2BACX;iCAChB;sBACR;yBAC0B;0BACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,eAAeA;IACpB,MAAMC,aAAaC,IAAAA,gBAAO;IAC1B,MAAMC,6BACJC,IAAAA,yBAAe,EAACC,6BAAY,CAACC,2BAA2B,EAAED,6BAAY,CAACE,gCAAgC,MAAM;IAC/G,IAAIJ,4BAA4B;QAC9B,MAAMK,WAAWC,QAAQC,GAAG,CAACL,6BAAY,CAACM,aAAa,CAAC,IAAI;QAC5DC,IAAAA,wBAAe,EAACC,IAAAA,UAAI,EAACC,IAAAA,sBAAa,KAAIN;IACxC;IAEA,MAAMO,YAAYC,IAAAA,6BAAkB,EAACb;IACrCc,IAAAA,uCAA4B,EAACC,iBAAQ,EAAEH;IAEvCd,WACGkB,GAAG,CACFC,IAAAA,aAAI,EAAC;QACHC,QAAQ;QACRC,SAAS;IACX,IAEDH,GAAG,CACFI,IAAAA,eAAM,EAAC;QACLC,uBAAuB;IACzB,IAEDL,GAAG,CAACM,IAAAA,aAAI,EAAC;QAAEC,OAAO;IAAO,IACzBP,GAAG,CAACQ,IAAAA,qBAAY,KAChBR,GAAG,CAACS,IAAAA,mBAAU,EAAC;QAAEC,UAAU;IAAM,IACjCV,GAAG,CAACD,iBAAQ,CAACY,UAAU,IACvBX,GAAG,CAACD,iBAAQ,CAACa,YAAY,CAAC;QAAC;QAAO;KAAY,EAAE;QAAEC,SAAS;IAAM,IACjEb,GAAG,CAACc,IAAAA,8BAAe,EAAClB,YACpBI,GAAG,CAACe,gCAAsB,EAE1Bf,GAAG,CAACgB,yCAAuB,EAC3BhB,GAAG,CAACiB,gCAAc;IAErB,OAAO;QACLnC;QACAc;IACF;AACF"}
|
|
@@ -2,25 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
IpWhitelistSettingsDto: function() {
|
|
13
|
-
return IpWhitelistSettingsDto;
|
|
14
|
-
},
|
|
15
|
-
SettingsDto: function() {
|
|
5
|
+
Object.defineProperty(exports, "SettingsDto", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
16
8
|
return SettingsDto;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
const _serversettingsconstants = require("../../constants/server-settings.constants");
|
|
20
|
-
class IpWhitelistSettingsDto {
|
|
21
|
-
whitelistedIpAddresses;
|
|
22
|
-
whitelistEnabled;
|
|
23
|
-
}
|
|
24
12
|
class SettingsDto {
|
|
25
13
|
[_serversettingsconstants.serverSettingsKey];
|
|
26
14
|
[_serversettingsconstants.wizardSettingKey];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/settings.dto.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/services/interfaces/settings.dto.ts"],"names":["SettingsDto","serverSettingsKey","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey"],"mappings":";;;;+BAwDaA;;;eAAAA;;;yCAlDN;AAkDA,MAAMA;IACX,CAACC,0CAAiB,CAAC,CAAoB;IACvC,CAACC,yCAAgB,CAAC,CAAoB;IACtC,CAACC,2CAAkB,CAAC,CAAsB;IAE1C,CAACC,mDAA0B,CAAC,CAAuB;IACnD,CAACC,0CAAiB,CAAC,CAAqB;AAC1C"}
|
|
@@ -12,8 +12,6 @@ const _models = require("../../models");
|
|
|
12
12
|
const _serversettingsconstants = require("../../constants/server-settings.constants");
|
|
13
13
|
const _validators = require("../../handlers/validators");
|
|
14
14
|
const _settingsservicevalidation = require("../validators/settings-service.validation");
|
|
15
|
-
const _serverconstants = require("../../server.constants");
|
|
16
|
-
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
17
15
|
class SettingsService {
|
|
18
16
|
configService;
|
|
19
17
|
constructor({ configService }){
|
|
@@ -65,16 +63,19 @@ class SettingsService {
|
|
|
65
63
|
}
|
|
66
64
|
if (!doc[_serversettingsconstants.serverSettingsKey]) {
|
|
67
65
|
doc[_serversettingsconstants.serverSettingsKey] = (0, _serversettingsconstants.getDefaultServerSettings)();
|
|
66
|
+
} else {
|
|
67
|
+
doc[_serversettingsconstants.serverSettingsKey] = {
|
|
68
|
+
debugSettings: doc[_serversettingsconstants.serverSettingsKey].debugSettings,
|
|
69
|
+
loginRequired: doc[_serversettingsconstants.serverSettingsKey].loginRequired,
|
|
70
|
+
registration: doc[_serversettingsconstants.serverSettingsKey].registration,
|
|
71
|
+
experimentalClientSupport: doc[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
|
|
72
|
+
experimentalMoonrakerSupport: doc[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
|
|
73
|
+
sentryDiagnosticsEnabled: doc[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled
|
|
74
|
+
};
|
|
68
75
|
}
|
|
69
76
|
if (!doc[_serversettingsconstants.credentialSettingsKey]) {
|
|
70
77
|
doc[_serversettingsconstants.credentialSettingsKey] = (0, _serversettingsconstants.getDefaultCredentialSettings)();
|
|
71
78
|
}
|
|
72
|
-
if (!this.isWhiteListSettingEnabled()) {
|
|
73
|
-
doc.server.whitelistEnabled = false;
|
|
74
|
-
doc.server.whitelistedIpAddresses = (0, _serversettingsconstants.getDefaultWhitelistIpAddresses)();
|
|
75
|
-
} else if (!doc.server.whitelistedIpAddresses?.length) {
|
|
76
|
-
doc.server.whitelistedIpAddresses = (0, _serversettingsconstants.getDefaultWhitelistIpAddresses)();
|
|
77
|
-
}
|
|
78
79
|
if (!doc[_serversettingsconstants.frontendSettingKey]) {
|
|
79
80
|
doc[_serversettingsconstants.frontendSettingKey] = (0, _serversettingsconstants.getDefaultFrontendSettings)();
|
|
80
81
|
}
|
|
@@ -100,24 +101,6 @@ class SettingsService {
|
|
|
100
101
|
new: true
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
|
-
async setWhitelist(enabled, ipAddresses) {
|
|
104
|
-
if (!this.isWhiteListSettingEnabled()) {
|
|
105
|
-
throw new _runtimeexceptions.BadRequestException("Whitelist settings are not enabled");
|
|
106
|
-
}
|
|
107
|
-
await (0, _validators.validateInput)({
|
|
108
|
-
whitelistEnabled: enabled,
|
|
109
|
-
whitelistedIpAddresses: ipAddresses
|
|
110
|
-
}, _settingsservicevalidation.whitelistSettingUpdateRules);
|
|
111
|
-
const settingsDoc = await this.getOrCreate();
|
|
112
|
-
const settings = settingsDoc[_serversettingsconstants.serverSettingsKey];
|
|
113
|
-
settings.whitelistEnabled = enabled;
|
|
114
|
-
settings.whitelistedIpAddresses = ipAddresses;
|
|
115
|
-
return _models.Settings.findOneAndUpdate({
|
|
116
|
-
_id: settingsDoc.id
|
|
117
|
-
}, settingsDoc, {
|
|
118
|
-
new: true
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
104
|
async updateFrontendSettings(patchUpdate) {
|
|
122
105
|
const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.frontendSettingsUpdateRules);
|
|
123
106
|
const settingsDoc = await this.getOrCreate();
|
|
@@ -141,7 +124,7 @@ class SettingsService {
|
|
|
141
124
|
});
|
|
142
125
|
}
|
|
143
126
|
async patchServerSettings(patchUpdate) {
|
|
144
|
-
const validatedInput = await (0, _validators.validateInput)(patchUpdate,
|
|
127
|
+
const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.serverSettingsUpdateRules);
|
|
145
128
|
const settingsDoc = await this.getOrCreate();
|
|
146
129
|
const serverSettings = settingsDoc[_serversettingsconstants.serverSettingsKey];
|
|
147
130
|
Object.assign(serverSettings, validatedInput);
|
|
@@ -162,9 +145,6 @@ class SettingsService {
|
|
|
162
145
|
new: true
|
|
163
146
|
});
|
|
164
147
|
}
|
|
165
|
-
isWhiteListSettingEnabled() {
|
|
166
|
-
return this.configService.get(_serverconstants.AppConstants.ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS, "false") === "true";
|
|
167
|
-
}
|
|
168
148
|
}
|
|
169
149
|
|
|
170
150
|
//# sourceMappingURL=settings.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/mongoose/settings.service.ts"],"names":["SettingsService","configService","constructor","toDto","entity","serverSettingsKey","experimentalTypeormSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","Settings","findOne","defaultSettings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","knownSettings","doc","getDefaultFileCleanSettings","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","getDefaultWizardSettings","getDefaultTimeout","getDefaultServerSettings","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/mongoose/settings.service.ts"],"names":["SettingsService","configService","constructor","toDto","entity","serverSettingsKey","experimentalTypeormSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","Settings","findOne","defaultSettings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","knownSettings","doc","getDefaultFileCleanSettings","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","getDefaultWizardSettings","getDefaultTimeout","getDefaultServerSettings","debugSettings","loginRequired","registration","experimentalClientSupport","experimentalMoonrakerSupport","sentryDiagnosticsEnabled","credentialSettingsKey","getDefaultCredentialSettings","getDefaultFrontendSettings","patchFileCleanSettings","patchUpdate","validatedInput","validateInput","fileCleanSettingsUpdateRules","settingsDoc","Object","assign","patchWizardSettings","wizardUpdateRules","updateFrontendSettings","frontendSettingsUpdateRules","frontendSettings","patchCredentialSettings","credentialSettingPatchRules","credentialSettings","patchServerSettings","serverSettingsUpdateRules","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","timeoutSettings"],"mappings":"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"}
|
|
@@ -190,7 +190,8 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
190
190
|
async updateCurrentStateSafely() {
|
|
191
191
|
try {
|
|
192
192
|
const current = await this.octoprintClient.getPrinterCurrent(this.login, true);
|
|
193
|
-
const
|
|
193
|
+
const isOperational = current.data?.state?.flags?.operational;
|
|
194
|
+
const job = isOperational ? await this.octoprintClient.getJob(this.login) : {};
|
|
194
195
|
this.setApiState(_apistatetype.API_STATE.responding);
|
|
195
196
|
return await this.emitEvent("current", {
|
|
196
197
|
...current.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WebsocketAdapter","printerType","octoprintClient","printerId","stateUpdated","stateUpdateTimestamp","socketState","SOCKET_STATE","unopened","apiStateUpdated","apiStateUpdateTimestamp","apiState","API_STATE","unset","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","logger","eventEmitter","configService","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","eventEmitter2","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","protocol","httpUrl","normalizeUrl","printerURL","wsUrl","httpToWsUrl","pathname","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","getPrinterCurrent","job","getJob","emitEvent","progress","isAxiosError","castError","state","flags","operational","text","noResponse","setReauthRequired","Date","now","emitEventSync","payload","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","writeFileSync","afterClosed","onError","length","emitAsync","authenticating","auth","session","globalKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WebsocketAdapter","printerType","octoprintClient","printerId","stateUpdated","stateUpdateTimestamp","socketState","SOCKET_STATE","unopened","apiStateUpdated","apiStateUpdateTimestamp","apiState","API_STATE","unset","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","logger","eventEmitter","configService","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","eventEmitter2","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","protocol","httpUrl","normalizeUrl","printerURL","wsUrl","httpToWsUrl","pathname","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","getPrinterCurrent","isOperational","state","flags","operational","job","getJob","emitEvent","progress","isAxiosError","castError","text","noResponse","setReauthRequired","Date","now","emitEventSync","payload","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","writeFileSync","afterClosed","onError","length","emitAsync","authenticating","auth","session","globalKey"],"mappings":"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"}
|