@fdm-monster/server 1.8.3 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.template +6 -4
- package/.gitattributes +4 -2
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-4.9.1.cjs +948 -0
- package/.yarnrc.yml +1 -1
- package/README.md +27 -28
- package/RELEASE_NOTES.MD +69 -1
- package/biome.json +33 -0
- package/dist/consoles/download-github-releases.js.map +1 -1
- package/dist/consoles/launch-http-servers.js +31 -0
- package/dist/consoles/launch-http-servers.js.map +1 -0
- package/dist/consoles/mock-octoprint.server.js +291 -0
- package/dist/consoles/mock-octoprint.server.js.map +1 -0
- package/dist/consoles/mock-prusalink.server.js +57 -0
- package/dist/consoles/mock-prusalink.server.js.map +1 -0
- package/dist/consoles/utils/api-messages.js +856 -0
- package/dist/consoles/utils/api-messages.js.map +1 -0
- package/dist/consoles/utils/delayed-memory.storage.js +42 -0
- package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
- package/dist/consoles/utils/ws-messages.js +88 -0
- package/dist/consoles/utils/ws-messages.js.map +1 -0
- package/dist/constants/event.constants.js +5 -21
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +8 -12
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +13 -14
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +3 -4
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +114 -24
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/batch-call.controller.js +95 -24
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/camera-stream.controller.js +16 -12
- package/dist/controllers/camera-stream.controller.js.map +1 -1
- package/dist/controllers/custom-gcode.controller.js +116 -40
- package/dist/controllers/custom-gcode.controller.js.map +1 -1
- package/dist/controllers/dto/update-client-dist.dto.js +0 -21
- package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
- package/dist/controllers/first-time-setup.controller.js +54 -18
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +154 -43
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js +56 -0
- package/dist/controllers/metrics.controller.js.map +1 -0
- package/dist/controllers/print-completion.controller.js +81 -18
- package/dist/controllers/print-completion.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +45 -29
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer-group.controller.js +123 -33
- package/dist/controllers/printer-group.controller.js.map +1 -1
- package/dist/controllers/printer-settings.controller.js +73 -26
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +57 -198
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +153 -39
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +87 -88
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +222 -79
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +67 -57
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/auth-controller.validation.js +6 -5
- package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js +17 -18
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +8 -3
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
- package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
- package/dist/controllers/validation/printer-controller.validation.js +31 -50
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +25 -15
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
- package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
- package/dist/controllers/validation/server-private.validation.js +17 -0
- package/dist/controllers/validation/server-private.validation.js.map +1 -0
- package/dist/controllers/validation/setting.validation.js +28 -10
- package/dist/controllers/validation/setting.validation.js.map +1 -1
- package/dist/controllers/validation/user-controller.validation.js +44 -13
- package/dist/controllers/validation/user-controller.validation.js.map +1 -1
- package/dist/data-source.js +10 -6
- package/dist/data-source.js.map +1 -1
- package/dist/entities/camera-stream.entity.js +2 -3
- package/dist/entities/camera-stream.entity.js.map +1 -1
- package/dist/entities/custom-gcode.entity.js +1 -2
- package/dist/entities/custom-gcode.entity.js.map +1 -1
- package/dist/entities/floor-position.entity.js.map +1 -1
- package/dist/entities/floor.entity.js +1 -2
- package/dist/entities/floor.entity.js.map +1 -1
- package/dist/entities/group.entity.js +6 -2
- package/dist/entities/group.entity.js.map +1 -1
- package/dist/entities/permission.entity.js +1 -2
- package/dist/entities/permission.entity.js.map +1 -1
- package/dist/entities/print-completion.entity.js +1 -2
- package/dist/entities/print-completion.entity.js.map +1 -1
- package/dist/entities/printer-group.entity.js +6 -2
- package/dist/entities/printer-group.entity.js.map +1 -1
- package/dist/entities/printer.entity.js +22 -4
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/refresh-token.entity.js +1 -2
- package/dist/entities/refresh-token.entity.js.map +1 -1
- package/dist/entities/role.entity.js +1 -2
- package/dist/entities/role.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +1 -2
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/entities/user-role.entity.js +1 -2
- package/dist/entities/user-role.entity.js.map +1 -1
- package/dist/entities/user.entity.js +1 -2
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/handlers/logger-factory.js +2 -2
- package/dist/handlers/logger-factory.js.map +1 -1
- package/dist/handlers/logger.js +11 -58
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js +35 -0
- package/dist/handlers/logging/file-logging.transport.js.map +1 -0
- package/dist/handlers/logging/loki-logging.transport.js +55 -0
- package/dist/handlers/logging/loki-logging.transport.js.map +1 -0
- package/dist/handlers/logging/static.logger.js +134 -0
- package/dist/handlers/logging/static.logger.js.map +1 -0
- package/dist/handlers/validators.js +7 -116
- package/dist/handlers/validators.js.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/authenticate.js +11 -22
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/database.js.map +1 -1
- package/dist/middleware/demo.middleware.js +4 -17
- package/dist/middleware/demo.middleware.js.map +1 -1
- package/dist/middleware/exception.filter.js +23 -23
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +4 -4
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/middleware/param-converter.middleware.js +81 -0
- package/dist/middleware/param-converter.middleware.js.map +1 -0
- package/dist/middleware/passport.js +3 -5
- package/dist/middleware/passport.js.map +1 -1
- package/dist/middleware/printer-resolver.js +37 -0
- package/dist/middleware/printer-resolver.js.map +1 -0
- package/dist/middleware/printer.js +22 -10
- package/dist/middleware/printer.js.map +1 -1
- package/dist/middleware/socketio.middleware.js +35 -0
- package/dist/middleware/socketio.middleware.js.map +1 -0
- package/dist/migrations/1706829146617-InitSqlite.js +1 -1
- package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
- package/dist/models/Auth/Permission.js.map +1 -1
- package/dist/models/Auth/RefreshToken.js +1 -1
- package/dist/models/Auth/RefreshToken.js.map +1 -1
- package/dist/models/Auth/Role.js.map +1 -1
- package/dist/models/Auth/User.js.map +1 -1
- package/dist/models/CameraStream.js +20 -0
- package/dist/models/CameraStream.js.map +1 -1
- package/dist/models/CustomGcode.js.map +1 -1
- package/dist/models/Floor.js.map +1 -1
- package/dist/models/FloorPrinter.js +10 -1
- package/dist/models/FloorPrinter.js.map +1 -1
- package/dist/models/PrintCompletion.js.map +1 -1
- package/dist/models/Printer.js +12 -5
- package/dist/models/Printer.js.map +1 -1
- package/dist/models/Settings.js +11 -43
- package/dist/models/Settings.js.map +1 -1
- package/dist/models/index.js +0 -4
- package/dist/models/index.js.map +1 -1
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
- package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
- package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
- package/dist/server.constants.js +8 -4
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +29 -2
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +22 -18
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +24 -33
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js +15 -20
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js +1 -1
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/core/batch-call.service.js +23 -25
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +78 -136
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/config.service.js.map +1 -1
- package/dist/services/core/cradle.service.js +21 -0
- package/dist/services/core/cradle.service.js.map +1 -0
- package/dist/services/core/github.service.js +2 -2
- package/dist/services/core/github.service.js.map +1 -1
- package/dist/services/core/http-client.factory.js +1 -1
- package/dist/services/core/http-client.factory.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +3 -3
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/monsterpi.service.js +1 -1
- package/dist/services/core/monsterpi.service.js.map +1 -1
- package/dist/services/core/multer.service.js +8 -7
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/server-release.service.js +14 -8
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +16 -17
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/interfaces/camera-stream.dto.js +4 -34
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
- package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
- package/dist/services/interfaces/floor.dto.js +5 -47
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/login.dto.js +2 -0
- package/dist/services/interfaces/login.dto.js.map +1 -1
- package/dist/services/interfaces/print-completion.dto.js.map +1 -1
- package/dist/services/interfaces/printer-group.dto.js +0 -14
- package/dist/services/interfaces/printer-group.dto.js.map +1 -1
- package/dist/services/interfaces/printer.dto.js +11 -11
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/task.interfaces.js +6 -0
- package/dist/services/interfaces/task.interfaces.js.map +1 -0
- package/dist/services/mongoose/camera-stream.service.js +17 -15
- package/dist/services/mongoose/camera-stream.service.js.map +1 -1
- package/dist/services/mongoose/custom-gcode.service.js +4 -2
- package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
- package/dist/services/mongoose/floor.service.js +37 -30
- package/dist/services/mongoose/floor.service.js.map +1 -1
- package/dist/services/mongoose/permission.service.js +1 -1
- package/dist/services/mongoose/permission.service.js.map +1 -1
- package/dist/services/mongoose/print-completion.service.js +2 -2
- package/dist/services/mongoose/print-completion.service.js.map +1 -1
- package/dist/services/mongoose/print-completion.shared.js +2 -2
- package/dist/services/mongoose/print-completion.shared.js.map +1 -1
- package/dist/services/mongoose/printer.service.js +33 -45
- package/dist/services/mongoose/printer.service.js.map +1 -1
- package/dist/services/mongoose/refresh-token.service.js +5 -8
- package/dist/services/mongoose/refresh-token.service.js.map +1 -1
- package/dist/services/mongoose/role.service.js +14 -5
- package/dist/services/mongoose/role.service.js.map +1 -1
- package/dist/services/mongoose/settings.service.js +35 -62
- package/dist/services/mongoose/settings.service.js.map +1 -1
- package/dist/services/mongoose/user.service.js +8 -7
- package/dist/services/mongoose/user.service.js.map +1 -1
- package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
- package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
- package/dist/services/moonraker/moonraker-websocket.adapter.js +109 -96
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +25 -16
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +5 -7
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js +1 -38
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +19 -192
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
- package/dist/services/octoprint.api.js +10 -19
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/base.service.js +11 -12
- package/dist/services/orm/base.service.js.map +1 -1
- package/dist/services/orm/camera-stream.service.js +5 -1
- package/dist/services/orm/camera-stream.service.js.map +1 -1
- package/dist/services/orm/custom-gcode.service.js +2 -2
- package/dist/services/orm/custom-gcode.service.js.map +1 -1
- package/dist/services/orm/floor-position.service.js +0 -5
- package/dist/services/orm/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +43 -39
- package/dist/services/orm/floor.service.js.map +1 -1
- package/dist/services/orm/permission.service.js +3 -4
- package/dist/services/orm/permission.service.js.map +1 -1
- package/dist/services/orm/print-completion.service.js +2 -4
- package/dist/services/orm/print-completion.service.js.map +1 -1
- package/dist/services/orm/printer-group.service.js +2 -7
- package/dist/services/orm/printer-group.service.js.map +1 -1
- package/dist/services/orm/printer.service.js +21 -36
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/orm/refresh-token.service.js +5 -11
- package/dist/services/orm/refresh-token.service.js.map +1 -1
- package/dist/services/orm/role.service.js +11 -10
- package/dist/services/orm/role.service.js.map +1 -1
- package/dist/services/orm/settings.service.js +37 -133
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/orm/user.service.js +13 -15
- package/dist/services/orm/user.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +9 -6
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js +13 -6
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
- package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
- package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
- package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
- package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
- package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
- package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
- package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
- package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
- package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/status.dto.js +6 -0
- package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
- package/dist/services/prusa-link/dto/version.dto.js +6 -0
- package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
- package/dist/services/prusa-link/prusa-link.api.js +235 -0
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
- package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
- package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
- package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
- package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
- package/dist/services/socket.factory.js +9 -6
- package/dist/services/socket.factory.js.map +1 -1
- package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
- package/dist/services/task-manager.service.js.map +1 -0
- package/dist/services/validators/camera-service.validation.js +19 -0
- package/dist/services/validators/camera-service.validation.js.map +1 -0
- package/dist/services/validators/floor-service.validation.js +47 -36
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/print-completion-service.validation.js +22 -9
- package/dist/services/validators/print-completion-service.validation.js.map +1 -1
- package/dist/services/validators/printer-service.validation.js +112 -29
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +79 -66
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/services/validators/user-service.validation.js +17 -16
- package/dist/services/validators/user-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +94 -51
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/shared/default-http-client.builder.js.map +1 -1
- package/dist/shared/load-controllers.js +20 -0
- package/dist/shared/load-controllers.js.map +1 -0
- package/dist/shared/runtime-settings.migration.js +53 -0
- package/dist/shared/runtime-settings.migration.js.map +1 -0
- package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
- package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
- package/dist/shared/websocket.adapter.js +4 -5
- package/dist/shared/websocket.adapter.js.map +1 -1
- package/dist/state/file-upload-tracker.cache.js +5 -4
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/file.cache.js +1 -1
- package/dist/state/file.cache.js.map +1 -1
- package/dist/state/floor.store.js +6 -6
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +21 -22
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-files.store.js +6 -8
- package/dist/state/printer-files.store.js.map +1 -1
- package/dist/state/printer-socket.store.js +27 -50
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer-thumbnail.cache.js +5 -9
- package/dist/state/printer-thumbnail.cache.js.map +1 -1
- package/dist/state/printer.cache.js +14 -12
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +74 -50
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +39 -36
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +20 -15
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/state/validation/create-test-printer.validation.js +13 -11
- package/dist/state/validation/create-test-printer.validation.js.map +1 -1
- package/dist/task.presets.js.map +1 -1
- package/dist/tasks/boot.task.js +14 -19
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/client-bundle.task.js +1 -3
- package/dist/tasks/client-bundle.task.js.map +1 -1
- package/dist/tasks/print-completion.socketio.task.js +27 -28
- package/dist/tasks/print-completion.socketio.task.js.map +1 -1
- package/dist/tasks/printer-file-clean.task.js +6 -10
- package/dist/tasks/printer-file-clean.task.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +3 -14
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks/printer-websocket.task.js +2 -14
- package/dist/tasks/printer-websocket.task.js.map +1 -1
- package/dist/tasks/socketio.task.js +6 -33
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks/software-update.task.js +1 -1
- package/dist/tasks/software-update.task.js.map +1 -1
- package/dist/tasks.js +3 -3
- package/dist/tasks.js.map +1 -1
- package/dist/utils/array.util.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/dist/utils/env.utils.js +0 -2
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/normalize-url.js +3 -2
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/printer-type.utils.js.map +1 -1
- package/dist/utils/time.utils.js +7 -17
- package/dist/utils/time.utils.js.map +1 -1
- package/dist/utils/url.utils.js +3 -4
- package/dist/utils/url.utils.js.map +1 -1
- package/package.json +46 -48
- package/tsconfig.json +2 -1
- package/.yarn/releases/yarn-4.7.0.cjs +0 -935
- package/dist/consoles/check-ports.js +0 -170
- package/dist/consoles/check-ports.js.map +0 -1
- package/dist/consoles/http-file-receiver.console.js +0 -81
- package/dist/consoles/http-file-receiver.console.js.map +0 -1
- package/dist/consoles/sqlite-torm.js +0 -31
- package/dist/consoles/sqlite-torm.js.map +0 -1
- package/dist/consoles/upload-test.js +0 -52
- package/dist/consoles/upload-test.js.map +0 -1
- package/dist/controllers/plugin-firmware-update.controller.js +0 -234
- package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
- package/dist/entities/base.entity.js +0 -29
- package/dist/entities/base.entity.js.map +0 -1
- package/dist/entities/printer-file.entity.js +0 -140
- package/dist/entities/printer-file.entity.js.map +0 -1
- package/dist/handlers/cache-manager.js +0 -18
- package/dist/handlers/cache-manager.js.map +0 -1
- package/dist/models/PrinterFile.js +0 -44
- package/dist/models/PrinterFile.js.map +0 -1
- package/dist/services/core/task-manager.service.js.map +0 -1
- package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
- package/dist/services/octoprint/plugin-base.service.js +0 -101
- package/dist/services/octoprint/plugin-base.service.js.map +0 -1
- package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
- package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
- package/dist/services/octoprint/plugin-repository.cache.js +0 -46
- package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
- package/dist/utils/benchmark.util.js +0 -39
- package/dist/utils/benchmark.util.js.map +0 -1
- package/dist/utils/is-docker.js +0 -40
- package/dist/utils/is-docker.js.map +0 -1
- package/dist/utils/metric.utils.js +0 -35
- package/dist/utils/metric.utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/websocket.adapter.ts"],"names":["WebsocketAdapter","socket","logger","eventEmittingAllowed","constructor","loggerFactory","name","isOpened","readyState","WebSocket","OPEN","close","allowEmittingEvents","disallowEmittingEvents","open","url","handshakeTimeout","AppConstants","defaultWebsocketHandshakeTimeout","onopen","event","onOpen","onerror","error","onError","onclose","onClose","onmessage","message","onMessage","data","sendMessage","payload","Promise","resolve","reject","send","afterOpened","afterClosed"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/shared/websocket.adapter.ts"],"names":["WebsocketAdapter","socket","logger","eventEmittingAllowed","constructor","loggerFactory","name","isOpened","readyState","WebSocket","OPEN","close","allowEmittingEvents","disallowEmittingEvents","open","url","Error","handshakeTimeout","AppConstants","defaultWebsocketHandshakeTimeout","onopen","event","onOpen","onerror","error","onError","onclose","onClose","onmessage","message","onMessage","data","sendMessage","payload","Promise","resolve","reject","send","afterOpened","afterClosed"],"mappings":";;;;+BAOsBA;;;eAAAA;;;iCAPO;oBAC6C;AAMnE,MAAeA;IACpBC,OAAmB;IACTC,OAAsB;IAChCC,uBAAgC,KAAK;IAErCC,YAAYC,aAA6B,CAAE;QACzC,IAAI,CAACH,MAAM,GAAGG,cAAcL,iBAAiBM,IAAI;IACnD;IAEA,IAAIC,WAAW;QACb,OAAO,IAAI,CAACN,MAAM,EAAEO,eAAeC,aAAS,CAACC,IAAI;IACnD;IAEOC,QAAQ;QACb,IAAI,CAACV,MAAM,EAAEU;QACb,OAAO,IAAI,CAACV,MAAM;IACpB;IAEOW,sBAAsB;QAC3B,IAAI,CAACT,oBAAoB,GAAG;IAC9B;IAEOU,yBAAyB;QAC9B,IAAI,CAACV,oBAAoB,GAAG;IAC9B;IASAW,KAAKC,GAAS,EAAQ;QACpB,IAAI,CAACA,KAAK;YACR,MAAM,IAAIC,MAAM;QAClB;QACA,IAAI,CAACf,MAAM,GAAG,IAAIQ,aAAS,CAACM,KAAK;YAC/BE,kBAAkBC,6BAAY,CAACC,gCAAgC;QACjE;QACA,IAAI,CAAClB,MAAM,CAACmB,MAAM,GAAG,CAACC,QAAU,IAAI,CAACC,MAAM,CAACD;QAC5C,IAAI,CAACpB,MAAM,CAACsB,OAAO,GAAG,CAACC,QAAU,IAAI,CAACC,OAAO,CAACD;QAC9C,IAAI,CAACvB,MAAM,CAACyB,OAAO,GAAG,CAACL,QAAU,IAAI,CAACM,OAAO,CAACN;QAC9C,IAAI,CAACpB,MAAM,CAAC2B,SAAS,GAAG,CAACC,UAAY,IAAI,CAACC,SAAS,CAACD,QAAQE,IAAI;IAClE;IASA,MAAgBC,YAAYC,OAAe,EAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC1B,QAAQ,IAAI,CAAC,IAAI,CAACN,MAAM,EAAE;YAClC,IAAI,CAACC,MAAM,CAACsB,KAAK,CAAC;YAClB;QACF;QACA,OAAO,MAAM,IAAIU,QAAQ,CAACC,SAASC;YACjC,IAAI,CAACnC,MAAM,CAAEoC,IAAI,CAACJ,SAAS,CAACT;gBAC1B,IAAIA,OAAOY,OAAOZ;gBAClBW;YACF;QACF;IACF;IA4CA,MAAcb,OAAOD,KAAc,EAAiB;QAClD,MAAM,IAAI,CAACiB,WAAW,CAACjB;IACzB;IAQA,MAAcM,QAAQN,KAAiB,EAAiB;QACtD,MAAM,IAAI,CAACkB,WAAW,CAAClB;IACzB;AACF"}
|
|
@@ -11,11 +11,12 @@ Object.defineProperty(exports, "FileUploadTrackerCache", {
|
|
|
11
11
|
const _correlationtokenutil = require("../utils/correlation-token.util");
|
|
12
12
|
const _eventconstants = require("../constants/event.constants");
|
|
13
13
|
class FileUploadTrackerCache {
|
|
14
|
-
currentUploads = [];
|
|
15
14
|
eventEmitter2;
|
|
15
|
+
currentUploads;
|
|
16
16
|
logger;
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(loggerFactory, eventEmitter2){
|
|
18
18
|
this.eventEmitter2 = eventEmitter2;
|
|
19
|
+
this.currentUploads = [];
|
|
19
20
|
this.logger = loggerFactory(FileUploadTrackerCache.name);
|
|
20
21
|
this.eventEmitter2.on((0, _eventconstants.uploadProgressEvent)("*"), (token, progress)=>this.handleUploadProgress(token, progress));
|
|
21
22
|
this.eventEmitter2.on((0, _eventconstants.uploadDoneEvent)("*"), (token)=>this.handleUploadDone(token));
|
|
@@ -50,7 +51,7 @@ class FileUploadTrackerCache {
|
|
|
50
51
|
if (!upload) {
|
|
51
52
|
return;
|
|
52
53
|
}
|
|
53
|
-
upload.progress = event.progress;
|
|
54
|
+
upload.progress = event.progress ?? null;
|
|
54
55
|
}
|
|
55
56
|
handleUploadFailed(token, reason) {
|
|
56
57
|
this.logger.log(`Upload tracker ${token} completed with failure`);
|
|
@@ -70,7 +71,7 @@ class FileUploadTrackerCache {
|
|
|
70
71
|
trackedUpload.completed = true;
|
|
71
72
|
trackedUpload.success = success;
|
|
72
73
|
trackedUpload.completedAt = Date.now();
|
|
73
|
-
trackedUpload.reason = reason;
|
|
74
|
+
trackedUpload.reason = reason ?? null;
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/file-upload-tracker.cache.ts"],"names":["FileUploadTrackerCache","currentUploads","
|
|
1
|
+
{"version":3,"sources":["../../src/state/file-upload-tracker.cache.ts"],"names":["FileUploadTrackerCache","currentUploads","logger","constructor","loggerFactory","eventEmitter2","name","on","uploadProgressEvent","token","progress","handleUploadProgress","uploadDoneEvent","handleUploadDone","uploadFailedEvent","reason","handleUploadFailed","getUploads","current","getUpload","correlationToken","find","cu","addUploadTracker","multerFile","printerId","generateCorrelationToken","log","push","startedAt","Date","now","completed","completedAt","success","event","upload","markUploadDone","trackedUploadIndex","findIndex","warn","trackedUpload"],"mappings":";;;;+BASaA;;;eAAAA;;;sCAT4B;gCAC+B;AAQjE,MAAMA;;IACMC,eAAqC;IAErCC,OAAsB;IAEvCC,YACEC,aAA6B,EAC7B,AAAiBC,aAA4B,CAC7C;aADiBA,gBAAAA;aANFJ,iBAAkC,EAAE;QAQnD,IAAI,CAACC,MAAM,GAAGE,cAAcJ,uBAAuBM,IAAI;QAEvD,IAAI,CAACD,aAAa,CAACE,EAAE,CAACC,IAAAA,mCAAmB,EAAC,MAAM,CAACC,OAAOC,WAAa,IAAI,CAACC,oBAAoB,CAACF,OAAOC;QACtG,IAAI,CAACL,aAAa,CAACE,EAAE,CAACK,IAAAA,+BAAe,EAAC,MAAM,CAACH,QAAkB,IAAI,CAACI,gBAAgB,CAACJ;QACrF,IAAI,CAACJ,aAAa,CAACE,EAAE,CAACO,IAAAA,iCAAiB,EAAC,MAAM,CAACL,OAAeM,SAC5D,IAAI,CAACC,kBAAkB,CAACP,OAAOM;IAEnC;IAEAE,aAAa;QACX,OAAO;YACLC,SAAS,IAAI,CAACjB,cAAc;QAC9B;IACF;IAEAkB,UAAUC,gBAAwB,EAAE;QAClC,OAAO,IAAI,CAACnB,cAAc,CAACoB,IAAI,CAAC,CAACC,KAAOA,GAAGF,gBAAgB,KAAKA;IAClE;IAEAG,iBAAiBC,UAA+B,EAAEC,SAAiB,EAAE;QACnE,MAAML,mBAAmBM,IAAAA,8CAAwB;QACjD,IAAI,CAACxB,MAAM,CAACyB,GAAG,CAAC,CAAC,mCAAmC,EAAEP,kBAAkB;QAExE,IAAI,CAACnB,cAAc,CAAC2B,IAAI,CAAC;YACvBR;YACAK;YACAI,WAAWC,KAAKC,GAAG;YACnBP;YACAd,UAAU;YACVsB,WAAW;YACXC,aAAa;YACbC,SAAS;YACTnB,QAAQ;QACV;QAEA,OAAOK;IACT;IAEAT,qBAAqBF,KAAa,EAAE0B,KAAyB,EAAE;QAC7D,MAAMC,SAAS,IAAI,CAACjB,SAAS,CAACV;QAC9B,IAAI,CAAC2B,QAAQ;YACX;QACF;QACAA,OAAO1B,QAAQ,GAAGyB,MAAMzB,QAAQ,IAAI;IACtC;IAEAM,mBAAmBP,KAAa,EAAEM,MAAe,EAAE;QACjD,IAAI,CAACb,MAAM,CAACyB,GAAG,CAAC,CAAC,eAAe,EAAElB,MAAM,uBAAuB,CAAC;QAChE,IAAI,CAAC4B,cAAc,CAAC5B,OAAO,OAAOM;IACpC;IAEAF,iBAAiBJ,KAAa,EAAE;QAC9B,IAAI,CAACP,MAAM,CAACyB,GAAG,CAAC,CAAC,eAAe,EAAElB,MAAM,uBAAuB,CAAC;QAChE,IAAI,CAAC4B,cAAc,CAAC5B,OAAO;IAC7B;IAEA4B,eAAe5B,KAAa,EAAEyB,OAAgB,EAAEnB,MAAe,EAAE;QAC/D,MAAMuB,qBAAqB,IAAI,CAACrC,cAAc,CAACsC,SAAS,CAAC,CAACjB,KAAOA,GAAGF,gBAAgB,KAAKX;QACzF,IAAI6B,uBAAuB,CAAC,GAAG;YAC7B,IAAI,CAACpC,MAAM,CAACsC,IAAI,CAAC,CAAC,sDAAsD,EAAE/B,MAAM,8BAA8B,CAAC;YAC/G;QACF;QAEA,MAAMgC,gBAAgB,IAAI,CAACxC,cAAc,CAACqC,mBAAmB;QAE7DG,cAAcT,SAAS,GAAG;QAC1BS,cAAcP,OAAO,GAAGA;QACxBO,cAAcR,WAAW,GAAGH,KAAKC,GAAG;QACpCU,cAAc1B,MAAM,GAAGA,UAAU;IACnC;AACF"}
|
package/dist/state/file.cache.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/file.cache.ts"],"names":["FileCache","printerFileStorage","totalFileCount","logger","constructor","loggerFactory","name","cachePrinterFiles","printerId","files","Error","updateCacheFileRefCount","getPrinterFiles","totalFiles","storage","Object","values","length","log","purgePrinterId","ValidationException","fileStorage","warn","purgeFile","filePath","fileIndex","findIndex","f","path","splice"],"mappings":";;;;+BAMaA;;;eAAAA;;;mCANuB;AAM7B,MAAMA;IACHC,qBAAgD,CAAC,EAAE;IACnDC,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../src/state/file.cache.ts"],"names":["FileCache","printerFileStorage","totalFileCount","logger","constructor","loggerFactory","name","cachePrinterFiles","printerId","files","Error","updateCacheFileRefCount","getPrinterFiles","totalFiles","storage","Object","values","length","log","purgePrinterId","ValidationException","fileStorage","warn","purgeFile","filePath","fileIndex","findIndex","f","path","splice"],"mappings":";;;;+BAMaA;;;eAAAA;;;mCANuB;AAM7B,MAAMA;IACHC,qBAAgD,CAAC,EAAE;IACnDC,iBAAiB,EAAE;IAEVC,OAAsB;IAEvCC,YAAYC,aAA6B,CAAE;QACzC,IAAI,CAACF,MAAM,GAAGE,cAAcL,UAAUM,IAAI;IAC5C;IAEAC,kBAAkBC,SAAiB,EAAEC,KAAgB,EAAE;QACrD,IAAI,CAACD,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,IAAI,CAACT,kBAAkB,CAACO,UAAU,GAAGC;QACrC,IAAI,CAACE,uBAAuB;IAC9B;IAEAC,gBAAgBJ,SAAiB,EAAE;QACjC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,OAAO,IAAI,CAACT,kBAAkB,CAACO,UAAU;IAC3C;IAEAG,0BAA0B;QACxB,IAAIE,aAAa;QACjB,KAAK,MAAMC,WAAWC,OAAOC,MAAM,CAAC,IAAI,CAACf,kBAAkB,EAAG;YAC5DY,cAAcC,SAASG,UAAU;QACnC;QAEA,IAAIJ,eAAe,IAAI,CAACX,cAAc,EAAE;YACtC,IAAI,CAACA,cAAc,GAAGW;YACtB,IAAI,CAACV,MAAM,CAACe,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAAChB,cAAc,CAAC,gCAAgC,CAAC;QACzF;QAEA,OAAOW;IACT;IAEAM,eAAeX,SAAiB,EAAE;QAChC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIY,sCAAmB,CAAC;QAChC;QAEA,MAAMC,cAAc,IAAI,CAACpB,kBAAkB,CAACO,UAAU;QAEtD,IAAI,CAACa,aAAa;YAChB,IAAI,CAAClB,MAAM,CAACmB,IAAI,CAAC;YACjB;QACF;QAEA,OAAO,IAAI,CAACrB,kBAAkB,CAACO,UAAU;QAEzC,IAAI,CAACL,MAAM,CAACe,GAAG,CAAC,CAAC,yBAAyB,CAAC;IAC7C;IAEAK,UAAUf,SAAiB,EAAEgB,QAAgB,EAAE;QAC7C,MAAMf,QAAQ,IAAI,CAACG,eAAe,CAACJ;QACnC,IAAI,CAACC,OAAO;QAEZ,MAAMgB,YAAYhB,MAAMiB,SAAS,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ;QACpD,IAAIC,cAAc,CAAC,GAAG;YAEpB,IAAI,CAACtB,MAAM,CAACmB,IAAI,CACd,CAAC,6FAA6F,CAAC,EAC/FE;YAGF,OAAO,IAAI,CAACrB,MAAM,CAACe,GAAG,CAAC;QACzB;QAEAT,MAAMoB,MAAM,CAACJ,WAAW;QACxB,IAAI,CAACtB,MAAM,CAACe,GAAG,CAAC,CAAC,2BAA2B,CAAC;IAC/C;AACF"}
|
|
@@ -12,9 +12,8 @@ const _keydiffcache = require("../utils/cache/key-diff.cache");
|
|
|
12
12
|
class FloorStore extends _keydiffcache.KeyDiffCache {
|
|
13
13
|
floorService;
|
|
14
14
|
logger;
|
|
15
|
-
constructor(
|
|
16
|
-
super();
|
|
17
|
-
this.floorService = floorService;
|
|
15
|
+
constructor(floorService, loggerFactory){
|
|
16
|
+
super(), this.floorService = floorService;
|
|
18
17
|
this.logger = loggerFactory(FloorStore.name);
|
|
19
18
|
}
|
|
20
19
|
async loadStore() {
|
|
@@ -47,13 +46,14 @@ class FloorStore extends _keydiffcache.KeyDiffCache {
|
|
|
47
46
|
return floorDto;
|
|
48
47
|
}
|
|
49
48
|
async delete(floorId) {
|
|
50
|
-
|
|
49
|
+
await this.floorService.delete(floorId);
|
|
51
50
|
await this.deleteKeyValue(floorId);
|
|
52
|
-
return deleteResult;
|
|
53
51
|
}
|
|
54
52
|
async getFloor(floorId) {
|
|
55
53
|
let floor = await this.getValue(floorId);
|
|
56
|
-
if (
|
|
54
|
+
if (floor) {
|
|
55
|
+
return floor;
|
|
56
|
+
}
|
|
57
57
|
const dbFloor = await this.floorService.get(floorId);
|
|
58
58
|
const floorDto = this.floorService.toDto(dbFloor);
|
|
59
59
|
await this.setKeyValue(floorId, floorDto, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/floor.store.ts"],"names":["FloorStore","KeyDiffCache","
|
|
1
|
+
{"version":3,"sources":["../../src/state/floor.store.ts"],"names":["FloorStore","KeyDiffCache","logger","constructor","floorService","loggerFactory","name","loadStore","floors","list","length","log","floor","createDefaultFloor","floorDto","toDto","setKeyValue","id","keyValues","map","key","toString","value","setKeyValuesBatch","listCache","getAllValues","create","input","delete","floorId","deleteKeyValue","getFloor","getValue","dbFloor","get","update","updateName","updateFloorNumber","floorLevel","updateLevel","addOrUpdatePrinter","position","removePrinter","printerId","removePrinterFromAnyFloor","deletePrinterFromAnyFloor"],"mappings":"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"}
|
|
@@ -9,22 +9,18 @@ Object.defineProperty(exports, "PrinterEventsCache", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _keydiffcache = require("../utils/cache/key-diff.cache");
|
|
12
|
-
const _metricutils = require("../utils/metric.utils");
|
|
13
12
|
const _eventconstants = require("../constants/event.constants");
|
|
13
|
+
const _octoprintwebsocketadapter = require("../services/octoprint/octoprint-websocket.adapter");
|
|
14
|
+
const _moonrakerconstants = require("../services/moonraker/constants/moonraker.constants");
|
|
15
|
+
const _prusalinkconstants = require("../services/prusa-link/constants/prusalink.constants");
|
|
14
16
|
class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
15
|
-
logger;
|
|
16
17
|
eventEmitter2;
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
19
|
-
super();
|
|
20
|
-
this.settingsStore = settingsStore;
|
|
18
|
+
logger;
|
|
19
|
+
constructor(eventEmitter2, loggerFactory){
|
|
20
|
+
super(), this.eventEmitter2 = eventEmitter2;
|
|
21
21
|
this.logger = loggerFactory(PrinterEventsCache.name);
|
|
22
|
-
this.eventEmitter2 = eventEmitter2;
|
|
23
22
|
this.subscribeToEvents();
|
|
24
23
|
}
|
|
25
|
-
get _debugMode() {
|
|
26
|
-
return this.settingsStore.getSettingsSensitive()?.server?.debugSettings?.debugSocketMessages;
|
|
27
|
-
}
|
|
28
24
|
async deletePrinterSocketEvents(id) {
|
|
29
25
|
await this.deleteKeyValue(id, true);
|
|
30
26
|
}
|
|
@@ -58,7 +54,7 @@ class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
|
58
54
|
};
|
|
59
55
|
await this.setKeyValue(printerId, ref);
|
|
60
56
|
}
|
|
61
|
-
async
|
|
57
|
+
async setSubState(printerId, label, substateName, payload) {
|
|
62
58
|
const ref = await this.getOrCreateEvents(printerId);
|
|
63
59
|
if (!ref[label]) {
|
|
64
60
|
ref[label] = {};
|
|
@@ -69,12 +65,13 @@ class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
|
69
65
|
};
|
|
70
66
|
await this.setKeyValue(printerId, ref);
|
|
71
67
|
}
|
|
72
|
-
async handlePrintersDeleted(
|
|
73
|
-
await this.deleteKeysBatch(printerIds);
|
|
68
|
+
async handlePrintersDeleted(event) {
|
|
69
|
+
await this.deleteKeysBatch(event.printerIds);
|
|
74
70
|
}
|
|
75
71
|
subscribeToEvents() {
|
|
76
|
-
this.eventEmitter2.on("
|
|
77
|
-
this.eventEmitter2.on("
|
|
72
|
+
this.eventEmitter2.on((0, _octoprintwebsocketadapter.octoPrintEvent)("*"), (e)=>this.onOctoPrintSocketMessage(e));
|
|
73
|
+
this.eventEmitter2.on((0, _moonrakerconstants.moonrakerEvent)("*"), (e)=>this.onMoonrakerSocketMessage(e));
|
|
74
|
+
this.eventEmitter2.on((0, _prusalinkconstants.prusaLinkEvent)("*"), (e)=>this.onPrusaLinkPollMessage(e));
|
|
78
75
|
this.eventEmitter2.on(_eventconstants.printerEvents.printersDeleted, this.handlePrintersDeleted.bind(this));
|
|
79
76
|
}
|
|
80
77
|
async onOctoPrintSocketMessage(e) {
|
|
@@ -84,9 +81,6 @@ class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
|
84
81
|
"event"
|
|
85
82
|
].includes(e.event)) {
|
|
86
83
|
await this.setEvent(printerId, e.event, e.event === "history" ? this.pruneHistoryPayload(e.payload) : e.payload);
|
|
87
|
-
if (this._debugMode) {
|
|
88
|
-
this.logger.log(`Message '${e.event}' received, size ${(0, _metricutils.formatKB)(e.payload)}`, e.printerId);
|
|
89
|
-
}
|
|
90
84
|
}
|
|
91
85
|
}
|
|
92
86
|
async onMoonrakerSocketMessage(e) {
|
|
@@ -99,11 +93,16 @@ class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
|
99
93
|
await this.setEvent(printerId, eventType, e.payload);
|
|
100
94
|
}
|
|
101
95
|
}
|
|
96
|
+
async onPrusaLinkPollMessage(e) {
|
|
97
|
+
const printerId = e.printerId;
|
|
98
|
+
this.logger.debug(`Received prusaLink event ${e.event}, printerId ${e.printerId}`, e);
|
|
99
|
+
if (e.event === "current") {
|
|
100
|
+
await this.setEvent(printerId, e.event, e.payload);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
102
103
|
pruneHistoryPayload(payload) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
delete payload.messages;
|
|
106
|
-
return payload;
|
|
104
|
+
const { logs, temps, messages, plugins, ...prunedPayload } = payload;
|
|
105
|
+
return prunedPayload;
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
108
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-events.cache.ts"],"names":["PrinterEventsCache","KeyDiffCache","logger","
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-events.cache.ts"],"names":["PrinterEventsCache","KeyDiffCache","logger","constructor","eventEmitter2","loggerFactory","name","subscribeToEvents","deletePrinterSocketEvents","id","deleteKeyValue","getPrinterSocketEvents","keyValueStore","getOrCreateEvents","printerId","ref","getValue","connected","reauthRequired","notify_status_update","current","history","API_STATE_UPDATED","WS_CLOSED","WS_ERROR","WS_OPENED","WS_STATE_UPDATED","setKeyValue","setEvent","label","payload","receivedAt","Date","now","setSubState","substateName","handlePrintersDeleted","event","deleteKeysBatch","printerIds","on","octoPrintEvent","e","onOctoPrintSocketMessage","moonrakerEvent","onMoonrakerSocketMessage","prusaLinkEvent","onPrusaLinkPollMessage","printerEvents","printersDeleted","bind","includes","pruneHistoryPayload","eventType","debug","logs","temps","messages","plugins","prunedPayload"],"mappings":"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"}
|
|
@@ -14,28 +14,26 @@ class PrinterFilesStore {
|
|
|
14
14
|
printerCache;
|
|
15
15
|
fileCache;
|
|
16
16
|
printerApiFactory;
|
|
17
|
-
octoprintClient;
|
|
18
17
|
logger;
|
|
19
|
-
constructor(
|
|
18
|
+
constructor(loggerFactory, printerCache, fileCache, printerApiFactory){
|
|
20
19
|
this.printerCache = printerCache;
|
|
21
|
-
this.printerApiFactory = printerApiFactory;
|
|
22
20
|
this.fileCache = fileCache;
|
|
23
|
-
this.
|
|
21
|
+
this.printerApiFactory = printerApiFactory;
|
|
24
22
|
this.logger = loggerFactory(PrinterFilesStore.name);
|
|
25
23
|
}
|
|
26
24
|
async loadFilesStore() {
|
|
27
25
|
const printers = await this.printerCache.listCachedPrinters(true);
|
|
28
|
-
for (const printer of printers){
|
|
26
|
+
for (const printer of printers.filter((p)=>p.enabled)){
|
|
29
27
|
try {
|
|
30
|
-
const printerFiles = await this.loadFiles(printer.id
|
|
28
|
+
const printerFiles = await this.loadFiles(printer.id);
|
|
31
29
|
this.fileCache.cachePrinterFiles(printer.id, printerFiles);
|
|
32
30
|
} catch (e) {
|
|
33
31
|
(0, _node.captureException)(e);
|
|
34
|
-
this.logger.error(
|
|
32
|
+
this.logger.error(`Files store failed to load file list for printer ${printer.name}`);
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
|
-
async loadFiles(printerId
|
|
36
|
+
async loadFiles(printerId) {
|
|
39
37
|
const loginDto = await this.printerCache.getLoginDtoAsync(printerId);
|
|
40
38
|
const printerApi = this.printerApiFactory.getScopedPrinter(loginDto);
|
|
41
39
|
const files = await printerApi.getFiles();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-files.store.ts"],"names":["PrinterFilesStore","
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-files.store.ts"],"names":["PrinterFilesStore","logger","constructor","loggerFactory","printerCache","fileCache","printerApiFactory","name","loadFilesStore","printers","listCachedPrinters","printer","filter","p","enabled","printerFiles","loadFiles","id","cachePrinterFiles","e","captureException","error","printerId","loginDto","getLoginDtoAsync","printerApi","getScopedPrinter","files","getFiles","getPrinterFiles","getOutdatedFiles","ageDaysMax","ValidationException","length","nowTimestampSeconds","Date","now","file","date","deleteOutdatedFiles","getById","failedFiles","succeededFiles","nonRecursiveFiles","getCachedPrinterOrThrowAsync","deleteFile","path","push","log","purgePrinterFiles","printerState","purgePrinterId","purgeFiles","allPrinters","filePath","purgeFile"],"mappings":";;;;+BASaA;;;eAAAA;;;mCATuB;sBAMH;AAG1B,MAAMA;;;;IACMC,OAAsB;IAEvCC,YACEC,aAA6B,EAC7B,AAAiBC,YAA0B,EAC3C,AAAgBC,SAAoB,EACpC,AAAiBC,iBAAoC,CACrD;aAHiBF,eAAAA;aACDC,YAAAA;aACCC,oBAAAA;QAEjB,IAAI,CAACL,MAAM,GAAGE,cAAcH,kBAAkBO,IAAI;IACpD;IAEA,MAAMC,iBAAgC;QACpC,MAAMC,WAAW,MAAM,IAAI,CAACL,YAAY,CAACM,kBAAkB,CAAC;QAC5D,KAAK,MAAMC,WAAWF,SAASG,MAAM,CAACC,CAAAA,IAAKA,EAAEC,OAAO,EAAG;YACrD,IAAI;gBACF,MAAMC,eAAe,MAAM,IAAI,CAACC,SAAS,CAACL,QAAQM,EAAE;gBACpD,IAAI,CAACZ,SAAS,CAACa,iBAAiB,CAACP,QAAQM,EAAE,EAAEF;YAC/C,EAAE,OAAOI,GAAG;gBACVC,IAAAA,sBAAgB,EAACD;gBACjB,IAAI,CAAClB,MAAM,CAACoB,KAAK,CAAC,CAAC,iDAAiD,EAAEV,QAAQJ,IAAI,EAAE;YACtF;QACF;IACF;IAEA,MAAMS,UAAUM,SAAiB,EAAgB;QAC/C,MAAMC,WAAW,MAAM,IAAI,CAACnB,YAAY,CAACoB,gBAAgB,CAACF;QAC1D,MAAMG,aAAa,IAAI,CAACnB,iBAAiB,CAACoB,gBAAgB,CAACH;QAC3D,MAAMI,QAAQ,MAAMF,WAAWG,QAAQ;QACvC,IAAI,CAACvB,SAAS,CAACa,iBAAiB,CAACI,WAAWK;QAC5C,OAAOA;IACT;IAEAC,SAASN,SAAiB,EAAE;QAC1B,OAAO,IAAI,CAACjB,SAAS,CAACwB,eAAe,CAACP;IACxC;IAEAQ,iBAAiBR,SAAiB,EAAES,UAAkB,EAAE;QACtD,IAAI,CAACA,YAAY,MAAM,IAAIC,sCAAmB,CAAC;QAC/C,MAAMjB,eAAe,IAAI,CAACa,QAAQ,CAACN;QACnC,IAAI,CAACP,cAAckB,QAAQ,OAAO,EAAE;QACpC,MAAMC,sBAAsBC,KAAKC,GAAG,KAAK;QACzC,OAAOrB,aAAaH,MAAM,CAAC,CAACyB,OAAS,CAAC,CAACA,KAAKC,IAAI,IAAID,KAAKC,IAAI,GAAGP,aAAa,QAAQG;IACvF;IAEA,MAAMK,oBAAoBjB,SAAiB,EAAES,UAAkB,EAAE;QAC/D,MAAMN,aAAa,IAAI,CAACnB,iBAAiB,CAACkC,OAAO,CAAClB;QAElD,MAAMmB,cAAc,EAAE;QACtB,MAAMC,iBAAiB,EAAE;QACzB,MAAMC,oBAAoB,IAAI,CAACb,gBAAgB,CAACR,WAAWS;QAE3D,MAAMxB,OAAO,AAAC,CAAA,MAAM,IAAI,CAACH,YAAY,CAACwC,4BAA4B,CAACtB,UAAS,EAAGf,IAAI;QAEnF,KAAK,IAAI8B,QAAQM,kBAAmB;YAClC,IAAI;gBACF,MAAMlB,WAAWoB,UAAU,CAACR,KAAKS,IAAI;gBACrCJ,eAAeK,IAAI,CAACV;YACtB,EAAE,OAAOlB,GAAG;gBACVsB,YAAYM,IAAI,CAACV;YACnB;QACF;QAEA,IAAI,CAACpC,MAAM,CAAC+C,GAAG,CACb,CAAC,QAAQ,EAAEN,eAAeT,MAAM,CAAC,kBAAkB,EAAEQ,YAAYR,MAAM,CAAC,0BAA0B,EAAE1B,KAAK,CAAC,CAAC;QAE7G,OAAO;YACLkC;YACAC;QACF;IACF;IAEA,MAAMO,kBAAkB3B,SAAiB,EAAE;QACzC,MAAM4B,eAAe,MAAM,IAAI,CAAC9C,YAAY,CAACwC,4BAA4B,CAACtB;QAE1E,IAAI,CAACrB,MAAM,CAAC+C,GAAG,CAAC,CAAC,+BAA+B,CAAC;QACjD,IAAI,CAAC3C,SAAS,CAAC8C,cAAc,CAACD,aAAajC,EAAE;QAC7C,IAAI,CAAChB,MAAM,CAAC+C,GAAG,CAAC,CAAC,iCAAiC,CAAC;IACrD;IAEA,MAAMI,aAAa;QACjB,MAAMC,cAAc,MAAM,IAAI,CAACjD,YAAY,CAACM,kBAAkB;QAE9D,IAAI,CAACT,MAAM,CAAC+C,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACtC,KAAK,IAAIrC,WAAW0C,YAAa;YAC/B,IAAI,CAAChD,SAAS,CAAC8C,cAAc,CAACxC,QAAQM,EAAE;QAC1C;QACA,IAAI,CAAChB,MAAM,CAAC+C,GAAG,CAAC,CAAC,2BAA2B,CAAC;IAC/C;IAEA,MAAMH,WAAWvB,SAAiB,EAAEgC,QAAgB,EAAE;QACpD,IAAI,CAACjD,SAAS,CAACkD,SAAS,CAACjC,WAAWgC;IACtC;AACF"}
|
|
@@ -13,27 +13,25 @@ const _errorutils = require("../utils/error.utils");
|
|
|
13
13
|
const _eventconstants = require("../constants/event.constants");
|
|
14
14
|
const _printerapiinterface = require("../services/printer-api.interface");
|
|
15
15
|
class PrinterSocketStore {
|
|
16
|
-
socketIoGateway;
|
|
17
16
|
socketFactory;
|
|
18
17
|
eventEmitter2;
|
|
19
18
|
printerCache;
|
|
20
|
-
printerSocketAdaptersById
|
|
19
|
+
printerSocketAdaptersById;
|
|
21
20
|
logger;
|
|
22
|
-
|
|
23
|
-
settingsStore;
|
|
24
|
-
constructor({ socketFactory, socketIoGateway, settingsStore, eventEmitter2, printerCache, loggerFactory, configService }){
|
|
25
|
-
this.printerCache = printerCache;
|
|
26
|
-
this.socketIoGateway = socketIoGateway;
|
|
21
|
+
constructor(loggerFactory, socketFactory, eventEmitter2, printerCache){
|
|
27
22
|
this.socketFactory = socketFactory;
|
|
28
23
|
this.eventEmitter2 = eventEmitter2;
|
|
29
|
-
this.
|
|
24
|
+
this.printerCache = printerCache;
|
|
25
|
+
this.printerSocketAdaptersById = {};
|
|
30
26
|
this.logger = loggerFactory(PrinterSocketStore.name);
|
|
31
|
-
this.configService = configService;
|
|
32
27
|
this.subscribeToEvents();
|
|
33
28
|
}
|
|
34
29
|
getSocketStatesById() {
|
|
35
30
|
const socketStatesById = {};
|
|
36
31
|
Object.values(this.printerSocketAdaptersById).forEach((s)=>{
|
|
32
|
+
if (!s.printerId) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
37
35
|
socketStatesById[s.printerId] = {
|
|
38
36
|
printerId: s.printerId,
|
|
39
37
|
printerType: s.printerType,
|
|
@@ -45,24 +43,24 @@ class PrinterSocketStore {
|
|
|
45
43
|
}
|
|
46
44
|
async loadPrinterSockets() {
|
|
47
45
|
await this.printerCache.loadCache();
|
|
48
|
-
const
|
|
46
|
+
const printerDtoList = await this.printerCache.listCachedPrinters(false);
|
|
49
47
|
this.printerSocketAdaptersById = {};
|
|
50
|
-
for (const
|
|
48
|
+
for (const printerDto of printerDtoList){
|
|
51
49
|
try {
|
|
52
|
-
|
|
53
|
-
printer:
|
|
50
|
+
this.handlePrinterCreated({
|
|
51
|
+
printer: printerDto
|
|
54
52
|
});
|
|
55
53
|
} catch (e) {
|
|
56
54
|
(0, _node.captureException)(e);
|
|
57
|
-
this.logger.error("PrinterSocketStore failed to construct new
|
|
55
|
+
this.logger.error("PrinterSocketStore failed to construct new socket.", (0, _errorutils.errorSummary)(e));
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
|
-
this.logger.log(`Loaded ${Object.keys(this.printerSocketAdaptersById).length} printer
|
|
58
|
+
this.logger.log(`Loaded ${Object.keys(this.printerSocketAdaptersById).length} printer sockets`);
|
|
61
59
|
}
|
|
62
60
|
listPrinterSockets() {
|
|
63
61
|
return Object.values(this.printerSocketAdaptersById);
|
|
64
62
|
}
|
|
65
|
-
|
|
63
|
+
reconnectPrinterAdapter(id) {
|
|
66
64
|
const socket = this.getPrinterSocket(id);
|
|
67
65
|
if (!socket) return;
|
|
68
66
|
socket.close();
|
|
@@ -77,44 +75,29 @@ class PrinterSocketStore {
|
|
|
77
75
|
const socketStates = {};
|
|
78
76
|
const apiStates = {};
|
|
79
77
|
const promisesReauth = [];
|
|
80
|
-
const failedSocketsReauth = [];
|
|
81
78
|
for (const socket of Object.values(this.printerSocketAdaptersById)){
|
|
82
79
|
try {
|
|
83
80
|
if (socket.printerType === _printerapiinterface.OctoprintType && socket.needsReauth()) {
|
|
84
81
|
reauthRequested++;
|
|
85
|
-
const promise = socket.reauthSession().catch(
|
|
86
|
-
failedSocketsReauth.push(socket.printerId);
|
|
87
|
-
});
|
|
82
|
+
const promise = socket.reauthSession().catch();
|
|
88
83
|
promisesReauth.push(promise);
|
|
89
84
|
}
|
|
90
85
|
} catch (e) {
|
|
91
|
-
if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
|
|
92
|
-
this.logger.log("Failed to reauth printer socket", (0, _errorutils.errorSummary)(e));
|
|
93
|
-
}
|
|
94
86
|
(0, _node.captureException)(e);
|
|
95
87
|
}
|
|
96
88
|
}
|
|
97
89
|
await Promise.all(promisesReauth);
|
|
98
90
|
const promisesOpenSocket = [];
|
|
99
|
-
const failedSocketReopened = [];
|
|
100
91
|
for (const socket of Object.values(this.printerSocketAdaptersById)){
|
|
101
92
|
try {
|
|
102
93
|
if (socket.needsSetup() || socket.needsReopen()) {
|
|
103
|
-
if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
|
|
104
|
-
this.logger.log(`Reopening socket for printerId '${socket.printerId}' (setup: ${socket.needsSetup()}, reopen: ${socket.needsReopen()})`);
|
|
105
|
-
}
|
|
106
94
|
socketSetupRequested++;
|
|
107
95
|
const promise = socket.setupSocketSession().then(()=>{
|
|
108
96
|
socket.open();
|
|
109
|
-
}).catch(
|
|
110
|
-
failedSocketReopened.push(socket.printerId);
|
|
111
|
-
});
|
|
97
|
+
}).catch();
|
|
112
98
|
promisesOpenSocket.push(promise);
|
|
113
99
|
}
|
|
114
100
|
} catch (e) {
|
|
115
|
-
if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
|
|
116
|
-
this.logger.log(`Failed to setup printer socket ${(0, _errorutils.errorSummary)(e)}`);
|
|
117
|
-
}
|
|
118
101
|
(0, _node.captureException)(e);
|
|
119
102
|
}
|
|
120
103
|
const keySocket = socket.socketState;
|
|
@@ -125,14 +108,6 @@ class PrinterSocketStore {
|
|
|
125
108
|
apiStates[keyApi] = valApi ? valApi + 1 : 1;
|
|
126
109
|
}
|
|
127
110
|
await Promise.all(promisesOpenSocket);
|
|
128
|
-
return {
|
|
129
|
-
reauth: reauthRequested,
|
|
130
|
-
failedSocketReopened,
|
|
131
|
-
failedSocketsReauth,
|
|
132
|
-
socketSetup: socketSetupRequested,
|
|
133
|
-
socket: socketStates,
|
|
134
|
-
api: apiStates
|
|
135
|
-
};
|
|
136
111
|
}
|
|
137
112
|
createOrUpdateSocket(printer) {
|
|
138
113
|
const { enabled, id } = printer;
|
|
@@ -153,28 +128,30 @@ class PrinterSocketStore {
|
|
|
153
128
|
printerId: printer.id.toString(),
|
|
154
129
|
loginDto: {
|
|
155
130
|
apiKey: printer.apiKey,
|
|
131
|
+
username: printer.username,
|
|
132
|
+
password: printer.password,
|
|
156
133
|
printerURL: printer.printerURL,
|
|
157
134
|
printerType: printer.printerType
|
|
158
135
|
}
|
|
159
136
|
});
|
|
160
137
|
foundAdapter.resetSocketState();
|
|
161
138
|
}
|
|
162
|
-
handleBatchPrinterCreated(
|
|
163
|
-
for (const
|
|
139
|
+
handleBatchPrinterCreated(event) {
|
|
140
|
+
for (const printer of event.printers){
|
|
164
141
|
this.handlePrinterCreated({
|
|
165
|
-
printer
|
|
142
|
+
printer
|
|
166
143
|
});
|
|
167
144
|
}
|
|
168
145
|
}
|
|
169
|
-
handlePrinterCreated(
|
|
170
|
-
this.createOrUpdateSocket(printer);
|
|
146
|
+
handlePrinterCreated(event) {
|
|
147
|
+
this.createOrUpdateSocket(event.printer);
|
|
171
148
|
}
|
|
172
|
-
handlePrinterUpdated(
|
|
149
|
+
handlePrinterUpdated(event) {
|
|
173
150
|
this.logger.log(`Printer updated. Updating socket`);
|
|
174
|
-
this.createOrUpdateSocket(printer);
|
|
151
|
+
this.createOrUpdateSocket(event.printer);
|
|
175
152
|
}
|
|
176
|
-
handlePrintersDeleted(
|
|
177
|
-
printerIds.forEach((id)=>{
|
|
153
|
+
handlePrintersDeleted(event) {
|
|
154
|
+
event.printerIds.forEach((id)=>{
|
|
178
155
|
this.deleteSocket(id);
|
|
179
156
|
});
|
|
180
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","printerSocketAdaptersById","logger","constructor","loggerFactory","socketFactory","eventEmitter2","printerCache","name","subscribeToEvents","getSocketStatesById","socketStatesById","Object","values","forEach","s","printerId","printerType","socket","socketState","api","apiState","loadPrinterSockets","loadCache","printerDtoList","listCachedPrinters","printerDto","handlePrinterCreated","printer","e","captureException","error","errorSummary","log","keys","length","listPrinterSockets","reconnectPrinterAdapter","id","getPrinterSocket","close","resetSocketState","reconnectPrinterSockets","reauthRequested","socketSetupRequested","socketStates","apiStates","promisesReauth","OctoprintType","needsReauth","promise","reauthSession","catch","push","Promise","all","promisesOpenSocket","needsSetup","needsReopen","setupSocketSession","then","open","keySocket","valSocket","keyApi","valApi","createOrUpdateSocket","enabled","foundAdapter","toString","deleteSocket","createInstance","registerCredentials","loginDto","apiKey","username","password","printerURL","handleBatchPrinterCreated","event","printers","handlePrinterUpdated","handlePrintersDeleted","printerIds","on","printerEvents","printerCreated","bind","printersDeleted","printerUpdated","batchPrinterCreated","disallowEmittingEvents"],"mappings":"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"}
|
|
@@ -31,16 +31,12 @@ const gcodeMaxLinesToRead = 10000;
|
|
|
31
31
|
class PrinterThumbnailCache extends _keydiffcache.KeyDiffCache {
|
|
32
32
|
printerCache;
|
|
33
33
|
printerApiFactory;
|
|
34
|
-
logger;
|
|
35
34
|
eventEmitter2;
|
|
36
35
|
settingsStore;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.printerCache = printerCache;
|
|
40
|
-
this.printerApiFactory = printerApiFactory;
|
|
36
|
+
logger;
|
|
37
|
+
constructor(loggerFactory, printerCache, printerApiFactory, eventEmitter2, settingsStore){
|
|
38
|
+
super(), this.printerCache = printerCache, this.printerApiFactory = printerApiFactory, this.eventEmitter2 = eventEmitter2, this.settingsStore = settingsStore;
|
|
41
39
|
this.logger = loggerFactory(PrinterThumbnailCache.name);
|
|
42
|
-
this.eventEmitter2 = eventEmitter2;
|
|
43
|
-
this.settingsStore = settingsStore;
|
|
44
40
|
this.eventEmitter2.on(_eventconstants.printerEvents.printersDeleted, this.handlePrintersDeleted.bind(this));
|
|
45
41
|
}
|
|
46
42
|
async resetCache() {
|
|
@@ -64,9 +60,9 @@ class PrinterThumbnailCache extends _keydiffcache.KeyDiffCache {
|
|
|
64
60
|
}
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
|
-
async handlePrintersDeleted(
|
|
63
|
+
async handlePrintersDeleted(event) {
|
|
68
64
|
if (!this.settingsStore.isThumbnailSupportEnabled()) return;
|
|
69
|
-
for (const printerId of printerIds){
|
|
65
|
+
for (const printerId of event.printerIds){
|
|
70
66
|
await this.removeThumbnailFile(printerId);
|
|
71
67
|
await this.unsetPrinterThumbnail(printerId);
|
|
72
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-thumbnail.cache.ts"],"names":["PrinterThumbnailCache","gcodeMaxLinesToRead","KeyDiffCache","
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-thumbnail.cache.ts"],"names":["PrinterThumbnailCache","gcodeMaxLinesToRead","KeyDiffCache","logger","constructor","loggerFactory","printerCache","printerApiFactory","eventEmitter2","settingsStore","name","on","printerEvents","printersDeleted","handlePrintersDeleted","bind","resetCache","keys","Object","keyValueStore","deleteKeysBatch","loadCache","isThumbnailSupportEnabled","printers","listCachedPrinters","baseFolder","join","superRootPath","AppConstants","defaultPrinterThumbnailsStorage","resetDiffs","forEach","key","printer","printerIdStr","id","toString","thumbnailFile","existsSync","data","readFileSync","setPrinterThumbnail","event","printerId","printerIds","removeThumbnailFile","unsetPrinterThumbnail","imageData","setKeyValue","thumbnailBase64","deleteKeyValue","loadPrinterThumbnailRemote","login","file","thumbnailData","extractRemoteThumbnailBase64","writeThumbnailFile","e","error","captureException","loadPrinterThumbnailLocal","extractThumbnailBase64","length","thumbnailPath","ensureDirExists","writeFile","rmSync","lines","readRemoteGcodeLines","Error","collecting","currentThumbnailBase64","index","line","startsWith","includes","trim","replace","numberOfLines","fromEnd","endCondition","getScopedPrinter","fileData","getFile","fileSize","size","position","iterationsLeft","bytesToRead","Math","min","gcodeScanningChunkSize","start","end","remoteChunk","getFileChunk","chunkLines","split","concat","endIndex","findIndex","slice","gcodePath","fileStream","createReadStream","rl","createInterface","input","crlfDelay","Infinity","close","Buffer","from"],"mappings":"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"}
|