@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
|
@@ -8,44 +8,47 @@ Object.defineProperty(exports, "MoonrakerClient", {
|
|
|
8
8
|
return MoonrakerClient;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _axios = /*#__PURE__*/ _interop_require_default(require("axios"));
|
|
12
11
|
const _formdata = /*#__PURE__*/ _interop_require_default(require("form-data"));
|
|
13
12
|
const _fs = require("fs");
|
|
14
13
|
const _eventconstants = require("../../constants/event.constants");
|
|
14
|
+
const _defaulthttpclientbuilder = require("../../shared/default-http-client.builder");
|
|
15
|
+
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
15
16
|
function _interop_require_default(obj) {
|
|
16
17
|
return obj && obj.__esModule ? obj : {
|
|
17
18
|
default: obj
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
class MoonrakerClient {
|
|
21
|
-
|
|
22
|
+
httpClientFactory;
|
|
22
23
|
eventEmitter2;
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
logger;
|
|
25
|
+
constructor(loggerFactory, httpClientFactory, eventEmitter2){
|
|
26
|
+
this.httpClientFactory = httpClientFactory;
|
|
25
27
|
this.eventEmitter2 = eventEmitter2;
|
|
28
|
+
this.logger = loggerFactory(MoonrakerClient.name);
|
|
26
29
|
}
|
|
27
30
|
async getServerInfo(login) {
|
|
28
|
-
return this.
|
|
31
|
+
return this.createClient(login).get("/server/info");
|
|
29
32
|
}
|
|
30
33
|
async getServerConfig(login) {
|
|
31
|
-
return this.
|
|
34
|
+
return this.createClient(login).get("/server/config");
|
|
32
35
|
}
|
|
33
36
|
async getTemperatureStore(login, includeMonitors = false) {
|
|
34
|
-
return this.
|
|
37
|
+
return this.createClient(login).get(`/server/temperature_store?include_monitors=${!!includeMonitors}`);
|
|
35
38
|
}
|
|
36
39
|
async getGcodeStore(login, count = 100) {
|
|
37
|
-
return this.
|
|
40
|
+
return this.createClient(login).get(`/server/gcode_store?count=${count}`);
|
|
38
41
|
}
|
|
39
42
|
async postRolloverLogs(login, application = "") {
|
|
40
|
-
return this.
|
|
43
|
+
return this.createClient(login).post(`server/logs/rollover`, {
|
|
41
44
|
application
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
async postRestartServer(login) {
|
|
45
|
-
return this.
|
|
48
|
+
return this.createClient(login).post(`server/restart`);
|
|
46
49
|
}
|
|
47
50
|
async postJsonRpc(login, method, params, id) {
|
|
48
|
-
return this.
|
|
51
|
+
return this.createClient(login).post(`server/jsonrpc`, {
|
|
49
52
|
jsonrpc: "2.0",
|
|
50
53
|
id: id ? id : 0,
|
|
51
54
|
method,
|
|
@@ -53,150 +56,140 @@ class MoonrakerClient {
|
|
|
53
56
|
});
|
|
54
57
|
}
|
|
55
58
|
async getPrinterInfo(login) {
|
|
56
|
-
return this.
|
|
59
|
+
return this.createClient(login).post(`printer/info`);
|
|
57
60
|
}
|
|
58
61
|
async postQuickStop(login) {
|
|
59
|
-
return this.
|
|
62
|
+
return this.createClient(login).post(`printer/emergency_stop`);
|
|
60
63
|
}
|
|
61
64
|
async postHostRestart(login) {
|
|
62
|
-
return this.
|
|
65
|
+
return this.createClient(login).post(`printer/restart`);
|
|
63
66
|
}
|
|
64
67
|
async postFirmwareRestart(login) {
|
|
65
|
-
return this.
|
|
68
|
+
return this.createClient(login).post(`printer/firmware_restart`);
|
|
66
69
|
}
|
|
67
70
|
async getPrinterObjectsList(login) {
|
|
68
|
-
return this.
|
|
71
|
+
return this.createClient(login).get(`printer/objects/list`);
|
|
69
72
|
}
|
|
70
73
|
async getPrinterObjectsQuery(login, query) {
|
|
71
74
|
const queryString = this.convertToQueryString(query);
|
|
72
|
-
return this.
|
|
75
|
+
return this.createClient(login).get(`printer/objects/query?${queryString}`);
|
|
73
76
|
}
|
|
74
77
|
postSubscribePrinterObjects(login, connectionId, query) {
|
|
75
78
|
const queryString = this.convertToQueryString(query);
|
|
76
|
-
return this.
|
|
77
|
-
}
|
|
78
|
-
convertToQueryString(query) {
|
|
79
|
-
return Object.entries(query).reduce((acc, [key, value])=>{
|
|
80
|
-
if (value.length > 0) {
|
|
81
|
-
acc.push(`${key}=${value.join(",")}`);
|
|
82
|
-
} else {
|
|
83
|
-
acc.push(key);
|
|
84
|
-
}
|
|
85
|
-
return acc;
|
|
86
|
-
}, []).join("&");
|
|
79
|
+
return this.createClient(login).post(`printer/objects/subscribe?connection_id=${connectionId}&${queryString}`);
|
|
87
80
|
}
|
|
88
81
|
async getPrinterQueryEndstops(login) {
|
|
89
|
-
return this.
|
|
82
|
+
return this.createClient(login).get(`printer/query-endstops`);
|
|
90
83
|
}
|
|
91
84
|
async postGcodeScript(login, script = "G28") {
|
|
92
|
-
return this.
|
|
85
|
+
return this.createClient(login).get(`printer/gcode/script?script=${script}`);
|
|
93
86
|
}
|
|
94
87
|
async getGcodeHelp(login) {
|
|
95
|
-
return this.
|
|
88
|
+
return this.createClient(login).get(`printer/gcode/help`);
|
|
96
89
|
}
|
|
97
90
|
async postPrintStart(login, filename) {
|
|
98
|
-
return this.
|
|
91
|
+
return this.createClient(login).post(`printer/print/start?filename=${filename}`);
|
|
99
92
|
}
|
|
100
93
|
async postPrintPause(login) {
|
|
101
|
-
return this.
|
|
94
|
+
return this.createClient(login).post(`printer/print/pause`);
|
|
102
95
|
}
|
|
103
96
|
async postPrintResume(login) {
|
|
104
|
-
return this.
|
|
97
|
+
return this.createClient(login).post(`printer/print/resume`);
|
|
105
98
|
}
|
|
106
99
|
async postPrintCancel(login) {
|
|
107
|
-
return this.
|
|
100
|
+
return this.createClient(login).post(`printer/print/cancel`);
|
|
108
101
|
}
|
|
109
102
|
async getMachineSystemInfo(login) {
|
|
110
|
-
return this.
|
|
103
|
+
return this.createClient(login).get(`machine/system_info`);
|
|
111
104
|
}
|
|
112
105
|
async postMachineShutdown(login) {
|
|
113
|
-
return this.
|
|
106
|
+
return this.createClient(login).post(`machine/shutdown`);
|
|
114
107
|
}
|
|
115
108
|
async postMachineReboot(login) {
|
|
116
|
-
return this.
|
|
109
|
+
return this.createClient(login).post(`machine/reboot`);
|
|
117
110
|
}
|
|
118
111
|
async postMachineRestartService(login, service) {
|
|
119
|
-
return this.
|
|
112
|
+
return this.createClient(login).post(`machine/services/restart?service=${service}`);
|
|
120
113
|
}
|
|
121
114
|
async postMachineStartService(login, service) {
|
|
122
|
-
return this.
|
|
115
|
+
return this.createClient(login).post(`machine/services/restart?service=${service}`);
|
|
123
116
|
}
|
|
124
117
|
async postMachineProcessStats(login) {
|
|
125
|
-
return this.
|
|
118
|
+
return this.createClient(login).post(`machine/proc_stats`);
|
|
126
119
|
}
|
|
127
120
|
async getMachineSudoInfo(login, checkAccess = false) {
|
|
128
|
-
return this.
|
|
121
|
+
return this.createClient(login).get(`machine/sudo/info?check_access=${checkAccess}`);
|
|
129
122
|
}
|
|
130
123
|
async postMachineSetSudoPassword(login, password) {
|
|
131
|
-
return this.
|
|
124
|
+
return this.createClient(login).post(`machine/sudo/password`, {
|
|
132
125
|
password
|
|
133
126
|
});
|
|
134
127
|
}
|
|
135
128
|
async getMachineListPeripheralsUsb(login) {
|
|
136
|
-
return this.
|
|
129
|
+
return this.createClient(login).get(`machine/peripherals/usb`);
|
|
137
130
|
}
|
|
138
131
|
async getMachineListPeripheralsSerial(login) {
|
|
139
|
-
return this.
|
|
132
|
+
return this.createClient(login).get(`machine/peripherals/serial`);
|
|
140
133
|
}
|
|
141
134
|
async getMachineListPeripheralsVideo(login) {
|
|
142
|
-
return this.
|
|
135
|
+
return this.createClient(login).get(`machine/peripherals/video`);
|
|
143
136
|
}
|
|
144
137
|
async getMachineListPeripheralsCanbus(login, canInterface = "can0") {
|
|
145
|
-
return this.
|
|
138
|
+
return this.createClient(login).get(`machine/peripherals/canbus?interface=${canInterface}`);
|
|
146
139
|
}
|
|
147
140
|
async getServerFilesList(login, rootFolder = "") {
|
|
148
141
|
const paramString = rootFolder?.length ? `?root=${rootFolder}` : "";
|
|
149
|
-
return this.
|
|
142
|
+
return this.createClient(login).get(`server/files/list${paramString}`);
|
|
150
143
|
}
|
|
151
144
|
async getServerFilesRoots(login) {
|
|
152
|
-
return this.
|
|
145
|
+
return this.createClient(login).get(`server/files/roots`);
|
|
153
146
|
}
|
|
154
147
|
async getServerFileMetadata(login, filename) {
|
|
155
|
-
return this.
|
|
148
|
+
return this.createClient(login).get(`server/files/metadata?filename=${filename}`);
|
|
156
149
|
}
|
|
157
150
|
async getServerFileMetadataScan(login, filename) {
|
|
158
|
-
return this.
|
|
151
|
+
return this.createClient(login).get(`server/files/metascan?filename=${filename}`);
|
|
159
152
|
}
|
|
160
153
|
async getServerFilesThumbnails(login, filename) {
|
|
161
|
-
return this.
|
|
154
|
+
return this.createClient(login).get(`server/files/thumbnails?filename=${filename}`);
|
|
162
155
|
}
|
|
163
156
|
async getServerFilesDirectoryInfo(login, path, extended) {
|
|
164
|
-
return this.
|
|
157
|
+
return this.createClient(login).get(`server/files/directory?path=${path}&extended=${extended}`);
|
|
165
158
|
}
|
|
166
159
|
async postServerFilesDirectory(login, path) {
|
|
167
|
-
return this.
|
|
160
|
+
return this.createClient(login).post(`server/files/directory`, {
|
|
168
161
|
path
|
|
169
162
|
});
|
|
170
163
|
}
|
|
171
164
|
async deleteServerFilesDirectory(login, path, force) {
|
|
172
|
-
return this.
|
|
165
|
+
return this.createClient(login).delete(`server/files/directory?path=${path}&force=${!!force}`);
|
|
173
166
|
}
|
|
174
167
|
async postServerFilesMove(login, source, dest) {
|
|
175
|
-
return this.
|
|
168
|
+
return this.createClient(login).post(`server/files/directory`, {
|
|
176
169
|
source,
|
|
177
170
|
dest
|
|
178
171
|
});
|
|
179
172
|
}
|
|
180
173
|
async postServerFilesCopy(login, source, dest) {
|
|
181
|
-
return this.
|
|
174
|
+
return this.createClient(login).post(`server/files/copy`, {
|
|
182
175
|
source,
|
|
183
176
|
dest
|
|
184
177
|
});
|
|
185
178
|
}
|
|
186
179
|
async postServerFilesZip(login, items, dest, store_only) {
|
|
187
|
-
return this.
|
|
180
|
+
return this.createClient(login).post(`server/files/zip`, {
|
|
188
181
|
items,
|
|
189
182
|
store_only,
|
|
190
183
|
dest
|
|
191
184
|
});
|
|
192
185
|
}
|
|
193
186
|
async getServerFilesDownload(login, root, filename) {
|
|
194
|
-
return await this.
|
|
187
|
+
return await this.createClient(login).get(`server/files/${root}/${filename}`, {
|
|
195
188
|
responseType: "stream"
|
|
196
189
|
});
|
|
197
190
|
}
|
|
198
191
|
async getServerFilesDownloadChunk(login, root, filename, startBytes, endBytes) {
|
|
199
|
-
return await this.
|
|
192
|
+
return await this.createClient(login).get(`server/files/${root}/${filename}`, {
|
|
200
193
|
headers: {
|
|
201
194
|
Range: `bytes=${startBytes}-${endBytes}`
|
|
202
195
|
}
|
|
@@ -213,287 +206,313 @@ class MoonrakerClient {
|
|
|
213
206
|
if (checksum?.length) {
|
|
214
207
|
formData.append("checksum", checksum);
|
|
215
208
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
209
|
+
formData.append("print", "true");
|
|
210
|
+
let fileBuffer = multerFileOrBuffer.buffer;
|
|
211
|
+
const filename = multerFileOrBuffer.originalname;
|
|
212
|
+
if (fileBuffer) {
|
|
213
|
+
this.logger.log("Attaching file from memory buffer to formdata for upload");
|
|
214
|
+
formData.append("file", fileBuffer, {
|
|
215
|
+
filename
|
|
216
|
+
});
|
|
217
|
+
} else {
|
|
218
|
+
const filePath = multerFileOrBuffer.path;
|
|
219
|
+
const fileStream = (0, _fs.createReadStream)(filePath);
|
|
220
|
+
this.logger.log(`Attaching file from disk to formdata for upload`);
|
|
221
|
+
formData.append("file", fileStream, {
|
|
222
|
+
filename
|
|
223
|
+
});
|
|
220
224
|
}
|
|
221
|
-
formData.append("file", source, {
|
|
222
|
-
filename: multerFileOrBuffer.originalname
|
|
223
|
-
});
|
|
224
225
|
const result = await new Promise((resolve, reject)=>{
|
|
225
226
|
return formData.getLength((err, length)=>{
|
|
226
|
-
if (err)
|
|
227
|
+
if (err) reject(new Error("Could not retrieve formData length"));
|
|
227
228
|
resolve(length);
|
|
228
229
|
});
|
|
229
230
|
});
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
231
|
+
try {
|
|
232
|
+
const response = await this.createClient(login, (b)=>{
|
|
233
|
+
b.withMultiPartFormData().withHeaders({
|
|
234
|
+
...formData.getHeaders(),
|
|
235
|
+
"Content-Length": result.toString()
|
|
236
|
+
}).withOnUploadProgress((p)=>{
|
|
237
|
+
if (progressToken) {
|
|
238
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(progressToken)}`, progressToken, p);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}).post(`server/files/upload`, formData);
|
|
242
|
+
if (progressToken) {
|
|
243
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(progressToken)}`, progressToken);
|
|
243
244
|
}
|
|
244
|
-
|
|
245
|
+
return response.data;
|
|
246
|
+
} catch (e) {
|
|
247
|
+
if (progressToken) {
|
|
248
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(progressToken)}`, progressToken, e?.message);
|
|
249
|
+
}
|
|
250
|
+
let data;
|
|
251
|
+
try {
|
|
252
|
+
data = JSON.parse(e.response?.body);
|
|
253
|
+
} catch {
|
|
254
|
+
data = e.response?.body;
|
|
255
|
+
}
|
|
256
|
+
throw new _runtimeexceptions.ExternalServiceError({
|
|
257
|
+
error: e.message,
|
|
258
|
+
statusCode: e.response?.statusCode,
|
|
259
|
+
data,
|
|
260
|
+
success: false,
|
|
261
|
+
stack: e.stack
|
|
262
|
+
}, "Moonraker");
|
|
263
|
+
}
|
|
245
264
|
}
|
|
246
265
|
async deleteServerFile(login, root, path) {
|
|
247
|
-
const url =
|
|
248
|
-
return this.
|
|
266
|
+
const url = `server/files/${root}/${path}`;
|
|
267
|
+
return this.createClient(login).delete(url);
|
|
249
268
|
}
|
|
250
269
|
async getServerFileKlippyLogDownload(login) {
|
|
251
|
-
return this.
|
|
270
|
+
return this.createClient(login).get(`server/files/klippy.log`);
|
|
252
271
|
}
|
|
253
272
|
async getServerFileMoonrakerLogDownload(login) {
|
|
254
|
-
return this.
|
|
273
|
+
return this.createClient(login).get(`server/files/moonraker.log`);
|
|
255
274
|
}
|
|
256
275
|
async postAccessLoginUser(login, username, password, source = "moonraker") {
|
|
257
|
-
return this.
|
|
276
|
+
return this.createClient(login).post("/access/login", {
|
|
258
277
|
username,
|
|
259
278
|
password,
|
|
260
279
|
source
|
|
261
280
|
});
|
|
262
281
|
}
|
|
263
282
|
async postAccessLogoutUser(login) {
|
|
264
|
-
return this.
|
|
283
|
+
return this.createClient(login).post(`access/logout`);
|
|
265
284
|
}
|
|
266
285
|
async getAccessUser(login) {
|
|
267
|
-
return this.
|
|
286
|
+
return this.createClient(login).get(`access/user`);
|
|
268
287
|
}
|
|
269
288
|
async postAccessCreateUser(login, username, password) {
|
|
270
|
-
return this.
|
|
289
|
+
return this.createClient(login).post(`access/login`, {
|
|
271
290
|
username,
|
|
272
291
|
password
|
|
273
292
|
});
|
|
274
293
|
}
|
|
275
294
|
async deleteAccessUser(login, username) {
|
|
276
|
-
return this.
|
|
295
|
+
return this.createClient(login).delete(`access/user`, {
|
|
277
296
|
data: {
|
|
278
297
|
username
|
|
279
298
|
}
|
|
280
299
|
});
|
|
281
300
|
}
|
|
282
301
|
async listAccessUsers(login) {
|
|
283
|
-
return this.
|
|
302
|
+
return this.createClient(login).get(`access/user/list`);
|
|
284
303
|
}
|
|
285
304
|
async postAccessResetPassword(login, refresh_token) {
|
|
286
|
-
return this.
|
|
305
|
+
return this.createClient(login).post(`access/refresh_jwt`, {
|
|
287
306
|
refresh_token
|
|
288
307
|
});
|
|
289
308
|
}
|
|
290
309
|
async getAccessOneshotToken(login) {
|
|
291
|
-
return this.
|
|
310
|
+
return this.createClient(login).get(`access/oneshot_token`);
|
|
292
311
|
}
|
|
293
312
|
async getAccessInfo(login) {
|
|
294
|
-
return this.
|
|
313
|
+
return this.createClient(login).get(`access/info`);
|
|
295
314
|
}
|
|
296
315
|
async getAccessApiKey(login) {
|
|
297
|
-
return this.
|
|
316
|
+
return this.createClient(login).get(`access/api_key`);
|
|
298
317
|
}
|
|
299
318
|
async postAccessApiKeyCreate(login) {
|
|
300
|
-
return this.
|
|
319
|
+
return this.createClient(login).post(`access/api_key`);
|
|
301
320
|
}
|
|
302
321
|
async getDatabaseNamespaceList(login) {
|
|
303
|
-
return this.
|
|
322
|
+
return this.createClient(login).get(`database/list`);
|
|
304
323
|
}
|
|
305
324
|
async getDatabaseNamespaceItem(login, namespace, key) {
|
|
306
|
-
return this.
|
|
325
|
+
return this.createClient(login).get(`database/item?namespace=${namespace}&key=${key}`);
|
|
307
326
|
}
|
|
308
327
|
async postDatabaseNamespaceItem(login, namespace, key, value, typeHint) {
|
|
309
328
|
const typeHintParam = typeHint?.length ? `:${typeHint}` : "";
|
|
310
|
-
return this.
|
|
329
|
+
return this.createClient(login).post(`database/item?namespace=${namespace}&key=${key}&value${typeHintParam}=${value}`);
|
|
311
330
|
}
|
|
312
331
|
async deleteDatabaseNamespaceItem(login, namespace, key) {
|
|
313
|
-
return this.
|
|
332
|
+
return this.createClient(login).delete(`database/item?namespace=${namespace}&key=${key}`);
|
|
314
333
|
}
|
|
315
334
|
async getJobQueueStatus(login) {
|
|
316
|
-
return this.
|
|
335
|
+
return this.createClient(login).get(`job_queue/status`);
|
|
317
336
|
}
|
|
318
337
|
async postJobQueueJob(login, filenames, reset) {
|
|
319
|
-
return this.
|
|
338
|
+
return this.createClient(login).post(`job_queue/job`, {
|
|
320
339
|
filenames,
|
|
321
340
|
reset
|
|
322
341
|
});
|
|
323
342
|
}
|
|
324
343
|
async deleteJobQueueJob(login, jobIds, all) {
|
|
325
|
-
const base =
|
|
344
|
+
const base = `job_queue/job`;
|
|
326
345
|
const url = !!all ? `${base}?all=true` : `${base}?job_ids=${jobIds.join(",")}`;
|
|
327
|
-
return this.
|
|
346
|
+
return this.createClient(login).delete(url);
|
|
328
347
|
}
|
|
329
348
|
async postJobQueuePause(login) {
|
|
330
|
-
return this.
|
|
349
|
+
return this.createClient(login).post(`job_queue/pause`);
|
|
331
350
|
}
|
|
332
351
|
async postJobQueueStart(login) {
|
|
333
|
-
return this.
|
|
352
|
+
return this.createClient(login).post(`job_queue/start`);
|
|
334
353
|
}
|
|
335
354
|
async postJobQueueJump(login, jobId) {
|
|
336
|
-
return this.
|
|
355
|
+
return this.createClient(login).post(`job_queue/jump?job_id=${jobId}`);
|
|
337
356
|
}
|
|
338
357
|
async getAnnouncementsList(login, includeDismissed) {
|
|
339
|
-
return this.
|
|
358
|
+
return this.createClient(login).get(`server/announcements/list?include_dismissed=${includeDismissed}`);
|
|
340
359
|
}
|
|
341
360
|
async postAnnouncementsUpdate(login) {
|
|
342
|
-
return this.
|
|
361
|
+
return this.createClient(login).post(`server/announcements/update`);
|
|
343
362
|
}
|
|
344
363
|
async postAnnouncementsDismiss(login, entryId, wakeTime) {
|
|
345
|
-
return this.
|
|
364
|
+
return this.createClient(login).post(`server/announcements/dismiss?entry_id=${encodeURIComponent(entryId)}&wake_time=${wakeTime}`);
|
|
346
365
|
}
|
|
347
366
|
async getAnnouncementsFeeds(login) {
|
|
348
|
-
return this.
|
|
367
|
+
return this.createClient(login).get(`server/announcements/feeds`);
|
|
349
368
|
}
|
|
350
369
|
async postAnnouncementsFeedAdd(login, name) {
|
|
351
|
-
return this.
|
|
370
|
+
return this.createClient(login).get(`server/announcements/feeds?name=${name}`);
|
|
352
371
|
}
|
|
353
372
|
async deleteAnnouncementsFeedRemove(login, name) {
|
|
354
|
-
return this.
|
|
373
|
+
return this.createClient(login).delete(`server/announcements/feeds?name=${name}`);
|
|
355
374
|
}
|
|
356
375
|
async getWebcamList(login) {
|
|
357
|
-
return this.
|
|
376
|
+
return this.createClient(login).get(`server/webcams/list`);
|
|
358
377
|
}
|
|
359
378
|
async getWebcamItem(login, uid, name) {
|
|
360
|
-
const base =
|
|
379
|
+
const base = `server/webcams/get_item`;
|
|
361
380
|
const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
|
|
362
|
-
return this.
|
|
381
|
+
return this.createClient(login).get(url);
|
|
363
382
|
}
|
|
364
383
|
async postWebcamItemUpdate(login, webcam) {
|
|
365
|
-
return this.
|
|
384
|
+
return this.createClient(login).post(`server/webcams/post_item`, webcam);
|
|
366
385
|
}
|
|
367
386
|
async deleteWebcamItem(login, uid, name) {
|
|
368
|
-
const base =
|
|
387
|
+
const base = `server/webcams/delete_item`;
|
|
369
388
|
const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
|
|
370
|
-
return this.
|
|
389
|
+
return this.createClient(login).get(url);
|
|
371
390
|
}
|
|
372
391
|
async postWebcamTest(login, uid, name) {
|
|
373
|
-
const base =
|
|
392
|
+
const base = `server/webcams/test`;
|
|
374
393
|
const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
|
|
375
|
-
return this.
|
|
394
|
+
return this.createClient(login).get(url);
|
|
376
395
|
}
|
|
377
396
|
async getNotifierList(login) {
|
|
378
|
-
return this.
|
|
397
|
+
return this.createClient(login).get(`server/notifiers/list`);
|
|
379
398
|
}
|
|
380
399
|
async postMachineUpdateStatus(login) {
|
|
381
|
-
return this.
|
|
400
|
+
return this.createClient(login).post(`machine/update/status`);
|
|
382
401
|
}
|
|
383
402
|
async postMachineUpdateRefresh(login, name) {
|
|
384
|
-
const base =
|
|
403
|
+
const base = `machine/update/refresh`;
|
|
385
404
|
const url = !!name ? `${base}` : `${base}?name=${name}`;
|
|
386
|
-
return this.
|
|
405
|
+
return this.createClient(login).post(url);
|
|
387
406
|
}
|
|
388
407
|
async postMachineUpdateFull(login) {
|
|
389
|
-
return this.
|
|
408
|
+
return this.createClient(login).post(`machine/update/full`);
|
|
390
409
|
}
|
|
391
410
|
async postMachineUpdateMoonraker(login) {
|
|
392
|
-
return this.
|
|
411
|
+
return this.createClient(login).post(`machine/update/moonraker`);
|
|
393
412
|
}
|
|
394
413
|
async postMachineUpdateKlipper(login) {
|
|
395
|
-
return this.
|
|
414
|
+
return this.createClient(login).post(`machine/update/klipper`);
|
|
396
415
|
}
|
|
397
416
|
async postMachineUpdateClient(login, name) {
|
|
398
|
-
return this.
|
|
417
|
+
return this.createClient(login).post(`machine/update/client?name=${name}`);
|
|
399
418
|
}
|
|
400
419
|
async postMachineUpdateSystem(login) {
|
|
401
|
-
return this.
|
|
420
|
+
return this.createClient(login).post(`machine/update/system`);
|
|
402
421
|
}
|
|
403
422
|
async postMachineUpdateRecover(login, name, hard = false) {
|
|
404
|
-
return this.
|
|
423
|
+
return this.createClient(login).post(`machine/update/recover?name=${name}&hard=${hard}`);
|
|
405
424
|
}
|
|
406
425
|
async postMachineUpdateRollback(login, name) {
|
|
407
|
-
return this.
|
|
426
|
+
return this.createClient(login).post(`machine/update/rollback?name=${name}`);
|
|
408
427
|
}
|
|
409
428
|
async getMachineDevicePowerDevices(login) {
|
|
410
|
-
return this.
|
|
429
|
+
return this.createClient(login).get(`machine/device_power/devices`);
|
|
411
430
|
}
|
|
412
431
|
async getMachineDevicePowerDeviceState(login, device) {
|
|
413
|
-
return this.
|
|
432
|
+
return this.createClient(login).get(`machine/device_power/device?device=${device}`);
|
|
414
433
|
}
|
|
415
434
|
async postMachineDevicePowerDeviceState(login, device, action) {
|
|
416
|
-
return this.
|
|
435
|
+
return this.createClient(login).post(`machine/device_power/device?device=${device}&action=${action}`);
|
|
417
436
|
}
|
|
418
437
|
async getMachineDevicePowerBatchDeviceState(login, devices) {
|
|
419
|
-
return this.
|
|
438
|
+
return this.createClient(login).get(`machine/device_power/status?${devices.join("&")}`);
|
|
420
439
|
}
|
|
421
440
|
async postMachineDevicePowerBatchPowerOn(login, device) {
|
|
422
|
-
return this.
|
|
441
|
+
return this.createClient(login).post(`machine/device_power/on?device=${device}`);
|
|
423
442
|
}
|
|
424
443
|
async postMachineDevicePowerBatchPowerOff(login, device) {
|
|
425
|
-
return this.
|
|
444
|
+
return this.createClient(login).post(`machine/device_power/off?device=${device}`);
|
|
426
445
|
}
|
|
427
446
|
async getMachineWledStrips(login) {
|
|
428
|
-
return this.
|
|
447
|
+
return this.createClient(login).get(`machine/wled/strips`);
|
|
429
448
|
}
|
|
430
449
|
async getMachineWledStatuses(login, strips) {
|
|
431
|
-
return this.
|
|
450
|
+
return this.createClient(login).get(`machine/wled/status?${strips.join("&")}`);
|
|
432
451
|
}
|
|
433
452
|
async postMachineWledPowerOn(login, strips) {
|
|
434
|
-
return this.
|
|
453
|
+
return this.createClient(login).post(`machine/wled/on?${strips.join("&")}`);
|
|
435
454
|
}
|
|
436
455
|
async postMachineWledPowerOff(login, strips) {
|
|
437
|
-
return this.
|
|
456
|
+
return this.createClient(login).post(`machine/wled/off?${strips.join("&")}`);
|
|
438
457
|
}
|
|
439
458
|
async postMachineWledPowerStripAction(login, strips) {
|
|
440
|
-
return this.
|
|
459
|
+
return this.createClient(login).post(`machine/wled/toggle?${strips.join("&")}`);
|
|
441
460
|
}
|
|
442
461
|
async getMachineWledStripAction(login, strip, action, controlParams) {
|
|
443
462
|
const queryParams = Object.entries(controlParams).map(([k, v])=>`${k}=${v}`).join("&");
|
|
444
|
-
return this.
|
|
463
|
+
return this.createClient(login).get(`machine/wled/strip?strip=${strip}&action=${action}&${queryParams}`);
|
|
445
464
|
}
|
|
446
465
|
async getServerSensorsList(login) {
|
|
447
|
-
return this.
|
|
466
|
+
return this.createClient(login).get(`server/sensors/list`);
|
|
448
467
|
}
|
|
449
468
|
async getServerSensorItem(login, sensor) {
|
|
450
|
-
return this.
|
|
469
|
+
return this.createClient(login).get(`server/sensors/info?sensor=${sensor}`);
|
|
451
470
|
}
|
|
452
471
|
async getServerSensorMeasurements(login, sensor) {
|
|
453
|
-
return this.
|
|
472
|
+
return this.createClient(login).get(`server/sensors/measurements?sensor=${sensor}`);
|
|
454
473
|
}
|
|
455
474
|
async getServerSensorMeasurementsBatch(login) {
|
|
456
|
-
return this.
|
|
475
|
+
return this.createClient(login).get(`server/sensors/measurements`);
|
|
457
476
|
}
|
|
458
477
|
async getServerSpoolmanStatus(login) {
|
|
459
|
-
return this.
|
|
478
|
+
return this.createClient(login).get(`server/spoolman/status`);
|
|
460
479
|
}
|
|
461
480
|
async postServerSpoolmanActiveSpool(login, spoolId) {
|
|
462
|
-
return this.
|
|
481
|
+
return this.createClient(login).post(`server/spoolman/spool_id`, {
|
|
463
482
|
spool_id: spoolId
|
|
464
483
|
});
|
|
465
484
|
}
|
|
466
485
|
async getServerSpoolmanActiveSpool(login) {
|
|
467
|
-
return this.
|
|
486
|
+
return this.createClient(login).get(`server/spoolman/spool_id`);
|
|
468
487
|
}
|
|
469
488
|
async postServerSpoolmanProxyRequest(login, body) {
|
|
470
|
-
return this.
|
|
489
|
+
return this.createClient(login).post(`server/spoolman/proxy`, body);
|
|
471
490
|
}
|
|
472
491
|
async getApiVersion(login) {
|
|
473
|
-
return this.
|
|
492
|
+
return this.createClient(login).get(`api/version`);
|
|
474
493
|
}
|
|
475
494
|
async getServerVersion(login) {
|
|
476
|
-
return this.
|
|
495
|
+
return this.createClient(login).get(`api/server`);
|
|
477
496
|
}
|
|
478
497
|
async getApiLogin(login) {
|
|
479
|
-
return this.
|
|
498
|
+
return this.createClient(login).get(`api/login`);
|
|
480
499
|
}
|
|
481
500
|
async getApiSettings(login) {
|
|
482
|
-
return this.
|
|
501
|
+
return this.createClient(login).get(`api/settings`);
|
|
483
502
|
}
|
|
484
503
|
async getApiJob(login) {
|
|
485
|
-
return this.
|
|
504
|
+
return this.createClient(login).get(`api/job`);
|
|
486
505
|
}
|
|
487
506
|
async getApiPrinter(login) {
|
|
488
|
-
return this.
|
|
507
|
+
return this.createClient(login).get(`api/printer`);
|
|
489
508
|
}
|
|
490
509
|
async postApiPrinterCommand(login, commands) {
|
|
491
|
-
return this.
|
|
510
|
+
return this.createClient(login).post(`api/command`, {
|
|
492
511
|
commands
|
|
493
512
|
});
|
|
494
513
|
}
|
|
495
514
|
async getApiProfiles(login) {
|
|
496
|
-
return this.
|
|
515
|
+
return this.createClient(login).get(`api/printerprofiles`);
|
|
497
516
|
}
|
|
498
517
|
async getServerHistoryList(login, limit, start, since, before, order = "desc") {
|
|
499
518
|
let params = `limit=${limit}&start=${start}&order=${order}`;
|
|
@@ -503,21 +522,47 @@ class MoonrakerClient {
|
|
|
503
522
|
if (!!since || since === 0) {
|
|
504
523
|
params += "&since=" + since;
|
|
505
524
|
}
|
|
506
|
-
return this.
|
|
525
|
+
return this.createClient(login).get(`server/history/list?${params}`);
|
|
507
526
|
}
|
|
508
527
|
async getServerHistoryTotals(login) {
|
|
509
|
-
return this.
|
|
528
|
+
return this.createClient(login).get(`server/history/totals`);
|
|
510
529
|
}
|
|
511
530
|
async postServerHistoryResetTotals(login) {
|
|
512
|
-
return this.
|
|
531
|
+
return this.createClient(login).post(`server/history/reset_totals`);
|
|
513
532
|
}
|
|
514
533
|
async getServerHistoryJob(login, uid) {
|
|
515
|
-
return this.
|
|
534
|
+
return this.createClient(login).get(`server/history/job?uid=${uid}`);
|
|
516
535
|
}
|
|
517
536
|
async deleteServerHistoryJob(login, uid) {
|
|
518
|
-
const base =
|
|
537
|
+
const base = `server/history/job`;
|
|
519
538
|
const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?all=true`;
|
|
520
|
-
return this.
|
|
539
|
+
return this.createClient(login).get(url);
|
|
540
|
+
}
|
|
541
|
+
convertToQueryString(query) {
|
|
542
|
+
return Object.entries(query).reduce((acc, [key, value])=>{
|
|
543
|
+
if (value.length > 0) {
|
|
544
|
+
acc.push(`${key}=${value.join(",")}`);
|
|
545
|
+
} else {
|
|
546
|
+
acc.push(key);
|
|
547
|
+
}
|
|
548
|
+
return acc;
|
|
549
|
+
}, []).join("&");
|
|
550
|
+
}
|
|
551
|
+
createClient(login, buildFluentOptions) {
|
|
552
|
+
const baseAddress = login.printerURL;
|
|
553
|
+
return this.createAnonymousClient(baseAddress, (o)=>{
|
|
554
|
+
if (buildFluentOptions) {
|
|
555
|
+
buildFluentOptions(o);
|
|
556
|
+
}
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
createAnonymousClient(baseAddress, buildFluentOptions) {
|
|
560
|
+
const builder = new _defaulthttpclientbuilder.DefaultHttpClientBuilder();
|
|
561
|
+
return this.httpClientFactory.createClientWithBaseUrl(builder, baseAddress, (b)=>{
|
|
562
|
+
if (buildFluentOptions) {
|
|
563
|
+
buildFluentOptions(b);
|
|
564
|
+
}
|
|
565
|
+
});
|
|
521
566
|
}
|
|
522
567
|
}
|
|
523
568
|
|