@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/services/file-storage.service.ts"],"names":["FileStorageService","printJobRepository","logger","storageBasePath","STORAGE_SUBDIRS","loggerFactory","typeormService","getDataSource","getRepository","PrintJob","name","join","getMediaPath","AppConstants","defaultPrintFilesStorage","ensureStorageDirectories","mkdir","recursive","subdir","error","readFileStream","fileStorageId","filePath","getFilePath","stream","createReadStream","on","err","message","getFileSize","stats","statSync","size","validateUniqueFilename","fileName","existing","findDuplicateByOriginalFileName","ConflictException","saveFile","file","fileHash","fileExt","extname","originalname","toLowerCase","fileId","nameHash","createHash","update","digest","substring","crypto","randomUUID","includes","targetDir","targetPath","path","rename","buffer","writeFile","Error","log","getFile","findFilePath","readFile","deleteFile","warn","unlink","metadataPath","debug","thumbnailDir","replace","rm","force","ext","fullPath","existsSync","calculateFileHash","fileBuffer","hashSum","getDeterministicId","dirPath","files","readdir","matchingFile","find","f","startsWith","fileExists","findDuplicateByHash","findOne","where","order","createdAt","originalFileName","dirFiles","endsWith","parse","metadata","loadMetadata","_originalFileName","saveMetadata","thumbnailMetadata","existingOriginalFileName","existingThumbnails","existingContent","JSON","_thumbnails","metadataWithMeta","_fileHash","_analyzedAt","Date","toISOString","_fileStorageId","stringify","thumbnailMeta","length","content","hasMetadata","access","saveThumbnails","thumbnails","savedThumbnails","i","thumb","data","format","filename","thumbPath","Buffer","from","relativePath","relative","push","index","width","height","getThumbnail","listThumbnails","filter","sort","a","b","localeCompare","listAllFiles","stat","_fileName","fileFormat","fileSize","birthtime","thumbnailCount","getTime","getFileInfo","basename"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-storage.service.js","names":[],"sources":["../../src/services/file-storage.service.ts"],"sourcesContent":["import { Repository } from \"typeorm\";\nimport { PrintJob } from \"@/entities/print-job.entity\";\nimport type { ILoggerFactory } from \"@/handlers/logger-factory\";\nimport { TypeormService } from \"@/services/typeorm/typeorm.service\";\nimport { AppConstants } from \"@/server.constants\";\nimport { getMediaPath } from \"@/utils/fs.utils\";\nimport path, { basename, extname, join } from \"node:path\";\nimport { mkdir, readdir, readFile, rename, rm, stat, unlink, writeFile, access } from \"node:fs/promises\";\nimport { createHash } from \"node:crypto\";\nimport { existsSync, createReadStream, statSync } from \"node:fs\";\nimport { Readable } from \"node:stream\";\nimport { ConflictException } from \"@/exceptions/runtime.exceptions\";\n\nexport interface IFileStorageService {\n saveFile(file: Express.Multer.File, fileHash?: string): Promise<string>;\n getFile(fileStorageId: string): Promise<Buffer>;\n deleteFile(fileStorageId: string): Promise<void>;\n getFilePath(fileStorageId: string): string;\n getFileSize(fileStorageId: string): number;\n calculateFileHash(filePath: string): Promise<string>;\n validateUniqueFilename(fileName: string): Promise<void>;\n saveMetadata(\n fileStorageId: string,\n metadata: any,\n fileHash?: string,\n originalFileName?: string,\n thumbnailMetadata?: any[],\n ): Promise<void>;\n loadMetadata(fileStorageId: string): Promise<any | null>;\n hasMetadata(fileStorageId: string): Promise<boolean>;\n getDeterministicId(fileHash: string, fileName: string): string;\n findDuplicateByOriginalFileName(originalFileName: string): Promise<{ fileStorageId: string; metadata: any } | null>;\n saveThumbnails(\n fileStorageId: string,\n thumbnails: Array<{ data?: string; format?: string; width?: number; height?: number }>,\n ): Promise<\n Array<{\n index: number;\n path: string;\n filename: string;\n width: number;\n height: number;\n format: string;\n size: number;\n }>\n >;\n getThumbnail(fileStorageId: string, index: number): Promise<Buffer | null>;\n listThumbnails(fileStorageId: string): Promise<string[]>;\n}\n\nexport class FileStorageService implements IFileStorageService {\n printJobRepository: Repository<PrintJob>;\n private readonly logger;\n private readonly storageBasePath: string;\n private readonly STORAGE_SUBDIRS = [\"gcode\", \"3mf\", \"bgcode\"] as const;\n\n constructor(loggerFactory: ILoggerFactory, typeormService: TypeormService) {\n this.printJobRepository = typeormService.getDataSource().getRepository(PrintJob);\n this.logger = loggerFactory(FileStorageService.name);\n\n this.storageBasePath = join(getMediaPath(), AppConstants.defaultPrintFilesStorage);\n }\n\n async ensureStorageDirectories() {\n try {\n await mkdir(this.storageBasePath, { recursive: true });\n for (const subdir of this.STORAGE_SUBDIRS) {\n await mkdir(join(this.storageBasePath, subdir), { recursive: true });\n }\n } catch (error) {\n this.logger.error(\"Failed to create storage directories\", error);\n }\n }\n\n readFileStream(fileStorageId: string): Readable {\n const filePath = this.getFilePath(fileStorageId);\n const stream = createReadStream(filePath);\n\n stream.on(\"error\", (err) => {\n this.logger.error(`Failed to read file ${fileStorageId}: ${err.message}`, err);\n });\n\n return stream;\n }\n\n getFileSize(fileStorageId: string): number {\n const filePath = this.getFilePath(fileStorageId);\n const stats = statSync(filePath);\n return stats.size;\n }\n\n async validateUniqueFilename(fileName: string): Promise<void> {\n const existing = await this.findDuplicateByOriginalFileName(fileName);\n if (existing) {\n throw new ConflictException(\n `A file named \"${fileName}\" already exists in storage. Please rename the file, delete the existing file (ID: ${existing.fileStorageId}), or choose a different name.`,\n existing.fileStorageId,\n );\n }\n }\n\n async saveFile(file: Express.Multer.File, fileHash?: string): Promise<string> {\n const fileExt = extname(file.originalname).toLowerCase();\n\n let fileId: string;\n if (fileHash) {\n const nameHash = createHash(\"sha256\")\n .update(fileHash + file.originalname)\n .digest(\"hex\")\n .substring(0, 32);\n fileId = `${nameHash.substring(0, 8)}-${nameHash.substring(8, 12)}-${nameHash.substring(12, 16)}-${nameHash.substring(16, 20)}-${nameHash.substring(20, 32)}`;\n } else {\n fileId = crypto.randomUUID();\n }\n\n let subdir = \"gcode\";\n if (fileExt === \".3mf\" || file.originalname.includes(\".gcode.3mf\")) {\n subdir = \"3mf\";\n } else if (fileExt === \".bgcode\") {\n subdir = \"bgcode\";\n }\n\n const targetDir = join(this.storageBasePath, subdir);\n const targetPath = join(targetDir, `${fileId}${fileExt}`);\n\n if (file.path) {\n await rename(file.path, targetPath);\n } else if (file.buffer) {\n await writeFile(targetPath, file.buffer);\n } else {\n throw new Error(\"File has no path or buffer\");\n }\n\n this.logger.log(`Saved file ${file.originalname} as ${fileId}`);\n return fileId;\n }\n\n async getFile(fileStorageId: string): Promise<Buffer> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n throw new Error(`File ${fileStorageId} not found in storage`);\n }\n\n return readFile(filePath);\n }\n\n async deleteFile(fileStorageId: string): Promise<void> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n this.logger.warn(`File ${fileStorageId} not found, cannot delete`);\n return;\n }\n\n await unlink(filePath);\n\n const metadataPath = filePath + \".json\";\n try {\n await unlink(metadataPath);\n this.logger.debug(`Deleted metadata JSON for ${fileStorageId}`);\n } catch {}\n\n const thumbnailDir = filePath.replace(/\\.(gcode|3mf|bgcode)$/i, \"_thumbnails\");\n try {\n await rm(thumbnailDir, { recursive: true, force: true });\n this.logger.debug(`Deleted thumbnails for ${fileStorageId}`);\n } catch {}\n\n this.logger.log(`Deleted file ${fileStorageId}`);\n }\n\n getFilePath(fileStorageId: string): string {\n for (const subdir of this.STORAGE_SUBDIRS) {\n for (const ext of [\".gcode\", \".3mf\", \".bgcode\", \"\"]) {\n const fullPath = join(this.storageBasePath, subdir, fileStorageId + ext);\n if (existsSync(fullPath)) {\n return fullPath;\n }\n }\n }\n\n return join(this.storageBasePath, \"gcode\", fileStorageId);\n }\n\n async calculateFileHash(filePath: string): Promise<string> {\n const fileBuffer = await readFile(filePath);\n const hashSum = createHash(\"sha256\");\n hashSum.update(fileBuffer);\n return hashSum.digest(\"hex\");\n }\n\n getDeterministicId(fileHash: string, fileName: string): string {\n const nameHash = createHash(\"sha256\")\n .update(fileHash + fileName)\n .digest(\"hex\")\n .substring(0, 32);\n return `${nameHash.substring(0, 8)}-${nameHash.substring(8, 12)}-${nameHash.substring(12, 16)}-${nameHash.substring(16, 20)}-${nameHash.substring(20, 32)}`;\n }\n\n private async findFilePath(fileStorageId: string): Promise<string | null> {\n for (const subdir of this.STORAGE_SUBDIRS) {\n const dirPath = join(this.storageBasePath, subdir);\n try {\n const files = await readdir(dirPath);\n const matchingFile = files.find((f) => f.startsWith(fileStorageId));\n if (matchingFile) {\n return join(dirPath, matchingFile);\n }\n } catch {}\n }\n\n return null;\n }\n\n async fileExists(fileStorageId: string): Promise<boolean> {\n const filePath = await this.findFilePath(fileStorageId);\n return filePath !== null;\n }\n\n async findDuplicateByHash(fileHash: string): Promise<PrintJob | null> {\n return this.printJobRepository.findOne({\n where: { fileHash },\n order: { createdAt: \"DESC\" },\n });\n }\n\n async findDuplicateByOriginalFileName(originalFileName: string): Promise<{\n fileStorageId: string;\n metadata: any;\n } | null> {\n for (const subdir of this.STORAGE_SUBDIRS) {\n const dirPath = join(this.storageBasePath, subdir);\n try {\n const dirFiles = await readdir(dirPath);\n\n for (const file of dirFiles) {\n if (file.endsWith(\"_thumbnails\") || file.endsWith(\".json\")) continue;\n\n const fileId = path.parse(file).name;\n const metadata = await this.loadMetadata(fileId);\n\n if (metadata?._originalFileName === originalFileName) {\n return {\n fileStorageId: fileId,\n metadata,\n };\n }\n }\n } catch (error) {\n this.logger.error(`Error searching for duplicate in ${subdir}`, error);\n }\n }\n\n return null;\n }\n\n async saveMetadata(\n fileStorageId: string,\n metadata: any,\n fileHash?: string,\n originalFileName?: string,\n thumbnailMetadata?: any[],\n ): Promise<void> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n this.logger.warn(`Cannot save metadata - file ${fileStorageId} not found`);\n return;\n }\n\n const metadataPath = filePath + \".json\";\n\n let existingOriginalFileName = originalFileName;\n let existingThumbnails = thumbnailMetadata;\n try {\n const existingContent = await readFile(metadataPath, \"utf8\");\n const existing = JSON.parse(existingContent);\n if (existing._originalFileName && !originalFileName) {\n existingOriginalFileName = existing._originalFileName;\n }\n if (existing._thumbnails && !thumbnailMetadata) {\n existingThumbnails = existing._thumbnails;\n }\n } catch {}\n\n const metadataWithMeta = {\n ...metadata,\n _fileHash: fileHash || null,\n _analyzedAt: new Date().toISOString(),\n _fileStorageId: fileStorageId,\n _originalFileName: existingOriginalFileName || metadata.fileName || null,\n _thumbnails: existingThumbnails || [],\n };\n\n await writeFile(metadataPath, JSON.stringify(metadataWithMeta, null, 2), \"utf8\");\n const thumbnailMeta = thumbnailMetadata ? ` with ${thumbnailMetadata.length} thumbnail(s)` : \"\";\n this.logger.debug(`Saved metadata for ${fileStorageId}${thumbnailMeta}`);\n }\n\n async loadMetadata(fileStorageId: string): Promise<any | null> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n return null;\n }\n\n const metadataPath = filePath + \".json\";\n try {\n const content = await readFile(metadataPath, \"utf8\");\n return JSON.parse(content);\n } catch {\n return null;\n }\n }\n\n async hasMetadata(fileStorageId: string): Promise<boolean> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n return false;\n }\n\n const metadataPath = filePath + \".json\";\n try {\n await access(metadataPath);\n return true;\n } catch {\n return false;\n }\n }\n\n async saveThumbnails(\n fileStorageId: string,\n thumbnails: Array<{ data?: string; format?: string; width?: number; height?: number }>,\n ): Promise<\n Array<{\n index: number;\n path: string;\n filename: string;\n width: number;\n height: number;\n format: string;\n size: number;\n }>\n > {\n const savedThumbnails: Array<any> = [];\n\n if (!thumbnails || thumbnails.length === 0) {\n return savedThumbnails;\n }\n\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) {\n this.logger.warn(`Cannot save thumbnails - file ${fileStorageId} not found`);\n return savedThumbnails;\n }\n\n const thumbnailDir = filePath.replace(/\\.(gcode|3mf|bgcode)$/i, \"_thumbnails\");\n\n try {\n await rm(thumbnailDir, { recursive: true, force: true });\n this.logger.debug(`Cleared old thumbnails for ${fileStorageId}`);\n } catch {}\n\n await mkdir(thumbnailDir, { recursive: true });\n\n for (let i = 0; i < thumbnails.length; i++) {\n const thumb = thumbnails[i];\n if (!thumb.data) continue;\n\n const ext = thumb.format?.toLowerCase() || \"png\";\n const filename = `thumb_${i}.${ext}`;\n const thumbPath = join(thumbnailDir, filename);\n\n try {\n const buffer = Buffer.from(thumb.data, \"base64\");\n await writeFile(thumbPath, buffer);\n\n const relativePath = path.relative(this.storageBasePath, thumbPath);\n\n savedThumbnails.push({\n index: i,\n path: relativePath,\n filename,\n width: thumb.width || 0,\n height: thumb.height || 0,\n format: ext,\n size: buffer.length,\n });\n\n this.logger.debug(\n `Saved thumbnail ${i} for ${fileStorageId} (${thumb.width}x${thumb.height}, ${buffer.length} bytes)`,\n );\n } catch (error) {\n this.logger.warn(`Failed to save thumbnail ${i} for ${fileStorageId}: ${error}`);\n }\n }\n\n return savedThumbnails;\n }\n\n async getThumbnail(fileStorageId: string, index: number): Promise<Buffer | null> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) return null;\n\n const thumbnailDir = filePath.replace(/\\.(gcode|3mf|bgcode)$/i, \"_thumbnails\");\n\n for (const ext of [\"png\", \"jpg\", \"jpeg\", \"qoi\"]) {\n const thumbPath = join(thumbnailDir, `thumb_${index}.${ext}`);\n try {\n return await readFile(thumbPath);\n } catch {}\n }\n\n return null;\n }\n\n async listThumbnails(fileStorageId: string): Promise<string[]> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) return [];\n\n const thumbnailDir = filePath.replace(/\\.(gcode|3mf|bgcode)$/i, \"_thumbnails\");\n\n try {\n const files = await readdir(thumbnailDir);\n return files.filter((f) => f.startsWith(\"thumb_\")).sort((a, b) => a.localeCompare(b));\n } catch {\n return [];\n }\n }\n\n async listAllFiles(): Promise<\n Array<{\n fileStorageId: string;\n fileName: string;\n fileFormat: string;\n fileSize: number;\n fileHash: string;\n createdAt: Date;\n thumbnailCount: number;\n metadata?: any;\n }>\n > {\n const files: any[] = [];\n\n for (const subdir of this.STORAGE_SUBDIRS) {\n const dirPath = join(this.storageBasePath, subdir);\n try {\n const dirFiles = await readdir(dirPath);\n\n for (const file of dirFiles) {\n if (file.endsWith(\"_thumbnails\") || file.endsWith(\".json\")) continue;\n\n const fileId = path.parse(file).name;\n const filePath = join(dirPath, file);\n const stats = await stat(filePath);\n\n const metadata = await this.loadMetadata(fileId);\n\n const thumbnails = await this.listThumbnails(fileId);\n\n files.push({\n fileStorageId: fileId,\n fileName: metadata?._fileName || file,\n fileFormat: subdir,\n fileSize: stats.size,\n fileHash: metadata?._fileHash || \"\",\n createdAt: stats.birthtime,\n thumbnailCount: thumbnails.length,\n metadata: metadata,\n });\n }\n } catch (error) {\n this.logger.error(`Error listing files in ${subdir}`, error);\n }\n }\n\n return files.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n }\n\n async getFileInfo(fileStorageId: string): Promise<{\n fileStorageId: string;\n fileName: string;\n fileFormat: string;\n fileSize: number;\n fileHash: string;\n createdAt: Date;\n thumbnailCount: number;\n metadata?: any;\n } | null> {\n const filePath = await this.findFilePath(fileStorageId);\n if (!filePath) return null;\n\n try {\n const stats = await stat(filePath);\n const metadata = await this.loadMetadata(fileStorageId);\n const thumbnails = await this.listThumbnails(fileStorageId);\n const ext = extname(filePath).substring(1);\n\n return {\n fileStorageId,\n fileName: metadata?._originalFileName || basename(filePath),\n fileFormat: ext,\n fileSize: stats.size,\n fileHash: metadata?._fileHash || \"\",\n createdAt: stats.birthtime,\n thumbnailCount: thumbnails.length,\n metadata: metadata,\n };\n } catch (error) {\n this.logger.error(`Error getting file info for ${fileStorageId}`, error);\n return null;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,43 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
name;
|
|
25
|
-
streamURL;
|
|
26
|
-
printerId;
|
|
27
|
-
aspectRatio;
|
|
28
|
-
rotationClockwise;
|
|
29
|
-
flipHorizontal;
|
|
30
|
-
flipVertical;
|
|
31
|
-
}
|
|
32
|
-
class CreateCameraStreamDto {
|
|
33
|
-
streamURL;
|
|
34
|
-
name;
|
|
35
|
-
printerId;
|
|
36
|
-
}
|
|
37
|
-
class UpdateCameraStreamDto {
|
|
38
|
-
streamURL;
|
|
39
|
-
name;
|
|
40
|
-
printerId;
|
|
41
|
-
}
|
|
1
|
+
//#region src/services/interfaces/camera-stream.dto.ts
|
|
2
|
+
var CameraStreamDto = class {
|
|
3
|
+
id;
|
|
4
|
+
name;
|
|
5
|
+
streamURL;
|
|
6
|
+
printerId;
|
|
7
|
+
aspectRatio;
|
|
8
|
+
rotationClockwise;
|
|
9
|
+
flipHorizontal;
|
|
10
|
+
flipVertical;
|
|
11
|
+
};
|
|
12
|
+
var CreateCameraStreamDto = class {
|
|
13
|
+
streamURL;
|
|
14
|
+
name;
|
|
15
|
+
printerId;
|
|
16
|
+
};
|
|
17
|
+
var UpdateCameraStreamDto = class {
|
|
18
|
+
streamURL;
|
|
19
|
+
name;
|
|
20
|
+
printerId;
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { CameraStreamDto, CreateCameraStreamDto, UpdateCameraStreamDto };
|
|
42
24
|
|
|
43
25
|
//# sourceMappingURL=camera-stream.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/camera-stream.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"camera-stream.dto.js","names":[],"sources":["../../../src/services/interfaces/camera-stream.dto.ts"],"sourcesContent":["export class CameraStreamDto {\n id: number;\n name?: string;\n streamURL: string;\n printerId: number | null;\n aspectRatio: string;\n rotationClockwise: number;\n flipHorizontal: boolean;\n flipVertical: boolean;\n}\n\nexport class CreateCameraStreamDto {\n streamURL: string;\n name: string;\n printerId?: number;\n}\n\nexport class UpdateCameraStreamDto {\n streamURL: string;\n name: string;\n printerId: number;\n}\n"],"mappings":";AAAA,IAAa,kBAAb,MAA6B;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;AAGF,IAAa,wBAAb,MAAmC;CACjC;CACA;CACA;;AAGF,IAAa,wBAAb,MAAmC;CACjC;CACA;CACA"}
|
|
@@ -1,57 +1,33 @@
|
|
|
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
|
-
floorId;
|
|
33
|
-
}
|
|
34
|
-
class CreatePositionDto {
|
|
35
|
-
x;
|
|
36
|
-
y;
|
|
37
|
-
printerId;
|
|
38
|
-
floorId;
|
|
39
|
-
}
|
|
40
|
-
class FloorDto {
|
|
41
|
-
id;
|
|
42
|
-
name;
|
|
43
|
-
order;
|
|
44
|
-
printers;
|
|
45
|
-
}
|
|
46
|
-
class CreateFloorDto {
|
|
47
|
-
printers;
|
|
48
|
-
name;
|
|
49
|
-
order;
|
|
50
|
-
}
|
|
51
|
-
class UpdateFloorDto {
|
|
52
|
-
printers;
|
|
53
|
-
name;
|
|
54
|
-
order;
|
|
55
|
-
}
|
|
1
|
+
//#region src/services/interfaces/floor.dto.ts
|
|
2
|
+
var PositionDto = class {
|
|
3
|
+
x;
|
|
4
|
+
y;
|
|
5
|
+
printerId;
|
|
6
|
+
floorId;
|
|
7
|
+
};
|
|
8
|
+
var CreatePositionDto = class {
|
|
9
|
+
x;
|
|
10
|
+
y;
|
|
11
|
+
printerId;
|
|
12
|
+
floorId;
|
|
13
|
+
};
|
|
14
|
+
var FloorDto = class {
|
|
15
|
+
id;
|
|
16
|
+
name;
|
|
17
|
+
order;
|
|
18
|
+
printers;
|
|
19
|
+
};
|
|
20
|
+
var CreateFloorDto = class {
|
|
21
|
+
printers;
|
|
22
|
+
name;
|
|
23
|
+
order;
|
|
24
|
+
};
|
|
25
|
+
var UpdateFloorDto = class {
|
|
26
|
+
printers;
|
|
27
|
+
name;
|
|
28
|
+
order;
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { CreateFloorDto, CreatePositionDto, FloorDto, PositionDto, UpdateFloorDto };
|
|
56
32
|
|
|
57
33
|
//# sourceMappingURL=floor.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/floor.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"floor.dto.js","names":[],"sources":["../../../src/services/interfaces/floor.dto.ts"],"sourcesContent":["export class PositionDto {\n x: number;\n y: number;\n printerId: number;\n floorId: number;\n}\n\nexport class CreatePositionDto {\n x: number;\n y: number;\n printerId: number;\n floorId?: number;\n}\n\nexport class FloorDto {\n id: number;\n name: string;\n order: number;\n printers: PositionDto[];\n}\n\nexport class CreateFloorDto {\n printers?: CreatePositionDto[];\n name: string;\n order: number;\n}\n\nexport class UpdateFloorDto {\n printers?: PositionDto[];\n name?: string;\n order?: number;\n}\n"],"mappings":";AAAA,IAAa,cAAb,MAAyB;CACvB;CACA;CACA;CACA;;AAGF,IAAa,oBAAb,MAA+B;CAC7B;CACA;CACA;CACA;;AAGF,IAAa,WAAb,MAAsB;CACpB;CACA;CACA;CACA;;AAGF,IAAa,iBAAb,MAA4B;CAC1B;CACA;CACA;;AAGF,IAAa,iBAAb,MAA4B;CAC1B;CACA;CACA"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
class LoginDto {
|
|
12
|
-
apiKey;
|
|
13
|
-
username;
|
|
14
|
-
password;
|
|
15
|
-
printerURL;
|
|
16
|
-
printerType;
|
|
17
|
-
}
|
|
1
|
+
//#region src/services/interfaces/login.dto.ts
|
|
2
|
+
var LoginDto = class {
|
|
3
|
+
apiKey;
|
|
4
|
+
username;
|
|
5
|
+
password;
|
|
6
|
+
printerURL;
|
|
7
|
+
printerType;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { LoginDto };
|
|
18
11
|
|
|
19
12
|
//# sourceMappingURL=login.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/login.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"login.dto.js","names":[],"sources":["../../../src/services/interfaces/login.dto.ts"],"sourcesContent":["export class LoginDto {\n apiKey?: string;\n username?: string;\n password?: string;\n printerURL: string;\n printerType: number;\n}\n"],"mappings":";AAAA,IAAa,WAAb,MAAsB;CACpB;CACA;CACA;CACA;CACA"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "DEFAULT_PAGE", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return DEFAULT_PAGE;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
1
|
+
//#region src/services/interfaces/page.interface.ts
|
|
11
2
|
const DEFAULT_PAGE = {
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
page: 0,
|
|
4
|
+
pageSize: 50
|
|
14
5
|
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { DEFAULT_PAGE };
|
|
15
8
|
|
|
16
9
|
//# sourceMappingURL=page.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/page.interface.ts"],"
|
|
1
|
+
{"version":3,"file":"page.interface.js","names":[],"sources":["../../../src/services/interfaces/page.interface.ts"],"sourcesContent":["export const DEFAULT_PAGE: IPagination = {\n page: 0,\n pageSize: 50,\n};\n\nexport interface IPagination {\n page: number;\n pageSize: number;\n}\n"],"mappings":";AAAA,MAAa,eAA4B;CACvC,MAAM;CACN,UAAU;CACX"}
|
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
get CreateTagDto () {
|
|
13
|
-
return CreateTagDto;
|
|
14
|
-
},
|
|
15
|
-
get PrinterTagDto () {
|
|
16
|
-
return PrinterTagDto;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
class PrinterTagDto {
|
|
20
|
-
printerId;
|
|
21
|
-
tagId;
|
|
22
|
-
}
|
|
23
|
-
class CreateTagDto {
|
|
24
|
-
name;
|
|
25
|
-
color;
|
|
26
|
-
}
|
|
1
|
+
//#region src/services/interfaces/printer-tag.dto.ts
|
|
2
|
+
var PrinterTagDto = class {
|
|
3
|
+
printerId;
|
|
4
|
+
tagId;
|
|
5
|
+
};
|
|
6
|
+
var CreateTagDto = class {
|
|
7
|
+
name;
|
|
8
|
+
color;
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { CreateTagDto, PrinterTagDto };
|
|
27
12
|
|
|
28
13
|
//# sourceMappingURL=printer-tag.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/printer-tag.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"printer-tag.dto.js","names":[],"sources":["../../../src/services/interfaces/printer-tag.dto.ts"],"sourcesContent":["export class PrinterTagDto {\n printerId: number;\n tagId: number;\n}\n\nexport class CreateTagDto {\n name: string;\n color?: string;\n}\n"],"mappings":";AAAA,IAAa,gBAAb,MAA2B;CACzB;CACA;;AAGF,IAAa,eAAb,MAA0B;CACxB;CACA"}
|
|
@@ -1,38 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
printerURL;
|
|
23
|
-
printerType;
|
|
24
|
-
}
|
|
25
|
-
class PrinterDto {
|
|
26
|
-
id;
|
|
27
|
-
name;
|
|
28
|
-
enabled;
|
|
29
|
-
disabledReason;
|
|
30
|
-
dateAdded;
|
|
31
|
-
apiKey;
|
|
32
|
-
username;
|
|
33
|
-
password;
|
|
34
|
-
printerURL;
|
|
35
|
-
printerType;
|
|
36
|
-
}
|
|
1
|
+
//#region src/services/interfaces/printer.dto.ts
|
|
2
|
+
var CreatePrinterDto = class {
|
|
3
|
+
name;
|
|
4
|
+
apiKey;
|
|
5
|
+
printerURL;
|
|
6
|
+
printerType;
|
|
7
|
+
};
|
|
8
|
+
var PrinterDto = class {
|
|
9
|
+
id;
|
|
10
|
+
name;
|
|
11
|
+
enabled;
|
|
12
|
+
disabledReason;
|
|
13
|
+
dateAdded;
|
|
14
|
+
apiKey;
|
|
15
|
+
username;
|
|
16
|
+
password;
|
|
17
|
+
printerURL;
|
|
18
|
+
printerType;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { CreatePrinterDto, PrinterDto };
|
|
37
22
|
|
|
38
23
|
//# sourceMappingURL=printer.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/printer.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"printer.dto.js","names":[],"sources":["../../../src/services/interfaces/printer.dto.ts"],"sourcesContent":["import { PrinterType } from \"@/services/printer-api.interface\";\n\nexport class CreatePrinterDto {\n name: string;\n apiKey?: string;\n printerURL: string;\n printerType: PrinterType;\n}\n\nexport class PrinterDto {\n id: number;\n name: string;\n enabled: boolean;\n disabledReason: string | null;\n dateAdded?: number;\n apiKey?: string;\n username?: string;\n password?: string;\n printerURL: string;\n printerType: number;\n}\n"],"mappings":";AAEA,IAAa,mBAAb,MAA8B;CAC5B;CACA;CACA;CACA;;AAGF,IAAa,aAAb,MAAwB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
});
|
|
11
|
-
class RefreshTokenDto {
|
|
12
|
-
id;
|
|
13
|
-
userId;
|
|
14
|
-
expiresAt;
|
|
15
|
-
refreshAttemptsUsed;
|
|
16
|
-
}
|
|
1
|
+
//#region src/services/interfaces/refresh-token.dto.ts
|
|
2
|
+
var RefreshTokenDto = class {
|
|
3
|
+
id;
|
|
4
|
+
userId;
|
|
5
|
+
expiresAt;
|
|
6
|
+
refreshAttemptsUsed;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { RefreshTokenDto };
|
|
17
10
|
|
|
18
11
|
//# sourceMappingURL=refresh-token.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/refresh-token.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"refresh-token.dto.js","names":[],"sources":["../../../src/services/interfaces/refresh-token.dto.ts"],"sourcesContent":["export class RefreshTokenDto {\n id!: number;\n userId!: number;\n expiresAt!: number;\n // Not exposed\n // refreshToken!: string;\n refreshAttemptsUsed!: number;\n}\n"],"mappings":";AAAA,IAAa,kBAAb,MAA6B;CAC3B;CACA;CACA;CAGA"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return RoleDto;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
class RoleDto {
|
|
12
|
-
id;
|
|
13
|
-
name;
|
|
14
|
-
}
|
|
1
|
+
//#region src/services/interfaces/role.dto.ts
|
|
2
|
+
var RoleDto = class {
|
|
3
|
+
id;
|
|
4
|
+
name;
|
|
5
|
+
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { RoleDto };
|
|
15
8
|
|
|
16
9
|
//# sourceMappingURL=role.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/interfaces/role.dto.ts"],"
|
|
1
|
+
{"version":3,"file":"role.dto.js","names":[],"sources":["../../../src/services/interfaces/role.dto.ts"],"sourcesContent":["import type { RoleName } from \"@/constants/authorization.constants\";\n\nexport class RoleDto {\n id: number;\n name: RoleName;\n}\n"],"mappings":";AAEA,IAAa,UAAb,MAAqB;CACnB;CACA"}
|