@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
|
@@ -15,12 +15,10 @@ const _validators = require("../../handlers/validators");
|
|
|
15
15
|
const _floorservicevalidation = require("../validators/floor-service.validation");
|
|
16
16
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
17
17
|
class FloorService extends (0, _baseservice.BaseService)(_entities.Floor, _floordto.FloorDto, _floordto.CreateFloorDto, _floordto.UpdateFloorDto) {
|
|
18
|
+
typeormService;
|
|
18
19
|
floorPositionService;
|
|
19
|
-
constructor(
|
|
20
|
-
super(
|
|
21
|
-
typeormService
|
|
22
|
-
});
|
|
23
|
-
this.floorPositionService = floorPositionService;
|
|
20
|
+
constructor(typeormService, floorPositionService){
|
|
21
|
+
super(typeormService), this.typeormService = typeormService, this.floorPositionService = floorPositionService;
|
|
24
22
|
}
|
|
25
23
|
async list(options) {
|
|
26
24
|
return super.list(Object.assign(options || {}, {
|
|
@@ -29,23 +27,23 @@ class FloorService extends (0, _baseservice.BaseService)(_entities.Floor, _floor
|
|
|
29
27
|
]
|
|
30
28
|
}));
|
|
31
29
|
}
|
|
32
|
-
async get(id,
|
|
33
|
-
return super.get(id,
|
|
30
|
+
async get(id, options) {
|
|
31
|
+
return super.get(id, Object.assign(options || {}, {
|
|
34
32
|
relations: [
|
|
35
33
|
"printers"
|
|
36
34
|
]
|
|
37
35
|
}));
|
|
38
36
|
}
|
|
39
37
|
async create(dto) {
|
|
40
|
-
await (0, _validators.validateInput)(dto, _floorservicevalidation.
|
|
38
|
+
const outcome = await (0, _validators.validateInput)(dto, (0, _floorservicevalidation.createOrUpdateFloorSchema)(true));
|
|
41
39
|
const floor = await super.create({
|
|
42
|
-
name:
|
|
43
|
-
floor:
|
|
40
|
+
name: outcome.name,
|
|
41
|
+
floor: outcome.floor,
|
|
44
42
|
printers: []
|
|
45
43
|
});
|
|
46
|
-
if (
|
|
47
|
-
for (const
|
|
48
|
-
await this.addOrUpdatePrinter(floor.id,
|
|
44
|
+
if (outcome.printers?.length) {
|
|
45
|
+
for (const position of outcome.printers){
|
|
46
|
+
await this.addOrUpdatePrinter(floor.id, position);
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
49
|
return this.get(floor.id);
|
|
@@ -71,58 +69,64 @@ class FloorService extends (0, _baseservice.BaseService)(_entities.Floor, _floor
|
|
|
71
69
|
return await this.get(floor.id);
|
|
72
70
|
}
|
|
73
71
|
async update(floorId, update) {
|
|
74
|
-
const
|
|
72
|
+
const existingFloor = await this.get(floorId);
|
|
75
73
|
const floorUpdate = {
|
|
76
|
-
...
|
|
74
|
+
...existingFloor,
|
|
77
75
|
name: update.name,
|
|
78
76
|
printers: update.printers,
|
|
79
77
|
floor: update.floor
|
|
80
78
|
};
|
|
81
|
-
await (0, _validators.validateInput)(floorUpdate, _floorservicevalidation.
|
|
82
|
-
const desiredPositions =
|
|
79
|
+
const validatedFloor = await (0, _validators.validateInput)(floorUpdate, (0, _floorservicevalidation.createOrUpdateFloorSchema)(true));
|
|
80
|
+
const desiredPositions = validatedFloor.printers;
|
|
83
81
|
if (desiredPositions?.length) {
|
|
84
|
-
for (
|
|
85
|
-
await this.addOrUpdatePrinter(
|
|
82
|
+
for (const printer of desiredPositions){
|
|
83
|
+
await this.addOrUpdatePrinter(existingFloor.id, printer);
|
|
84
|
+
}
|
|
85
|
+
const undesiredPositions = existingFloor.printers.filter((pos)=>!desiredPositions.find((dp)=>dp.printerId === pos.printerId));
|
|
86
|
+
if (undesiredPositions?.length) {
|
|
87
|
+
await this.floorPositionService.deleteMany(undesiredPositions.map((pos)=>pos.id));
|
|
86
88
|
}
|
|
87
|
-
}
|
|
88
|
-
const undesiredPositions = floor.printers.filter((pos)=>!desiredPositions.find((dp)=>dp.printerId === pos.printerId));
|
|
89
|
-
if (undesiredPositions?.length) {
|
|
90
|
-
await this.floorPositionService.deleteMany(undesiredPositions.map((pos)=>pos.id));
|
|
91
89
|
}
|
|
92
90
|
delete floorUpdate.printers;
|
|
93
91
|
return super.update(floorId, floorUpdate);
|
|
94
92
|
}
|
|
95
|
-
async updateName(floorId,
|
|
96
|
-
|
|
93
|
+
async updateName(floorId, floorName) {
|
|
94
|
+
const { name } = await (0, _validators.validateInput)({
|
|
95
|
+
name: floorName
|
|
96
|
+
}, _floorservicevalidation.updateFloorNameSchema);
|
|
97
|
+
const floor = await this.get(floorId);
|
|
97
98
|
floor.name = name;
|
|
98
|
-
|
|
99
|
-
return floor;
|
|
99
|
+
return this.update(floorId, floor);
|
|
100
100
|
}
|
|
101
101
|
async updateLevel(floorId, level) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
const { floor: validLevel } = await (0, _validators.validateInput)({
|
|
103
|
+
floor: level
|
|
104
|
+
}, _floorservicevalidation.updateFloorLevelSchema);
|
|
105
|
+
const floor = await this.get(floorId);
|
|
106
|
+
floor.floor = validLevel;
|
|
107
|
+
return await this.update(floorId, floor);
|
|
106
108
|
}
|
|
107
109
|
async addOrUpdatePrinter(floorId, positionDto) {
|
|
108
|
-
await this.get(floorId
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
await this.get(floorId);
|
|
111
|
+
positionDto.floorId = floorId;
|
|
112
|
+
const validInput = await (0, _validators.validateInput)(positionDto, (0, _floorservicevalidation.printerInFloorSchema)(true));
|
|
113
|
+
const position = await this.floorPositionService.findPrinterPosition(validInput.printerId);
|
|
114
|
+
if (position && position.floorId === floorId && position.x === validInput.x && position.x === validInput.y && position.printerId === validInput.printerId) {
|
|
111
115
|
return this.get(floorId);
|
|
112
116
|
}
|
|
113
117
|
if (position) {
|
|
114
118
|
await this.floorPositionService.delete(position.id);
|
|
115
119
|
}
|
|
116
|
-
const xyPosition = await this.floorPositionService.findPosition(floorId,
|
|
120
|
+
const xyPosition = await this.floorPositionService.findPosition(floorId, validInput.x, validInput.y);
|
|
117
121
|
if (xyPosition) {
|
|
118
122
|
await this.floorPositionService.delete(xyPosition.id);
|
|
119
123
|
}
|
|
120
124
|
const newPosition = new _entities.FloorPosition();
|
|
121
125
|
Object.assign(newPosition, {
|
|
122
|
-
x:
|
|
123
|
-
y:
|
|
124
|
-
printerId:
|
|
125
|
-
floorId
|
|
126
|
+
x: validInput.x,
|
|
127
|
+
y: validInput.y,
|
|
128
|
+
printerId: validInput.printerId,
|
|
129
|
+
floorId
|
|
126
130
|
});
|
|
127
131
|
await this.floorPositionService.create(newPosition);
|
|
128
132
|
return this.get(floorId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/floor.service.ts"],"names":["FloorService","BaseService","Floor","FloorDto","CreateFloorDto","UpdateFloorDto","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/floor.service.ts"],"names":["FloorService","BaseService","Floor","FloorDto","CreateFloorDto","UpdateFloorDto","constructor","typeormService","floorPositionService","list","options","Object","assign","relations","get","id","create","dto","outcome","validateInput","createOrUpdateFloorSchema","floor","name","printers","length","position","addOrUpdatePrinter","toDto","map","p","printerId","floorId","x","y","createDefaultFloor","update","existingFloor","floorUpdate","validatedFloor","desiredPositions","printer","undesiredPositions","filter","pos","find","dp","deleteMany","updateName","floorName","updateFloorNameSchema","updateLevel","level","validLevel","updateFloorLevelSchema","positionDto","validInput","printerInFloorSchema","findPrinterPosition","delete","xyPosition","findPosition","newPosition","FloorPosition","removePrinter","findPrinterPositionOnFloor","NotFoundException","deletePrinterFromAnyFloor","deletePrinterPositionsByPrinterId"],"mappings":"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"}
|
|
@@ -16,10 +16,9 @@ const _authorizationconstants = require("../../constants/authorization.constants
|
|
|
16
16
|
class PermissionService extends (0, _baseservice.BaseService)(_entities.Permission, _permissiondto.PermissionDto) {
|
|
17
17
|
logger;
|
|
18
18
|
_permissions = [];
|
|
19
|
-
constructor(
|
|
20
|
-
super(
|
|
21
|
-
|
|
22
|
-
});
|
|
19
|
+
constructor(loggerFactory, typeormService){
|
|
20
|
+
super(typeormService);
|
|
21
|
+
this.logger = loggerFactory(PermissionService.name);
|
|
23
22
|
}
|
|
24
23
|
get permissions() {
|
|
25
24
|
return this._permissions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/permission.service.ts"],"names":["PermissionService","BaseService","Permission","PermissionDto","logger","_permissions","constructor","loggerFactory","typeormService","permissions","toDto","permission","id","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/permission.service.ts"],"names":["PermissionService","BaseService","Permission","PermissionDto","logger","_permissions","constructor","loggerFactory","typeormService","name","permissions","toDto","permission","id","authorizePermission","requiredPermission","assignedPermissions","find","assignedPermission","normalizePermission","getPermissionByName","permissionName","r","NotFoundException","getPermission","permissionId","syncPermissions","permissionDefinition","flattenPermissionDefinition","storedPermission","repository","findOneBy","newPermission","create","push","permissionInstance","warn"],"mappings":";;;;+BAWaA;;;eAAAA;;;6BATe;0BACD;+BACG;mCACI;wCAIU;AAErC,MAAMA,0BACHC,IAAAA,wBAAW,EAACC,oBAAU,EAAEC,4BAAa;IAG5BC,OAAsB;IAC/BC,eAA6B,EAAE,CAAC;IAExCC,YAAYC,aAA6B,EAAEC,cAA8B,CAAE;QACzE,KAAK,CAACA;QACN,IAAI,CAACJ,MAAM,GAAGG,cAAcP,kBAAkBS,IAAI;IACpD;IAEA,IAAIC,cAAc;QAChB,OAAO,IAAI,CAACL,YAAY;IAC1B;IAEAM,MAAMC,UAAsB,EAA+B;QACzD,OAAO;YACLC,IAAID,WAAWC,EAAE;YACjBJ,MAAMG,WAAWH,IAAI;QACvB;IACF;IAEAK,oBAAoBC,kBAA0B,EAAEC,mBAA6B,EAAW;QACtF,OAAO,CAAC,CAACA,oBAAoBC,IAAI,CAAC,CAACC;YACjC,MAAMC,sBAAsB,IAAI,CAACA,mBAAmB,CAACD;YACrD,IAAI,CAACC,qBAAqB,OAAO;YACjC,OAAOA,wBAAwBJ;QACjC;IACF;IAEA,MAAMK,oBAAoBC,cAAsB,EAAuB;QACrE,MAAMT,aAAa,IAAI,CAACF,WAAW,CAACO,IAAI,CAAC,CAACK,IAAMA,EAAEb,IAAI,KAAKY;QAC3D,IAAI,CAACT,YAAY,MAAM,IAAIW,oCAAiB,CAAC;QAC7C,OAAOX;IACT;IAEA,MAAMY,cAAcC,YAA0B,EAAuB;QACnE,MAAMb,aAAa,IAAI,CAACF,WAAW,CAACO,IAAI,CAAC,CAACK,IAAMA,EAAET,EAAE,KAAKY;QACzD,IAAI,CAACb,YAAY,MAAM,IAAIW,oCAAiB,CAAC,CAAC,sCAAsC,CAAC;QAErF,OAAOX;IACT;IAEA,MAAMc,kBAAiC;QACrC,IAAI,CAACrB,YAAY,GAAG,EAAE;QAEtB,MAAMsB,uBAAuBC,IAAAA,mDAA2B;QACxD,KAAK,IAAIhB,cAAce,qBAAsB;YAC3C,MAAME,mBAAmB,MAAM,IAAI,CAACC,UAAU,CAACC,SAAS,CAAC;gBAAEtB,MAAMG;YAAW;YAC5E,IAAI,CAACiB,kBAAkB;gBACrB,MAAMG,gBAAgB,MAAM,IAAI,CAACC,MAAM,CAAC;oBACtCxB,MAAMG;gBACR;gBACA,IAAI,CAACP,YAAY,CAAC6B,IAAI,CAACF;YACzB,OAAO;gBACL,IAAI,CAAC3B,YAAY,CAAC6B,IAAI,CAACL;YACzB;QACF;IACF;IAEAV,oBAAoBD,kBAAmC,EAAE;QACvD,MAAMiB,qBAAqB,IAAI,CAACzB,WAAW,CAACO,IAAI,CAC9C,CAACK,IAAMA,EAAET,EAAE,KAAKK,sBAAsBI,EAAEb,IAAI,KAAKS;QAEnD,IAAI,CAACiB,oBAAoB;YACvB,IAAI,CAAC/B,MAAM,CAACgC,IAAI,CAAC,CAAC,oDAAoD,CAAC;YACvE;QACF;QACA,OAAOD,mBAAmB1B,IAAI;IAChC;AACF"}
|
|
@@ -17,10 +17,8 @@ const _arrayutil = require("../../utils/array.util");
|
|
|
17
17
|
const _printcompletionshared = require("../mongoose/print-completion.shared");
|
|
18
18
|
class PrintCompletionService extends (0, _baseservice.BaseService)(_entities.PrintCompletion, _printcompletiondto.PrintCompletionDto) {
|
|
19
19
|
logger;
|
|
20
|
-
constructor(
|
|
21
|
-
super(
|
|
22
|
-
typeormService
|
|
23
|
-
});
|
|
20
|
+
constructor(typeormService, loggerFactory){
|
|
21
|
+
super(typeormService);
|
|
24
22
|
this.logger = loggerFactory(PrintCompletionService.name);
|
|
25
23
|
}
|
|
26
24
|
toDto(entity) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/print-completion.service.ts"],"names":["PrintCompletionService","BaseService","PrintCompletion","PrintCompletionDto","logger","constructor","typeormService","loggerFactory","name","toDto","entity","id","completionLog","context","fileName","createdAt","printerReference","status","printerId","create","input","findPrintCompletion","correlationId","completions","repository","findBy","filter","c","updateContext","length","warn","completionEntry","findOneBy","EVENT_TYPES","PrintStarted","update","listGroupByPrinterStatus","limitedCompletions","listPaged","printCompletionsAggr","groupArrayBy","val","toString","Object","entries","map","pc","parseInt","printEvents","processCompletions","loadPrintContexts","find","where","Not","In","PrintDone","PrintFailed","order"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/print-completion.service.ts"],"names":["PrintCompletionService","BaseService","PrintCompletion","PrintCompletionDto","logger","constructor","typeormService","loggerFactory","name","toDto","entity","id","completionLog","context","fileName","createdAt","printerReference","status","printerId","create","input","findPrintCompletion","correlationId","completions","repository","findBy","filter","c","updateContext","length","warn","completionEntry","findOneBy","EVENT_TYPES","PrintStarted","update","listGroupByPrinterStatus","limitedCompletions","listPaged","printCompletionsAggr","groupArrayBy","val","toString","Object","entries","map","pc","parseInt","printEvents","processCompletions","loadPrintContexts","find","where","Not","In","PrintDone","PrintFailed","order"],"mappings":";;;;+BAkBaA;;;eAAAA;;;6BAlBe;0BACI;oCAKzB;yBAGiB;6CACI;2BACC;uCAI2B;AAGjD,MAAMA,+BACHC,IAAAA,wBAAW,EAACC,yBAAe,EAAEC,sCAAkB;IAGtCC,OAAsB;IAEvCC,YAAYC,cAA8B,EAAEC,aAA6B,CAAE;QACzE,KAAK,CAACD;QACN,IAAI,CAACF,MAAM,GAAGG,cAAcP,uBAAuBQ,IAAI;IACzD;IAEAC,MAAMC,MAAuB,EAAoC;QAC/D,OAAO;YACLC,IAAID,OAAOC,EAAE;YACbC,eAAeF,OAAOE,aAAa;YACnCC,SAASH,OAAOG,OAAO;YACvBC,UAAUJ,OAAOI,QAAQ;YACzBC,WAAWL,OAAOK,SAAS;YAC3BC,kBAAkBN,OAAOM,gBAAgB;YACzCC,QAAQP,OAAOO,MAAM;YACrBC,WAAWR,OAAOQ,SAAS;QAC7B;IACF;IAEA,MAAMC,OAAOC,KAA6C,EAAE;QAC1D,OAAO,MAAM,KAAK,CAACD,OAAOC;IAC5B;IAEA,MAAMC,oBAAoBC,aAAqB,EAAE;QAC/C,MAAMC,cAAc,MAAM,IAAI,CAACC,UAAU,CAACC,MAAM,CAAC,CAAC;QAClD,OAAOF,YAAYG,MAAM,CAAC,CAACC,IAAMA,EAAEd,OAAO,EAAES,kBAAkBA;IAChE;IAEA,MAAMM,cAAcN,aAAiC,EAAET,OAA+B,EAAiB;QACrG,IAAI,CAACS,eAAeO,QAAQ;YAC1B,IAAI,CAACzB,MAAM,CAAC0B,IAAI,CAAC;YACjB;QACF;QAEA,MAAMC,kBAAkB,MAAM,IAAI,CAACP,UAAU,CAACQ,SAAS,CAAC;YACtDnB,SAAS;gBAAES;YAAc;YACzBL,QAAQgB,wCAAW,CAACC,YAAY;QAClC;QACA,IAAI,CAACH,iBAAiB;YACpB,IAAI,CAAC3B,MAAM,CAAC0B,IAAI,CACd,CAAC,yBAAyB,EAAER,cAAc,0DAA0D,CAAC;YAEvG;QACF;QACAS,gBAAgBlB,OAAO,GAAGA;QAC1B,MAAM,IAAI,CAACsB,MAAM,CAACJ,gBAAgBpB,EAAE,EAAEoB;IACxC;IAEA,MAAMK,2BAA2D;QAC/D,MAAMC,qBAAqB,MAAM,IAAI,CAACC,SAAS;QAC/C,MAAMC,uBAAuBC,IAAAA,uBAAY,EAACH,oBAAoB,CAACI,MAAQA,IAAIvB,SAAS,CAACwB,QAAQ;QAC7F,MAAMnB,cAAcoB,OAAOC,OAAO,CAACL,sBAAsBM,GAAG,CAAC,CAAC,CAACC,IAAIL,IAAI,GAAM,CAAA;gBAC3EvB,WAAW6B,SAASD;gBACpBE,aAAaP;YACf,CAAA;QACA,OAAOQ,IAAAA,yCAAkB,EAAC1B;IAC5B;IAEA,MAAM2B,oBAAiF;QACrF,MAAM3B,cAAc,MAAM,IAAI,CAACC,UAAU,CAAC2B,IAAI,CAAC;YAC7CC,OAAO;gBACLnC,QAAQoC,IAAAA,YAAG,EAACC,IAAAA,WAAE,EAAC;oBAACrB,wCAAW,CAACsB,SAAS;oBAAEtB,wCAAW,CAACuB,WAAW;iBAAC;YACjE;YACAC,OAAO;gBACLvC,WAAW;gBACXH,WAAW,CAAC;YACd;QACF;QAEA,OAAOyB,IAAAA,uBAAY,EAACjB,aAAa,CAACkB,MAAQA,IAAI9B,EAAE,CAAC+B,QAAQ;IAC3D;AACF"}
|
|
@@ -16,10 +16,8 @@ const _classvalidator = require("class-validator");
|
|
|
16
16
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
17
17
|
class PrinterGroupService extends (0, _baseservice.BaseService)(_printergroupentity.PrinterGroup, _printergroupdto.PrinterGroupDto) {
|
|
18
18
|
groupRepository;
|
|
19
|
-
constructor(
|
|
20
|
-
super(
|
|
21
|
-
typeormService
|
|
22
|
-
});
|
|
19
|
+
constructor(typeormService){
|
|
20
|
+
super(typeormService);
|
|
23
21
|
this.groupRepository = typeormService.getDataSource().getRepository(_groupentity.Group);
|
|
24
22
|
}
|
|
25
23
|
async listGroups() {
|
|
@@ -60,9 +58,6 @@ class PrinterGroupService extends (0, _baseservice.BaseService)(_printergroupent
|
|
|
60
58
|
};
|
|
61
59
|
}
|
|
62
60
|
async createGroup(dto) {
|
|
63
|
-
if (dto.id) {
|
|
64
|
-
delete dto.id;
|
|
65
|
-
}
|
|
66
61
|
await (0, _classvalidator.validate)(dto);
|
|
67
62
|
const entity = this.groupRepository.create(dto);
|
|
68
63
|
await (0, _classvalidator.validate)(entity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/printer-group.service.ts"],"names":["PrinterGroupService","BaseService","PrinterGroup","PrinterGroupDto","groupRepository","constructor","typeormService","getDataSource","getRepository","Group","listGroups","groups","find","groupListing","group","id","name","printers","repository","findBy","groupId","Object","values","getGroup","findOneBy","NotFoundException","getGroupWithPrinters","printerGroups","createGroup","dto","validate","entity","create","save","updateGroupName","updateDto","assign","update","deleteGroup","delete","addPrinterToGroup","printerId","alreadyExisting","removePrinterFromGroup","toDto"],"mappings":";;;;+BAYaA;;;eAAAA;;;6BAZe;oCAEC;iCACmB;6BAG1B;gCAEG;mCACS;AAG3B,MAAMA,4BACHC,IAAAA,wBAAW,EAACC,gCAAY,EAAEC,gCAAe;
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/printer-group.service.ts"],"names":["PrinterGroupService","BaseService","PrinterGroup","PrinterGroupDto","groupRepository","constructor","typeormService","getDataSource","getRepository","Group","listGroups","groups","find","groupListing","group","id","name","printers","repository","findBy","groupId","Object","values","getGroup","findOneBy","NotFoundException","getGroupWithPrinters","printerGroups","createGroup","dto","validate","entity","create","save","updateGroupName","updateDto","assign","update","deleteGroup","delete","addPrinterToGroup","printerId","alreadyExisting","removePrinterFromGroup","toDto"],"mappings":"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"}
|
|
@@ -12,27 +12,16 @@ const _printerdto = require("../interfaces/printer.dto");
|
|
|
12
12
|
const _printerentity = require("../../entities/printer.entity");
|
|
13
13
|
const _baseservice = require("./base.service");
|
|
14
14
|
const _validators = require("../../handlers/validators");
|
|
15
|
-
const _printerservicevalidation = require("../validators/printer-service.validation");
|
|
16
15
|
const _eventconstants = require("../../constants/event.constants");
|
|
17
16
|
const _normalizeurl = require("../../utils/normalize-url");
|
|
18
17
|
const _urlutils = require("../../utils/url.utils");
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const _printerservicevalidation = require("../validators/printer-service.validation");
|
|
19
|
+
class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printer, _printerdto.PrinterDto, _printerdto.CreatePrinterDto) {
|
|
21
20
|
eventEmitter2;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
21
|
+
logger;
|
|
22
|
+
constructor(loggerFactory, typeormService, eventEmitter2){
|
|
23
|
+
super(typeormService), this.eventEmitter2 = eventEmitter2;
|
|
26
24
|
this.logger = loggerFactory(PrinterService.name);
|
|
27
|
-
this.eventEmitter2 = eventEmitter2;
|
|
28
|
-
}
|
|
29
|
-
toUnsafeDto(entity) {
|
|
30
|
-
return {
|
|
31
|
-
...this.toDto(entity),
|
|
32
|
-
apiKey: entity.apiKey,
|
|
33
|
-
printerURL: entity.printerURL,
|
|
34
|
-
printerType: entity.printerType
|
|
35
|
-
};
|
|
36
25
|
}
|
|
37
26
|
toDto(entity) {
|
|
38
27
|
return {
|
|
@@ -40,7 +29,12 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
40
29
|
name: entity.name,
|
|
41
30
|
enabled: entity.enabled,
|
|
42
31
|
disabledReason: entity.disabledReason,
|
|
43
|
-
dateAdded: entity.dateAdded
|
|
32
|
+
dateAdded: entity.dateAdded,
|
|
33
|
+
apiKey: entity.apiKey,
|
|
34
|
+
username: entity.username,
|
|
35
|
+
password: entity.password,
|
|
36
|
+
printerURL: entity.printerURL,
|
|
37
|
+
printerType: entity.printerType
|
|
44
38
|
};
|
|
45
39
|
}
|
|
46
40
|
async list() {
|
|
@@ -51,9 +45,6 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
51
45
|
});
|
|
52
46
|
}
|
|
53
47
|
async create(newPrinter, emitEvent = true) {
|
|
54
|
-
if (newPrinter.id) {
|
|
55
|
-
delete newPrinter.id;
|
|
56
|
-
}
|
|
57
48
|
const mergedPrinter = await this.validateAndDefault(newPrinter);
|
|
58
49
|
mergedPrinter.dateAdded = Date.now();
|
|
59
50
|
const printer = await super.create(mergedPrinter);
|
|
@@ -72,23 +63,24 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
72
63
|
});
|
|
73
64
|
}
|
|
74
65
|
Object.assign(printer, partial);
|
|
75
|
-
const { printerURL, apiKey, enabled, name, printerType } = await (0, _validators.validateInput)(printer, _printerservicevalidation.
|
|
66
|
+
const { printerURL, apiKey, enabled, name, printerType, password, username } = await (0, _validators.validateInput)(printer, _printerservicevalidation.createPrinterSchema);
|
|
76
67
|
const updatedPrinter = await super.update(printerId, {
|
|
77
68
|
printerURL,
|
|
78
69
|
name,
|
|
79
70
|
apiKey,
|
|
80
71
|
enabled,
|
|
81
|
-
printerType
|
|
72
|
+
printerType,
|
|
73
|
+
password,
|
|
74
|
+
username
|
|
82
75
|
});
|
|
83
76
|
this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
|
|
84
|
-
printer
|
|
85
|
-
updatedPrinter
|
|
77
|
+
printer
|
|
86
78
|
});
|
|
87
79
|
return updatedPrinter;
|
|
88
80
|
}
|
|
89
81
|
async batchImport(printers) {
|
|
90
82
|
if (!printers?.length) return [];
|
|
91
|
-
this.logger.log("
|
|
83
|
+
this.logger.log("Validation passed");
|
|
92
84
|
for (let printer of printers){
|
|
93
85
|
await this.validateAndDefault(printer);
|
|
94
86
|
}
|
|
@@ -104,31 +96,24 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
104
96
|
return newPrinters;
|
|
105
97
|
}
|
|
106
98
|
async delete(printerId, emitEvent = true) {
|
|
107
|
-
|
|
99
|
+
await this.repository.delete([
|
|
108
100
|
printerId
|
|
109
101
|
]);
|
|
110
102
|
if (emitEvent) {
|
|
111
103
|
this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
|
|
112
104
|
printerIds: [
|
|
113
|
-
|
|
114
|
-
printerId
|
|
115
|
-
]
|
|
105
|
+
printerId
|
|
116
106
|
]
|
|
117
107
|
});
|
|
118
108
|
}
|
|
119
|
-
return result;
|
|
120
109
|
}
|
|
121
110
|
async deleteMany(printerIds, emitEvent = true) {
|
|
122
|
-
|
|
111
|
+
await this.repository.delete(printerIds);
|
|
123
112
|
if (emitEvent) {
|
|
124
113
|
this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
|
|
125
114
|
printerIds
|
|
126
115
|
});
|
|
127
116
|
}
|
|
128
|
-
return result;
|
|
129
|
-
}
|
|
130
|
-
updateConnectionSettings(printerId, partial) {
|
|
131
|
-
return this.update(printerId, partial);
|
|
132
117
|
}
|
|
133
118
|
updateDisabledReason(printerId, disabledReason) {
|
|
134
119
|
return this.update(printerId, {
|
|
@@ -160,7 +145,7 @@ class PrinterService extends (0, _baseservice.BaseService)(_printerentity.Printe
|
|
|
160
145
|
defaultProtocol: _urlutils.defaultHttpProtocol
|
|
161
146
|
});
|
|
162
147
|
}
|
|
163
|
-
return await (0, _validators.validateInput)(mergedPrinter, _printerservicevalidation.
|
|
148
|
+
return await (0, _validators.validateInput)(mergedPrinter, _printerservicevalidation.createPrinterSchema);
|
|
164
149
|
}
|
|
165
150
|
}
|
|
166
151
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/printer.service.ts"],"names":["PrinterService","BaseService","Printer","PrinterDto","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/printer.service.ts"],"names":["PrinterService","BaseService","Printer","PrinterDto","CreatePrinterDto","logger","constructor","loggerFactory","typeormService","eventEmitter2","name","toDto","entity","id","enabled","disabledReason","dateAdded","apiKey","username","password","printerURL","printerType","list","repository","find","order","create","newPrinter","emitEvent","mergedPrinter","validateAndDefault","Date","now","printer","emit","printerEvents","printerCreated","update","printerId","partial","get","normalizeUrl","defaultProtocol","defaultHttpProtocol","Object","assign","validateInput","createPrinterSchema","updatedPrinter","printerUpdated","batchImport","printers","length","log","newPrinters","createdPrinter","push","batchPrinterCreated","delete","printersDeleted","printerIds","deleteMany","updateDisabledReason","updateEnabled","updateFeedRate","feedRate","updateFlowRate","flowRate"],"mappings":"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"}
|
|
@@ -19,11 +19,8 @@ const _authorizationconstants = require("../../constants/authorization.constants
|
|
|
19
19
|
class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.RefreshToken, _refreshtokendto.RefreshTokenDto) {
|
|
20
20
|
settingsStore;
|
|
21
21
|
logger;
|
|
22
|
-
constructor(
|
|
23
|
-
super(
|
|
24
|
-
typeormService
|
|
25
|
-
});
|
|
26
|
-
this.settingsStore = settingsStore;
|
|
22
|
+
constructor(settingsStore, loggerFactory, typeormService){
|
|
23
|
+
super(typeormService), this.settingsStore = settingsStore;
|
|
27
24
|
this.logger = loggerFactory(RefreshTokenService.name);
|
|
28
25
|
}
|
|
29
26
|
toDto(entity) {
|
|
@@ -34,15 +31,12 @@ class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.Refres
|
|
|
34
31
|
refreshAttemptsUsed: entity.refreshAttemptsUsed
|
|
35
32
|
};
|
|
36
33
|
}
|
|
37
|
-
async getRefreshToken(refreshToken
|
|
34
|
+
async getRefreshToken(refreshToken) {
|
|
38
35
|
const entity = await this.repository.findOneBy({
|
|
39
36
|
refreshToken
|
|
40
37
|
});
|
|
41
38
|
if (!entity) {
|
|
42
|
-
|
|
43
|
-
throw new _runtimeexceptions.AuthenticationError(`The entity ${_entities.RefreshToken.name} by provided refresh token is not found`, _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
39
|
+
throw new _runtimeexceptions.AuthenticationError(`The entity ${_entities.RefreshToken.name} by provided refresh token is not found`, _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
|
|
46
40
|
}
|
|
47
41
|
return entity;
|
|
48
42
|
}
|
|
@@ -62,7 +56,7 @@ class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.Refres
|
|
|
62
56
|
return refreshToken;
|
|
63
57
|
}
|
|
64
58
|
async updateRefreshTokenAttempts(refreshToken, refreshAttemptsUsed) {
|
|
65
|
-
await this.getRefreshToken(refreshToken
|
|
59
|
+
await this.getRefreshToken(refreshToken);
|
|
66
60
|
await this.repository.update({
|
|
67
61
|
refreshToken
|
|
68
62
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/refresh-token.service.ts"],"names":["RefreshTokenService","BaseService","RefreshToken","RefreshTokenDto","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/refresh-token.service.ts"],"names":["RefreshTokenService","BaseService","RefreshToken","RefreshTokenDto","logger","constructor","settingsStore","loggerFactory","typeormService","name","toDto","entity","id","userId","expiresAt","refreshAttemptsUsed","getRefreshToken","refreshToken","repository","findOneBy","AuthenticationError","AUTH_ERROR_REASON","InvalidOrExpiredRefreshToken","createRefreshTokenForUserId","refreshTokenExpiry","getCredentialSettings","uuidv4","timespan","AppConstants","DEFAULT_REFRESH_TOKEN_EXPIRY","warn","create","Date","now","updateRefreshTokenAttempts","update","purgeAllOutdatedRefreshTokens","result","delete","LessThan","affected","debug","deleteRefreshTokenByUserId","deleteRefreshToken","purgeOutdatedRefreshTokensByUserId"],"mappings":"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"}
|
|
@@ -15,20 +15,15 @@ const _lodash = require("lodash");
|
|
|
15
15
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
16
16
|
const _authorizationconstants = require("../../constants/authorization.constants");
|
|
17
17
|
class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto.RoleDto) {
|
|
18
|
-
settingsStore;
|
|
19
18
|
appDefaultRole;
|
|
20
19
|
appDefaultRoleNoLogin;
|
|
20
|
+
settingsStore;
|
|
21
21
|
logger;
|
|
22
|
-
constructor(
|
|
23
|
-
super(
|
|
24
|
-
typeormService
|
|
25
|
-
});
|
|
22
|
+
constructor(typeormService, loggerFactory, appDefaultRole, appDefaultRoleNoLogin, settingsStore){
|
|
23
|
+
super(typeormService), this.appDefaultRole = appDefaultRole, this.appDefaultRoleNoLogin = appDefaultRoleNoLogin, this.settingsStore = settingsStore, this._roles = [];
|
|
26
24
|
this.logger = loggerFactory(RoleService.name);
|
|
27
|
-
this.settingsStore = settingsStore;
|
|
28
|
-
this.appDefaultRole = appDefaultRole;
|
|
29
|
-
this.appDefaultRoleNoLogin = appDefaultRoleNoLogin;
|
|
30
25
|
}
|
|
31
|
-
_roles
|
|
26
|
+
_roles;
|
|
32
27
|
get roles() {
|
|
33
28
|
return this._roles;
|
|
34
29
|
}
|
|
@@ -93,7 +88,13 @@ class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto
|
|
|
93
88
|
return role;
|
|
94
89
|
}
|
|
95
90
|
getRolePermissions(role) {
|
|
91
|
+
if (!role || !role?.length) {
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
96
94
|
const normalizedRole = this.normalizeRoleIdOrName(role);
|
|
95
|
+
if (!normalizedRole?.length) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
97
98
|
return _authorizationconstants.ROLE_PERMS[normalizedRole];
|
|
98
99
|
}
|
|
99
100
|
async getSynchronizedRoleByName(roleName) {
|
|
@@ -121,7 +122,7 @@ class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto
|
|
|
121
122
|
normalizeRoleIdOrName(assignedRole) {
|
|
122
123
|
const roleInstance = this.roles.find((r)=>r.id === assignedRole || r.name === assignedRole);
|
|
123
124
|
if (!roleInstance) {
|
|
124
|
-
|
|
125
|
+
this.logger.warn(`The role by provided id was not found. Skipping.`);
|
|
125
126
|
return;
|
|
126
127
|
}
|
|
127
128
|
return roleInstance.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/role.service.ts"],"names":["RoleService","BaseService","Role","RoleDto","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/role.service.ts"],"names":["RoleService","BaseService","Role","RoleDto","logger","constructor","typeormService","loggerFactory","appDefaultRole","appDefaultRoleNoLogin","settingsStore","_roles","name","roles","getAppDefaultRole","getLoginRequired","getAppDefaultRoleIds","length","syncRoles","guestRole","getRoleByName","id","toDto","role","getRolesPermissions","permissions","normalizedRole","normalizeRoleIdOrName","rolePermissions","getRolePermissions","union","authorizeRoles","requiredRoles","assignedRoles","subset","isAuthorized","forEach","rr","result","authorizeRole","requiredRole","find","ar","getManyRoles","roleIds","map","roleId","getRole","r","NotFoundException","roleName","ROLE_PERMS","getSynchronizedRoleByName","Object","values","ROLES","storedRole","repository","findOneBy","newRole","create","push","assignedRole","roleInstance","warn"],"mappings":"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"}
|