@fdm-monster/server 1.8.2 → 1.9.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.template +5 -3
- 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 +25 -26
- package/RELEASE_NOTES.MD +69 -7
- 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 +11 -19
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +6 -11
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +15 -24
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +4 -5
- 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 +61 -50
- 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 +76 -29
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +62 -197
- 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 +79 -84
- 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 +16 -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.js +131 -36
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/validators.js +7 -113
- package/dist/handlers/validators.js.map +1 -1
- 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 +27 -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 +5 -42
- 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 +7 -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 +13 -8
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +24 -31
- 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 +40 -0
- package/dist/services/core/http-client.factory.js.map +1 -0
- package/dist/services/core/logs-manager.service.js +7 -6
- 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 +79 -28
- 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/file-upload-tracker.interface.js +6 -0
- package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
- 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 -5
- 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 +40 -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 +108 -96
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +212 -167
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +3 -5
- 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 +0 -98
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +72 -72
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +87 -343
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
- package/dist/services/octoprint.api.js +14 -18
- 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 +29 -39
- 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/prusa-link/dto/file.dto.js +6 -0
- 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 +233 -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 +78 -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 +94 -0
- package/dist/shared/default-http-client.builder.js.map +1 -0
- package/dist/shared/load-controllers.js +20 -0
- package/dist/shared/load-controllers.js.map +1 -0
- package/dist/shared/runtime-settings.migration.js +46 -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 +33 -42
- 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 +78 -51
- 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 -10
- 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 +4 -15
- 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 +8 -35
- 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 +6 -3
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/pretty-print.utils.js +1 -1
- package/dist/utils/pretty-print.utils.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 +11 -14
- package/dist/utils/url.utils.js.map +1 -1
- package/package.json +53 -55
- package/tsconfig.json +2 -1
- package/.yarn/releases/yarn-4.6.0.cjs +0 -934
- package/dist/consoles/check-ports.js +0 -170
- package/dist/consoles/check-ports.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 -236
- 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/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 -45
- 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
- package/requests/moonraker/api_job.http +0 -5
- package/requests/moonraker/api_printer.http +0 -5
- package/requests/moonraker/api_settings.http +0 -5
- package/requests/moonraker/printer_info.http +0 -5
- package/requests/moonraker/printer_objects_list.http +0 -6
- package/requests/moonraker/printer_objects_pause_resume.http +0 -6
- package/requests/moonraker/printer_objects_print_stats.http +0 -6
- package/requests/moonraker/printer_objects_webhooks.http +0 -6
- package/requests/moonraker/server_info.http +0 -5
- package/requests/octoprint/octoprint-api-printer-current.http +0 -7
- package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
- package/requests/printer-file/get-partial-file-moonraker.http +0 -5
- package/requests/printer-file/get-thumbnails.http +0 -5
- package/requests/printer-file/reload-printer-thumbnails.http +0 -10
- package/requests/printer-file/testfile.gcode +0 -5665
- package/requests/printer-file/upload-file.http +0 -11
- package/requests/printer-file/upload-slicer-file.http +0 -11
- package/requests/printers/list.http +0 -5
|
@@ -20,6 +20,9 @@ _export(exports, {
|
|
|
20
20
|
},
|
|
21
21
|
octoPrintEvent: function() {
|
|
22
22
|
return octoPrintEvent;
|
|
23
|
+
},
|
|
24
|
+
octoPrintWebsocketEvent: function() {
|
|
25
|
+
return octoPrintWebsocketEvent;
|
|
23
26
|
}
|
|
24
27
|
});
|
|
25
28
|
const _httpstatuscodesconstants = require("../../constants/http-status-codes.constants");
|
|
@@ -28,7 +31,6 @@ const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
|
28
31
|
const _urlutils = require("../../utils/url.utils");
|
|
29
32
|
const _normalizeurl = require("../../utils/normalize-url");
|
|
30
33
|
const _websocketadapter = require("../../shared/websocket.adapter");
|
|
31
|
-
const _nodefs = require("node:fs");
|
|
32
34
|
const _socketstatetype = require("../../shared/dtos/socket-state.type");
|
|
33
35
|
const _apistatetype = require("../../shared/dtos/api-state.type");
|
|
34
36
|
const _printerapiinterface = require("../printer-api.interface");
|
|
@@ -49,35 +51,31 @@ const OctoPrintMessage = {
|
|
|
49
51
|
timelapse: "timelapse",
|
|
50
52
|
slicingProgress: "slicingProgress"
|
|
51
53
|
};
|
|
54
|
+
const octoPrintWebsocketEvent = (printerId)=>`octoprint.${printerId}`;
|
|
52
55
|
const octoPrintEvent = (event)=>`octoprint.${event}`;
|
|
53
56
|
class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
54
|
-
printerType = 0;
|
|
55
57
|
octoprintClient;
|
|
58
|
+
eventEmitter2;
|
|
59
|
+
configService;
|
|
60
|
+
printerType;
|
|
56
61
|
printerId;
|
|
57
|
-
stateUpdated
|
|
58
|
-
stateUpdateTimestamp
|
|
59
|
-
socketState
|
|
60
|
-
apiStateUpdated
|
|
61
|
-
apiStateUpdateTimestamp
|
|
62
|
-
apiState
|
|
63
|
-
lastMessageReceivedTimestamp
|
|
64
|
-
reauthRequired
|
|
65
|
-
reauthRequiredTimestamp
|
|
62
|
+
stateUpdated;
|
|
63
|
+
stateUpdateTimestamp;
|
|
64
|
+
socketState;
|
|
65
|
+
apiStateUpdated;
|
|
66
|
+
apiStateUpdateTimestamp;
|
|
67
|
+
apiState;
|
|
68
|
+
lastMessageReceivedTimestamp;
|
|
69
|
+
reauthRequired;
|
|
70
|
+
reauthRequiredTimestamp;
|
|
66
71
|
login;
|
|
67
|
-
eventEmitter;
|
|
68
|
-
configService;
|
|
69
72
|
socketURL;
|
|
70
73
|
sessionDto;
|
|
71
74
|
username;
|
|
72
75
|
refreshPrinterCurrentInterval;
|
|
73
|
-
constructor(
|
|
74
|
-
super(
|
|
75
|
-
loggerFactory
|
|
76
|
-
});
|
|
76
|
+
constructor(loggerFactory, octoprintClient, eventEmitter2, configService){
|
|
77
|
+
super(loggerFactory), this.octoprintClient = octoprintClient, this.eventEmitter2 = eventEmitter2, this.configService = configService, this.printerType = 0, this.stateUpdated = false, this.stateUpdateTimestamp = null, this.socketState = _socketstatetype.SOCKET_STATE.unopened, this.apiStateUpdated = false, this.apiStateUpdateTimestamp = null, this.apiState = _apistatetype.API_STATE.unset, this.lastMessageReceivedTimestamp = null, this.reauthRequired = false, this.reauthRequiredTimestamp = null;
|
|
77
78
|
this.logger = loggerFactory(OctoprintWebsocketAdapter.name);
|
|
78
|
-
this.octoprintClient = octoprintClient;
|
|
79
|
-
this.eventEmitter = eventEmitter2;
|
|
80
|
-
this.configService = configService;
|
|
81
79
|
}
|
|
82
80
|
get _debugMode() {
|
|
83
81
|
return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
|
|
@@ -99,9 +97,11 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
99
97
|
const { printerId, loginDto } = socketLogin;
|
|
100
98
|
this.printerId = printerId;
|
|
101
99
|
this.login = loginDto;
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
|
|
100
|
+
const httpUrlString = (0, _normalizeurl.normalizeUrl)(this.login.printerURL);
|
|
101
|
+
const httpUrl = new URL(httpUrlString);
|
|
102
|
+
const httpUrlPath = httpUrl.pathname;
|
|
103
|
+
const wsUrl = (0, _urlutils.httpToWsUrl)(httpUrlString);
|
|
104
|
+
wsUrl.pathname = (httpUrlPath ?? "/") + "sockjs/websocket";
|
|
105
105
|
this.socketURL = wsUrl;
|
|
106
106
|
}
|
|
107
107
|
open() {
|
|
@@ -160,14 +160,9 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
160
160
|
});
|
|
161
161
|
this.username = await this.octoprintClient.getAdminUserOrDefault(this.login).catch((e)=>{
|
|
162
162
|
const status = e.response?.status;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
} else {
|
|
167
|
-
this.setApiState("authFail");
|
|
168
|
-
this.setSocketState("aborted");
|
|
169
|
-
}
|
|
170
|
-
if ([
|
|
163
|
+
this.setApiState("authFail");
|
|
164
|
+
this.setSocketState("aborted");
|
|
165
|
+
if (status && [
|
|
171
166
|
_httpstatuscodesconstants.HttpStatusCode.BAD_GATEWAY,
|
|
172
167
|
_httpstatuscodesconstants.HttpStatusCode.NOT_IMPLEMENTED,
|
|
173
168
|
_httpstatuscodesconstants.HttpStatusCode.SERVICE_UNAVAILABLE,
|
|
@@ -178,7 +173,7 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
178
173
|
throw e;
|
|
179
174
|
});
|
|
180
175
|
await this.updateCurrentStateSafely();
|
|
181
|
-
this.logger.log(
|
|
176
|
+
this.logger.log(`Setting up printer current interval loop with 10 seconds interval`);
|
|
182
177
|
if (this.refreshPrinterCurrentInterval) {
|
|
183
178
|
clearInterval(this.refreshPrinterCurrentInterval);
|
|
184
179
|
}
|
|
@@ -186,42 +181,6 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
186
181
|
await this.updateCurrentStateSafely();
|
|
187
182
|
}, 10000);
|
|
188
183
|
}
|
|
189
|
-
async updateCurrentStateSafely() {
|
|
190
|
-
try {
|
|
191
|
-
const current = await this.octoprintClient.getPrinterCurrent(this.login, true);
|
|
192
|
-
const isOperational = current.data?.state?.flags?.operational;
|
|
193
|
-
const job = isOperational ? await this.octoprintClient.getJob(this.login) : {};
|
|
194
|
-
this.setApiState(_apistatetype.API_STATE.responding);
|
|
195
|
-
return await this.emitEvent("current", {
|
|
196
|
-
...current.data,
|
|
197
|
-
progress: job?.progress,
|
|
198
|
-
job: job?.job
|
|
199
|
-
});
|
|
200
|
-
} catch (e) {
|
|
201
|
-
if (e.isAxiosError) {
|
|
202
|
-
const castError = e;
|
|
203
|
-
if (castError?.response?.status == 409) {
|
|
204
|
-
this.logger.error(`Printer current interval loop error`);
|
|
205
|
-
await this.emitEvent("current", {
|
|
206
|
-
state: {
|
|
207
|
-
flags: {
|
|
208
|
-
operational: false,
|
|
209
|
-
error: false
|
|
210
|
-
},
|
|
211
|
-
text: "USB disconnected",
|
|
212
|
-
error: castError?.response.data.error
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
this.logger.error(`Could not update Octoprint current due to a request error`);
|
|
218
|
-
this.setApiState(_apistatetype.API_STATE.noResponse);
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
this.logger.error(`Could not update Octoprint current due to an unknown error`);
|
|
222
|
-
this.setApiState(_apistatetype.API_STATE.noResponse);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
184
|
setReauthRequired() {
|
|
226
185
|
this.reauthRequired = true;
|
|
227
186
|
this.reauthRequiredTimestamp = Date.now();
|
|
@@ -238,7 +197,7 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
238
197
|
if (!this.eventEmittingAllowed) {
|
|
239
198
|
return;
|
|
240
199
|
}
|
|
241
|
-
this.
|
|
200
|
+
this.eventEmitter2.emit(octoPrintEvent(event), {
|
|
242
201
|
event,
|
|
243
202
|
payload,
|
|
244
203
|
printerId: this.printerId,
|
|
@@ -264,8 +223,6 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
264
223
|
if (eventName === OctoPrintMessage.reauthRequired) {
|
|
265
224
|
this.logger.log("Received 'reauthRequired', acting on it");
|
|
266
225
|
this.setReauthRequired();
|
|
267
|
-
} else if (eventName === OctoPrintMessage.current && this.configService.get(_serverconstants.AppConstants.debugFileWritePrinterStatesKey, _serverconstants.AppConstants.defaultDebugFileWritePrinterStates) === "true") {
|
|
268
|
-
(0, _nodefs.writeFileSync)(`websocket_current_${this.printerId}.txt`, JSON.stringify(payload, null, 2));
|
|
269
226
|
}
|
|
270
227
|
await this.emitEvent(eventName, payload);
|
|
271
228
|
}
|
|
@@ -278,11 +235,51 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
278
235
|
this.setSocketState("error");
|
|
279
236
|
await this.emitEvent(WsMessage.WS_ERROR, error?.length ? error : "connection error");
|
|
280
237
|
}
|
|
238
|
+
async updateCurrentStateSafely() {
|
|
239
|
+
try {
|
|
240
|
+
const current = await this.octoprintClient.getPrinterCurrent(this.login, true);
|
|
241
|
+
const isOperational = current.data?.state?.flags?.operational;
|
|
242
|
+
let job = {};
|
|
243
|
+
if (isOperational) {
|
|
244
|
+
const jobResponse = await this.octoprintClient.getJob(this.login);
|
|
245
|
+
job = jobResponse.data;
|
|
246
|
+
}
|
|
247
|
+
this.setApiState(_apistatetype.API_STATE.responding);
|
|
248
|
+
return await this.emitEvent("current", {
|
|
249
|
+
...current.data,
|
|
250
|
+
progress: job?.progress,
|
|
251
|
+
job: job?.job
|
|
252
|
+
});
|
|
253
|
+
} catch (e) {
|
|
254
|
+
if (e.isAxiosError) {
|
|
255
|
+
const castError = e;
|
|
256
|
+
if (castError?.response?.status == 409) {
|
|
257
|
+
this.logger.error(`Printer current interval loop error`);
|
|
258
|
+
await this.emitEvent("current", {
|
|
259
|
+
state: {
|
|
260
|
+
flags: {
|
|
261
|
+
operational: false,
|
|
262
|
+
error: false
|
|
263
|
+
},
|
|
264
|
+
text: "USB disconnected",
|
|
265
|
+
error: castError?.response.data.error
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
this.logger.error(`Could not update Octoprint current due to a request error`);
|
|
271
|
+
this.setApiState(_apistatetype.API_STATE.noResponse);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
this.logger.error(`Could not update Octoprint current due to an unknown error`);
|
|
275
|
+
this.setApiState(_apistatetype.API_STATE.noResponse);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
281
278
|
async emitEvent(event, payload) {
|
|
282
279
|
if (!this.eventEmittingAllowed) {
|
|
283
280
|
return;
|
|
284
281
|
}
|
|
285
|
-
await this.
|
|
282
|
+
await this.eventEmitter2.emitAsync(octoPrintEvent(event), {
|
|
286
283
|
event,
|
|
287
284
|
payload,
|
|
288
285
|
printerId: this.printerId,
|
|
@@ -290,6 +287,9 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
|
|
|
290
287
|
});
|
|
291
288
|
}
|
|
292
289
|
async sendAuth() {
|
|
290
|
+
if (!this.sessionDto?.session?.length) {
|
|
291
|
+
throw new Error("Cant send auth, session is unset.");
|
|
292
|
+
}
|
|
293
293
|
this.setSocketState(_socketstatetype.SOCKET_STATE.authenticating);
|
|
294
294
|
await this.sendMessage(JSON.stringify({
|
|
295
295
|
auth: `${this.username}:${this.sessionDto.session}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WebsocketAdapter","printerType","octoprintClient","printerId","stateUpdated","stateUpdateTimestamp","socketState","SOCKET_STATE","unopened","apiStateUpdated","apiStateUpdateTimestamp","apiState","API_STATE","unset","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","eventEmitter","configService","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","eventEmitter2","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","httpUrl","normalizeUrl","printerURL","wsUrl","httpToWsUrl","pathname","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","getPrinterCurrent","isOperational","state","flags","operational","job","getJob","emitEvent","progress","isAxiosError","castError","text","noResponse","setReauthRequired","Date","now","emitEventSync","payload","eventEmittingAllowed","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","writeFileSync","afterClosed","onError","length","emitAsync","authenticating","auth","session","globalKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","octoPrintWebsocketEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","printerId","WebsocketAdapter","printerType","stateUpdated","stateUpdateTimestamp","socketState","apiStateUpdated","apiStateUpdateTimestamp","apiState","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","octoprintClient","eventEmitter2","configService","SOCKET_STATE","unopened","API_STATE","unset","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","httpUrlString","normalizeUrl","printerURL","httpUrl","URL","httpUrlPath","pathname","wsUrl","httpToWsUrl","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","setReauthRequired","Date","now","emitEventSync","payload","eventEmittingAllowed","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","emitEvent","afterClosed","onError","length","getPrinterCurrent","isOperational","state","flags","operational","job","jobResponse","getJob","progress","isAxiosError","castError","text","noResponse","emitAsync","session","authenticating","auth","globalKey"],"mappings":"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"}
|