@fdm-monster/server 1.8.3 → 1.9.0
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 +6 -4
- package/.gitattributes +4 -2
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-4.9.1.cjs +948 -0
- package/.yarnrc.yml +1 -1
- package/README.md +27 -28
- package/RELEASE_NOTES.MD +69 -1
- package/biome.json +33 -0
- package/dist/consoles/download-github-releases.js.map +1 -1
- package/dist/consoles/launch-http-servers.js +31 -0
- package/dist/consoles/launch-http-servers.js.map +1 -0
- package/dist/consoles/mock-octoprint.server.js +291 -0
- package/dist/consoles/mock-octoprint.server.js.map +1 -0
- package/dist/consoles/mock-prusalink.server.js +57 -0
- package/dist/consoles/mock-prusalink.server.js.map +1 -0
- package/dist/consoles/utils/api-messages.js +856 -0
- package/dist/consoles/utils/api-messages.js.map +1 -0
- package/dist/consoles/utils/delayed-memory.storage.js +42 -0
- package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
- package/dist/consoles/utils/ws-messages.js +88 -0
- package/dist/consoles/utils/ws-messages.js.map +1 -0
- package/dist/constants/event.constants.js +5 -21
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +8 -12
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +13 -14
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +3 -4
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +114 -24
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/batch-call.controller.js +95 -24
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/camera-stream.controller.js +16 -12
- package/dist/controllers/camera-stream.controller.js.map +1 -1
- package/dist/controllers/custom-gcode.controller.js +116 -40
- package/dist/controllers/custom-gcode.controller.js.map +1 -1
- package/dist/controllers/dto/update-client-dist.dto.js +0 -21
- package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
- package/dist/controllers/first-time-setup.controller.js +54 -18
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +154 -43
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js +56 -0
- package/dist/controllers/metrics.controller.js.map +1 -0
- package/dist/controllers/print-completion.controller.js +81 -18
- package/dist/controllers/print-completion.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +45 -29
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer-group.controller.js +123 -33
- package/dist/controllers/printer-group.controller.js.map +1 -1
- package/dist/controllers/printer-settings.controller.js +73 -26
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +57 -198
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +153 -39
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +87 -88
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +222 -79
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +67 -57
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/auth-controller.validation.js +6 -5
- package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js +17 -18
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +8 -3
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
- package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
- package/dist/controllers/validation/printer-controller.validation.js +31 -50
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +25 -15
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
- package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
- package/dist/controllers/validation/server-private.validation.js +17 -0
- package/dist/controllers/validation/server-private.validation.js.map +1 -0
- package/dist/controllers/validation/setting.validation.js +28 -10
- package/dist/controllers/validation/setting.validation.js.map +1 -1
- package/dist/controllers/validation/user-controller.validation.js +44 -13
- package/dist/controllers/validation/user-controller.validation.js.map +1 -1
- package/dist/data-source.js +10 -6
- package/dist/data-source.js.map +1 -1
- package/dist/entities/camera-stream.entity.js +2 -3
- package/dist/entities/camera-stream.entity.js.map +1 -1
- package/dist/entities/custom-gcode.entity.js +1 -2
- package/dist/entities/custom-gcode.entity.js.map +1 -1
- package/dist/entities/floor-position.entity.js.map +1 -1
- package/dist/entities/floor.entity.js +1 -2
- package/dist/entities/floor.entity.js.map +1 -1
- package/dist/entities/group.entity.js +6 -2
- package/dist/entities/group.entity.js.map +1 -1
- package/dist/entities/permission.entity.js +1 -2
- package/dist/entities/permission.entity.js.map +1 -1
- package/dist/entities/print-completion.entity.js +1 -2
- package/dist/entities/print-completion.entity.js.map +1 -1
- package/dist/entities/printer-group.entity.js +6 -2
- package/dist/entities/printer-group.entity.js.map +1 -1
- package/dist/entities/printer.entity.js +22 -4
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/refresh-token.entity.js +1 -2
- package/dist/entities/refresh-token.entity.js.map +1 -1
- package/dist/entities/role.entity.js +1 -2
- package/dist/entities/role.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +1 -2
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/entities/user-role.entity.js +1 -2
- package/dist/entities/user-role.entity.js.map +1 -1
- package/dist/entities/user.entity.js +1 -2
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/handlers/logger-factory.js +2 -2
- package/dist/handlers/logger-factory.js.map +1 -1
- package/dist/handlers/logger.js +11 -58
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js +35 -0
- package/dist/handlers/logging/file-logging.transport.js.map +1 -0
- package/dist/handlers/logging/loki-logging.transport.js +55 -0
- package/dist/handlers/logging/loki-logging.transport.js.map +1 -0
- package/dist/handlers/logging/static.logger.js +134 -0
- package/dist/handlers/logging/static.logger.js.map +1 -0
- package/dist/handlers/validators.js +7 -116
- package/dist/handlers/validators.js.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/authenticate.js +11 -22
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/database.js.map +1 -1
- package/dist/middleware/demo.middleware.js +4 -17
- package/dist/middleware/demo.middleware.js.map +1 -1
- package/dist/middleware/exception.filter.js +23 -23
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +4 -4
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/middleware/param-converter.middleware.js +81 -0
- package/dist/middleware/param-converter.middleware.js.map +1 -0
- package/dist/middleware/passport.js +3 -5
- package/dist/middleware/passport.js.map +1 -1
- package/dist/middleware/printer-resolver.js +37 -0
- package/dist/middleware/printer-resolver.js.map +1 -0
- package/dist/middleware/printer.js +22 -10
- package/dist/middleware/printer.js.map +1 -1
- package/dist/middleware/socketio.middleware.js +35 -0
- package/dist/middleware/socketio.middleware.js.map +1 -0
- package/dist/migrations/1706829146617-InitSqlite.js +1 -1
- package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
- package/dist/models/Auth/Permission.js.map +1 -1
- package/dist/models/Auth/RefreshToken.js +1 -1
- package/dist/models/Auth/RefreshToken.js.map +1 -1
- package/dist/models/Auth/Role.js.map +1 -1
- package/dist/models/Auth/User.js.map +1 -1
- package/dist/models/CameraStream.js +20 -0
- package/dist/models/CameraStream.js.map +1 -1
- package/dist/models/CustomGcode.js.map +1 -1
- package/dist/models/Floor.js.map +1 -1
- package/dist/models/FloorPrinter.js +10 -1
- package/dist/models/FloorPrinter.js.map +1 -1
- package/dist/models/PrintCompletion.js.map +1 -1
- package/dist/models/Printer.js +12 -5
- package/dist/models/Printer.js.map +1 -1
- package/dist/models/Settings.js +11 -43
- package/dist/models/Settings.js.map +1 -1
- package/dist/models/index.js +0 -4
- package/dist/models/index.js.map +1 -1
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
- package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
- package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
- package/dist/server.constants.js +8 -4
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +29 -2
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +22 -18
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +24 -33
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js +15 -20
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js +1 -1
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/core/batch-call.service.js +23 -25
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +78 -136
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/config.service.js.map +1 -1
- package/dist/services/core/cradle.service.js +21 -0
- package/dist/services/core/cradle.service.js.map +1 -0
- package/dist/services/core/github.service.js +2 -2
- package/dist/services/core/github.service.js.map +1 -1
- package/dist/services/core/http-client.factory.js +1 -1
- package/dist/services/core/http-client.factory.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +3 -3
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/monsterpi.service.js +1 -1
- package/dist/services/core/monsterpi.service.js.map +1 -1
- package/dist/services/core/multer.service.js +8 -7
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/server-release.service.js +14 -8
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +16 -17
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/interfaces/camera-stream.dto.js +4 -34
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
- package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
- package/dist/services/interfaces/floor.dto.js +5 -47
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/login.dto.js +2 -0
- package/dist/services/interfaces/login.dto.js.map +1 -1
- package/dist/services/interfaces/print-completion.dto.js.map +1 -1
- package/dist/services/interfaces/printer-group.dto.js +0 -14
- package/dist/services/interfaces/printer-group.dto.js.map +1 -1
- package/dist/services/interfaces/printer.dto.js +11 -11
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/task.interfaces.js +6 -0
- package/dist/services/interfaces/task.interfaces.js.map +1 -0
- package/dist/services/mongoose/camera-stream.service.js +17 -15
- package/dist/services/mongoose/camera-stream.service.js.map +1 -1
- package/dist/services/mongoose/custom-gcode.service.js +4 -2
- package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
- package/dist/services/mongoose/floor.service.js +37 -30
- package/dist/services/mongoose/floor.service.js.map +1 -1
- package/dist/services/mongoose/permission.service.js +1 -1
- package/dist/services/mongoose/permission.service.js.map +1 -1
- package/dist/services/mongoose/print-completion.service.js +2 -2
- package/dist/services/mongoose/print-completion.service.js.map +1 -1
- package/dist/services/mongoose/print-completion.shared.js +2 -2
- package/dist/services/mongoose/print-completion.shared.js.map +1 -1
- package/dist/services/mongoose/printer.service.js +33 -45
- package/dist/services/mongoose/printer.service.js.map +1 -1
- package/dist/services/mongoose/refresh-token.service.js +5 -8
- package/dist/services/mongoose/refresh-token.service.js.map +1 -1
- package/dist/services/mongoose/role.service.js +14 -5
- package/dist/services/mongoose/role.service.js.map +1 -1
- package/dist/services/mongoose/settings.service.js +35 -62
- package/dist/services/mongoose/settings.service.js.map +1 -1
- package/dist/services/mongoose/user.service.js +8 -7
- package/dist/services/mongoose/user.service.js.map +1 -1
- package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
- package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
- package/dist/services/moonraker/moonraker-websocket.adapter.js +109 -96
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +25 -16
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +5 -7
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js +1 -38
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +19 -192
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
- package/dist/services/octoprint.api.js +10 -19
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/base.service.js +11 -12
- package/dist/services/orm/base.service.js.map +1 -1
- package/dist/services/orm/camera-stream.service.js +5 -1
- package/dist/services/orm/camera-stream.service.js.map +1 -1
- package/dist/services/orm/custom-gcode.service.js +2 -2
- package/dist/services/orm/custom-gcode.service.js.map +1 -1
- package/dist/services/orm/floor-position.service.js +0 -5
- package/dist/services/orm/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +43 -39
- package/dist/services/orm/floor.service.js.map +1 -1
- package/dist/services/orm/permission.service.js +3 -4
- package/dist/services/orm/permission.service.js.map +1 -1
- package/dist/services/orm/print-completion.service.js +2 -4
- package/dist/services/orm/print-completion.service.js.map +1 -1
- package/dist/services/orm/printer-group.service.js +2 -7
- package/dist/services/orm/printer-group.service.js.map +1 -1
- package/dist/services/orm/printer.service.js +21 -36
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/orm/refresh-token.service.js +5 -11
- package/dist/services/orm/refresh-token.service.js.map +1 -1
- package/dist/services/orm/role.service.js +11 -10
- package/dist/services/orm/role.service.js.map +1 -1
- package/dist/services/orm/settings.service.js +37 -133
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/orm/user.service.js +13 -15
- package/dist/services/orm/user.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +9 -6
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js +13 -6
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
- package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
- package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
- package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
- package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
- package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
- package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
- package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
- package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
- package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/status.dto.js +6 -0
- package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/version.dto.js +6 -0
- package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
- package/dist/services/prusa-link/prusa-link.api.js +235 -0
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
- package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
- package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
- package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
- package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
- package/dist/services/socket.factory.js +9 -6
- package/dist/services/socket.factory.js.map +1 -1
- package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
- package/dist/services/task-manager.service.js.map +1 -0
- package/dist/services/validators/camera-service.validation.js +19 -0
- package/dist/services/validators/camera-service.validation.js.map +1 -0
- package/dist/services/validators/floor-service.validation.js +47 -36
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/print-completion-service.validation.js +22 -9
- package/dist/services/validators/print-completion-service.validation.js.map +1 -1
- package/dist/services/validators/printer-service.validation.js +112 -29
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +79 -66
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/services/validators/user-service.validation.js +17 -16
- package/dist/services/validators/user-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +94 -51
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/shared/default-http-client.builder.js.map +1 -1
- package/dist/shared/load-controllers.js +20 -0
- package/dist/shared/load-controllers.js.map +1 -0
- package/dist/shared/runtime-settings.migration.js +53 -0
- package/dist/shared/runtime-settings.migration.js.map +1 -0
- package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
- package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
- package/dist/shared/websocket.adapter.js +4 -5
- package/dist/shared/websocket.adapter.js.map +1 -1
- package/dist/state/file-upload-tracker.cache.js +5 -4
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/file.cache.js +1 -1
- package/dist/state/file.cache.js.map +1 -1
- package/dist/state/floor.store.js +6 -6
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +21 -22
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-files.store.js +6 -8
- package/dist/state/printer-files.store.js.map +1 -1
- package/dist/state/printer-socket.store.js +27 -50
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer-thumbnail.cache.js +5 -9
- package/dist/state/printer-thumbnail.cache.js.map +1 -1
- package/dist/state/printer.cache.js +14 -12
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +74 -50
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +39 -36
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +20 -15
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/state/validation/create-test-printer.validation.js +13 -11
- package/dist/state/validation/create-test-printer.validation.js.map +1 -1
- package/dist/task.presets.js.map +1 -1
- package/dist/tasks/boot.task.js +14 -19
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/client-bundle.task.js +1 -3
- package/dist/tasks/client-bundle.task.js.map +1 -1
- package/dist/tasks/print-completion.socketio.task.js +27 -28
- package/dist/tasks/print-completion.socketio.task.js.map +1 -1
- package/dist/tasks/printer-file-clean.task.js +6 -10
- package/dist/tasks/printer-file-clean.task.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +3 -14
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks/printer-websocket.task.js +2 -14
- package/dist/tasks/printer-websocket.task.js.map +1 -1
- package/dist/tasks/socketio.task.js +6 -33
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks/software-update.task.js +1 -1
- package/dist/tasks/software-update.task.js.map +1 -1
- package/dist/tasks.js +3 -3
- package/dist/tasks.js.map +1 -1
- package/dist/utils/array.util.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/dist/utils/env.utils.js +0 -2
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/normalize-url.js +3 -2
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/printer-type.utils.js.map +1 -1
- package/dist/utils/time.utils.js +7 -17
- package/dist/utils/time.utils.js.map +1 -1
- package/dist/utils/url.utils.js +3 -4
- package/dist/utils/url.utils.js.map +1 -1
- package/package.json +46 -48
- package/tsconfig.json +2 -1
- package/.yarn/releases/yarn-4.7.0.cjs +0 -935
- package/dist/consoles/check-ports.js +0 -170
- package/dist/consoles/check-ports.js.map +0 -1
- package/dist/consoles/http-file-receiver.console.js +0 -81
- package/dist/consoles/http-file-receiver.console.js.map +0 -1
- package/dist/consoles/sqlite-torm.js +0 -31
- package/dist/consoles/sqlite-torm.js.map +0 -1
- package/dist/consoles/upload-test.js +0 -52
- package/dist/consoles/upload-test.js.map +0 -1
- package/dist/controllers/plugin-firmware-update.controller.js +0 -234
- package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
- package/dist/entities/base.entity.js +0 -29
- package/dist/entities/base.entity.js.map +0 -1
- package/dist/entities/printer-file.entity.js +0 -140
- package/dist/entities/printer-file.entity.js.map +0 -1
- package/dist/handlers/cache-manager.js +0 -18
- package/dist/handlers/cache-manager.js.map +0 -1
- package/dist/models/PrinterFile.js +0 -44
- package/dist/models/PrinterFile.js.map +0 -1
- package/dist/services/core/task-manager.service.js.map +0 -1
- package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
- package/dist/services/octoprint/plugin-base.service.js +0 -101
- package/dist/services/octoprint/plugin-base.service.js.map +0 -1
- package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
- package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
- package/dist/services/octoprint/plugin-repository.cache.js +0 -46
- package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
- package/dist/utils/benchmark.util.js +0 -39
- package/dist/utils/benchmark.util.js.map +0 -1
- package/dist/utils/is-docker.js +0 -40
- package/dist/utils/is-docker.js.map +0 -1
- package/dist/utils/metric.utils.js +0 -35
- package/dist/utils/metric.utils.js.map +0 -1
|
@@ -14,10 +14,8 @@ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
|
14
14
|
class PrinterCache extends _keydiffcache.KeyDiffCache {
|
|
15
15
|
printerService;
|
|
16
16
|
eventEmitter2;
|
|
17
|
-
constructor(
|
|
18
|
-
super();
|
|
19
|
-
this.printerService = printerService;
|
|
20
|
-
this.eventEmitter2 = eventEmitter2;
|
|
17
|
+
constructor(printerService, eventEmitter2){
|
|
18
|
+
super(), this.printerService = printerService, this.eventEmitter2 = eventEmitter2;
|
|
21
19
|
this.eventEmitter2.on(_eventconstants.printerEvents.batchPrinterCreated, this.handleBatchPrinterCreated.bind(this));
|
|
22
20
|
this.eventEmitter2.on(_eventconstants.printerEvents.printerCreated, this.handlePrinterCreatedOrUpdated.bind(this));
|
|
23
21
|
this.eventEmitter2.on(_eventconstants.printerEvents.printerUpdated, this.handlePrinterCreatedOrUpdated.bind(this));
|
|
@@ -70,6 +68,8 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
|
|
|
70
68
|
return {
|
|
71
69
|
printerURL: printer.printerURL,
|
|
72
70
|
apiKey: printer.apiKey,
|
|
71
|
+
username: printer.username,
|
|
72
|
+
password: printer.password,
|
|
73
73
|
printerType: printer.printerType
|
|
74
74
|
};
|
|
75
75
|
}
|
|
@@ -78,23 +78,25 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
|
|
|
78
78
|
return {
|
|
79
79
|
printerURL: printer.printerURL,
|
|
80
80
|
apiKey: printer.apiKey,
|
|
81
|
-
printerType: printer.printerType
|
|
81
|
+
printerType: printer.printerType,
|
|
82
|
+
username: printer.username,
|
|
83
|
+
password: printer.password
|
|
82
84
|
};
|
|
83
85
|
}
|
|
84
|
-
async handleBatchPrinterCreated(
|
|
85
|
-
const mappedPrinters = this.mapArray(printers);
|
|
86
|
+
async handleBatchPrinterCreated(event) {
|
|
87
|
+
const mappedPrinters = this.mapArray(event.printers);
|
|
86
88
|
const keyValues = mappedPrinters.map((p)=>({
|
|
87
89
|
key: this.getId(p),
|
|
88
90
|
value: p
|
|
89
91
|
}));
|
|
90
92
|
await this.setKeyValuesBatch(keyValues, true);
|
|
91
93
|
}
|
|
92
|
-
async handlePrinterCreatedOrUpdated(
|
|
93
|
-
const printerDto = this.map(printer);
|
|
94
|
+
async handlePrinterCreatedOrUpdated(event) {
|
|
95
|
+
const printerDto = this.map(event.printer);
|
|
94
96
|
await this.setKeyValue(printerDto.id, printerDto, true);
|
|
95
97
|
}
|
|
96
|
-
async handlePrintersDeleted(
|
|
97
|
-
await this.deleteKeysBatch(printerIds, true);
|
|
98
|
+
async handlePrintersDeleted(event) {
|
|
99
|
+
await this.deleteKeysBatch(event.printerIds, true);
|
|
98
100
|
}
|
|
99
101
|
getId(value) {
|
|
100
102
|
return value.id.toString();
|
|
@@ -105,7 +107,7 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
|
|
|
105
107
|
});
|
|
106
108
|
}
|
|
107
109
|
map(entity) {
|
|
108
|
-
return this.printerService.
|
|
110
|
+
return this.printerService.toDto(entity);
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","constructor","printerService","eventEmitter2","on","printerEvents","batchPrinterCreated","handleBatchPrinterCreated","bind","printerCreated","handlePrinterCreatedOrUpdated","printerUpdated","printersDeleted","handlePrintersDeleted","loadCache","printerDocs","list","dtos","mapArray","keyValues","map","p","key","getId","value","setKeyValuesBatch","countDisabledPrinters","getAllValues","filter","enabled","length","listCachedPrinters","includeDisabled","printers","getCachedPrinterOrThrowAsync","id","printer","getValue","NotFoundException","getCachedPrinterOrThrow","keyValueStore","getNameAsync","name","getName","getLoginDtoAsync","printerURL","apiKey","username","password","printerType","getLoginDto","event","mappedPrinters","printerDto","setKeyValue","deleteKeysBatch","printerIds","toString","entities","entity","toDto"],"mappings":"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"}
|
|
@@ -14,25 +14,27 @@ const _node = require("@sentry/node");
|
|
|
14
14
|
const _envutils = require("../utils/env.utils");
|
|
15
15
|
const _serverconstants = require("../server.constants");
|
|
16
16
|
class SettingsStore {
|
|
17
|
-
isTypeOrmMode;
|
|
18
17
|
settingsService;
|
|
18
|
+
isTypeormMode;
|
|
19
19
|
logger;
|
|
20
|
-
settings
|
|
21
|
-
constructor(
|
|
20
|
+
settings;
|
|
21
|
+
constructor(loggerFactory, settingsService, isTypeormMode){
|
|
22
22
|
this.settingsService = settingsService;
|
|
23
|
+
this.isTypeormMode = isTypeormMode;
|
|
24
|
+
this.settings = null;
|
|
23
25
|
this.logger = loggerFactory(SettingsStore.name);
|
|
24
|
-
this.isTypeOrmMode = isTypeormMode;
|
|
25
26
|
}
|
|
26
27
|
getSettings() {
|
|
28
|
+
this.throwIfSettingsUnset();
|
|
27
29
|
const settings = this.settings;
|
|
28
|
-
if (!settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
|
|
29
30
|
return Object.freeze({
|
|
30
31
|
[_serversettingsconstants.serverSettingsKey]: {
|
|
31
32
|
loginRequired: settings[_serversettingsconstants.serverSettingsKey].loginRequired,
|
|
32
33
|
registration: settings[_serversettingsconstants.serverSettingsKey].registration,
|
|
33
34
|
sentryDiagnosticsEnabled: settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled,
|
|
34
35
|
experimentalMoonrakerSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
|
|
35
|
-
|
|
36
|
+
experimentalPrusaLinkSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalPrusaLinkSupport,
|
|
37
|
+
experimentalTypeormSupport: this.isTypeormMode,
|
|
36
38
|
experimentalClientSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
|
|
37
39
|
experimentalThumbnailSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport
|
|
38
40
|
},
|
|
@@ -43,8 +45,8 @@ class SettingsStore {
|
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
getSettingsSensitive() {
|
|
48
|
+
this.throwIfSettingsUnset();
|
|
46
49
|
const settings = this.settings;
|
|
47
|
-
if (!settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
|
|
48
50
|
return Object.freeze({
|
|
49
51
|
[_serversettingsconstants.credentialSettingsKey]: {
|
|
50
52
|
jwtExpiresIn: settings[_serversettingsconstants.credentialSettingsKey].jwtExpiresIn,
|
|
@@ -52,58 +54,66 @@ class SettingsStore {
|
|
|
52
54
|
refreshTokenExpiry: settings[_serversettingsconstants.credentialSettingsKey].refreshTokenExpiry
|
|
53
55
|
},
|
|
54
56
|
[_serversettingsconstants.serverSettingsKey]: {
|
|
55
|
-
debugSettings: settings[_serversettingsconstants.serverSettingsKey].debugSettings,
|
|
56
57
|
experimentalMoonrakerSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
|
|
57
|
-
experimentalTypeormSupport: this.
|
|
58
|
+
experimentalTypeormSupport: this.isTypeormMode,
|
|
58
59
|
experimentalClientSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
|
|
59
60
|
experimentalThumbnailSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
|
-
getDebugSettingsSensitive() {
|
|
64
|
-
return this.getSettingsSensitive()[_serversettingsconstants.serverSettingsKey].debugSettings;
|
|
65
|
-
}
|
|
66
64
|
async loadSettings() {
|
|
67
65
|
this.settings = await this.settingsService.getOrCreate();
|
|
68
66
|
await this.processSentryEnabled();
|
|
69
67
|
}
|
|
70
68
|
async getCredentialSettings() {
|
|
69
|
+
this.throwIfSettingsUnset();
|
|
71
70
|
return this.settings[_serversettingsconstants.credentialSettingsKey];
|
|
72
71
|
}
|
|
73
72
|
async getAnonymousDiagnosticsEnabled() {
|
|
73
|
+
this.throwIfSettingsUnset();
|
|
74
74
|
return this.settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled;
|
|
75
75
|
}
|
|
76
76
|
async persistOptionalCredentialSettings(overrideJwtSecret, overrideJwtExpiresIn) {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
this.throwIfSettingsUnset();
|
|
78
|
+
const credentialSettings = await this.getCredentialSettings();
|
|
79
|
+
if (overrideJwtSecret?.length) {
|
|
80
|
+
await this.settingsService.updateJwtSecretCredentialSetting({
|
|
79
81
|
jwtSecret: overrideJwtSecret
|
|
80
82
|
});
|
|
81
83
|
}
|
|
82
|
-
if (overrideJwtExpiresIn) {
|
|
84
|
+
if (overrideJwtExpiresIn?.length) {
|
|
83
85
|
await this.updateCredentialSettings({
|
|
86
|
+
refreshTokenExpiry: credentialSettings.refreshTokenExpiry,
|
|
87
|
+
refreshTokenAttempts: credentialSettings.refreshTokenAttempts,
|
|
84
88
|
jwtExpiresIn: parseInt(overrideJwtExpiresIn)
|
|
85
89
|
});
|
|
86
90
|
}
|
|
91
|
+
this.settings[_serversettingsconstants.credentialSettingsKey] = await this.getCredentialSettings();
|
|
87
92
|
}
|
|
88
93
|
getWizardState() {
|
|
94
|
+
this.throwIfSettingsUnset();
|
|
95
|
+
const settings = this.settings;
|
|
89
96
|
return {
|
|
90
|
-
wizardCompleted:
|
|
91
|
-
wizardVersion:
|
|
97
|
+
wizardCompleted: settings[_serversettingsconstants.wizardSettingKey].wizardCompleted,
|
|
98
|
+
wizardVersion: settings[_serversettingsconstants.wizardSettingKey].wizardVersion,
|
|
92
99
|
latestWizardVersion: _serverconstants.AppConstants.currentWizardVersion
|
|
93
100
|
};
|
|
94
101
|
}
|
|
95
102
|
isWizardCompleted() {
|
|
96
|
-
|
|
103
|
+
this.throwIfSettingsUnset();
|
|
104
|
+
const settings = this.settings;
|
|
105
|
+
return settings[_serversettingsconstants.wizardSettingKey].wizardCompleted && settings[_serversettingsconstants.wizardSettingKey].wizardVersion === _serverconstants.AppConstants.currentWizardVersion;
|
|
97
106
|
}
|
|
98
107
|
getWizardSettings() {
|
|
108
|
+
this.throwIfSettingsUnset();
|
|
99
109
|
return this.settings[_serversettingsconstants.wizardSettingKey];
|
|
100
110
|
}
|
|
101
111
|
isRegistrationEnabled() {
|
|
102
|
-
|
|
112
|
+
this.throwIfSettingsUnset();
|
|
103
113
|
return this.settings[_serversettingsconstants.serverSettingsKey].registration;
|
|
104
114
|
}
|
|
105
115
|
isThumbnailSupportEnabled() {
|
|
106
|
-
|
|
116
|
+
this.throwIfSettingsUnset();
|
|
107
117
|
return this.settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport;
|
|
108
118
|
}
|
|
109
119
|
getServerSettings() {
|
|
@@ -122,73 +132,87 @@ class SettingsStore {
|
|
|
122
132
|
return this.getSettings()[_serversettingsconstants.printerFileCleanSettingKey]?.autoRemoveOldFilesBeforeUpload;
|
|
123
133
|
}
|
|
124
134
|
async setWizardCompleted(version) {
|
|
125
|
-
this.settings = await this.settingsService.
|
|
135
|
+
this.settings = await this.settingsService.updateWizardSettings({
|
|
126
136
|
wizardCompleted: true,
|
|
127
137
|
wizardCompletedAt: new Date(),
|
|
128
138
|
wizardVersion: version
|
|
129
139
|
});
|
|
130
140
|
return this.getSettings();
|
|
131
141
|
}
|
|
132
|
-
async setRegistrationEnabled(registration = true) {
|
|
133
|
-
this.settings = await this.settingsService.patchServerSettings({
|
|
134
|
-
registration
|
|
135
|
-
});
|
|
136
|
-
return this.getSettings();
|
|
137
|
-
}
|
|
138
142
|
async getLoginRequired() {
|
|
139
143
|
return this.getServerSettings().loginRequired;
|
|
140
144
|
}
|
|
141
145
|
async setLoginRequired(loginRequired = true) {
|
|
142
|
-
this.
|
|
143
|
-
|
|
144
|
-
|
|
146
|
+
this.throwIfSettingsUnset();
|
|
147
|
+
this.settings[_serversettingsconstants.serverSettingsKey].loginRequired = loginRequired;
|
|
148
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
149
|
+
return this.getSettings();
|
|
150
|
+
}
|
|
151
|
+
async setRegistrationEnabled(registration = true) {
|
|
152
|
+
this.throwIfSettingsUnset();
|
|
153
|
+
this.settings[_serversettingsconstants.serverSettingsKey].registration = registration;
|
|
154
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
145
155
|
return this.getSettings();
|
|
146
156
|
}
|
|
147
157
|
async updateServerSettings(serverSettings) {
|
|
148
|
-
this.settings = await this.settingsService.
|
|
158
|
+
this.settings = await this.settingsService.updateServerSettings(serverSettings);
|
|
149
159
|
return this.getSettings();
|
|
150
160
|
}
|
|
151
161
|
async updateTimeoutSettings(timeoutSettings) {
|
|
152
162
|
this.settings = await this.settingsService.updateTimeoutSettings(timeoutSettings);
|
|
153
163
|
return this.getSettings();
|
|
154
164
|
}
|
|
155
|
-
async
|
|
156
|
-
this.settings = await this.settingsService.
|
|
165
|
+
async updateFileCleanSettings(fileClean) {
|
|
166
|
+
this.settings = await this.settingsService.updateFileCleanSettings(fileClean);
|
|
157
167
|
return this.getSettings();
|
|
158
168
|
}
|
|
159
169
|
async updateCredentialSettings(credentialSettings) {
|
|
160
|
-
this.settings = await this.settingsService.
|
|
161
|
-
|
|
170
|
+
this.settings = await this.settingsService.updateCredentialSettings(credentialSettings);
|
|
171
|
+
}
|
|
172
|
+
async setRefreshTokenSettings({ refreshTokenAttempts, refreshTokenExpiry }) {
|
|
173
|
+
this.throwIfSettingsUnset();
|
|
174
|
+
this.settings[_serversettingsconstants.credentialSettingsKey].refreshTokenAttempts = refreshTokenAttempts;
|
|
175
|
+
this.settings[_serversettingsconstants.credentialSettingsKey].refreshTokenExpiry = refreshTokenExpiry;
|
|
176
|
+
await this.updateCredentialSettings(this.settings[_serversettingsconstants.credentialSettingsKey]);
|
|
162
177
|
}
|
|
163
178
|
async setSentryDiagnosticsEnabled(sentryDiagnosticsEnabled) {
|
|
164
|
-
this.
|
|
165
|
-
|
|
166
|
-
|
|
179
|
+
this.throwIfSettingsUnset();
|
|
180
|
+
this.settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled = sentryDiagnosticsEnabled;
|
|
181
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
167
182
|
await this.processSentryEnabled();
|
|
168
183
|
return this.getSettings();
|
|
169
184
|
}
|
|
170
|
-
async setExperimentalMoonrakerSupport(
|
|
171
|
-
this.
|
|
172
|
-
|
|
173
|
-
|
|
185
|
+
async setExperimentalMoonrakerSupport(experimentalMoonrakerSupport) {
|
|
186
|
+
this.throwIfSettingsUnset();
|
|
187
|
+
this.settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport = experimentalMoonrakerSupport;
|
|
188
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
174
189
|
return this.getSettings();
|
|
175
190
|
}
|
|
176
|
-
async setExperimentalThumbnailSupport(
|
|
177
|
-
this.
|
|
178
|
-
|
|
179
|
-
|
|
191
|
+
async setExperimentalThumbnailSupport(experimentalThumbnailSupport) {
|
|
192
|
+
this.throwIfSettingsUnset();
|
|
193
|
+
this.settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport = experimentalThumbnailSupport;
|
|
194
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
180
195
|
return this.getSettings();
|
|
181
196
|
}
|
|
182
|
-
async
|
|
183
|
-
this.
|
|
184
|
-
|
|
185
|
-
|
|
197
|
+
async setExperimentalPrusaLinkSupport(experimentalPrusaLinkSupport) {
|
|
198
|
+
this.throwIfSettingsUnset();
|
|
199
|
+
this.settings[_serversettingsconstants.serverSettingsKey].experimentalPrusaLinkSupport = experimentalPrusaLinkSupport;
|
|
200
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
201
|
+
return this.getSettings();
|
|
202
|
+
}
|
|
203
|
+
async setExperimentalClientSupport(experimentalClientSupport) {
|
|
204
|
+
this.throwIfSettingsUnset();
|
|
205
|
+
this.settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport = experimentalClientSupport;
|
|
206
|
+
this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
|
|
186
207
|
return this.getSettings();
|
|
187
208
|
}
|
|
188
209
|
async updateFrontendSettings(frontendSettings) {
|
|
189
210
|
this.settings = await this.settingsService.updateFrontendSettings(frontendSettings);
|
|
190
211
|
return this.getSettings();
|
|
191
212
|
}
|
|
213
|
+
throwIfSettingsUnset() {
|
|
214
|
+
if (!this.settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded)");
|
|
215
|
+
}
|
|
192
216
|
async processSentryEnabled() {
|
|
193
217
|
const sentryEnabled = await this.getAnonymousDiagnosticsEnabled();
|
|
194
218
|
if (sentryEnabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/settings.store.ts"],"names":["SettingsStore","
|
|
1
|
+
{"version":3,"sources":["../../src/state/settings.store.ts"],"names":["SettingsStore","logger","settings","constructor","loggerFactory","settingsService","isTypeormMode","name","getSettings","throwIfSettingsUnset","Object","freeze","serverSettingsKey","loginRequired","registration","sentryDiagnosticsEnabled","experimentalMoonrakerSupport","experimentalPrusaLinkSupport","experimentalTypeormSupport","experimentalClientSupport","experimentalThumbnailSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getSettingsSensitive","credentialSettingsKey","jwtExpiresIn","refreshTokenAttempts","refreshTokenExpiry","loadSettings","getOrCreate","processSentryEnabled","getCredentialSettings","getAnonymousDiagnosticsEnabled","persistOptionalCredentialSettings","overrideJwtSecret","overrideJwtExpiresIn","credentialSettings","length","updateJwtSecretCredentialSetting","jwtSecret","updateCredentialSettings","parseInt","getWizardState","wizardCompleted","wizardVersion","latestWizardVersion","AppConstants","currentWizardVersion","isWizardCompleted","getWizardSettings","isRegistrationEnabled","isThumbnailSupportEnabled","getServerSettings","getTimeoutSettings","getFrontendSettings","getFileCleanSettings","isPreUploadFileCleanEnabled","autoRemoveOldFilesBeforeUpload","setWizardCompleted","version","updateWizardSettings","wizardCompletedAt","Date","getLoginRequired","setLoginRequired","updateServerSettings","setRegistrationEnabled","serverSettings","updateTimeoutSettings","timeoutSettings","updateFileCleanSettings","fileClean","setRefreshTokenSettings","setSentryDiagnosticsEnabled","setExperimentalMoonrakerSupport","setExperimentalThumbnailSupport","setExperimentalPrusaLinkSupport","setExperimentalClientSupport","updateFrontendSettings","frontendSettings","InternalServerException","sentryEnabled","log","isTestEnvironment","client","getClient","warn","getOptions","enabled"],"mappings":"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"}
|
|
@@ -19,37 +19,37 @@ _export(exports, {
|
|
|
19
19
|
const _socketio = require("socket.io");
|
|
20
20
|
const _eventconstants = require("../constants/event.constants");
|
|
21
21
|
const _passport = require("../middleware/passport");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
const _socketiomiddleware = require("../middleware/socketio.middleware");
|
|
23
|
+
const _promclient = require("prom-client");
|
|
24
|
+
const socketIoGatewaySessions = new _promclient.Gauge({
|
|
25
|
+
name: "socketio_gateway_sessions",
|
|
26
|
+
help: "Gateway active sessions"
|
|
27
|
+
});
|
|
28
|
+
const socketIoGatewayDisconnects = new _promclient.Counter({
|
|
29
|
+
name: "socketio_gateway_disconnects",
|
|
30
|
+
help: "Gateway connections closed"
|
|
31
|
+
});
|
|
32
|
+
const socketIoGatewayMessagesSent = new _promclient.Counter({
|
|
33
|
+
name: "socketio_messages_sent",
|
|
34
|
+
help: "Gateway messages sent"
|
|
35
|
+
});
|
|
36
|
+
const socketIoGatewayMessageSentSize = new _promclient.Gauge({
|
|
37
|
+
name: "socketio_message_size",
|
|
38
|
+
help: "Gateway message sent size"
|
|
39
|
+
});
|
|
38
40
|
class SocketIoGateway {
|
|
39
|
-
logger;
|
|
40
41
|
eventEmitter2;
|
|
41
|
-
io;
|
|
42
|
-
authService;
|
|
43
42
|
settingsStore;
|
|
44
|
-
configService;
|
|
45
43
|
userService;
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
configService;
|
|
45
|
+
logger;
|
|
46
|
+
io;
|
|
47
|
+
constructor(loggerFactory, eventEmitter2, settingsStore, userService, configService){
|
|
48
48
|
this.eventEmitter2 = eventEmitter2;
|
|
49
49
|
this.settingsStore = settingsStore;
|
|
50
|
-
this.authService = authService;
|
|
51
50
|
this.userService = userService;
|
|
52
51
|
this.configService = configService;
|
|
52
|
+
this.logger = loggerFactory(SocketIoGateway.name);
|
|
53
53
|
}
|
|
54
54
|
attachServer(httpServer) {
|
|
55
55
|
this.io = new _socketio.Server(httpServer, {
|
|
@@ -58,34 +58,37 @@ class SocketIoGateway {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
const opts = (0, _passport.getPassportJwtOptions)(this.settingsStore, this.configService, (value)=>value.handshake.auth.token);
|
|
61
|
-
|
|
62
|
-
this.io.use(authorize(this.settingsStore, opts, verify));
|
|
61
|
+
this.io.use((0, _socketiomiddleware.authorize)(this.settingsStore, opts, this.logger, (0, _passport.verifyUserCallback)(this.userService)));
|
|
63
62
|
this.io.on("connection", (socket)=>this.onConnect.bind(this)(socket));
|
|
64
63
|
}
|
|
65
64
|
onConnect(socket) {
|
|
66
|
-
this.logger.debug("SocketIO Client connected",
|
|
65
|
+
this.logger.debug("SocketIO Client connected", {
|
|
66
|
+
socketId: socket.id
|
|
67
|
+
});
|
|
67
68
|
this.eventEmitter2.emit(_eventconstants.socketIoConnectedEvent, socket.id);
|
|
69
|
+
socketIoGatewaySessions.inc();
|
|
68
70
|
socket.on("disconnect", ()=>{
|
|
69
|
-
this.logger.debug("SocketIO Client disconnected",
|
|
71
|
+
this.logger.debug("SocketIO Client disconnected", {
|
|
72
|
+
socketId: socket.id
|
|
73
|
+
});
|
|
74
|
+
socketIoGatewaySessions.dec(1);
|
|
75
|
+
socketIoGatewayDisconnects.inc();
|
|
70
76
|
});
|
|
71
77
|
}
|
|
72
78
|
send(event, data) {
|
|
73
79
|
if (!this.io) {
|
|
74
|
-
this.logger.debug(
|
|
80
|
+
this.logger.debug(`Cant send event ${event}, socketio gateway must be created first`);
|
|
75
81
|
return;
|
|
76
82
|
}
|
|
77
|
-
if (this.settingsStore.getServerSettings().debugSettings?.debugSocketIoEvents) {
|
|
78
|
-
this.logger.log(`Sending event ${event}`);
|
|
79
|
-
}
|
|
80
83
|
this.io.emit(event, data);
|
|
84
|
+
socketIoGatewayMessagesSent.inc();
|
|
85
|
+
const payload = JSON.stringify(data);
|
|
86
|
+
const sizeInBytes = Buffer.byteLength(payload);
|
|
87
|
+
socketIoGatewayMessageSentSize.set(sizeInBytes);
|
|
81
88
|
}
|
|
82
89
|
}
|
|
83
90
|
const IO_MESSAGES = {
|
|
84
|
-
LegacyUpdate: "legacy-update"
|
|
85
|
-
LegacyPrinterTest: "legacy-printer-test",
|
|
86
|
-
CompletionEvent: "completion-event",
|
|
87
|
-
HostState: "host-state",
|
|
88
|
-
ApiAccessibility: "api-accessibility"
|
|
91
|
+
LegacyUpdate: "legacy-update"
|
|
89
92
|
};
|
|
90
93
|
|
|
91
94
|
//# sourceMappingURL=socket-io.gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/socket-io.gateway.ts"],"names":["IO_MESSAGES","SocketIoGateway","
|
|
1
|
+
{"version":3,"sources":["../../src/state/socket-io.gateway.ts"],"names":["IO_MESSAGES","SocketIoGateway","socketIoGatewaySessions","Gauge","name","help","socketIoGatewayDisconnects","Counter","socketIoGatewayMessagesSent","socketIoGatewayMessageSentSize","logger","io","constructor","loggerFactory","eventEmitter2","settingsStore","userService","configService","attachServer","httpServer","Server","cors","origin","opts","getPassportJwtOptions","value","handshake","auth","token","use","authorize","verifyUserCallback","on","socket","onConnect","bind","debug","socketId","id","emit","socketIoConnectedEvent","inc","dec","send","event","data","payload","JSON","stringify","sizeInBytes","Buffer","byteLength","set","LegacyUpdate"],"mappings":";;;;;;;;;;;IAsFaA,WAAW;eAAXA;;IArDAC,eAAe;eAAfA;;;0BAjCkB;gCACQ;0BAMmB;oCAGhC;4BACK;AAE/B,MAAMC,0BAA0B,IAAIC,iBAAK,CAAC;IACxCC,MAAM;IACNC,MAAM;AACR;AAEA,MAAMC,6BAA6B,IAAIC,mBAAO,CAAC;IAC7CH,MAAM;IACNC,MAAM;AACR;AAEA,MAAMG,8BAA8B,IAAID,mBAAO,CAAC;IAC9CH,MAAM;IACNC,MAAM;AACR;AAEA,MAAMI,iCAAiC,IAAIN,iBAAK,CAAC;IAC/CC,MAAM;IACNC,MAAM;AACR;AAEO,MAAMJ;;;;;IACXS,OAAsB;IAEtBC,GAAW;IAEXC,YACEC,aAA6B,EAC7B,AAAiBC,aAA4B,EAC7C,AAAiBC,aAA4B,EAC7C,AAAiBC,WAAyB,EAC1C,AAAiBC,aAA6B,CAC9C;aAJiBH,gBAAAA;aACAC,gBAAAA;aACAC,cAAAA;aACAC,gBAAAA;QAEjB,IAAI,CAACP,MAAM,GAAGG,cAAcZ,gBAAgBG,IAAI;IAClD;IAEAc,aAAaC,UAAsB,EAAE;QACnC,IAAI,CAACR,EAAE,GAAG,IAAIS,gBAAM,CAACD,YAAY;YAAEE,MAAM;gBAAEC,QAAQ;YAAI;QAAE;QACzD,MAAMC,OAAOC,IAAAA,+BAAqB,EAChC,IAAI,CAACT,aAAa,EAClB,IAAI,CAACE,aAAa,EAClB,CAACQ,QAAkBA,MAAMC,SAAS,CAACC,IAAI,CAACC,KAAK;QAE/C,IAAI,CAACjB,EAAE,CAACkB,GAAG,CAACC,IAAAA,6BAAS,EAAC,IAAI,CAACf,aAAa,EAAEQ,MAAM,IAAI,CAACb,MAAM,EAAEqB,IAAAA,4BAAkB,EAAC,IAAI,CAACf,WAAW;QAChG,IAAI,CAACL,EAAE,CAACqB,EAAE,CAAC,cAAc,CAACC,SAAW,IAAI,CAACC,SAAS,CAACC,IAAI,CAAC,IAAI,EAAEF;IACjE;IAEAC,UAAUD,MAAc,EAAE;QACxB,IAAI,CAACvB,MAAM,CAAC0B,KAAK,CAAC,6BAA6B;YAAEC,UAAUJ,OAAOK,EAAE;QAAC;QACrE,IAAI,CAACxB,aAAa,CAACyB,IAAI,CAACC,sCAAsB,EAAEP,OAAOK,EAAE;QACzDpC,wBAAwBuC,GAAG;QAE3BR,OAAOD,EAAE,CAAC,cAAc;YACtB,IAAI,CAACtB,MAAM,CAAC0B,KAAK,CAAC,gCAAgC;gBAAEC,UAAUJ,OAAOK,EAAE;YAAC;YACxEpC,wBAAwBwC,GAAG,CAAC;YAC5BpC,2BAA2BmC,GAAG;QAChC;IACF;IAEAE,KAAQC,KAAa,EAAEC,IAAO,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAClC,EAAE,EAAE;YACZ,IAAI,CAACD,MAAM,CAAC0B,KAAK,CAAC,CAAC,gBAAgB,EAAEQ,MAAM,wCAAwC,CAAC;YACpF;QACF;QAEA,IAAI,CAACjC,EAAE,CAAC4B,IAAI,CAACK,OAAOC;QACpBrC,4BAA4BiC,GAAG;QAE/B,MAAMK,UAAUC,KAAKC,SAAS,CAACH;QAC/B,MAAMI,cAAcC,OAAOC,UAAU,CAACL;QACtCrC,+BAA+B2C,GAAG,CAACH;IACrC;AACF;AAEO,MAAMjD,cAAc;IACzBqD,cAAc;AAChB"}
|
|
@@ -16,33 +16,34 @@ const _serverconstants = require("../server.constants");
|
|
|
16
16
|
const _errorutils = require("../utils/error.utils");
|
|
17
17
|
const _node = require("@sentry/node");
|
|
18
18
|
const _socketstatetype = require("../shared/dtos/socket-state.type");
|
|
19
|
-
const
|
|
19
|
+
const _moonrakerconstants = require("../services/moonraker/constants/moonraker.constants");
|
|
20
20
|
const _eventconstants = require("../constants/event.constants");
|
|
21
21
|
class TestPrinterSocketStore {
|
|
22
|
-
testSocket;
|
|
23
|
-
socketIoGateway;
|
|
24
22
|
socketFactory;
|
|
23
|
+
socketIoGateway;
|
|
25
24
|
eventEmitter2;
|
|
25
|
+
testSocket;
|
|
26
26
|
logger;
|
|
27
|
-
constructor(
|
|
27
|
+
constructor(loggerFactory, socketFactory, socketIoGateway, eventEmitter2){
|
|
28
28
|
this.socketFactory = socketFactory;
|
|
29
29
|
this.socketIoGateway = socketIoGateway;
|
|
30
30
|
this.eventEmitter2 = eventEmitter2;
|
|
31
31
|
this.logger = loggerFactory(TestPrinterSocketStore.name);
|
|
32
32
|
}
|
|
33
|
-
async setupTestPrinter(printer) {
|
|
33
|
+
async setupTestPrinter(correlationToken, printer) {
|
|
34
34
|
if (this.testSocket) {
|
|
35
35
|
this.testSocket.close();
|
|
36
|
-
this.testSocket
|
|
36
|
+
delete this.testSocket;
|
|
37
37
|
}
|
|
38
|
-
const validatedData = await (0, _validators.validateInput)(printer, _createtestprintervalidation.
|
|
38
|
+
const validatedData = await (0, _validators.validateInput)(printer, _createtestprintervalidation.createTestPrinterSchema);
|
|
39
39
|
validatedData.enabled = true;
|
|
40
|
-
const { correlationToken } = printer;
|
|
41
40
|
this.testSocket = this.socketFactory.createInstance(printer.printerType);
|
|
42
41
|
this.testSocket.registerCredentials({
|
|
43
42
|
printerId: correlationToken,
|
|
44
43
|
loginDto: {
|
|
45
44
|
apiKey: printer.apiKey,
|
|
45
|
+
username: printer.username,
|
|
46
|
+
password: printer.password,
|
|
46
47
|
printerURL: printer.printerURL,
|
|
47
48
|
printerType: printer.printerType
|
|
48
49
|
}
|
|
@@ -53,11 +54,11 @@ class TestPrinterSocketStore {
|
|
|
53
54
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_CLOSED),
|
|
54
55
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_OPENED),
|
|
55
56
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_ERROR),
|
|
56
|
-
(0,
|
|
57
|
-
(0,
|
|
58
|
-
(0,
|
|
59
|
-
(0,
|
|
60
|
-
(0,
|
|
57
|
+
(0, _moonrakerconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_STATE_UPDATED),
|
|
58
|
+
(0, _moonrakerconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.API_STATE_UPDATED),
|
|
59
|
+
(0, _moonrakerconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_CLOSED),
|
|
60
|
+
(0, _moonrakerconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_OPENED),
|
|
61
|
+
(0, _moonrakerconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_ERROR)
|
|
61
62
|
];
|
|
62
63
|
const listener = ({ event, payload, printerId })=>{
|
|
63
64
|
if (printerId !== correlationToken) {
|
|
@@ -77,11 +78,15 @@ class TestPrinterSocketStore {
|
|
|
77
78
|
await this.testSocket.setupSocketSession();
|
|
78
79
|
this.logger.log("Test socket connection started");
|
|
79
80
|
const promise = new Promise(async (resolve, reject)=>{
|
|
81
|
+
if (!this.testSocket) {
|
|
82
|
+
this.logger.error("Aborting test as testSocket is undefined.");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
80
85
|
this.testSocket.open();
|
|
81
|
-
for await (const
|
|
86
|
+
for await (const _startTime of (0, _promises.setInterval)(100)){
|
|
82
87
|
if (!this.testSocket) {
|
|
83
88
|
this.logger.warn("Test without socket, rejecting");
|
|
84
|
-
reject();
|
|
89
|
+
reject(new Error("Test without socket, rejecting"));
|
|
85
90
|
return;
|
|
86
91
|
}
|
|
87
92
|
if (this.testSocket.socketState === _socketstatetype.SOCKET_STATE.authenticated) {
|