@fdm-monster/server 1.5.0-rc1
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 +19 -0
- package/.env.template +43 -0
- package/.gitattributes +1 -0
- package/.idea/codeStyles/Project.xml +85 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/dbnavigator.xml +574 -0
- package/.idea/fdm-monster.iml +16 -0
- package/.idea/inspectionProfiles/Project_Default.xml +22 -0
- package/.idea/jsLibraryMappings.xml +6 -0
- package/.idea/modules.xml +12 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +17 -0
- package/.swcrc +33 -0
- package/CODE_OF_CONDUCT.md +46 -0
- package/CONTRIBUTING.md +134 -0
- package/LICENSE +661 -0
- package/README.md +149 -0
- package/SECURITY.md +16 -0
- package/dist/@type/express/index.d.js +7 -0
- package/dist/@type/express/index.d.js.map +1 -0
- package/dist/constants/authorization.constants.js +99 -0
- package/dist/constants/authorization.constants.js.map +1 -0
- package/dist/constants/event.constants.js +55 -0
- package/dist/constants/event.constants.js.map +1 -0
- package/dist/constants/http-status-codes.constants.js +268 -0
- package/dist/constants/http-status-codes.constants.js.map +1 -0
- package/dist/constants/server-settings.constants.js +119 -0
- package/dist/constants/server-settings.constants.js.map +1 -0
- package/dist/constants/service.constants.js +48 -0
- package/dist/constants/service.constants.js.map +1 -0
- package/dist/container.js +161 -0
- package/dist/container.js.map +1 -0
- package/dist/container.tokens.js +83 -0
- package/dist/container.tokens.js.map +1 -0
- package/dist/controllers/auth.controller.js +143 -0
- package/dist/controllers/auth.controller.js.map +1 -0
- package/dist/controllers/batch-call.controller.js +59 -0
- package/dist/controllers/batch-call.controller.js.map +1 -0
- package/dist/controllers/camera-stream.controller.js +57 -0
- package/dist/controllers/camera-stream.controller.js.map +1 -0
- package/dist/controllers/custom-gcode.controller.js +76 -0
- package/dist/controllers/custom-gcode.controller.js.map +1 -0
- package/dist/controllers/first-time-setup.controller.js +65 -0
- package/dist/controllers/first-time-setup.controller.js.map +1 -0
- package/dist/controllers/floor.controller.js +78 -0
- package/dist/controllers/floor.controller.js.map +1 -0
- package/dist/controllers/plugin-firmware-update.controller.js +140 -0
- package/dist/controllers/plugin-firmware-update.controller.js.map +1 -0
- package/dist/controllers/print-completion.controller.js +58 -0
- package/dist/controllers/print-completion.controller.js.map +1 -0
- package/dist/controllers/printer-files.controller.js +208 -0
- package/dist/controllers/printer-files.controller.js.map +1 -0
- package/dist/controllers/printer-settings.controller.js +58 -0
- package/dist/controllers/printer-settings.controller.js.map +1 -0
- package/dist/controllers/printer.controller.js +287 -0
- package/dist/controllers/printer.controller.js.map +1 -0
- package/dist/controllers/server-private.controller.js +122 -0
- package/dist/controllers/server-private.controller.js.map +1 -0
- package/dist/controllers/server-public.controller.js +140 -0
- package/dist/controllers/server-public.controller.js.map +1 -0
- package/dist/controllers/settings.controller.js +89 -0
- package/dist/controllers/settings.controller.js.map +1 -0
- package/dist/controllers/user.controller.js +137 -0
- package/dist/controllers/user.controller.js.map +1 -0
- package/dist/controllers/validation/auth-controller.validation.js +15 -0
- package/dist/controllers/validation/auth-controller.validation.js.map +1 -0
- package/dist/controllers/validation/batch-controller.validation.js +29 -0
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -0
- package/dist/controllers/validation/generic.validation.js +15 -0
- package/dist/controllers/validation/generic.validation.js.map +1 -0
- package/dist/controllers/validation/printer-controller.validation.js +66 -0
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -0
- package/dist/controllers/validation/printer-files-controller.validation.js +66 -0
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -0
- package/dist/controllers/validation/printer-settings-controller.validation.js +15 -0
- package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -0
- package/dist/controllers/validation/setting.validation.js +19 -0
- package/dist/controllers/validation/setting.validation.js.map +1 -0
- package/dist/controllers/validation/user-controller.validation.js +16 -0
- package/dist/controllers/validation/user-controller.validation.js.map +1 -0
- package/dist/exceptions/job.exceptions.js +18 -0
- package/dist/exceptions/job.exceptions.js.map +1 -0
- package/dist/exceptions/runtime.exceptions.js +108 -0
- package/dist/exceptions/runtime.exceptions.js.map +1 -0
- package/dist/handlers/cache-manager.js +25 -0
- package/dist/handlers/cache-manager.js.map +1 -0
- package/dist/handlers/event-emitter.js +31 -0
- package/dist/handlers/event-emitter.js.map +1 -0
- package/dist/handlers/logger-factory.js +18 -0
- package/dist/handlers/logger-factory.js.map +1 -0
- package/dist/handlers/logger.js +85 -0
- package/dist/handlers/logger.js.map +1 -0
- package/dist/handlers/validators.js +131 -0
- package/dist/handlers/validators.js.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/authenticate.js +83 -0
- package/dist/middleware/authenticate.js.map +1 -0
- package/dist/middleware/database.js +26 -0
- package/dist/middleware/database.js.map +1 -0
- package/dist/middleware/exception.handler.js +96 -0
- package/dist/middleware/exception.handler.js.map +1 -0
- package/dist/middleware/global.middleware.js +58 -0
- package/dist/middleware/global.middleware.js.map +1 -0
- package/dist/middleware/passport.js +44 -0
- package/dist/middleware/passport.js.map +1 -0
- package/dist/middleware/printer.js +49 -0
- package/dist/middleware/printer.js.map +1 -0
- package/dist/migrations/1696187882312-PrinterFile.js +40 -0
- package/dist/migrations/1696187882312-PrinterFile.js.map +1 -0
- package/dist/models/Auth/Permission.js +20 -0
- package/dist/models/Auth/Permission.js.map +1 -0
- package/dist/models/Auth/RefreshToken.js +41 -0
- package/dist/models/Auth/RefreshToken.js.map +1 -0
- package/dist/models/Auth/Role.js +20 -0
- package/dist/models/Auth/Role.js.map +1 -0
- package/dist/models/Auth/User.js +51 -0
- package/dist/models/Auth/User.js.map +1 -0
- package/dist/models/CameraStream.js +59 -0
- package/dist/models/CameraStream.js.map +1 -0
- package/dist/models/CustomGcode.js +28 -0
- package/dist/models/CustomGcode.js.map +1 -0
- package/dist/models/Floor.js +33 -0
- package/dist/models/Floor.js.map +1 -0
- package/dist/models/FloorPrinter.js +29 -0
- package/dist/models/FloorPrinter.js.map +1 -0
- package/dist/models/PrintCompletion.js +40 -0
- package/dist/models/PrintCompletion.js.map +1 -0
- package/dist/models/Printer.js +113 -0
- package/dist/models/Printer.js.map +1 -0
- package/dist/models/ServerSettings.js +168 -0
- package/dist/models/ServerSettings.js.map +1 -0
- package/dist/models/Settings.js +168 -0
- package/dist/models/Settings.js.map +1 -0
- package/dist/models/index.js +54 -0
- package/dist/models/index.js.map +1 -0
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +49 -0
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -0
- package/dist/mongo-migrations/20210907173950-printers-enabled.js +39 -0
- package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -0
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +39 -0
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -0
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +60 -0
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -0
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +30 -0
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -0
- package/dist/mongo-migrations/20230716065316-user-remove-name.js +30 -0
- package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -0
- package/dist/nodemon_restart_trigger.js +4 -0
- package/dist/nodemon_restart_trigger.js.map +1 -0
- package/dist/server.constants.js +99 -0
- package/dist/server.constants.js.map +1 -0
- package/dist/server.core.js +91 -0
- package/dist/server.core.js.map +1 -0
- package/dist/server.env.js +225 -0
- package/dist/server.env.js.map +1 -0
- package/dist/server.host.js +106 -0
- package/dist/server.host.js.map +1 -0
- package/dist/services/authentication/auth.service.js +136 -0
- package/dist/services/authentication/auth.service.js.map +1 -0
- package/dist/services/authentication/jwt.service.js +34 -0
- package/dist/services/authentication/jwt.service.js.map +1 -0
- package/dist/services/authentication/permission.service.js +73 -0
- package/dist/services/authentication/permission.service.js.map +1 -0
- package/dist/services/authentication/refresh-token.service.js +99 -0
- package/dist/services/authentication/refresh-token.service.js.map +1 -0
- package/dist/services/authentication/role.service.js +120 -0
- package/dist/services/authentication/role.service.js.map +1 -0
- package/dist/services/authentication/user.service.js +154 -0
- package/dist/services/authentication/user.service.js.map +1 -0
- package/dist/services/batch-call.service.js +148 -0
- package/dist/services/batch-call.service.js.map +1 -0
- package/dist/services/camera-stream.service.js +80 -0
- package/dist/services/camera-stream.service.js.map +1 -0
- package/dist/services/core/client-bundle.service.js +156 -0
- package/dist/services/core/client-bundle.service.js.map +1 -0
- package/dist/services/core/config.service.js +26 -0
- package/dist/services/core/config.service.js.map +1 -0
- package/dist/services/core/github.service.js +74 -0
- package/dist/services/core/github.service.js.map +1 -0
- package/dist/services/core/logs-manager.service.js +87 -0
- package/dist/services/core/logs-manager.service.js.map +1 -0
- package/dist/services/core/monsterpi.service.js +38 -0
- package/dist/services/core/monsterpi.service.js.map +1 -0
- package/dist/services/core/multer.service.js +122 -0
- package/dist/services/core/multer.service.js.map +1 -0
- package/dist/services/core/server-release.service.js +116 -0
- package/dist/services/core/server-release.service.js.map +1 -0
- package/dist/services/core/server-update.service.js +73 -0
- package/dist/services/core/server-update.service.js.map +1 -0
- package/dist/services/core/task-manager.service.js +196 -0
- package/dist/services/core/task-manager.service.js.map +1 -0
- package/dist/services/core/yaml.service.js +278 -0
- package/dist/services/core/yaml.service.js.map +1 -0
- package/dist/services/custom-gcode.service.js +48 -0
- package/dist/services/custom-gcode.service.js.map +1 -0
- package/dist/services/floor.service.js +183 -0
- package/dist/services/floor.service.js.map +1 -0
- package/dist/services/influxdb-v2/influx-db-v2-base.service.js +45 -0
- package/dist/services/influxdb-v2/influx-db-v2-base.service.js.map +1 -0
- package/dist/services/interfaces/auth.service.interface.js +6 -0
- package/dist/services/interfaces/auth.service.interface.js.map +1 -0
- package/dist/services/interfaces/camera-stream.dto.js +109 -0
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -0
- package/dist/services/interfaces/camera-stream.service.interface.js +6 -0
- package/dist/services/interfaces/camera-stream.service.interface.js.map +1 -0
- package/dist/services/interfaces/custom-gcode.dto.js +18 -0
- package/dist/services/interfaces/custom-gcode.dto.js.map +1 -0
- package/dist/services/interfaces/custom-gcode.service.interface.js +6 -0
- package/dist/services/interfaces/custom-gcode.service.interface.js.map +1 -0
- package/dist/services/interfaces/floor.dto.js +61 -0
- package/dist/services/interfaces/floor.dto.js.map +1 -0
- package/dist/services/interfaces/floor.service.interface.js +6 -0
- package/dist/services/interfaces/floor.service.interface.js.map +1 -0
- package/dist/services/interfaces/gcode-analysis.dto.js +6 -0
- package/dist/services/interfaces/gcode-analysis.dto.js.map +1 -0
- package/dist/services/interfaces/jwt.service.interface.js +6 -0
- package/dist/services/interfaces/jwt.service.interface.js.map +1 -0
- package/dist/services/interfaces/login.dto.js +16 -0
- package/dist/services/interfaces/login.dto.js.map +1 -0
- package/dist/services/interfaces/page.interface.js +16 -0
- package/dist/services/interfaces/page.interface.js.map +1 -0
- package/dist/services/interfaces/permission.dto.js +16 -0
- package/dist/services/interfaces/permission.dto.js.map +1 -0
- package/dist/services/interfaces/permission.service.interface.js +6 -0
- package/dist/services/interfaces/permission.service.interface.js.map +1 -0
- package/dist/services/interfaces/printer-file.dto.js +27 -0
- package/dist/services/interfaces/printer-file.dto.js.map +1 -0
- package/dist/services/interfaces/printer-files.service.interface.js +6 -0
- package/dist/services/interfaces/printer-files.service.interface.js.map +1 -0
- package/dist/services/interfaces/printer.dto.js +18 -0
- package/dist/services/interfaces/printer.dto.js.map +1 -0
- package/dist/services/interfaces/printer.service.interface.js +6 -0
- package/dist/services/interfaces/printer.service.interface.js.map +1 -0
- package/dist/services/interfaces/role-service.interface.js +6 -0
- package/dist/services/interfaces/role-service.interface.js.map +1 -0
- package/dist/services/interfaces/settings.dto.js +34 -0
- package/dist/services/interfaces/settings.dto.js.map +1 -0
- package/dist/services/interfaces/settings.service.interface.js +6 -0
- package/dist/services/interfaces/settings.service.interface.js.map +1 -0
- package/dist/services/interfaces/user-service.interface.js +6 -0
- package/dist/services/interfaces/user-service.interface.js.map +1 -0
- package/dist/services/interfaces/user.dto.js +39 -0
- package/dist/services/interfaces/user.dto.js.map +1 -0
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js +32 -0
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -0
- package/dist/services/octoprint/constants/octoprint-service.constants.js +101 -0
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -0
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js +88 -0
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -0
- package/dist/services/octoprint/octoprint-api.routes.js +192 -0
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -0
- package/dist/services/octoprint/octoprint-api.service.js +402 -0
- package/dist/services/octoprint/octoprint-api.service.js.map +1 -0
- package/dist/services/octoprint/octoprint-sockio.adapter.js +309 -0
- package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -0
- package/dist/services/octoprint/plugin-base.service.js +102 -0
- package/dist/services/octoprint/plugin-base.service.js.map +1 -0
- package/dist/services/octoprint/plugin-firmware-update.service.js +104 -0
- package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -0
- package/dist/services/octoprint/plugin-repository.cache.js +45 -0
- package/dist/services/octoprint/plugin-repository.cache.js.map +1 -0
- package/dist/services/octoprint/socket.factory.js +22 -0
- package/dist/services/octoprint/socket.factory.js.map +1 -0
- package/dist/services/octoprint/utils/api.utils.js +72 -0
- package/dist/services/octoprint/utils/api.utils.js.map +1 -0
- package/dist/services/orm/floor.service.interface.js +73 -0
- package/dist/services/orm/floor.service.interface.js.map +1 -0
- package/dist/services/orm/printer.service.interface.js +6 -0
- package/dist/services/orm/printer.service.interface.js.map +1 -0
- package/dist/services/print-completion.service.js +162 -0
- package/dist/services/print-completion.service.js.map +1 -0
- package/dist/services/printer-files.service.js +91 -0
- package/dist/services/printer-files.service.js.map +1 -0
- package/dist/services/printer.service.js +230 -0
- package/dist/services/printer.service.js.map +1 -0
- package/dist/services/settings.service.js +158 -0
- package/dist/services/settings.service.js.map +1 -0
- package/dist/services/validators/floor-service.validation.js +60 -0
- package/dist/services/validators/floor-service.validation.js.map +1 -0
- package/dist/services/validators/print-completion-service.validation.js +20 -0
- package/dist/services/validators/print-completion-service.validation.js.map +1 -0
- package/dist/services/validators/printer-service.validation.js +48 -0
- package/dist/services/validators/printer-service.validation.js.map +1 -0
- package/dist/services/validators/settings-service.validation.js +71 -0
- package/dist/services/validators/settings-service.validation.js.map +1 -0
- package/dist/services/validators/user-service.validation.js +33 -0
- package/dist/services/validators/user-service.validation.js.map +1 -0
- package/dist/services/validators/yaml-service.validation.js +63 -0
- package/dist/services/validators/yaml-service.validation.js.map +1 -0
- package/dist/services/yaml.service.js +278 -0
- package/dist/services/yaml.service.js.map +1 -0
- package/dist/shared.constants.js +15 -0
- package/dist/shared.constants.js.map +1 -0
- package/dist/state/file-upload-tracker.cache.js +88 -0
- package/dist/state/file-upload-tracker.cache.js.map +1 -0
- package/dist/state/file.cache.js +99 -0
- package/dist/state/file.cache.js.map +1 -0
- package/dist/state/files.store.js +132 -0
- package/dist/state/files.store.js.map +1 -0
- package/dist/state/floor.store.js +99 -0
- package/dist/state/floor.store.js.map +1 -0
- package/dist/state/printer-events.cache.js +97 -0
- package/dist/state/printer-events.cache.js.map +1 -0
- package/dist/state/printer-socket.store.js +217 -0
- package/dist/state/printer-socket.store.js.map +1 -0
- package/dist/state/printer.cache.js +112 -0
- package/dist/state/printer.cache.js.map +1 -0
- package/dist/state/settings.store.js +154 -0
- package/dist/state/settings.store.js.map +1 -0
- package/dist/state/socket-io.gateway.js +66 -0
- package/dist/state/socket-io.gateway.js.map +1 -0
- package/dist/state/test-printer-socket.store.js +91 -0
- package/dist/state/test-printer-socket.store.js.map +1 -0
- package/dist/state/validation/create-test-printer.validation.js +18 -0
- package/dist/state/validation/create-test-printer.validation.js.map +1 -0
- package/dist/task.presets.js +50 -0
- package/dist/task.presets.js.map +1 -0
- package/dist/tasks/boot.task.js +198 -0
- package/dist/tasks/boot.task.js.map +1 -0
- package/dist/tasks/client-bundle.task.js +32 -0
- package/dist/tasks/client-bundle.task.js.map +1 -0
- package/dist/tasks/print-completion.socketio.task.js +85 -0
- package/dist/tasks/print-completion.socketio.task.js.map +1 -0
- package/dist/tasks/printer-file-clean.task.js +72 -0
- package/dist/tasks/printer-file-clean.task.js.map +1 -0
- package/dist/tasks/printer-websocket-restore.task.js +64 -0
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -0
- package/dist/tasks/printer-websocket.task.js +43 -0
- package/dist/tasks/printer-websocket.task.js.map +1 -0
- package/dist/tasks/socketio.task.js +83 -0
- package/dist/tasks/socketio.task.js.map +1 -0
- package/dist/tasks/software-update.task.js +22 -0
- package/dist/tasks/software-update.task.js.map +1 -0
- package/dist/tasks.js +48 -0
- package/dist/tasks.js.map +1 -0
- package/dist/types/express/index.d.js +7 -0
- package/dist/types/express/index.d.js.map +1 -0
- package/dist/utils/array.util.js +27 -0
- package/dist/utils/array.util.js.map +1 -0
- package/dist/utils/benchmark.util.js +39 -0
- package/dist/utils/benchmark.util.js.map +1 -0
- package/dist/utils/cache/key-diff.cache.js +128 -0
- package/dist/utils/cache/key-diff.cache.js.map +1 -0
- package/dist/utils/correlation-token.util.js +15 -0
- package/dist/utils/correlation-token.util.js.map +1 -0
- package/dist/utils/crypto.utils.js +29 -0
- package/dist/utils/crypto.utils.js.map +1 -0
- package/dist/utils/env.utils.js +98 -0
- package/dist/utils/env.utils.js.map +1 -0
- package/dist/utils/error.utils.js +15 -0
- package/dist/utils/error.utils.js.map +1 -0
- package/dist/utils/find-predicate.utils.js +18 -0
- package/dist/utils/find-predicate.utils.js.map +1 -0
- package/dist/utils/fs.utils.js +38 -0
- package/dist/utils/fs.utils.js.map +1 -0
- package/dist/utils/is-docker.js +40 -0
- package/dist/utils/is-docker.js.map +1 -0
- package/dist/utils/mapper.utils.js +33 -0
- package/dist/utils/mapper.utils.js.map +1 -0
- package/dist/utils/metric.utils.js +35 -0
- package/dist/utils/metric.utils.js.map +1 -0
- package/dist/utils/normalize-url.js +245 -0
- package/dist/utils/normalize-url.js.map +1 -0
- package/dist/utils/semver.utils.js +18 -0
- package/dist/utils/semver.utils.js.map +1 -0
- package/dist/utils/time.utils.js +26 -0
- package/dist/utils/time.utils.js.map +1 -0
- package/dist/utils/url.utils.js +33 -0
- package/dist/utils/url.utils.js.map +1 -0
- package/dist/utils/websocket.adapter.js +105 -0
- package/dist/utils/websocket.adapter.js.map +1 -0
- package/migrate-mongo-config.js +45 -0
- package/nodemon_restart_trigger.js +1 -0
- package/package.json +149 -0
- package/src/index.ts +19 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
ServerPrivateController: function() {
|
|
13
|
+
return ServerPrivateController;
|
|
14
|
+
},
|
|
15
|
+
// prettier-ignore
|
|
16
|
+
default: function() {
|
|
17
|
+
return _default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _stream = require("stream");
|
|
21
|
+
const _awilixexpress = require("awilix-express");
|
|
22
|
+
const _authenticate = require("../middleware/authenticate");
|
|
23
|
+
const _logger = require("../handlers/logger");
|
|
24
|
+
const _serverconstants = require("../server.constants");
|
|
25
|
+
const _authorizationconstants = require("../constants/authorization.constants");
|
|
26
|
+
const _envutils = require("../utils/env.utils");
|
|
27
|
+
const _validators = require("../handlers/validators");
|
|
28
|
+
class ServerPrivateController {
|
|
29
|
+
clientBundleService;
|
|
30
|
+
printerCache;
|
|
31
|
+
printerService;
|
|
32
|
+
printerSocketStore;
|
|
33
|
+
yamlService;
|
|
34
|
+
multerService;
|
|
35
|
+
logDumpService;
|
|
36
|
+
logger = new _logger.LoggerService(ServerPrivateController.name);
|
|
37
|
+
serverUpdateService;
|
|
38
|
+
serverReleaseService;
|
|
39
|
+
constructor({ serverUpdateService, serverReleaseService, printerCache, printerService, clientBundleService, logDumpService, printerSocketStore, yamlService, multerService }){
|
|
40
|
+
this.serverReleaseService = serverReleaseService;
|
|
41
|
+
this.serverUpdateService = serverUpdateService;
|
|
42
|
+
this.clientBundleService = clientBundleService;
|
|
43
|
+
this.logDumpService = logDumpService;
|
|
44
|
+
this.printerSocketStore = printerSocketStore;
|
|
45
|
+
this.printerCache = printerCache;
|
|
46
|
+
this.printerService = printerService;
|
|
47
|
+
this.yamlService = yamlService;
|
|
48
|
+
this.multerService = multerService;
|
|
49
|
+
}
|
|
50
|
+
async getClientReleases(req, res) {
|
|
51
|
+
const releaseSpec = await this.clientBundleService.getReleases();
|
|
52
|
+
res.send(releaseSpec);
|
|
53
|
+
}
|
|
54
|
+
async updateClientBundleGithub(req, res) {
|
|
55
|
+
const inputRules = {
|
|
56
|
+
tag_name: "required|string"
|
|
57
|
+
};
|
|
58
|
+
const { tag_name } = await (0, _validators.validateMiddleware)(req, inputRules, res);
|
|
59
|
+
await this.clientBundleService.downloadClientUpdate(tag_name);
|
|
60
|
+
res.send({
|
|
61
|
+
executed: true,
|
|
62
|
+
installed: tag_name
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async getReleaseStateInfo(req, res) {
|
|
66
|
+
await this.serverReleaseService.syncLatestRelease(false);
|
|
67
|
+
const updateState = this.serverReleaseService.getState();
|
|
68
|
+
res.send(updateState);
|
|
69
|
+
}
|
|
70
|
+
async pullGitUpdates(req, res) {
|
|
71
|
+
const result = await this.serverUpdateService.checkGitUpdates();
|
|
72
|
+
res.send(result);
|
|
73
|
+
}
|
|
74
|
+
async restartServer(req, res) {
|
|
75
|
+
if (!(0, _envutils.isTestEnvironment)()) {
|
|
76
|
+
this.logger.warn("Server restart command fired. Expect the server to be unavailable for a moment");
|
|
77
|
+
}
|
|
78
|
+
const result = await this.serverUpdateService.restartServer();
|
|
79
|
+
res.send(result);
|
|
80
|
+
}
|
|
81
|
+
async importPrintersAndFloorsYaml(req, res) {
|
|
82
|
+
const files = await this.multerService.multerLoadFileAsync(req, res, ".yaml", false);
|
|
83
|
+
const firstFile = files[0];
|
|
84
|
+
const spec = await this.yamlService.importPrintersAndFloors(firstFile.buffer.toString());
|
|
85
|
+
res.send({
|
|
86
|
+
success: true,
|
|
87
|
+
spec
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async exportPrintersAndFloorsYaml(req, res) {
|
|
91
|
+
const yaml = await this.yamlService.exportPrintersAndFloors(req.body);
|
|
92
|
+
const fileContents = Buffer.from(yaml);
|
|
93
|
+
const readStream = new _stream.PassThrough();
|
|
94
|
+
readStream.end(fileContents);
|
|
95
|
+
const fileName = `export-${_serverconstants.AppConstants.serverRepoName}-` + Date.now() + ".yaml";
|
|
96
|
+
res.set("Content-disposition", "attachment; filename=" + fileName);
|
|
97
|
+
res.set("Content-Type", "text/plain");
|
|
98
|
+
readStream.pipe(res);
|
|
99
|
+
}
|
|
100
|
+
async deleteAllPrinters(req, res) {
|
|
101
|
+
const printers = await this.printerCache.listCachedPrinters(true);
|
|
102
|
+
const printerIds = printers.map((p)=>p.id);
|
|
103
|
+
await this.printerService.deleteMany(printerIds);
|
|
104
|
+
res.send();
|
|
105
|
+
}
|
|
106
|
+
async clearLogs(req, res) {
|
|
107
|
+
const counts = await this.logDumpService.deleteOlderThanWeekAndMismatchingLogFiles();
|
|
108
|
+
res.send(counts);
|
|
109
|
+
}
|
|
110
|
+
async dumpLogZips(req, res) {
|
|
111
|
+
const filePath = await this.logDumpService.dumpZip();
|
|
112
|
+
res.sendFile(filePath);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const _default = (0, _awilixexpress.createController)(ServerPrivateController).prefix(_serverconstants.AppConstants.apiRoute + "/server").before([
|
|
116
|
+
(0, _authenticate.authenticate)(),
|
|
117
|
+
(0, _authenticate.authorizeRoles)([
|
|
118
|
+
_authorizationconstants.ROLES.ADMIN
|
|
119
|
+
])
|
|
120
|
+
]).get("/", "getReleaseStateInfo").get("/client-releases", "getClientReleases").post("/update-client-bundle-github", "updateClientBundleGithub").post("/export-printers-floors-yaml", "exportPrintersAndFloorsYaml").post("/import-printers-floors-yaml", "importPrintersAndFloorsYaml").post("/git-update", "pullGitUpdates").post("/restart", "restartServer").get("/dump-fdm-monster-logs", "dumpLogZips").post("/dump-fdm-monster-logs", "dumpLogZips").delete("/clear-outdated-fdm-monster-logs", "clearLogs").delete("/delete-all-printers", "deleteAllPrinters");
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=server-private.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/server-private.controller.ts"],"names":["ServerPrivateController","clientBundleService","printerCache","printerService","printerSocketStore","yamlService","multerService","logDumpService","logger","Logger","name","serverUpdateService","serverReleaseService","constructor","getClientReleases","req","res","releaseSpec","getReleases","send","updateClientBundleGithub","inputRules","tag_name","validateMiddleware","downloadClientUpdate","executed","installed","getReleaseStateInfo","syncLatestRelease","updateState","getState","pullGitUpdates","result","checkGitUpdates","restartServer","isTestEnvironment","warn","importPrintersAndFloorsYaml","files","multerLoadFileAsync","firstFile","spec","importPrintersAndFloors","buffer","toString","success","exportPrintersAndFloorsYaml","yaml","exportPrintersAndFloors","body","fileContents","Buffer","from","readStream","PassThrough","end","fileName","AppConstants","serverRepoName","Date","now","set","pipe","deleteAllPrinters","printers","listCachedPrinters","printerIds","map","p","id","deleteMany","clearLogs","counts","deleteOlderThanWeekAndMismatchingLogFiles","dumpLogZips","filePath","dumpZip","sendFile","createController","prefix","apiRoute","before","authenticate","authorizeRoles","ROLES","ADMIN","get","post","delete"],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
ServerPublicController: function() {
|
|
13
|
+
return ServerPublicController;
|
|
14
|
+
},
|
|
15
|
+
default: function() {
|
|
16
|
+
return _default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _awilixexpress = require("awilix-express");
|
|
20
|
+
const _serverconstants = require("../server.constants");
|
|
21
|
+
const _envutils = require("../utils/env.utils");
|
|
22
|
+
const _authenticate = require("../middleware/authenticate");
|
|
23
|
+
const _authorizationconstants = require("../constants/authorization.constants");
|
|
24
|
+
const _isdocker = require("../utils/is-docker");
|
|
25
|
+
class ServerPublicController {
|
|
26
|
+
serverVersion;
|
|
27
|
+
settingsStore;
|
|
28
|
+
printerSocketStore;
|
|
29
|
+
serverReleaseService;
|
|
30
|
+
monsterPiService;
|
|
31
|
+
userService;
|
|
32
|
+
roleService;
|
|
33
|
+
constructor({ settingsStore, printerSocketStore, serverVersion, serverReleaseService, monsterPiService, userService, roleService }){
|
|
34
|
+
this.settingsStore = settingsStore;
|
|
35
|
+
this.serverVersion = serverVersion;
|
|
36
|
+
this.printerSocketStore = printerSocketStore;
|
|
37
|
+
this.serverReleaseService = serverReleaseService;
|
|
38
|
+
this.monsterPiService = monsterPiService;
|
|
39
|
+
this.userService = userService;
|
|
40
|
+
this.roleService = roleService;
|
|
41
|
+
}
|
|
42
|
+
welcome(req, res) {
|
|
43
|
+
const serverSettings = this.settingsStore.getSettings();
|
|
44
|
+
if (!this.settingsStore.getLoginRequired()) {
|
|
45
|
+
return res.send({
|
|
46
|
+
message: "Login disabled. Please load the Vue app."
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return res.send({
|
|
50
|
+
message: "Login required. Please load the Vue app."
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
getFeatures(req, res) {
|
|
54
|
+
res.send({
|
|
55
|
+
batchReprintCalls: {
|
|
56
|
+
available: true,
|
|
57
|
+
// API duplicated at /batch/reprint (deprecated but backwards compatible)
|
|
58
|
+
version: 2
|
|
59
|
+
},
|
|
60
|
+
batchConnectSocketCalls: {
|
|
61
|
+
available: true,
|
|
62
|
+
version: 1
|
|
63
|
+
},
|
|
64
|
+
batchConnectUsbCalls: {
|
|
65
|
+
available: true,
|
|
66
|
+
version: 1
|
|
67
|
+
},
|
|
68
|
+
newSockets: {
|
|
69
|
+
available: true,
|
|
70
|
+
version: 1
|
|
71
|
+
},
|
|
72
|
+
anonymousDiagnosticsToggle: {
|
|
73
|
+
available: true,
|
|
74
|
+
version: 1
|
|
75
|
+
},
|
|
76
|
+
pauseResumePrinterCommand: {
|
|
77
|
+
available: true,
|
|
78
|
+
version: 1
|
|
79
|
+
},
|
|
80
|
+
logDumpZip: {
|
|
81
|
+
available: true,
|
|
82
|
+
version: 1
|
|
83
|
+
},
|
|
84
|
+
clearLogFiles: {
|
|
85
|
+
available: true,
|
|
86
|
+
version: 1
|
|
87
|
+
},
|
|
88
|
+
batchTogglePrinterEnabled: {
|
|
89
|
+
available: true,
|
|
90
|
+
version: 1
|
|
91
|
+
},
|
|
92
|
+
cameraStream: {
|
|
93
|
+
available: true,
|
|
94
|
+
version: 1,
|
|
95
|
+
subFeatures: {}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async getVersion(req, res) {
|
|
100
|
+
let updateState = this.serverReleaseService.getState();
|
|
101
|
+
const monsterPiVersion = this.monsterPiService.getMonsterPiVersionSafe();
|
|
102
|
+
res.json({
|
|
103
|
+
version: this.serverVersion,
|
|
104
|
+
isDockerContainer: (0, _isdocker.isDocker)(),
|
|
105
|
+
isNodemon: (0, _envutils.isNodemon)(),
|
|
106
|
+
isNode: (0, _envutils.isNode)(),
|
|
107
|
+
isPm2: (0, _envutils.isPm2)(),
|
|
108
|
+
os: process.env.OS,
|
|
109
|
+
monsterPi: monsterPiVersion,
|
|
110
|
+
update: {
|
|
111
|
+
synced: updateState.synced,
|
|
112
|
+
updateAvailable: updateState.updateAvailable,
|
|
113
|
+
airGapped: updateState.airGapped
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async test(req, res) {
|
|
118
|
+
res.send({
|
|
119
|
+
message: "Test successful. Please load the Vue app."
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const _default = (0, _awilixexpress.createController)(ServerPublicController).prefix(_serverconstants.AppConstants.apiRoute + "/").get("", "welcome", {
|
|
124
|
+
before: [
|
|
125
|
+
(0, _authenticate.authenticate)(),
|
|
126
|
+
(0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
|
|
127
|
+
]
|
|
128
|
+
}).get("test", "test").get("features", "getFeatures", {
|
|
129
|
+
before: [
|
|
130
|
+
(0, _authenticate.authenticate)(),
|
|
131
|
+
(0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
|
|
132
|
+
]
|
|
133
|
+
}).get("version", "getVersion", {
|
|
134
|
+
before: [
|
|
135
|
+
(0, _authenticate.authenticate)(),
|
|
136
|
+
(0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
|
|
137
|
+
]
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=server-public.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/server-public.controller.ts"],"names":["ServerPublicController","serverVersion","settingsStore","printerSocketStore","serverReleaseService","monsterPiService","userService","roleService","constructor","welcome","req","res","serverSettings","getSettings","getLoginRequired","send","message","getFeatures","batchReprintCalls","available","version","batchConnectSocketCalls","batchConnectUsbCalls","newSockets","anonymousDiagnosticsToggle","pauseResumePrinterCommand","logDumpZip","clearLogFiles","batchTogglePrinterEnabled","cameraStream","subFeatures","getVersion","updateState","getState","monsterPiVersion","getMonsterPiVersionSafe","json","isDockerContainer","isDocker","isNodemon","isNode","isPm2","os","process","env","OS","monsterPi","update","synced","updateAvailable","airGapped","test","createController","prefix","AppConstants","apiRoute","get","before","authenticate","authorizePermission","PERMS","ServerInfo","Get"],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
SettingsController: function() {
|
|
13
|
+
return SettingsController;
|
|
14
|
+
},
|
|
15
|
+
// prettier-ignore
|
|
16
|
+
default: function() {
|
|
17
|
+
return _default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _awilixexpress = require("awilix-express");
|
|
21
|
+
const _authenticate = require("../middleware/authenticate");
|
|
22
|
+
const _serverconstants = require("../server.constants");
|
|
23
|
+
const _authorizationconstants = require("../constants/authorization.constants");
|
|
24
|
+
const _validators = require("../handlers/validators");
|
|
25
|
+
const _settingsservicevalidation = require("../services/validators/settings-service.validation");
|
|
26
|
+
class SettingsController {
|
|
27
|
+
settingsStore;
|
|
28
|
+
constructor({ settingsStore }){
|
|
29
|
+
this.settingsStore = settingsStore;
|
|
30
|
+
}
|
|
31
|
+
getSettings(req, res) {
|
|
32
|
+
const settings = this.settingsStore.getSettings();
|
|
33
|
+
res.send(settings);
|
|
34
|
+
}
|
|
35
|
+
async updateSentryDiagnosticsEnabled(req, res) {
|
|
36
|
+
const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.sentryDiagnosticsEnabledRules);
|
|
37
|
+
const result = this.settingsStore.setSentryDiagnosticsEnabled(enabled);
|
|
38
|
+
res.send(result);
|
|
39
|
+
}
|
|
40
|
+
async updateWhitelistSettings(req, res) {
|
|
41
|
+
const { whitelistEnabled, whitelistedIpAddresses } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.whitelistSettingUpdateRules);
|
|
42
|
+
if (!whitelistedIpAddresses.includes("127.0.0.1")) {
|
|
43
|
+
whitelistedIpAddresses.push("127.0.0.1");
|
|
44
|
+
}
|
|
45
|
+
const result = await this.settingsStore.setWhitelist(whitelistEnabled, whitelistedIpAddresses);
|
|
46
|
+
res.send(result);
|
|
47
|
+
}
|
|
48
|
+
async updateFrontendSettings(req, res) {
|
|
49
|
+
const result = await this.settingsStore.updateFrontendSettings(req.body);
|
|
50
|
+
res.send(result);
|
|
51
|
+
}
|
|
52
|
+
async updateServerSettings(req, res) {
|
|
53
|
+
const result = await this.settingsStore.updateServerSettings(req.body);
|
|
54
|
+
res.send(result);
|
|
55
|
+
}
|
|
56
|
+
async updateFileCleanSettings(req, res) {
|
|
57
|
+
const result = await this.settingsStore.patchFileCleanSettings(req.body);
|
|
58
|
+
res.send(result);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const _default = (0, _awilixexpress.createController)(SettingsController).prefix(_serverconstants.AppConstants.apiRoute + "/settings").before([
|
|
62
|
+
(0, _authenticate.authenticate)()
|
|
63
|
+
]).get("/", "getSettings").patch("/sentry-diagnostics", "updateSentryDiagnosticsEnabled").put("/server", "updateServerSettings", {
|
|
64
|
+
before: [
|
|
65
|
+
(0, _authenticate.authorizeRoles)([
|
|
66
|
+
_authorizationconstants.ROLES.ADMIN
|
|
67
|
+
])
|
|
68
|
+
]
|
|
69
|
+
}).put("/file-clean", "updateFileCleanSettings", {
|
|
70
|
+
before: [
|
|
71
|
+
(0, _authenticate.authorizeRoles)([
|
|
72
|
+
_authorizationconstants.ROLES.ADMIN
|
|
73
|
+
])
|
|
74
|
+
]
|
|
75
|
+
}).put("/whitelist", "updateWhitelistSettings", {
|
|
76
|
+
before: [
|
|
77
|
+
(0, _authenticate.authorizeRoles)([
|
|
78
|
+
_authorizationconstants.ROLES.ADMIN
|
|
79
|
+
])
|
|
80
|
+
]
|
|
81
|
+
}).put("/frontend", "updateFrontendSettings", {
|
|
82
|
+
before: [
|
|
83
|
+
(0, _authenticate.authorizeRoles)([
|
|
84
|
+
_authorizationconstants.ROLES.ADMIN
|
|
85
|
+
])
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=settings.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","settingsStore","constructor","getSettings","req","res","settings","send","updateSentryDiagnosticsEnabled","enabled","validateInput","body","sentryDiagnosticsEnabledRules","result","setSentryDiagnosticsEnabled","updateWhitelistSettings","whitelistEnabled","whitelistedIpAddresses","whitelistSettingUpdateRules","includes","push","setWhitelist","updateFrontendSettings","updateServerSettings","updateFileCleanSettings","patchFileCleanSettings","createController","prefix","AppConstants","apiRoute","before","authenticate","get","patch","put","authorizeRoles","ROLES","ADMIN"],"mappings":";;;;;;;;;;;IAUaA,kBAAkB;eAAlBA;;IA8Cb,kBAAkB;IAClB,OAQ2F;eAR3F;;;+BAzDiC;8BACY;iCAChB;wCACP;4BACQ;2CAC6C;AAKpE,MAAMA;IACXC,cAA6B;IAE7BC,YAAY,EAAED,aAAa,EAAoC,CAAE;QAC/D,IAAI,CAACA,aAAa,GAAGA;IACvB;IAEAE,YAAYC,GAAY,EAAEC,GAAa,EAAE;QACvC,MAAMC,WAAW,IAAI,CAACL,aAAa,CAACE,WAAW;QAC/CE,IAAIE,IAAI,CAACD;IACX;IAEA,MAAME,+BAA+BJ,GAAY,EAAEC,GAAa,EAAE;QAChE,MAAM,EAAEI,OAAO,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACN,IAAIO,IAAI,EAAEC,wDAA6B;QAC/E,MAAMC,SAAS,IAAI,CAACZ,aAAa,CAACa,2BAA2B,CAACL;QAC9DJ,IAAIE,IAAI,CAACM;IACX;IAEA,MAAME,wBAAwBX,GAAY,EAAEC,GAAa,EAAE;QACzD,MAAM,EAAEW,gBAAgB,EAAEC,sBAAsB,EAAE,GAAG,MAAMP,IAAAA,yBAAa,EACtEN,IAAIO,IAAI,EACRO,sDAA2B;QAE7B,IAAI,CAACD,uBAAuBE,QAAQ,CAAC,cAAc;YACjDF,uBAAuBG,IAAI,CAAC;QAC9B;QACA,MAAMP,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACoB,YAAY,CAACL,kBAAkBC;QACvEZ,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMS,uBAAuBlB,GAAY,EAAEC,GAAa,EAAE;QACxD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACqB,sBAAsB,CAAClB,IAAIO,IAAI;QACvEN,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMU,qBAAqBnB,GAAY,EAAEC,GAAa,EAAE;QACtD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACsB,oBAAoB,CAACnB,IAAIO,IAAI;QACrEN,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMW,wBAAwBpB,GAAY,EAAEC,GAAa,EAAE;QACzD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACwB,sBAAsB,CAACrB,IAAIO,IAAI;QACvEN,IAAIE,IAAI,CAACM;IACX;AACF;MAGA,WAAea,IAAAA,+BAAgB,EAAC1B,oBAC7B2B,MAAM,CAACC,6BAAY,CAACC,QAAQ,GAAG,aAC/BC,MAAM,CAAC;IAACC,IAAAA,0BAAY;CAAG,EACvBC,GAAG,CAAC,KAAK,eACTC,KAAK,CAAC,uBAAuB,kCAC7BC,GAAG,CAAC,WAAW,wBAAwB;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACjFH,GAAG,CAAC,eAAe,2BAA2B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACxFH,GAAG,CAAC,cAAc,2BAA2B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACvFH,GAAG,CAAC,aAAa,0BAA0B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
UserController: function() {
|
|
13
|
+
return UserController;
|
|
14
|
+
},
|
|
15
|
+
default: function() {
|
|
16
|
+
return _default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _awilixexpress = require("awilix-express");
|
|
20
|
+
const _serverconstants = require("../server.constants");
|
|
21
|
+
const _authenticate = require("../middleware/authenticate");
|
|
22
|
+
const _authorizationconstants = require("../constants/authorization.constants");
|
|
23
|
+
const _validators = require("../handlers/validators");
|
|
24
|
+
const _genericvalidation = require("./validation/generic.validation");
|
|
25
|
+
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
26
|
+
class UserController {
|
|
27
|
+
userService;
|
|
28
|
+
configService;
|
|
29
|
+
constructor({ userService, configService }){
|
|
30
|
+
this.userService = userService;
|
|
31
|
+
this.configService = configService;
|
|
32
|
+
}
|
|
33
|
+
async profile(req, res) {
|
|
34
|
+
if (!req.user?.id) {
|
|
35
|
+
res.send({});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const user = await this.userService.getUser(req.user?.id);
|
|
39
|
+
res.send(this.userService.toDto(user));
|
|
40
|
+
}
|
|
41
|
+
async list(req, res) {
|
|
42
|
+
const users = await this.userService.listUsers();
|
|
43
|
+
res.send(users.map((u)=>this.userService.toDto(u)));
|
|
44
|
+
}
|
|
45
|
+
async delete(req, res) {
|
|
46
|
+
this.throwIfDemoMode();
|
|
47
|
+
const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
|
|
48
|
+
if (req.user?.id === id) {
|
|
49
|
+
throw new _runtimeexceptions.InternalServerException("Not allowed to delete your own account");
|
|
50
|
+
}
|
|
51
|
+
if (this.isDemoMode()) {
|
|
52
|
+
const demoUserId = await this.userService.getDemoUserId();
|
|
53
|
+
if (id === demoUserId) {
|
|
54
|
+
this.throwIfDemoMode();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
await this.userService.deleteUser(id);
|
|
58
|
+
res.send();
|
|
59
|
+
}
|
|
60
|
+
async get(req, res) {
|
|
61
|
+
const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
|
|
62
|
+
const user = await this.userService.getUser(id);
|
|
63
|
+
res.send(this.userService.toDto(user));
|
|
64
|
+
}
|
|
65
|
+
async changeUsername(req, res) {
|
|
66
|
+
this.throwIfDemoMode();
|
|
67
|
+
const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
|
|
68
|
+
if (req.user?.id !== id) {
|
|
69
|
+
throw new _runtimeexceptions.InternalServerException("Not allowed to change username of other users");
|
|
70
|
+
}
|
|
71
|
+
const { username } = await (0, _validators.validateInput)(req.body, {
|
|
72
|
+
username: "required|string"
|
|
73
|
+
});
|
|
74
|
+
await this.userService.updateUsernameById(id, username);
|
|
75
|
+
res.send();
|
|
76
|
+
}
|
|
77
|
+
async changePassword(req, res) {
|
|
78
|
+
this.throwIfDemoMode();
|
|
79
|
+
const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
|
|
80
|
+
if (req.user?.id !== id) {
|
|
81
|
+
throw new _runtimeexceptions.InternalServerException("Not allowed to change password of other users");
|
|
82
|
+
}
|
|
83
|
+
const { oldPassword, newPassword } = await (0, _validators.validateInput)(req.body, {
|
|
84
|
+
oldPassword: "required|string",
|
|
85
|
+
newPassword: "required|string"
|
|
86
|
+
});
|
|
87
|
+
await this.userService.updatePasswordById(id, oldPassword, newPassword);
|
|
88
|
+
res.send();
|
|
89
|
+
}
|
|
90
|
+
async setVerified(req, res) {
|
|
91
|
+
this.throwIfDemoMode();
|
|
92
|
+
const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
|
|
93
|
+
const { isVerified } = await (0, _validators.validateInput)(req.body, {
|
|
94
|
+
isVerified: "required|boolean"
|
|
95
|
+
});
|
|
96
|
+
await this.userService.setVerifiedById(id, isVerified);
|
|
97
|
+
res.send();
|
|
98
|
+
}
|
|
99
|
+
isDemoMode() {
|
|
100
|
+
return this.configService.get(_serverconstants.AppConstants.OVERRIDE_IS_DEMO_MODE, "false") === "true";
|
|
101
|
+
}
|
|
102
|
+
throwIfDemoMode() {
|
|
103
|
+
const isDemoMode = this.isDemoMode();
|
|
104
|
+
if (isDemoMode) {
|
|
105
|
+
throw new _runtimeexceptions.InternalServerException("Not allowed in demo mode");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const _default = (0, _awilixexpress.createController)(UserController).prefix(_serverconstants.AppConstants.apiRoute + "/user").before([
|
|
110
|
+
(0, _authenticate.authenticate)()
|
|
111
|
+
]).get("/", "list", {
|
|
112
|
+
before: [
|
|
113
|
+
(0, _authenticate.authorizeRoles)([
|
|
114
|
+
_authorizationconstants.ROLES.ADMIN
|
|
115
|
+
])
|
|
116
|
+
]
|
|
117
|
+
}).get("/profile", "profile").get("/:id", "get", {
|
|
118
|
+
before: [
|
|
119
|
+
(0, _authenticate.authorizeRoles)([
|
|
120
|
+
_authorizationconstants.ROLES.ADMIN
|
|
121
|
+
])
|
|
122
|
+
]
|
|
123
|
+
}).delete("/:id", "delete", {
|
|
124
|
+
before: [
|
|
125
|
+
(0, _authenticate.authorizeRoles)([
|
|
126
|
+
_authorizationconstants.ROLES.ADMIN
|
|
127
|
+
])
|
|
128
|
+
]
|
|
129
|
+
}).post("/:id/set-verified", "setVerified", {
|
|
130
|
+
before: [
|
|
131
|
+
(0, _authenticate.authorizeRoles)([
|
|
132
|
+
_authorizationconstants.ROLES.ADMIN
|
|
133
|
+
])
|
|
134
|
+
]
|
|
135
|
+
}).post("/:id/change-username", "changeUsername").post("/:id/change-password", "changePassword");
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=user.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","userService","configService","constructor","profile","req","res","user","id","send","getUser","toDto","list","users","listUsers","map","u","delete","throwIfDemoMode","validateInput","params","idRules","InternalServerException","isDemoMode","demoUserId","getDemoUserId","deleteUser","get","changeUsername","username","body","updateUsernameById","changePassword","oldPassword","newPassword","updatePasswordById","setVerified","isVerified","setVerifiedById","AppConstants","OVERRIDE_IS_DEMO_MODE","createController","prefix","apiRoute","before","authenticate","authorizeRoles","ROLES","ADMIN","post"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "refreshTokenRules", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return refreshTokenRules;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const refreshTokenRules = {
|
|
12
|
+
refreshToken: "required|string"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=auth-controller.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/auth-controller.validation.ts"],"names":["refreshTokenRules","refreshToken"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB;IAC/BC,cAAc;AAChB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
batchPrinterRules: function() {
|
|
13
|
+
return batchPrinterRules;
|
|
14
|
+
},
|
|
15
|
+
batchPrintersEnabledRules: function() {
|
|
16
|
+
return batchPrintersEnabledRules;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const batchPrinterRules = {
|
|
20
|
+
printerIds: "required|array",
|
|
21
|
+
"printerIds.*": "required|mongoId"
|
|
22
|
+
};
|
|
23
|
+
const batchPrintersEnabledRules = {
|
|
24
|
+
printerIds: "required|array",
|
|
25
|
+
"printerIds.*": "required|mongoId",
|
|
26
|
+
enabled: "required|boolean"
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=batch-controller.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterRules","batchPrintersEnabledRules","printerIds","enabled"],"mappings":";;;;;;;;;;;IAAaA,iBAAiB;eAAjBA;;IAKAC,yBAAyB;eAAzBA;;;AALN,MAAMD,oBAAoB;IAC/BE,YAAY;IACZ,gBAAgB;AAClB;AAEO,MAAMD,4BAA4B;IACvCC,YAAY;IACZ,gBAAgB;IAChBC,SAAS;AACX"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "idRules", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return idRules;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const idRules = {
|
|
12
|
+
id: "required|mongoId"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=generic.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRules","id"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,UAA0B;IACrCC,IAAI;AACN"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
createOctoPrintBackupRules: function() {
|
|
13
|
+
return createOctoPrintBackupRules;
|
|
14
|
+
},
|
|
15
|
+
feedRateRules: function() {
|
|
16
|
+
return feedRateRules;
|
|
17
|
+
},
|
|
18
|
+
flowRateRules: function() {
|
|
19
|
+
return flowRateRules;
|
|
20
|
+
},
|
|
21
|
+
getOctoPrintBackupRules: function() {
|
|
22
|
+
return getOctoPrintBackupRules;
|
|
23
|
+
},
|
|
24
|
+
testPrinterApiRules: function() {
|
|
25
|
+
return testPrinterApiRules;
|
|
26
|
+
},
|
|
27
|
+
updatePrinterConnectionSettingRules: function() {
|
|
28
|
+
return updatePrinterConnectionSettingRules;
|
|
29
|
+
},
|
|
30
|
+
updatePrinterDisabledReasonRules: function() {
|
|
31
|
+
return updatePrinterDisabledReasonRules;
|
|
32
|
+
},
|
|
33
|
+
updatePrinterEnabledRule: function() {
|
|
34
|
+
return updatePrinterEnabledRule;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const _serviceconstants = require("../../constants/service.constants");
|
|
38
|
+
const flowRateRules = {
|
|
39
|
+
flowRate: "required|between:75,125|integer"
|
|
40
|
+
};
|
|
41
|
+
const feedRateRules = {
|
|
42
|
+
feedRate: "required|between:10,200|integer"
|
|
43
|
+
};
|
|
44
|
+
const testPrinterApiRules = {
|
|
45
|
+
apiKey: `required|length:${_serviceconstants.UUID_LENGTH},${_serviceconstants.UUID_LENGTH}|alphaNumeric`,
|
|
46
|
+
printerURL: "required|httpurl"
|
|
47
|
+
};
|
|
48
|
+
const updatePrinterDisabledReasonRules = {
|
|
49
|
+
disabledReason: "string"
|
|
50
|
+
};
|
|
51
|
+
const updatePrinterEnabledRule = {
|
|
52
|
+
enabled: "required|boolean"
|
|
53
|
+
};
|
|
54
|
+
const updatePrinterConnectionSettingRules = {
|
|
55
|
+
printerURL: "required|httpurl",
|
|
56
|
+
apiKey: `required|minLength:${_serviceconstants.UUID_LENGTH}|maxLength:${_serviceconstants.UUID_LENGTH}`
|
|
57
|
+
};
|
|
58
|
+
const createOctoPrintBackupRules = {
|
|
59
|
+
exclude: "array",
|
|
60
|
+
"exclude.*": "string"
|
|
61
|
+
};
|
|
62
|
+
const getOctoPrintBackupRules = {
|
|
63
|
+
fileName: "required|string"
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=printer-controller.validation.js.map
|