@fdm-monster/server 2.0.10 → 2.0.11
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/.claude/CLAUDE.md +76 -0
- package/.vite-hooks/pre-commit +1 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-4.13.0.cjs +940 -0
- package/.yarnrc.yml +1 -1
- package/README.md +1 -1
- package/RELEASE_NOTES.MD +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js +6 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/_virtual/_virtual_controllers.js +43 -0
- package/dist/consoles/typeorm-create.js +51 -112
- package/dist/consoles/typeorm-create.js.map +1 -1
- package/dist/consoles/typeorm-generate.js +99 -165
- package/dist/consoles/typeorm-generate.js.map +1 -1
- package/dist/consoles/typeorm-migrate.js +35 -43
- package/dist/consoles/typeorm-migrate.js.map +1 -1
- package/dist/constants/authorization.constants.js +75 -97
- package/dist/constants/authorization.constants.js.map +1 -1
- package/dist/constants/event.constants.js +11 -41
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/http-status-codes.constants.js +319 -71
- package/dist/constants/http-status-codes.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +45 -87
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/constants/service.constants.js +3 -21
- package/dist/constants/service.constants.js.map +1 -1
- package/dist/container.js +167 -181
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +78 -85
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +156 -225
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/batch-call.controller.js +79 -116
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/camera-stream.controller.js +74 -119
- package/dist/controllers/camera-stream.controller.js.map +1 -1
- package/dist/controllers/dto/update-client-dist.dto.js +8 -15
- package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +251 -312
- package/dist/controllers/file-storage.controller.js.map +1 -1
- package/dist/controllers/first-time-setup.controller.js +83 -135
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +111 -175
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js +27 -53
- package/dist/controllers/metrics.controller.js.map +1 -1
- package/dist/controllers/print-job.controller.js +366 -451
- package/dist/controllers/print-job.controller.js.map +1 -1
- package/dist/controllers/print-queue.controller.js +329 -427
- package/dist/controllers/print-queue.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +244 -305
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer-maintenance-log.controller.js +109 -165
- package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
- package/dist/controllers/printer-settings.controller.js +50 -81
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/printer-tag.controller.js +104 -166
- package/dist/controllers/printer-tag.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +352 -469
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +182 -239
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +104 -158
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +229 -364
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/slicer-compat.controller.js +179 -206
- package/dist/controllers/slicer-compat.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +226 -348
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/auth-controller.validation.js +5 -14
- package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js +13 -35
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +6 -23
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
- package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-controller.validation.js +16 -48
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
- package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
- package/dist/controllers/validation/server-private.validation.js +7 -14
- package/dist/controllers/validation/server-private.validation.js.map +1 -1
- package/dist/controllers/validation/setting.validation.js +12 -34
- package/dist/controllers/validation/setting.validation.js.map +1 -1
- package/dist/controllers/validation/user-controller.validation.js +27 -65
- package/dist/controllers/validation/user-controller.validation.js.map +1 -1
- package/dist/data-source.js +74 -79
- package/dist/data-source.js.map +1 -1
- package/dist/entities/camera-stream.entity.js +49 -91
- package/dist/entities/camera-stream.entity.js.map +1 -1
- package/dist/entities/floor-position.entity.js +38 -75
- package/dist/entities/floor-position.entity.js.map +1 -1
- package/dist/entities/floor.entity.js +18 -48
- package/dist/entities/floor.entity.js.map +1 -1
- package/dist/entities/index.js +14 -66
- package/dist/entities/print-job.entity.js +114 -196
- package/dist/entities/print-job.entity.js.map +1 -1
- package/dist/entities/printer-maintenance-log.entity.js +61 -140
- package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
- package/dist/entities/printer-tag.entity.js +33 -66
- package/dist/entities/printer-tag.entity.js.map +1 -1
- package/dist/entities/printer.entity.js +67 -124
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/refresh-token.entity.js +31 -66
- package/dist/entities/refresh-token.entity.js.map +1 -1
- package/dist/entities/role.entity.js +16 -45
- package/dist/entities/role.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +38 -77
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/entities/tag.entity.js +19 -43
- package/dist/entities/tag.entity.js.map +1 -1
- package/dist/entities/user-role.entity.js +30 -67
- package/dist/entities/user-role.entity.js.map +1 -1
- package/dist/entities/user.entity.js +32 -87
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/exceptions/failed-dependency.exception.js +11 -18
- package/dist/exceptions/failed-dependency.exception.js.map +1 -1
- package/dist/exceptions/job.exceptions.js +9 -16
- package/dist/exceptions/job.exceptions.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js +82 -121
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/handlers/event-emitter.js +13 -20
- package/dist/handlers/event-emitter.js.map +1 -1
- package/dist/handlers/logger-factory.js +7 -14
- package/dist/handlers/logger-factory.js.map +1 -1
- package/dist/handlers/logger.js +26 -36
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js +17 -31
- package/dist/handlers/logging/file-logging.transport.js.map +1 -1
- package/dist/handlers/logging/loki-logging.transport.js +34 -50
- package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
- package/dist/handlers/logging/static.logger.js +83 -124
- package/dist/handlers/logging/static.logger.js.map +1 -1
- package/dist/handlers/validators.js +8 -25
- package/dist/handlers/validators.js.map +1 -1
- package/dist/index.js +23 -26
- package/dist/index.js.map +1 -1
- package/dist/middleware/authenticate.js +26 -69
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/database.js +16 -22
- package/dist/middleware/database.js.map +1 -1
- package/dist/middleware/demo.middleware.js +19 -27
- package/dist/middleware/demo.middleware.js.map +1 -1
- package/dist/middleware/exception.filter.js +109 -133
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +28 -47
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/middleware/param-converter.middleware.js +31 -69
- package/dist/middleware/param-converter.middleware.js.map +1 -1
- package/dist/middleware/passport.js +38 -64
- package/dist/middleware/passport.js.map +1 -1
- package/dist/middleware/printer-resolver.js +26 -33
- package/dist/middleware/printer-resolver.js.map +1 -1
- package/dist/middleware/printer.js +56 -94
- package/dist/middleware/printer.js.map +1 -1
- package/dist/middleware/slicer-api-key.middleware.js +23 -26
- package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
- package/dist/middleware/socketio.middleware.js +21 -32
- package/dist/middleware/socketio.middleware.js.map +1 -1
- package/dist/migrations/1706829146617-InitSqlite.js +84 -91
- package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
- package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
- package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
- package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
- package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
- package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
- package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
- package/dist/migrations/1766576698569-DropPermissions.js +11 -18
- package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
- package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
- package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
- package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
- package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
- package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
- package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
- package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
- package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
- package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
- package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
- package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
- package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
- package/dist/plugins/controllers-plugin.js +21 -0
- package/dist/plugins/controllers-plugin.js.map +1 -0
- package/dist/server.constants.js +79 -91
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +56 -122
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +56 -121
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +66 -99
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js +103 -126
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js +23 -32
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
- package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
- package/dist/services/bambu/bambu.client.js +64 -65
- package/dist/services/bambu/bambu.client.js.map +1 -1
- package/dist/services/bambu/mqtt-message.types.js +1 -6
- package/dist/services/bambu.api.js +230 -247
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/core/batch-call.service.js +139 -163
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +126 -165
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/config.service.js +16 -26
- package/dist/services/core/config.service.js.map +1 -1
- package/dist/services/core/cradle.service.js +11 -19
- package/dist/services/core/cradle.service.js.map +1 -1
- package/dist/services/core/github.service.js +59 -79
- package/dist/services/core/github.service.js.map +1 -1
- package/dist/services/core/http-client.factory.js +30 -38
- package/dist/services/core/http-client.factory.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +61 -84
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/monsterpi.service.js +26 -36
- package/dist/services/core/monsterpi.service.js.map +1 -1
- package/dist/services/core/multer.service.js +69 -129
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/server-release.service.js +77 -99
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +443 -573
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/file-analysis.service.js +134 -144
- package/dist/services/file-analysis.service.js.map +1 -1
- package/dist/services/file-storage.service.js +324 -423
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/interfaces/auth.service.interface.js +1 -6
- package/dist/services/interfaces/camera-stream.dto.js +23 -41
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
- package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
- package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
- package/dist/services/interfaces/floor.dto.js +31 -55
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/floor.service.interface.js +1 -6
- package/dist/services/interfaces/jwt.service.interface.js +1 -6
- package/dist/services/interfaces/login.dto.js +10 -17
- package/dist/services/interfaces/login.dto.js.map +1 -1
- package/dist/services/interfaces/page.interface.js +5 -12
- package/dist/services/interfaces/page.interface.js.map +1 -1
- package/dist/services/interfaces/permission.service.interface.js +1 -6
- package/dist/services/interfaces/printer-file.dto.js +1 -6
- package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
- package/dist/services/interfaces/printer-tag.dto.js +11 -26
- package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
- package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
- package/dist/services/interfaces/printer.dto.js +21 -36
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/interfaces/printer.service.interface.js +1 -6
- package/dist/services/interfaces/refresh-token.dto.js +9 -16
- package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
- package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
- package/dist/services/interfaces/role-service.interface.js +1 -6
- package/dist/services/interfaces/role.dto.js +7 -14
- package/dist/services/interfaces/role.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js +10 -17
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/settings.service.interface.js +1 -6
- package/dist/services/interfaces/tag.dto.js +1 -6
- package/dist/services/interfaces/task.interfaces.js +1 -6
- package/dist/services/interfaces/user-role.dto.js +9 -16
- package/dist/services/interfaces/user-role.dto.js.map +1 -1
- package/dist/services/interfaces/user-service.interface.js +1 -6
- package/dist/services/interfaces/user.dto.js +22 -37
- package/dist/services/interfaces/user.dto.js.map +1 -1
- package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
- package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
- package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
- package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
- package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
- package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
- package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
- package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
- package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
- package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
- package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
- package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
- package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
- package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
- package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
- package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
- package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
- package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
- package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
- package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
- package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
- package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
- package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
- package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
- package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
- package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
- package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
- package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
- package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
- package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
- package/dist/services/moonraker/dto/websocket/methods.js +29 -44
- package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
- package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
- package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
- package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +536 -559
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +167 -192
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
- package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
- package/dist/services/octoprint/dto/access/user.dto.js +1 -6
- package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
- package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
- package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
- package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
- package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
- package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
- package/dist/services/octoprint/dto/events/home.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
- package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
- package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
- package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
- package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
- package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
- package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
- package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
- package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
- package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
- package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
- package/dist/services/octoprint/dto/job/job.dto.js +1 -6
- package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
- package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
- package/dist/services/octoprint/dto/server/server.dto.js +1 -6
- package/dist/services/octoprint/dto/server/version.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
- package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
- package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
- package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
- package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
- package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
- package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
- package/dist/services/octoprint/octoprint-api.routes.js +77 -94
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +220 -261
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/api.utils.js +15 -32
- package/dist/services/octoprint/utils/api.utils.js.map +1 -1
- package/dist/services/octoprint/utils/file.utils.js +44 -67
- package/dist/services/octoprint/utils/file.utils.js.map +1 -1
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
- package/dist/services/octoprint.api.js +113 -128
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/base.interface.js +1 -6
- package/dist/services/orm/base.service.js +57 -73
- package/dist/services/orm/base.service.js.map +1 -1
- package/dist/services/orm/camera-stream.service.js +21 -27
- package/dist/services/orm/camera-stream.service.js.map +1 -1
- package/dist/services/orm/floor-position.service.js +42 -49
- package/dist/services/orm/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +110 -138
- package/dist/services/orm/floor.service.js.map +1 -1
- package/dist/services/orm/permission.service.js +16 -23
- package/dist/services/orm/permission.service.js.map +1 -1
- package/dist/services/orm/print-job.service.js +443 -545
- package/dist/services/orm/print-job.service.js.map +1 -1
- package/dist/services/orm/printer-maintenance-log.service.js +102 -149
- package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
- package/dist/services/orm/printer-tag.service.js +93 -118
- package/dist/services/orm/printer-tag.service.js.map +1 -1
- package/dist/services/orm/printer.service.js +110 -158
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/orm/refresh-token.service.js +69 -99
- package/dist/services/orm/refresh-token.service.js.map +1 -1
- package/dist/services/orm/role.service.js +99 -116
- package/dist/services/orm/role.service.js.map +1 -1
- package/dist/services/orm/settings.service.js +84 -94
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/orm/user-role.service.js +39 -53
- package/dist/services/orm/user-role.service.js.map +1 -1
- package/dist/services/orm/user.service.js +142 -189
- package/dist/services/orm/user.service.js.map +1 -1
- package/dist/services/print-file-downloader.service.js +153 -167
- package/dist/services/print-file-downloader.service.js.map +1 -1
- package/dist/services/print-queue.service.js +240 -326
- package/dist/services/print-queue.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +26 -43
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js +23 -53
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
- package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
- package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
- package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
- package/dist/services/prusa-link/dto/file.dto.js +1 -6
- package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
- package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
- package/dist/services/prusa-link/dto/status.dto.js +1 -6
- package/dist/services/prusa-link/dto/version.dto.js +1 -6
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +206 -240
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
- package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
- package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
- package/dist/services/socket.factory.js +21 -36
- package/dist/services/socket.factory.js.map +1 -1
- package/dist/services/task-manager.service.js +190 -174
- package/dist/services/task-manager.service.js.map +1 -1
- package/dist/services/typeorm/typeorm.service.js +31 -46
- package/dist/services/typeorm/typeorm.service.js.map +1 -1
- package/dist/services/validators/floor-service.validation.js +26 -63
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/print-job.validation.js +11 -26
- package/dist/services/validators/print-job.validation.js.map +1 -1
- package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
- package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
- package/dist/services/validators/printer-service.validation.js +60 -125
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +46 -106
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/services/validators/user-service.validation.js +19 -36
- package/dist/services/validators/user-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +96 -132
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/services/websocket-adapter.interface.js +1 -6
- package/dist/shared/default-http-client.builder.js +74 -92
- package/dist/shared/default-http-client.builder.js.map +1 -1
- package/dist/shared/dtos/api-state.type.js +8 -15
- package/dist/shared/dtos/api-state.type.js.map +1 -1
- package/dist/shared/dtos/socket-login.dto.js +1 -6
- package/dist/shared/dtos/socket-state.type.js +11 -18
- package/dist/shared/dtos/socket-state.type.js.map +1 -1
- package/dist/shared/load-controllers.js +41 -19
- package/dist/shared/load-controllers.js.map +1 -1
- package/dist/shared/runtime-settings.migration.js +43 -50
- package/dist/shared/runtime-settings.migration.js.map +1 -1
- package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
- package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
- package/dist/shared/websocket.adapter.js +78 -63
- package/dist/shared/websocket.adapter.js.map +1 -1
- package/dist/state/file-upload-tracker.cache.js +63 -75
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/floor.store.js +77 -89
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +237 -295
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-socket.store.js +156 -174
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer-thumbnail.cache.js +129 -130
- package/dist/state/printer-thumbnail.cache.js.map +1 -1
- package/dist/state/printer.cache.js +87 -102
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +211 -234
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +58 -87
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +116 -137
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/state/validation/create-test-printer.validation.js +14 -21
- package/dist/state/validation/create-test-printer.validation.js.map +1 -1
- package/dist/task.presets.js +30 -37
- package/dist/task.presets.js.map +1 -1
- package/dist/tasks/boot.task.js +100 -128
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/client-bundle.task.js +20 -28
- package/dist/tasks/client-bundle.task.js.map +1 -1
- package/dist/tasks/print-job-analysis.task.js +88 -113
- package/dist/tasks/print-job-analysis.task.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +41 -54
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks/printer-websocket.task.js +11 -19
- package/dist/tasks/printer-websocket.task.js.map +1 -1
- package/dist/tasks/socketio.task.js +35 -53
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks/software-update.task.js +12 -20
- package/dist/tasks/software-update.task.js.map +1 -1
- package/dist/tasks.js +27 -41
- package/dist/tasks.js.map +1 -1
- package/dist/types/express/index.d.js +1 -6
- package/dist/types/virtual-modules.d.js +1 -0
- package/dist/utils/array.util.js +9 -24
- package/dist/utils/array.util.js.map +1 -1
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
- package/dist/utils/bgcode/bgcode.constants.js +9 -45
- package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
- package/dist/utils/bgcode/bgcode.types.js +57 -106
- package/dist/utils/bgcode/bgcode.types.js.map +1 -1
- package/dist/utils/bgcode/bgcode.utils.js +167 -256
- package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
- package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
- package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
- package/dist/utils/bgcode/png-encoder.js +53 -66
- package/dist/utils/bgcode/png-encoder.js.map +1 -1
- package/dist/utils/bgcode/qoi-decoder.js +116 -135
- package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js +56 -85
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/dist/utils/correlation-token.util.js +4 -11
- package/dist/utils/correlation-token.util.js.map +1 -1
- package/dist/utils/crypto.utils.js +7 -23
- package/dist/utils/crypto.utils.js.map +1 -1
- package/dist/utils/env.utils.js +14 -49
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/error.utils.js +4 -11
- package/dist/utils/error.utils.js.map +1 -1
- package/dist/utils/fs.utils.js +26 -49
- package/dist/utils/fs.utils.js.map +1 -1
- package/dist/utils/gcode.utils.js +30 -43
- package/dist/utils/gcode.utils.js.map +1 -1
- package/dist/utils/image-dimensions.js +39 -54
- package/dist/utils/image-dimensions.js.map +1 -1
- package/dist/utils/job-stats.util.js +41 -72
- package/dist/utils/job-stats.util.js.map +1 -1
- package/dist/utils/normalize-url.js +135 -203
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/parsers/3mf.parser.js +298 -365
- package/dist/utils/parsers/3mf.parser.js.map +1 -1
- package/dist/utils/parsers/bgcode.parser.js +149 -202
- package/dist/utils/parsers/bgcode.parser.js.map +1 -1
- package/dist/utils/parsers/gcode.parser.js +200 -263
- package/dist/utils/parsers/gcode.parser.js.map +1 -1
- package/dist/utils/parsers/parser.types.js +1 -6
- package/dist/utils/pretty-print.utils.js +5 -20
- package/dist/utils/pretty-print.utils.js.map +1 -1
- package/dist/utils/semver.utils.js +10 -26
- package/dist/utils/semver.utils.js.map +1 -1
- package/dist/utils/swagger/decorators.js +14 -32
- package/dist/utils/swagger/decorators.js.map +1 -1
- package/dist/utils/swagger/generator.js +151 -194
- package/dist/utils/swagger/generator.js.map +1 -1
- package/dist/utils/swagger/swagger.js +40 -51
- package/dist/utils/swagger/swagger.js.map +1 -1
- package/dist/utils/thumbnail.util.js +11 -20
- package/dist/utils/thumbnail.util.js.map +1 -1
- package/dist/utils/time.utils.js +4 -12
- package/dist/utils/time.utils.js.map +1 -1
- package/dist/utils/url.utils.js +9 -27
- package/dist/utils/url.utils.js.map +1 -1
- package/package.json +79 -90
- package/packages/consoles/package.json +44 -0
- package/packages/consoles/tsconfig.json +23 -0
- package/packages/consoles/vite.config.ts +15 -0
- package/tsconfig.json +10 -6
- package/vite.config.ts +62 -0
- package/.swcrc +0 -33
- package/.yarn/releases/yarn-4.12.0.cjs +0 -942
- package/biome.json +0 -36
- package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
- package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
- package/dist/consoles/download-github-releases.js +0 -50
- package/dist/consoles/download-github-releases.js.map +0 -1
- package/dist/consoles/gcode-scanner-poc.console.js +0 -52
- package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
- package/dist/consoles/launch-http-servers.js +0 -31
- package/dist/consoles/launch-http-servers.js.map +0 -1
- package/dist/consoles/mock-bambu.server.js +0 -319
- package/dist/consoles/mock-bambu.server.js.map +0 -1
- package/dist/consoles/mock-camera/default-image.js +0 -13
- package/dist/consoles/mock-camera/default-image.js.map +0 -1
- package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
- package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
- package/dist/consoles/mock-octoprint.server.js +0 -499
- package/dist/consoles/mock-octoprint.server.js.map +0 -1
- package/dist/consoles/mock-prusalink.server.js +0 -57
- package/dist/consoles/mock-prusalink.server.js.map +0 -1
- package/dist/consoles/moonraker-test.console.js +0 -3
- package/dist/consoles/moonraker-test.console.js.map +0 -1
- package/dist/consoles/utils/api-messages.js +0 -856
- package/dist/consoles/utils/api-messages.js.map +0 -1
- package/dist/consoles/utils/delayed-memory.storage.js +0 -42
- package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
- package/dist/consoles/utils/ws-messages.js +0 -88
- package/dist/consoles/utils/ws-messages.js.map +0 -1
- package/dist/entities/index.js.map +0 -1
- package/dist/services/bambu/mqtt-message.types.js.map +0 -1
- package/dist/services/interfaces/auth.service.interface.js.map +0 -1
- package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
- package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
- package/dist/services/interfaces/floor.service.interface.js.map +0 -1
- package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
- package/dist/services/interfaces/permission.service.interface.js.map +0 -1
- package/dist/services/interfaces/printer-file.dto.js.map +0 -1
- package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
- package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
- package/dist/services/interfaces/printer.service.interface.js.map +0 -1
- package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
- package/dist/services/interfaces/role-service.interface.js.map +0 -1
- package/dist/services/interfaces/settings.service.interface.js.map +0 -1
- package/dist/services/interfaces/tag.dto.js.map +0 -1
- package/dist/services/interfaces/task.interfaces.js.map +0 -1
- package/dist/services/interfaces/user-service.interface.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
- package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
- package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
- package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
- package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
- package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
- package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
- package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
- package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
- package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
- package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
- package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
- package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
- package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
- package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
- package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
- package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
- package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
- package/dist/services/orm/base.interface.js.map +0 -1
- package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
- package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
- package/dist/services/websocket-adapter.interface.js.map +0 -1
- package/dist/shared/dtos/socket-login.dto.js.map +0 -1
- package/dist/types/express/index.d.js.map +0 -1
- package/dist/utils/parsers/parser.types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/file-storage.controller.ts"],"names":["FileStorageController","logger","loggerFactory","fileStorageService","multerService","fileAnalysisService","name","listFiles","req","res","files","listAllFiles","send","map","file","thumbnails","metadata","_thumbnails","thumb","index","width","height","format","size","fileStorageId","fileName","fileFormat","fileSize","fileHash","createdAt","totalCount","length","error","status","getFileMetadata","params","getFileInfo","deleteFile","log","message","analyzeFile","filePath","getFilePath","fileExists","existingMetadata","loadMetadata","analysisResult","totalLayers","gcodePrintTimeSeconds","calculateFileHash","originalFileName","_originalFileName","thumbnailMetadata","saveThumbnails","saveMetadata","thumbnailCount","getThumbnailByIndex","thumbnailIndex","Number","parseInt","isNaN","thumbnail","getThumbnail","isJPG","isQOI","mimeType","base64","toString","thumbnailBase64","uploadFile","acceptedExtensions","multerLoadFileAsync","BadRequestException","validateUniqueFilename","originalname","ext","extname","tempPathWithExt","path","copyFileSync","saveFile","existsSync","unlinkSync","AppConstants","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-storage.controller.js","names":[],"sources":["../../src/controllers/file-storage.controller.ts"],"sourcesContent":["import { before, DELETE, GET, POST, route } from \"awilix-express\";\nimport { AppConstants } from \"@/server.constants\";\nimport type { Request, Response } from \"express\";\nimport { authorizeRoles, authenticate } from \"@/middleware/authenticate\";\nimport { ROLES } from \"@/constants/authorization.constants\";\nimport { FileStorageService } from \"@/services/file-storage.service\";\nimport { MulterService } from \"@/services/core/multer.service\";\nimport type { ILoggerFactory } from \"@/handlers/logger-factory\";\nimport { LoggerService } from \"@/handlers/logger\";\nimport { FileAnalysisService } from \"@/services/file-analysis.service\";\nimport { BadRequestException } from \"@/exceptions/runtime.exceptions\";\nimport { copyFileSync, existsSync, unlinkSync } from \"node:fs\";\nimport { extname } from \"node:path\";\n\n@route(AppConstants.apiRoute + \"/file-storage\")\n@before([authenticate(), authorizeRoles([ROLES.ADMIN, ROLES.OPERATOR])])\nexport class FileStorageController {\n private readonly logger: LoggerService;\n\n constructor(\n loggerFactory: ILoggerFactory,\n private readonly fileStorageService: FileStorageService,\n private readonly multerService: MulterService,\n private readonly fileAnalysisService: FileAnalysisService,\n ) {\n this.logger = loggerFactory(FileStorageController.name);\n }\n\n @GET()\n async listFiles(req: Request, res: Response) {\n try {\n const files = await this.fileStorageService.listAllFiles();\n\n res.send({\n files: files.map((file) => {\n const thumbnails = (file.metadata?._thumbnails || []).map((thumb: any) => ({\n index: thumb.index,\n width: thumb.width,\n height: thumb.height,\n format: thumb.format,\n size: thumb.size,\n }));\n return {\n fileStorageId: file.fileStorageId,\n fileName: file.fileName,\n fileFormat: file.fileFormat,\n fileSize: file.fileSize,\n fileHash: file.fileHash,\n createdAt: file.createdAt,\n thumbnails,\n metadata: file.metadata,\n };\n }),\n totalCount: files.length,\n });\n } catch (error) {\n this.logger.error(`Failed to list files: ${error}`);\n res.status(500).send({ error: \"Failed to list files\" });\n }\n }\n\n /**\n * Get file metadata\n * GET /api/file-storage/:fileStorageId\n */\n @GET()\n @route(\"/:fileStorageId\")\n async getFileMetadata(req: Request, res: Response) {\n const { fileStorageId } = req.params as { fileStorageId: string };\n\n try {\n const file = await this.fileStorageService.getFileInfo(fileStorageId);\n\n if (!file) {\n res.status(404).send({ error: \"File not found\" });\n return;\n }\n\n const thumbnails = (file.metadata?._thumbnails || []).map((thumb: any) => ({\n index: thumb.index,\n width: thumb.width,\n height: thumb.height,\n format: thumb.format,\n size: thumb.size,\n }));\n\n res.send({\n fileStorageId: file.fileStorageId,\n fileName: file.fileName,\n fileFormat: file.fileFormat,\n fileSize: file.fileSize,\n fileHash: file.fileHash,\n createdAt: file.createdAt,\n thumbnails,\n metadata: file.metadata,\n });\n } catch (error) {\n this.logger.error(`Failed to get file metadata for ${fileStorageId}: ${error}`);\n res.status(500).send({ error: \"Failed to get file metadata\" });\n }\n }\n\n /**\n * Delete a stored file and its thumbnails\n * DELETE /api/file-storage/:fileStorageId\n */\n @DELETE()\n @route(\"/:fileStorageId\")\n async deleteFile(req: Request, res: Response) {\n const { fileStorageId } = req.params as { fileStorageId: string };\n\n try {\n await this.fileStorageService.deleteFile(fileStorageId);\n\n this.logger.log(`Deleted file ${fileStorageId}`);\n res.send({ message: \"File deleted successfully\", fileStorageId });\n } catch (error) {\n this.logger.error(`Failed to delete file ${fileStorageId}: ${error}`);\n res.status(500).send({ error: \"Failed to delete file\" });\n }\n }\n\n @POST()\n @route(\"/:fileStorageId/analyze\")\n async analyzeFile(req: Request, res: Response) {\n const { fileStorageId } = req.params as { fileStorageId: string };\n\n try {\n const filePath = this.fileStorageService.getFilePath(fileStorageId);\n const fileExists = await this.fileStorageService.fileExists(fileStorageId);\n if (!fileExists) {\n res.status(404).send({ error: \"File not found\" });\n return;\n }\n this.logger.log(`Analyzing file: ${fileStorageId}`);\n\n // Load existing metadata to preserve original filename\n const existingMetadata = await this.fileStorageService.loadMetadata(fileStorageId);\n\n const analysisResult = await this.fileAnalysisService.analyzeFile(filePath);\n const metadata = analysisResult.metadata;\n const thumbnails = analysisResult.thumbnails;\n\n this.logger.log(\n `Analysis complete for ${fileStorageId}: format=${metadata.fileFormat}, layers=${metadata.totalLayers}, time=${metadata.gcodePrintTimeSeconds}s, thumbnails=${thumbnails.length}`,\n );\n\n const fileHash = await this.fileStorageService.calculateFileHash(filePath);\n const originalFileName = existingMetadata?._originalFileName || fileStorageId;\n\n metadata.fileName = originalFileName;\n\n let thumbnailMetadata: any[] = [];\n if (thumbnails.length > 0) {\n thumbnailMetadata = await this.fileStorageService.saveThumbnails(fileStorageId, thumbnails);\n this.logger.log(`Saved ${thumbnailMetadata.length} thumbnails for ${fileStorageId}`);\n }\n\n await this.fileStorageService.saveMetadata(\n fileStorageId,\n metadata,\n fileHash,\n originalFileName,\n thumbnailMetadata,\n );\n\n res.send({\n message: \"File analyzed successfully\",\n fileStorageId,\n metadata,\n thumbnailCount: thumbnails.length,\n });\n } catch (error) {\n this.logger.error(`Failed to analyze file ${fileStorageId}: ${error}`);\n res.status(500).send({ error: `Failed to analyze file: ${error}` });\n }\n }\n\n @GET()\n @route(\"/:fileStorageId/thumbnail/:index\")\n async getThumbnailByIndex(req: Request, res: Response) {\n const { fileStorageId, index } = req.params as { fileStorageId: string; index: string };\n const thumbnailIndex = Number.parseInt(index);\n\n if (Number.isNaN(thumbnailIndex)) {\n res.status(400).send({ error: \"Invalid thumbnail index\" });\n return;\n }\n\n try {\n const thumbnail = await this.fileStorageService.getThumbnail(fileStorageId, thumbnailIndex);\n\n if (!thumbnail) {\n res.status(404).send({ error: \"Thumbnail not found\" });\n return;\n }\n\n // Determine content type from magic bytes\n const isJPG = thumbnail[0] === 0xff && thumbnail[1] === 0xd8;\n const isQOI = thumbnail[0] === 0x71 && thumbnail[1] === 0x6f && thumbnail[2] === 0x69 && thumbnail[3] === 0x66;\n\n // QOI format not supported by browser\n if (isQOI) {\n res.status(404).send({ error: \"Thumbnail format not supported (QOI)\" });\n return;\n }\n\n const mimeType = isJPG ? \"image/jpeg\" : \"image/png\";\n const base64 = thumbnail.toString(\"base64\");\n res.send({\n thumbnailBase64: `data:${mimeType};base64,${base64}`,\n });\n } catch (error) {\n this.logger.error(`Failed to get thumbnail ${thumbnailIndex} for ${fileStorageId}: ${error}`);\n res.status(500).send({ error: \"Failed to get thumbnail\" });\n }\n }\n\n /**\n * Upload a file to storage and analyze it\n * POST /api/file-storage/upload\n */\n @POST()\n @route(\"/upload\")\n async uploadFile(req: Request, res: Response) {\n const acceptedExtensions = [\".gcode\", \".3mf\", \".bgcode\"];\n const files = await this.multerService.multerLoadFileAsync(req, res, acceptedExtensions, true);\n\n if (!files?.length) {\n throw new BadRequestException(\"No file uploaded\");\n }\n\n if (files.length > 1) {\n throw new BadRequestException(\"Only 1 file can be uploaded at a time\");\n }\n\n const file = files[0];\n await this.fileStorageService.validateUniqueFilename(file.originalname);\n\n const ext = extname(file.originalname);\n const tempPathWithExt = file.path + ext;\n\n try {\n copyFileSync(file.path, tempPathWithExt);\n\n const fileHash = await this.fileStorageService.calculateFileHash(tempPathWithExt);\n this.logger.log(`Analyzing ${file.originalname}`);\n const analysisResult = await this.fileAnalysisService.analyzeFile(tempPathWithExt);\n const { metadata, thumbnails } = analysisResult;\n\n const fileStorageId = await this.fileStorageService.saveFile(file, fileHash);\n this.logger.log(`Saved ${file.originalname} as ${fileStorageId}`);\n\n const thumbnailMetadata =\n thumbnails.length > 0 ? await this.fileStorageService.saveThumbnails(fileStorageId, thumbnails) : [];\n\n await this.fileStorageService.saveMetadata(\n fileStorageId,\n metadata,\n fileHash,\n file.originalname,\n thumbnailMetadata,\n );\n\n res.send({\n message: \"File uploaded successfully\",\n fileStorageId,\n fileName: file.originalname,\n fileSize: file.size,\n fileHash,\n metadata,\n thumbnailCount: thumbnails.length,\n });\n } finally {\n if (existsSync(tempPathWithExt)) {\n unlinkSync(tempPathWithExt);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,140 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const user = await this.userService.findRawByUsername(rootUsername?.toLowerCase());
|
|
64
|
-
if (user) {
|
|
65
|
-
throw new _runtimeexceptions.BadRequestException("This user already exists");
|
|
66
|
-
}
|
|
67
|
-
await this.userService.register({
|
|
68
|
-
username: rootUsername,
|
|
69
|
-
password: rootPassword,
|
|
70
|
-
roles: [
|
|
71
|
-
_authorizationconstants.ROLES.ADMIN
|
|
72
|
-
],
|
|
73
|
-
isRootUser: true,
|
|
74
|
-
isVerified: true,
|
|
75
|
-
isDemoUser: false,
|
|
76
|
-
needsPasswordChange: false
|
|
77
|
-
});
|
|
78
|
-
await this.settingsStore.setLoginRequired(loginRequired);
|
|
79
|
-
await this.settingsStore.setRegistrationEnabled(registration);
|
|
80
|
-
await this.settingsStore.setWizardCompleted(_serverconstants.AppConstants.currentWizardVersion);
|
|
81
|
-
return res.send();
|
|
82
|
-
}
|
|
83
|
-
async importYamlFile(req, res) {
|
|
84
|
-
if (this.settingsStore.isWizardCompleted()) {
|
|
85
|
-
throw new _runtimeexceptions.ForbiddenError("Wizard already completed. Cannot import during first-time setup once wizard is complete.");
|
|
86
|
-
}
|
|
87
|
-
const files = await this.multerService.multerLoadFileAsync(req, res, [
|
|
88
|
-
".yaml",
|
|
89
|
-
".yml"
|
|
90
|
-
], false);
|
|
91
|
-
const firstFile = files[0];
|
|
92
|
-
await this.yamlService.importYaml(firstFile.buffer.toString());
|
|
93
|
-
return res.send({
|
|
94
|
-
success: true
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
_ts_decorate([
|
|
99
|
-
(0, _awilixexpress.POST)(),
|
|
100
|
-
(0, _awilixexpress.route)("/validate"),
|
|
101
|
-
_ts_metadata("design:type", Function),
|
|
102
|
-
_ts_metadata("design:paramtypes", [
|
|
103
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
104
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
105
|
-
]),
|
|
106
|
-
_ts_metadata("design:returntype", Promise)
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js";
|
|
3
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js";
|
|
4
|
+
import { BadRequestException, ForbiddenError } from "../exceptions/runtime.exceptions.js";
|
|
5
|
+
import { validateMiddleware } from "../handlers/validators.js";
|
|
6
|
+
import { AppConstants } from "../server.constants.js";
|
|
7
|
+
import { SettingsStore } from "../state/settings.store.js";
|
|
8
|
+
import { ROLES } from "../constants/authorization.constants.js";
|
|
9
|
+
import { MulterService } from "../services/core/multer.service.js";
|
|
10
|
+
import { wizardSettingsSchema } from "./validation/setting.validation.js";
|
|
11
|
+
import { YamlService } from "../services/core/yaml.service.js";
|
|
12
|
+
import { POST, route } from "awilix-express";
|
|
13
|
+
//#region src/controllers/first-time-setup.controller.ts
|
|
14
|
+
var first_time_setup_controller_exports = /* @__PURE__ */ __exportAll({ FirstTimeSetupController: () => FirstTimeSetupController });
|
|
15
|
+
var _ref, _ref2, _ref3;
|
|
16
|
+
let FirstTimeSetupController = class FirstTimeSetupController {
|
|
17
|
+
constructor(settingsStore, roleService, userService, yamlService, multerService) {
|
|
18
|
+
this.settingsStore = settingsStore;
|
|
19
|
+
this.roleService = roleService;
|
|
20
|
+
this.userService = userService;
|
|
21
|
+
this.yamlService = yamlService;
|
|
22
|
+
this.multerService = multerService;
|
|
23
|
+
}
|
|
24
|
+
async validateWizard(req, res) {
|
|
25
|
+
const { rootUsername } = await validateMiddleware(req, wizardSettingsSchema);
|
|
26
|
+
await this.roleService.getSynchronizedRoleByName(ROLES.ADMIN);
|
|
27
|
+
if (this.settingsStore.isWizardCompleted()) throw new ForbiddenError("Wizard already completed");
|
|
28
|
+
if (await this.userService.findRawByUsername(rootUsername?.toLowerCase())) throw new BadRequestException("This user already exists");
|
|
29
|
+
return res.send();
|
|
30
|
+
}
|
|
31
|
+
async completeWizard(req, res) {
|
|
32
|
+
const { loginRequired, registration, rootUsername, rootPassword } = await validateMiddleware(req, wizardSettingsSchema);
|
|
33
|
+
if (this.settingsStore.isWizardCompleted()) throw new ForbiddenError("Wizard already completed");
|
|
34
|
+
await this.roleService.getSynchronizedRoleByName(ROLES.ADMIN);
|
|
35
|
+
if (await this.userService.findRawByUsername(rootUsername?.toLowerCase())) throw new BadRequestException("This user already exists");
|
|
36
|
+
await this.userService.register({
|
|
37
|
+
username: rootUsername,
|
|
38
|
+
password: rootPassword,
|
|
39
|
+
roles: [ROLES.ADMIN],
|
|
40
|
+
isRootUser: true,
|
|
41
|
+
isVerified: true,
|
|
42
|
+
isDemoUser: false,
|
|
43
|
+
needsPasswordChange: false
|
|
44
|
+
});
|
|
45
|
+
await this.settingsStore.setLoginRequired(loginRequired);
|
|
46
|
+
await this.settingsStore.setRegistrationEnabled(registration);
|
|
47
|
+
await this.settingsStore.setWizardCompleted(AppConstants.currentWizardVersion);
|
|
48
|
+
return res.send();
|
|
49
|
+
}
|
|
50
|
+
async importYamlFile(req, res) {
|
|
51
|
+
if (this.settingsStore.isWizardCompleted()) throw new ForbiddenError("Wizard already completed. Cannot import during first-time setup once wizard is complete.");
|
|
52
|
+
const firstFile = (await this.multerService.multerLoadFileAsync(req, res, [".yaml", ".yml"], false))[0];
|
|
53
|
+
await this.yamlService.importYaml(firstFile.buffer.toString());
|
|
54
|
+
return res.send({ success: true });
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
__decorate([
|
|
58
|
+
POST(),
|
|
59
|
+
route("/validate"),
|
|
60
|
+
__decorateMetadata("design:type", Function),
|
|
61
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
62
|
+
__decorateMetadata("design:returntype", Promise)
|
|
107
63
|
], FirstTimeSetupController.prototype, "validateWizard", null);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
115
|
-
]),
|
|
116
|
-
_ts_metadata("design:returntype", Promise)
|
|
64
|
+
__decorate([
|
|
65
|
+
POST(),
|
|
66
|
+
route("/complete"),
|
|
67
|
+
__decorateMetadata("design:type", Function),
|
|
68
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
69
|
+
__decorateMetadata("design:returntype", Promise)
|
|
117
70
|
], FirstTimeSetupController.prototype, "completeWizard", null);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
125
|
-
]),
|
|
126
|
-
_ts_metadata("design:returntype", Promise)
|
|
71
|
+
__decorate([
|
|
72
|
+
POST(),
|
|
73
|
+
route("/yaml-import"),
|
|
74
|
+
__decorateMetadata("design:type", Function),
|
|
75
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
76
|
+
__decorateMetadata("design:returntype", Promise)
|
|
127
77
|
], FirstTimeSetupController.prototype, "importYamlFile", null);
|
|
128
|
-
FirstTimeSetupController =
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
])
|
|
138
|
-
], FirstTimeSetupController);
|
|
78
|
+
FirstTimeSetupController = __decorate([route(AppConstants.apiRoute + "/first-time-setup"), __decorateMetadata("design:paramtypes", [
|
|
79
|
+
typeof (_ref = typeof SettingsStore !== "undefined" && SettingsStore) === "function" ? _ref : Object,
|
|
80
|
+
Object,
|
|
81
|
+
Object,
|
|
82
|
+
typeof (_ref2 = typeof YamlService !== "undefined" && YamlService) === "function" ? _ref2 : Object,
|
|
83
|
+
typeof (_ref3 = typeof MulterService !== "undefined" && MulterService) === "function" ? _ref3 : Object
|
|
84
|
+
])], FirstTimeSetupController);
|
|
85
|
+
//#endregion
|
|
86
|
+
export { FirstTimeSetupController, first_time_setup_controller_exports };
|
|
139
87
|
|
|
140
88
|
//# sourceMappingURL=first-time-setup.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/first-time-setup.controller.ts"],"
|
|
1
|
+
{"version":3,"file":"first-time-setup.controller.js","names":[],"sources":["../../src/controllers/first-time-setup.controller.ts"],"sourcesContent":["import { POST, route } from \"awilix-express\";\nimport { AppConstants } from \"@/server.constants\";\nimport { validateMiddleware } from \"@/handlers/validators\";\nimport { wizardSettingsSchema } from \"./validation/setting.validation\";\nimport { BadRequestException, ForbiddenError } from \"@/exceptions/runtime.exceptions\";\nimport { ROLES } from \"@/constants/authorization.constants\";\nimport { SettingsStore } from \"@/state/settings.store\";\nimport type { Request, Response } from \"express\";\nimport type { IUserService } from \"@/services/interfaces/user-service.interface\";\nimport type { IRoleService } from \"@/services/interfaces/role-service.interface\";\nimport { YamlService } from \"@/services/core/yaml.service\";\nimport { MulterService } from \"@/services/core/multer.service\";\n\n@route(AppConstants.apiRoute + \"/first-time-setup\")\nexport class FirstTimeSetupController {\n constructor(\n private readonly settingsStore: SettingsStore,\n private readonly roleService: IRoleService,\n private readonly userService: IUserService,\n private readonly yamlService: YamlService,\n private readonly multerService: MulterService,\n ) {}\n\n @POST()\n @route(\"/validate\")\n async validateWizard(req: Request, res: Response) {\n const { rootUsername } = await validateMiddleware(req, wizardSettingsSchema);\n await this.roleService.getSynchronizedRoleByName(ROLES.ADMIN);\n\n if (this.settingsStore.isWizardCompleted()) {\n throw new ForbiddenError(\"Wizard already completed\");\n }\n\n const user = await this.userService.findRawByUsername(rootUsername?.toLowerCase());\n if (user) {\n throw new BadRequestException(\"This user already exists\");\n }\n\n return res.send();\n }\n\n @POST()\n @route(\"/complete\")\n async completeWizard(req: Request, res: Response) {\n const { loginRequired, registration, rootUsername, rootPassword } = await validateMiddleware(\n req,\n wizardSettingsSchema,\n );\n\n if (this.settingsStore.isWizardCompleted()) {\n throw new ForbiddenError(\"Wizard already completed\");\n }\n\n await this.roleService.getSynchronizedRoleByName(ROLES.ADMIN);\n const user = await this.userService.findRawByUsername(rootUsername?.toLowerCase());\n if (user) {\n throw new BadRequestException(\"This user already exists\");\n }\n\n await this.userService.register({\n username: rootUsername,\n password: rootPassword,\n roles: [ROLES.ADMIN],\n isRootUser: true,\n isVerified: true,\n isDemoUser: false,\n needsPasswordChange: false,\n });\n await this.settingsStore.setLoginRequired(loginRequired);\n await this.settingsStore.setRegistrationEnabled(registration);\n await this.settingsStore.setWizardCompleted(AppConstants.currentWizardVersion);\n\n return res.send();\n }\n\n @POST()\n @route(\"/yaml-import\")\n async importYamlFile(req: Request, res: Response) {\n if (this.settingsStore.isWizardCompleted()) {\n throw new ForbiddenError(\n \"Wizard already completed. Cannot import during first-time setup once wizard is complete.\",\n );\n }\n\n const files = await this.multerService.multerLoadFileAsync(req, res, [\".yaml\", \".yml\"], false);\n const firstFile = files[0];\n\n await this.yamlService.importYaml(firstFile.buffer.toString());\n\n return res.send({\n success: true,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcO,IAAA,2BAAA,MAAM,yBAAyB;CACpC,YACE,eACA,aACA,aACA,aACA,eACA;AALiB,OAAA,gBAAA;AACA,OAAA,cAAA;AACA,OAAA,cAAA;AACA,OAAA,cAAA;AACA,OAAA,gBAAA;;CAGnB,MAEM,eAAe,KAAc,KAAe;EAChD,MAAM,EAAE,iBAAiB,MAAM,mBAAmB,KAAK,qBAAqB;AAC5E,QAAM,KAAK,YAAY,0BAA0B,MAAM,MAAM;AAE7D,MAAI,KAAK,cAAc,mBAAmB,CACxC,OAAM,IAAI,eAAe,2BAA2B;AAItD,MAAI,MADe,KAAK,YAAY,kBAAkB,cAAc,aAAa,CAAC,CAEhF,OAAM,IAAI,oBAAoB,2BAA2B;AAG3D,SAAO,IAAI,MAAM;;CAGnB,MAEM,eAAe,KAAc,KAAe;EAChD,MAAM,EAAE,eAAe,cAAc,cAAc,iBAAiB,MAAM,mBACxE,KACA,qBACD;AAED,MAAI,KAAK,cAAc,mBAAmB,CACxC,OAAM,IAAI,eAAe,2BAA2B;AAGtD,QAAM,KAAK,YAAY,0BAA0B,MAAM,MAAM;AAE7D,MAAI,MADe,KAAK,YAAY,kBAAkB,cAAc,aAAa,CAAC,CAEhF,OAAM,IAAI,oBAAoB,2BAA2B;AAG3D,QAAM,KAAK,YAAY,SAAS;GAC9B,UAAU;GACV,UAAU;GACV,OAAO,CAAC,MAAM,MAAM;GACpB,YAAY;GACZ,YAAY;GACZ,YAAY;GACZ,qBAAqB;GACtB,CAAC;AACF,QAAM,KAAK,cAAc,iBAAiB,cAAc;AACxD,QAAM,KAAK,cAAc,uBAAuB,aAAa;AAC7D,QAAM,KAAK,cAAc,mBAAmB,aAAa,qBAAqB;AAE9E,SAAO,IAAI,MAAM;;CAGnB,MAEM,eAAe,KAAc,KAAe;AAChD,MAAI,KAAK,cAAc,mBAAmB,CACxC,OAAM,IAAI,eACR,2FACD;EAIH,MAAM,aAAY,MADE,KAAK,cAAc,oBAAoB,KAAK,KAAK,CAAC,SAAS,OAAO,EAAE,MAAM,EACtE;AAExB,QAAM,KAAK,YAAY,WAAW,UAAU,OAAO,UAAU,CAAC;AAE9D,SAAO,IAAI,KAAK,EACd,SAAS,MACV,CAAC;;;;CApEH,MAAM;CACN,MAAM,YAAY;;;;;;CAiBlB,MAAM;CACN,MAAM,YAAY;;;;;;CAiClB,MAAM;CACN,MAAM,eAAe;;;;;uCA/DvB,MAAM,aAAa,WAAW,oBAAoB,EAAA,mBAAA,qBAAA"}
|
|
@@ -1,186 +1,122 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const floor = await this.floorStore.addOrUpdatePrinter(req.local.id, req.body);
|
|
58
|
-
res.send(floor);
|
|
59
|
-
}
|
|
60
|
-
async removePrinterFromFloor(req, res) {
|
|
61
|
-
const floor = await this.floorStore.removePrinter(req.local.id, req.body.printerId);
|
|
62
|
-
res.send(floor);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
_ts_decorate([
|
|
66
|
-
(0, _awilixexpress.GET)(),
|
|
67
|
-
(0, _awilixexpress.route)("/"),
|
|
68
|
-
(0, _awilixexpress.before)([
|
|
69
|
-
(0, _authenticate.permission)(_authorizationconstants.PERMS.Floors.List)
|
|
70
|
-
]),
|
|
71
|
-
_ts_metadata("design:type", Function),
|
|
72
|
-
_ts_metadata("design:paramtypes", [
|
|
73
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
74
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
75
|
-
]),
|
|
76
|
-
_ts_metadata("design:returntype", Promise)
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js";
|
|
3
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js";
|
|
4
|
+
import { AppConstants } from "../server.constants.js";
|
|
5
|
+
import { PERMS } from "../constants/authorization.constants.js";
|
|
6
|
+
import { authenticate, permission } from "../middleware/authenticate.js";
|
|
7
|
+
import { ParamId } from "../middleware/param-converter.middleware.js";
|
|
8
|
+
import { FloorStore } from "../state/floor.store.js";
|
|
9
|
+
import { DELETE, GET, PATCH, POST, before, route } from "awilix-express";
|
|
10
|
+
//#region src/controllers/floor.controller.ts
|
|
11
|
+
var floor_controller_exports = /* @__PURE__ */ __exportAll({ FloorController: () => FloorController });
|
|
12
|
+
var _ref;
|
|
13
|
+
let FloorController = class FloorController {
|
|
14
|
+
constructor(floorStore) {
|
|
15
|
+
this.floorStore = floorStore;
|
|
16
|
+
}
|
|
17
|
+
async list(req, res) {
|
|
18
|
+
const floors = await this.floorStore.listCache();
|
|
19
|
+
res.send(floors);
|
|
20
|
+
}
|
|
21
|
+
async get(req, res) {
|
|
22
|
+
const floor = await this.floorStore.getFloor(req.local.id);
|
|
23
|
+
res.send(floor);
|
|
24
|
+
}
|
|
25
|
+
async delete(req, res) {
|
|
26
|
+
await this.floorStore.delete(req.local.id);
|
|
27
|
+
res.send();
|
|
28
|
+
}
|
|
29
|
+
async create(req, res) {
|
|
30
|
+
const floor = await this.floorStore.create(req.body);
|
|
31
|
+
res.send(floor);
|
|
32
|
+
}
|
|
33
|
+
async updateName(req, res) {
|
|
34
|
+
const floor = await this.floorStore.updateName(req.local.id, req.body.name);
|
|
35
|
+
res.send(floor);
|
|
36
|
+
}
|
|
37
|
+
async updateFloorOrder(req, res) {
|
|
38
|
+
const floor = await this.floorStore.updateFloorOrder(req.local.id, req.body.order);
|
|
39
|
+
res.send(floor);
|
|
40
|
+
}
|
|
41
|
+
async addPrinterToFloor(req, res) {
|
|
42
|
+
const floor = await this.floorStore.addOrUpdatePrinter(req.local.id, req.body);
|
|
43
|
+
res.send(floor);
|
|
44
|
+
}
|
|
45
|
+
async removePrinterFromFloor(req, res) {
|
|
46
|
+
const floor = await this.floorStore.removePrinter(req.local.id, req.body.printerId);
|
|
47
|
+
res.send(floor);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
__decorate([
|
|
51
|
+
GET(),
|
|
52
|
+
route("/"),
|
|
53
|
+
before([permission(PERMS.Floors.List)]),
|
|
54
|
+
__decorateMetadata("design:type", Function),
|
|
55
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
56
|
+
__decorateMetadata("design:returntype", Promise)
|
|
77
57
|
], FloorController.prototype, "list", null);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
_ts_metadata("design:type", Function),
|
|
86
|
-
_ts_metadata("design:paramtypes", [
|
|
87
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
88
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
89
|
-
]),
|
|
90
|
-
_ts_metadata("design:returntype", Promise)
|
|
58
|
+
__decorate([
|
|
59
|
+
GET(),
|
|
60
|
+
route("/:id"),
|
|
61
|
+
before([permission(PERMS.Floors.Get), ParamId("id")]),
|
|
62
|
+
__decorateMetadata("design:type", Function),
|
|
63
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
64
|
+
__decorateMetadata("design:returntype", Promise)
|
|
91
65
|
], FloorController.prototype, "get", null);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
_ts_metadata("design:type", Function),
|
|
100
|
-
_ts_metadata("design:paramtypes", [
|
|
101
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
102
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
103
|
-
]),
|
|
104
|
-
_ts_metadata("design:returntype", Promise)
|
|
66
|
+
__decorate([
|
|
67
|
+
DELETE(),
|
|
68
|
+
route("/:id"),
|
|
69
|
+
before([permission(PERMS.Floors.Delete), ParamId("id")]),
|
|
70
|
+
__decorateMetadata("design:type", Function),
|
|
71
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
72
|
+
__decorateMetadata("design:returntype", Promise)
|
|
105
73
|
], FloorController.prototype, "delete", null);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
_ts_metadata("design:paramtypes", [
|
|
114
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
115
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
116
|
-
]),
|
|
117
|
-
_ts_metadata("design:returntype", Promise)
|
|
74
|
+
__decorate([
|
|
75
|
+
POST(),
|
|
76
|
+
route("/"),
|
|
77
|
+
before([permission(PERMS.Floors.Create)]),
|
|
78
|
+
__decorateMetadata("design:type", Function),
|
|
79
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
80
|
+
__decorateMetadata("design:returntype", Promise)
|
|
118
81
|
], FloorController.prototype, "create", null);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
_ts_metadata("design:type", Function),
|
|
127
|
-
_ts_metadata("design:paramtypes", [
|
|
128
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
129
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
130
|
-
]),
|
|
131
|
-
_ts_metadata("design:returntype", Promise)
|
|
82
|
+
__decorate([
|
|
83
|
+
PATCH(),
|
|
84
|
+
route("/:id/name"),
|
|
85
|
+
before([permission(PERMS.Floors.Update), ParamId("id")]),
|
|
86
|
+
__decorateMetadata("design:type", Function),
|
|
87
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
88
|
+
__decorateMetadata("design:returntype", Promise)
|
|
132
89
|
], FloorController.prototype, "updateName", null);
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
_ts_metadata("design:type", Function),
|
|
141
|
-
_ts_metadata("design:paramtypes", [
|
|
142
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
143
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
144
|
-
]),
|
|
145
|
-
_ts_metadata("design:returntype", Promise)
|
|
90
|
+
__decorate([
|
|
91
|
+
PATCH(),
|
|
92
|
+
route("/:id/floor-order"),
|
|
93
|
+
before([permission(PERMS.Floors.Update), ParamId("id")]),
|
|
94
|
+
__decorateMetadata("design:type", Function),
|
|
95
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
96
|
+
__decorateMetadata("design:returntype", Promise)
|
|
146
97
|
], FloorController.prototype, "updateFloorOrder", null);
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
_ts_metadata("design:type", Function),
|
|
155
|
-
_ts_metadata("design:paramtypes", [
|
|
156
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
157
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
158
|
-
]),
|
|
159
|
-
_ts_metadata("design:returntype", Promise)
|
|
98
|
+
__decorate([
|
|
99
|
+
POST(),
|
|
100
|
+
route("/:id/printer"),
|
|
101
|
+
before([permission(PERMS.Floors.Update), ParamId("id")]),
|
|
102
|
+
__decorateMetadata("design:type", Function),
|
|
103
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
104
|
+
__decorateMetadata("design:returntype", Promise)
|
|
160
105
|
], FloorController.prototype, "addPrinterToFloor", null);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
_ts_metadata("design:type", Function),
|
|
169
|
-
_ts_metadata("design:paramtypes", [
|
|
170
|
-
typeof _express.Request === "undefined" ? Object : _express.Request,
|
|
171
|
-
typeof _express.Response === "undefined" ? Object : _express.Response
|
|
172
|
-
]),
|
|
173
|
-
_ts_metadata("design:returntype", Promise)
|
|
106
|
+
__decorate([
|
|
107
|
+
DELETE(),
|
|
108
|
+
route("/:id/printer"),
|
|
109
|
+
before([permission(PERMS.Floors.Update), ParamId("id")]),
|
|
110
|
+
__decorateMetadata("design:type", Function),
|
|
111
|
+
__decorateMetadata("design:paramtypes", [Object, Object]),
|
|
112
|
+
__decorateMetadata("design:returntype", Promise)
|
|
174
113
|
], FloorController.prototype, "removePrinterFromFloor", null);
|
|
175
|
-
FloorController =
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
]),
|
|
180
|
-
_ts_metadata("design:type", Function),
|
|
181
|
-
_ts_metadata("design:paramtypes", [
|
|
182
|
-
typeof _floorstore.FloorStore === "undefined" ? Object : _floorstore.FloorStore
|
|
183
|
-
])
|
|
114
|
+
FloorController = __decorate([
|
|
115
|
+
route(AppConstants.apiRoute + "/floor"),
|
|
116
|
+
before([authenticate()]),
|
|
117
|
+
__decorateMetadata("design:paramtypes", [typeof (_ref = typeof FloorStore !== "undefined" && FloorStore) === "function" ? _ref : Object])
|
|
184
118
|
], FloorController);
|
|
119
|
+
//#endregion
|
|
120
|
+
export { FloorController, floor_controller_exports };
|
|
185
121
|
|
|
186
122
|
//# sourceMappingURL=floor.controller.js.map
|