@fdm-monster/server 1.7.3 → 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 +22 -1
- 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/controllers/user.controller.js +32 -0
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +1 -1
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/user-controller.validation.js +18 -3
- package/dist/controllers/validation/user-controller.validation.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/printer-events.cache.js.map +1 -1
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +0 -9
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +6 -0
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js +3 -0
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/package.json +12 -13
package/.yarnrc.yml
CHANGED
package/RELEASE_NOTES.MD
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
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
|
+
|
|
14
|
+
# FDM Monster 13/11/2024 1.7.4
|
|
15
|
+
|
|
16
|
+
## Features:
|
|
17
|
+
|
|
18
|
+
- User API: new endpoint which registers user directly with roles and without verification step
|
|
19
|
+
|
|
20
|
+
## Fixes:
|
|
21
|
+
|
|
22
|
+
- PrinterEventsCache: when printers and test printers are deleted, the printer events cache should not be allowed to be filled by late update events
|
|
23
|
+
|
|
3
24
|
# FDM Monster 11/11/2024 1.7.3
|
|
4
25
|
|
|
5
26
|
## Fixes:
|
|
6
27
|
|
|
7
28
|
- BaseService: catch null or undefined id before querying database
|
|
8
29
|
- Add set user roles API to avoid users staying in limbo with GUEST role after verification.
|
|
9
|
-
- User API apply consistent string number coercion in user API to avoid unexpected ID comparison
|
|
30
|
+
- User API: apply consistent string number coercion in user API to avoid unexpected ID comparison
|
|
10
31
|
|
|
11
32
|
# FDM Monster 11/11/2024 1.7.2
|
|
12
33
|
|
|
@@ -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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"}
|
|
@@ -18,6 +18,7 @@ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
|
18
18
|
const _demomiddleware = require("../middleware/demo.middleware");
|
|
19
19
|
const _errorutils = require("../utils/error.utils");
|
|
20
20
|
const _awilixexpress = require("awilix-express");
|
|
21
|
+
const _usercontrollervalidation = require("./validation/user-controller.validation");
|
|
21
22
|
function _ts_decorate(decorators, target, key, desc) {
|
|
22
23
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23
24
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -48,6 +49,22 @@ class UserController {
|
|
|
48
49
|
const users = await this.userService.listUsers();
|
|
49
50
|
res.send(users.map((u)=>this.userService.toDto(u)));
|
|
50
51
|
}
|
|
52
|
+
async create(req, res) {
|
|
53
|
+
const { username, password, roleIds } = await (0, _validators.validateMiddleware)(req, (0, _usercontrollervalidation.registerUserWithRolesRules)(this.isTypeormMode));
|
|
54
|
+
if (username.toLowerCase().includes("admin") || username.toLowerCase().includes("root") || username.toLowerCase() === "demo") {
|
|
55
|
+
throw new _runtimeexceptions.BadRequestException("Username is not allowed");
|
|
56
|
+
}
|
|
57
|
+
await this.userService.register({
|
|
58
|
+
username,
|
|
59
|
+
password,
|
|
60
|
+
roles: roleIds,
|
|
61
|
+
needsPasswordChange: false,
|
|
62
|
+
isDemoUser: false,
|
|
63
|
+
isRootUser: false,
|
|
64
|
+
isVerified: true
|
|
65
|
+
});
|
|
66
|
+
res.send();
|
|
67
|
+
}
|
|
51
68
|
async listRoles(req, res) {
|
|
52
69
|
const roleDtos = this.roleService.roles.map((r)=>this.roleService.toDto(r));
|
|
53
70
|
res.send(roleDtos);
|
|
@@ -188,6 +205,21 @@ _ts_decorate([
|
|
|
188
205
|
]),
|
|
189
206
|
_ts_metadata("design:returntype", Promise)
|
|
190
207
|
], UserController.prototype, "list", null);
|
|
208
|
+
_ts_decorate([
|
|
209
|
+
(0, _awilixexpress.POST)(),
|
|
210
|
+
(0, _awilixexpress.route)("/"),
|
|
211
|
+
(0, _awilixexpress.before)([
|
|
212
|
+
(0, _authenticate.authorizeRoles)([
|
|
213
|
+
_authorizationconstants.ROLES.ADMIN
|
|
214
|
+
])
|
|
215
|
+
]),
|
|
216
|
+
_ts_metadata("design:type", Function),
|
|
217
|
+
_ts_metadata("design:paramtypes", [
|
|
218
|
+
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
219
|
+
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
220
|
+
]),
|
|
221
|
+
_ts_metadata("design:returntype", Promise)
|
|
222
|
+
], UserController.prototype, "create", null);
|
|
191
223
|
_ts_decorate([
|
|
192
224
|
(0, _awilixexpress.GET)(),
|
|
193
225
|
(0, _awilixexpress.route)("/roles"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","userService","roleService","configService","authService","settingsStore","logger","isTypeormMode","constructor","loggerFactory","name","list","req","res","users","listUsers","send","map","u","toDto","
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","userService","roleService","configService","authService","settingsStore","logger","isTypeormMode","constructor","loggerFactory","name","list","req","res","users","listUsers","send","map","u","toDto","create","username","password","roleIds","validateMiddleware","registerUserWithRolesRules","toLowerCase","includes","BadRequestException","register","roles","needsPasswordChange","isDemoUser","isRootUser","isVerified","listRoles","roleDtos","r","profile","user","id","getUser","get","validateInput","params","idRulesV2","delete","ownUserId","ForbiddenError","isUserRootUser","isDemoMode","demoUserId","getDemoUserId","throwIfDemoMode","deleteUser","logoutUserId","e","error","errorSummary","changeUsername","getLoginRequired","body","updateUsernameById","changePassword","oldPassword","newPassword","updatePasswordById","setUserRoles","currentUserId","ownUser","ownUserRoles","adminRole","getSynchronizedRoleByName","ROLES","ADMIN","setUserRoleIds","setVerified","setVerifiedById","setRootUser","userId","setIsRootUserById","authorizeRoles","demoUserNotAllowed","AppConstants","apiRoute","authenticate"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterRules","batchPrintersEnabledRules","executeBatchRePrinterRule","isSqlite","printerIds","idRuleV2","prints","enabled"],"mappings":";;;;;;;;;;;IAEaA,iBAAiB;eAAjBA;;IAYAC,yBAAyB;eAAzBA;;IAPAC,yBAAyB;eAAzBA;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterRules","batchPrintersEnabledRules","executeBatchRePrinterRule","isSqlite","printerIds","idRuleV2","prints","enabled"],"mappings":";;;;;;;;;;;IAEaA,iBAAiB;eAAjBA;;IAYAC,yBAAyB;eAAzBA;;IAPAC,yBAAyB;eAAzBA;;;mCAPY;AAElB,MAAMF,oBAAoB,CAACG,WAAuB,CAAA;QACvDC,YAAY;QACZ,gBAAgBC,IAAAA,2BAAQ,EAACF;IAC3B,CAAA;AAEO,MAAMD,4BAA4B,CAACC,WAAuB,CAAA;QAC/DG,QAAQ;QACR,YAAY;QACZ,sBAAsBD,IAAAA,2BAAQ,EAACF;QAC/B,iBAAiB;IACnB,CAAA;AAEO,MAAMF,4BAA4B,CAACE,WAAuB,CAAA;QAC/DC,YAAY;QACZ,gBAAgBC,IAAAA,2BAAQ,EAACF;QACzBI,SAAS;IACX,CAAA"}
|
|
@@ -16,7 +16,7 @@ _export(exports, {
|
|
|
16
16
|
return idRulesV2;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
const idRuleV2 = (isSqlite)=>`required|${isSqlite ? "integer|min:1" : "
|
|
19
|
+
const idRuleV2 = (isSqlite)=>`required|${isSqlite ? "integer|min:1" : "mongoId"}`;
|
|
20
20
|
const idRulesV2 = (isSqlite)=>({
|
|
21
21
|
id: idRuleV2(isSqlite)
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRuleV2","idRulesV2","isSqlite","id"],"mappings":";;;;;;;;;;;IAAaA,QAAQ;eAARA;;IAEAC,SAAS;eAATA;;;AAFN,MAAMD,WAAW,CAACE,WAAsB,CAAC,SAAS,EAAEA,WAAW,kBAAkB,
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRuleV2","idRulesV2","isSqlite","id"],"mappings":";;;;;;;;;;;IAAaA,QAAQ;eAARA;;IAEAC,SAAS;eAATA;;;AAFN,MAAMD,WAAW,CAACE,WAAsB,CAAC,SAAS,EAAEA,WAAW,kBAAkB,WAAW;AAE5F,MAAMD,YAAY,CAACC,WAAuB,CAAA;QAC/CC,IAAIH,SAASE;IACf,CAAA"}
|
|
@@ -2,16 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
registerUserRules: function() {
|
|
8
13
|
return registerUserRules;
|
|
14
|
+
},
|
|
15
|
+
registerUserWithRolesRules: function() {
|
|
16
|
+
return registerUserWithRolesRules;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
19
|
const _serverconstants = require("../../server.constants");
|
|
20
|
+
const _genericvalidation = require("./generic.validation");
|
|
12
21
|
const registerUserRules = {
|
|
13
22
|
username: `required|string|minLength:${_serverconstants.AppConstants.DEFAULT_USERNAME_MINLEN}`,
|
|
14
23
|
password: `required|string|minLength:${_serverconstants.AppConstants.DEFAULT_PASSWORD_MINLEN}`
|
|
15
24
|
};
|
|
25
|
+
const registerUserWithRolesRules = (isSqlite)=>({
|
|
26
|
+
username: `required|string|minLength:${_serverconstants.AppConstants.DEFAULT_USERNAME_MINLEN}`,
|
|
27
|
+
password: `required|string|minLength:${_serverconstants.AppConstants.DEFAULT_PASSWORD_MINLEN}`,
|
|
28
|
+
roleIds: "array",
|
|
29
|
+
"roleIds.*": (0, _genericvalidation.idRuleV2)(isSqlite)
|
|
30
|
+
});
|
|
16
31
|
|
|
17
32
|
//# sourceMappingURL=user-controller.validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controllers/validation/user-controller.validation.ts"],"names":["registerUserRules","username","AppConstants","DEFAULT_USERNAME_MINLEN","password","DEFAULT_PASSWORD_MINLEN"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/user-controller.validation.ts"],"names":["registerUserRules","registerUserWithRolesRules","username","AppConstants","DEFAULT_USERNAME_MINLEN","password","DEFAULT_PASSWORD_MINLEN","isSqlite","roleIds","idRuleV2"],"mappings":";;;;;;;;;;;IAGaA,iBAAiB;eAAjBA;;IAKAC,0BAA0B;eAA1BA;;;iCARgB;mCACJ;AAElB,MAAMD,oBAAoB;IAC/BE,UAAU,CAAC,0BAA0B,EAAEC,6BAAY,CAACC,uBAAuB,EAAE;IAC7EC,UAAU,CAAC,0BAA0B,EAAEF,6BAAY,CAACG,uBAAuB,EAAE;AAC/E;AAEO,MAAML,6BAA6B,CAACM,WAAuB,CAAA;QAChEL,UAAU,CAAC,0BAA0B,EAAEC,6BAAY,CAACC,uBAAuB,EAAE;QAC7EC,UAAU,CAAC,0BAA0B,EAAEF,6BAAY,CAACG,uBAAuB,EAAE;QAC7EE,SAAS;QACT,aAAaC,IAAAA,2BAAQ,EAACF;IACxB,CAAA"}
|
|
@@ -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"}
|