@fdm-monster/server 1.5.3 → 1.6.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.template +7 -0
- package/README.md +3 -2
- package/dist/consoles/upload-test.js +52 -0
- package/dist/consoles/upload-test.js.map +1 -0
- package/dist/constants/authorization.constants.js +0 -1
- package/dist/constants/authorization.constants.js.map +1 -1
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/http-status-codes.constants.js +62 -255
- package/dist/constants/http-status-codes.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +0 -4
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/constants/service.constants.js +6 -21
- package/dist/constants/service.constants.js.map +1 -1
- package/dist/container.js +4 -10
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +1 -7
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +0 -2
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/custom-gcode.controller.js +1 -3
- package/dist/controllers/custom-gcode.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +0 -5
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/plugin-firmware-update.controller.js +1 -3
- package/dist/controllers/plugin-firmware-update.controller.js.map +1 -1
- package/dist/controllers/print-completion.controller.js +1 -3
- package/dist/controllers/print-completion.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +18 -70
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +7 -25
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +0 -1
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +0 -1
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +0 -2
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +1 -10
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/setting.validation.js +0 -1
- package/dist/controllers/validation/setting.validation.js.map +1 -1
- package/dist/entities/base.entity.js +29 -0
- package/dist/entities/base.entity.js.map +1 -0
- package/dist/handlers/cache-manager.js +1 -1
- package/dist/handlers/cache-manager.js.map +1 -1
- package/dist/handlers/event-emitter.js +0 -7
- package/dist/handlers/event-emitter.js.map +1 -1
- package/dist/handlers/logger.js +1 -1
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/validators.js +1 -1
- package/dist/handlers/validators.js.map +1 -1
- package/dist/middleware/authenticate.js +0 -2
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/exception.filter.js +0 -1
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +0 -4
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/models/Auth/User.js +0 -2
- package/dist/models/Auth/User.js.map +1 -1
- package/dist/models/Printer.js +4 -46
- package/dist/models/Printer.js.map +1 -1
- package/dist/models/PrinterFile.js +81 -0
- package/dist/models/PrinterFile.js.map +1 -0
- package/dist/models/Settings.js +0 -1
- package/dist/models/Settings.js.map +1 -1
- package/dist/models/index.js +4 -0
- package/dist/models/index.js.map +1 -1
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -4
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
- package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -4
- package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -4
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -5
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -5
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +41 -0
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -0
- package/dist/server.constants.js +1 -19
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +6 -7
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +4 -16
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +3 -7
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js +2 -20
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js +0 -1
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/authentication/refresh-token.service.js +0 -3
- package/dist/services/authentication/refresh-token.service.js.map +1 -1
- package/dist/services/authentication/user.service.js +0 -4
- package/dist/services/authentication/user.service.js.map +1 -1
- package/dist/services/batch-call.service.js +4 -8
- package/dist/services/batch-call.service.js.map +1 -1
- package/dist/services/camera-stream.service.js +0 -1
- package/dist/services/camera-stream.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +1 -4
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +1 -2
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/multer.service.js +6 -9
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/server-release.service.js +4 -13
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/server-update.service.js +0 -2
- package/dist/services/core/server-update.service.js.map +1 -1
- package/dist/services/core/task-manager.service.js +9 -22
- package/dist/services/core/task-manager.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +0 -7
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/floor.service.js +2 -43
- package/dist/services/floor.service.js.map +1 -1
- package/dist/services/interfaces/print-completion.dto.js +0 -2
- package/dist/services/interfaces/print-completion.dto.js.map +1 -1
- package/dist/services/interfaces/print-completion.interface.js +6 -0
- package/dist/services/interfaces/{print-completion.service.js.map → print-completion.interface.js.map} +1 -1
- package/dist/services/interfaces/printer-file.dto.js +3 -1
- package/dist/services/interfaces/printer-file.dto.js.map +1 -1
- package/dist/services/interfaces/refresh-token.dto.js +0 -2
- package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js +0 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-service.constants.js +0 -3
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
- package/dist/services/octoprint/dto/connection-state.dto.js +46 -0
- package/dist/services/octoprint/dto/connection-state.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-currentuser.dto.js +6 -0
- package/dist/services/octoprint/dto/octoprint-currentuser.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-event.dto.js +41 -0
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-file.dto.js +84 -0
- package/dist/services/octoprint/dto/octoprint-file.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-files.dto.js +17 -0
- package/dist/services/octoprint/dto/octoprint-files.dto.js.map +1 -0
- package/dist/services/{interfaces/print-completion.service.js → octoprint/dto/octoprint-session.dto.js} +1 -1
- package/dist/services/octoprint/dto/octoprint-session.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-settings.dto.js +29 -0
- package/dist/services/octoprint/dto/octoprint-settings.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-system-info.dto.js +41 -0
- package/dist/services/octoprint/dto/octoprint-system-info.dto.js.map +1 -0
- package/dist/services/octoprint/dto/state.dto.js +38 -0
- package/dist/services/octoprint/dto/state.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/current-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/current-message.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/event-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/event-message.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/event.type.js +54 -0
- package/dist/services/octoprint/dto/websocket-output/event.type.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/home.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/home.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/history-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/history-message.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js.map +1 -0
- package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js +6 -0
- package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js.map +1 -0
- package/dist/services/octoprint/octoprint-api.routes.js +15 -17
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-api.service.js +189 -158
- package/dist/services/octoprint/octoprint-api.service.js.map +1 -1
- package/dist/services/octoprint/octoprint-sockio.adapter.js +50 -85
- package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
- package/dist/services/octoprint/plugin-base.service.js +0 -1
- package/dist/services/octoprint/plugin-base.service.js.map +1 -1
- package/dist/services/octoprint/plugin-firmware-update.service.js +0 -3
- package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -1
- package/dist/services/octoprint/utils/api.utils.js +0 -35
- package/dist/services/octoprint/utils/api.utils.js.map +1 -1
- package/dist/services/orm/base.interface.js +6 -0
- package/dist/services/orm/base.interface.js.map +1 -0
- package/dist/services/orm/base.service.js +69 -0
- package/dist/services/orm/base.service.js.map +1 -0
- package/dist/services/print-completion.service.js +0 -1
- package/dist/services/print-completion.service.js.map +1 -1
- package/dist/services/print-completion.shared.js +0 -1
- package/dist/services/print-completion.shared.js.map +1 -1
- package/dist/services/printer-files.service.js +70 -53
- package/dist/services/printer-files.service.js.map +1 -1
- package/dist/services/printer.service.js +2 -15
- package/dist/services/printer.service.js.map +1 -1
- package/dist/services/settings.service.js +2 -8
- package/dist/services/settings.service.js.map +1 -1
- package/dist/services/validators/floor-service.validation.js +3 -3
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +0 -3
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/shared/dtos/printer-login.dto.js +58 -0
- package/dist/shared/dtos/printer-login.dto.js.map +1 -0
- package/dist/shared/websocket.adapter.js +59 -0
- package/dist/shared/websocket.adapter.js.map +1 -0
- package/dist/state/file-upload-tracker.cache.js +0 -1
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/file.cache.js +19 -42
- package/dist/state/file.cache.js.map +1 -1
- package/dist/state/floor.store.js +0 -1
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +1 -3
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/{files.store.js → printer-files.store.js} +26 -43
- package/dist/state/printer-files.store.js.map +1 -0
- package/dist/state/printer-socket.store.js +7 -32
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer.cache.js +0 -1
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +6 -3
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +0 -2
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +1 -7
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/task.presets.js +0 -11
- package/dist/task.presets.js.map +1 -1
- package/dist/tasks/boot.task.js +6 -10
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/print-completion.socketio.task.js +13 -22
- package/dist/tasks/print-completion.socketio.task.js.map +1 -1
- package/dist/tasks/printer-file-clean.task.js +12 -20
- package/dist/tasks/printer-file-clean.task.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +1 -5
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks/printer-websocket.task.js +5 -15
- package/dist/tasks/printer-websocket.task.js.map +1 -1
- package/dist/tasks/socketio.task.js +0 -1
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks.js +0 -2
- package/dist/tasks.js.map +1 -1
- package/dist/types/express/index.d.js +0 -1
- package/dist/types/express/index.d.js.map +1 -1
- package/dist/utils/env.utils.js +1 -14
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/is-docker.js +1 -1
- package/dist/utils/is-docker.js.map +1 -1
- package/dist/utils/normalize-url.js +0 -35
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/semver.utils.js +0 -1
- package/dist/utils/semver.utils.js.map +1 -1
- package/package.json +53 -43
- package/dist/state/files.store.js.map +0 -1
- package/dist/utils/find-predicate.utils.js +0 -18
- package/dist/utils/find-predicate.utils.js.map +0 -1
- package/dist/utils/websocket.adapter.js +0 -105
- package/dist/utils/websocket.adapter.js.map +0 -1
package/dist/state/file.cache.js
CHANGED
|
@@ -8,9 +8,7 @@ Object.defineProperty(exports, "FileCache", {
|
|
|
8
8
|
return FileCache;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _findpredicateutils = require("../utils/find-predicate.utils");
|
|
12
11
|
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
13
|
-
const _serviceconstants = require("../constants/service.constants");
|
|
14
12
|
class FileCache {
|
|
15
13
|
printerFileStorage = {};
|
|
16
14
|
totalFileCount = 0;
|
|
@@ -18,51 +16,24 @@ class FileCache {
|
|
|
18
16
|
constructor({ loggerFactory }){
|
|
19
17
|
this.logger = loggerFactory(FileCache.name);
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
* Save a printer storage reference to cache
|
|
23
|
-
* @param printerId
|
|
24
|
-
* @param fileList
|
|
25
|
-
* @param storage
|
|
26
|
-
*/ cachePrinterFileStorage(printerId, { fileList, storage }) {
|
|
27
|
-
this.cachePrinterStorage(printerId, storage);
|
|
28
|
-
this.cachePrinterFiles(printerId, fileList);
|
|
29
|
-
}
|
|
30
|
-
cachePrinterFiles(printerId, fileList) {
|
|
31
|
-
const printerFileStorage = this.getPrinterFileStorage(printerId);
|
|
32
|
-
printerFileStorage.fileList = fileList;
|
|
33
|
-
this.updateCacheFileRefCount();
|
|
34
|
-
}
|
|
35
|
-
cachePrinterStorage(printerId, storage) {
|
|
36
|
-
const printerFileStorage = this.getPrinterFileStorage(printerId);
|
|
37
|
-
printerFileStorage.storage = storage;
|
|
38
|
-
this.updateCacheFileRefCount();
|
|
39
|
-
}
|
|
40
|
-
getPrinterFileStorage(printerId) {
|
|
19
|
+
cachePrinterFiles(printerId, files) {
|
|
41
20
|
if (!printerId) {
|
|
42
21
|
throw new Error("File Cache cant get a null/undefined printer id");
|
|
43
22
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// A runtime thing only, repository handles it differently
|
|
47
|
-
fileStorage = this.printerFileStorage[printerId] = {
|
|
48
|
-
fileList: (0, _serviceconstants.getFileListDefault)(),
|
|
49
|
-
storage: undefined
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
return fileStorage;
|
|
23
|
+
this.printerFileStorage[printerId] = files;
|
|
24
|
+
this.updateCacheFileRefCount();
|
|
53
25
|
}
|
|
54
26
|
getPrinterFiles(printerId) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return fileStorage?.storage;
|
|
27
|
+
if (!printerId) {
|
|
28
|
+
throw new Error("File Cache cant get a null/undefined printer id");
|
|
29
|
+
}
|
|
30
|
+
this.printerFileStorage[printerId] = this.getPrinterFileStorage(printerId);
|
|
31
|
+
return this.getPrinterFileStorage(printerId);
|
|
61
32
|
}
|
|
62
33
|
updateCacheFileRefCount() {
|
|
63
34
|
let totalFiles = 0;
|
|
64
35
|
for (const storage of Object.values(this.printerFileStorage)){
|
|
65
|
-
totalFiles += storage
|
|
36
|
+
totalFiles += storage?.length || 0;
|
|
66
37
|
}
|
|
67
38
|
if (totalFiles !== this.totalFileCount) {
|
|
68
39
|
this.totalFileCount = totalFiles;
|
|
@@ -83,16 +54,22 @@ class FileCache {
|
|
|
83
54
|
this.logger.log(`Purged printerId '${printerId}' file cache`);
|
|
84
55
|
}
|
|
85
56
|
purgeFile(printerId, filePath) {
|
|
86
|
-
const
|
|
87
|
-
|
|
57
|
+
const files = this.getPrinterFileStorage(printerId);
|
|
58
|
+
if (!files) return;
|
|
59
|
+
const fileIndex = files.findIndex((f)=>f.path === filePath);
|
|
88
60
|
if (fileIndex === -1) {
|
|
89
|
-
// We can always choose to throw - if we trust the cache consistency
|
|
90
61
|
this.logger.warn(`A file removal was ordered but this file was not found in files cache for printer Id ${printerId}`, filePath);
|
|
91
62
|
return this.logger.log("File was not found in cached printer fileList");
|
|
92
63
|
}
|
|
93
|
-
|
|
64
|
+
files.splice(fileIndex, 1);
|
|
94
65
|
this.logger.log(`File ${filePath} was removed`);
|
|
95
66
|
}
|
|
67
|
+
getPrinterFileStorage(printerId) {
|
|
68
|
+
if (!printerId) {
|
|
69
|
+
throw new Error("File Cache cant get a null/undefined printer id");
|
|
70
|
+
}
|
|
71
|
+
return this.printerFileStorage[printerId];
|
|
72
|
+
}
|
|
96
73
|
}
|
|
97
74
|
|
|
98
75
|
//# sourceMappingURL=file.cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/file.cache.ts"],"names":["FileCache","printerFileStorage","totalFileCount","logger","constructor","loggerFactory","name","
|
|
1
|
+
{"version":3,"sources":["../../src/state/file.cache.ts"],"names":["FileCache","printerFileStorage","totalFileCount","logger","constructor","loggerFactory","name","cachePrinterFiles","printerId","files","Error","updateCacheFileRefCount","getPrinterFiles","getPrinterFileStorage","totalFiles","storage","Object","values","length","log","purgePrinterId","ValidationException","fileStorage","warn","purgeFile","filePath","fileIndex","findIndex","f","path","splice"],"mappings":";;;;+BAOaA;;;eAAAA;;;mCAPuB;AAO7B,MAAMA;IACHC,qBAAwE,CAAC,EAAE;IAC3EC,iBAAiB,EAAE;IAEnBC,OAAsB;IAE9BC,YAAY,EAAEC,aAAa,EAAqC,CAAE;QAChE,IAAI,CAACF,MAAM,GAAGE,cAAcL,UAAUM,IAAI;IAC5C;IAEAC,kBAAkBC,SAAiB,EAAEC,KAAwC,EAAE;QAC7E,IAAI,CAACD,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,IAAI,CAACT,kBAAkB,CAACO,UAAU,GAAGC;QACrC,IAAI,CAACE,uBAAuB;IAC9B;IAEAC,gBAAgBJ,SAAiB,EAAE;QACjC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,IAAI,CAACT,kBAAkB,CAACO,UAAU,GAAG,IAAI,CAACK,qBAAqB,CAACL;QAChE,OAAO,IAAI,CAACK,qBAAqB,CAACL;IACpC;IAEAG,0BAA0B;QACxB,IAAIG,aAAa;QACjB,KAAK,MAAMC,WAAWC,OAAOC,MAAM,CAAC,IAAI,CAAChB,kBAAkB,EAAG;YAC5Da,cAAcC,SAASG,UAAU;QACnC;QAEA,IAAIJ,eAAe,IAAI,CAACZ,cAAc,EAAE;YACtC,IAAI,CAACA,cAAc,GAAGY;YACtB,IAAI,CAACX,MAAM,CAACgB,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAACjB,cAAc,CAAC,gCAAgC,CAAC;QACzF;QAEA,OAAOY;IACT;IAEAM,eAAeZ,SAAiB,EAAE;QAChC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIa,sCAAmB,CAAC;QAChC;QAEA,MAAMC,cAAc,IAAI,CAACrB,kBAAkB,CAACO,UAAU;QAEtD,IAAI,CAACc,aAAa;YAChB,IAAI,CAACnB,MAAM,CAACoB,IAAI,CAAC;YACjB;QACF;QAEA,OAAO,IAAI,CAACtB,kBAAkB,CAACO,UAAU;QAEzC,IAAI,CAACL,MAAM,CAACgB,GAAG,CAAC,CAAC,kBAAkB,EAAEX,UAAU,YAAY,CAAC;IAC9D;IAEAgB,UAAUhB,SAAiB,EAAEiB,QAAgB,EAAE;QAC7C,MAAMhB,QAAQ,IAAI,CAACI,qBAAqB,CAACL;QACzC,IAAI,CAACC,OAAO;QAEZ,MAAMiB,YAAYjB,MAAMkB,SAAS,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ;QACpD,IAAIC,cAAc,CAAC,GAAG;YAEpB,IAAI,CAACvB,MAAM,CAACoB,IAAI,CACd,CAAC,qFAAqF,EAAEf,UAAU,CAAC,EACnGiB;YAGF,OAAO,IAAI,CAACtB,MAAM,CAACgB,GAAG,CAAC;QACzB;QAEAV,MAAMqB,MAAM,CAACJ,WAAW;QACxB,IAAI,CAACvB,MAAM,CAACgB,GAAG,CAAC,CAAC,KAAK,EAAEM,SAAS,YAAY,CAAC;IAChD;IAEQZ,sBAAsBL,SAAiB,EAAE;QAC/C,IAAI,CAACA,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QAEA,OAAO,IAAI,CAACT,kBAAkB,CAACO,UAAU;IAC3C;AACF"}
|
|
@@ -91,7 +91,6 @@ class FloorStore extends _keydiffcache.KeyDiffCache {
|
|
|
91
91
|
}
|
|
92
92
|
async removePrinterFromAnyFloor(printerId) {
|
|
93
93
|
await this.floorService.deletePrinterFromAnyFloor(printerId);
|
|
94
|
-
// Bit harsh, but we need to reload the entire store
|
|
95
94
|
await this.loadStore();
|
|
96
95
|
}
|
|
97
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/floor.store.ts"],"names":["FloorStore","KeyDiffCache","floorService","logger","constructor","loggerFactory","name","loadStore","floors","list","length","log","floor","createDefaultFloor","floorDto","toDto","setKeyValue","id","keyValues","map","key","toString","value","setKeyValuesBatch","listCache","getAllValues","create","input","delete","floorId","deleteResult","deleteKeyValue","getFloor","getValue","dbFloor","get","update","updateName","updateFloorNumber","floorLevel","updateLevel","addOrUpdatePrinter","position","removePrinter","printerId","removePrinterFromAnyFloor","deletePrinterFromAnyFloor"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/state/floor.store.ts"],"names":["FloorStore","KeyDiffCache","floorService","logger","constructor","loggerFactory","name","loadStore","floors","list","length","log","floor","createDefaultFloor","floorDto","toDto","setKeyValue","id","keyValues","map","key","toString","value","setKeyValuesBatch","listCache","getAllValues","create","input","delete","floorId","deleteResult","deleteKeyValue","getFloor","getValue","dbFloor","get","update","updateName","updateFloorNumber","floorLevel","updateLevel","addOrUpdatePrinter","position","removePrinter","printerId","removePrinterFromAnyFloor","deletePrinterFromAnyFloor"],"mappings":";;;;+BAOaA;;;eAAAA;;;8BAPyB;AAO/B,MAAMA,mBAAqDC,0BAAY;IACpEC,aAAqC;IACrCC,OAAsB;IAE9BC,YAAY,EAAEF,YAAY,EAAEG,aAAa,EAA2E,CAAE;QACpH,KAAK;QACL,IAAI,CAACH,YAAY,GAAGA;QACpB,IAAI,CAACC,MAAM,GAAGE,cAAcL,WAAWM,IAAI;IAC7C;IAEA,MAAMC,YAAY;QAChB,MAAMC,SAAS,MAAM,IAAI,CAACN,YAAY,CAACO,IAAI;QAE3C,IAAI,CAACD,QAAQE,QAAQ;YACnB,IAAI,CAACP,MAAM,CAACQ,GAAG,CAAC;YAChB,MAAMC,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACW,kBAAkB;YACxD,MAAMC,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;YACzC,MAAM,IAAI,CAACI,WAAW,CAACJ,MAAMK,EAAE,EAAEH,UAAU;YAC3C;QACF;QAEA,MAAMI,YAAYV,OAAOW,GAAG,CAAC,CAACP,QAAW,CAAA;gBACvCQ,KAAKR,MAAMK,EAAE,CAACI,QAAQ;gBACtBC,OAAO,IAAI,CAACpB,YAAY,CAACa,KAAK,CAACH;YACjC,CAAA;QACA,MAAM,IAAI,CAACW,iBAAiB,CAACL,WAAW;IAC1C;IAEA,MAAMM,YAAY;QAChB,MAAMhB,SAAS,MAAM,IAAI,CAACiB,YAAY;QACtC,IAAIjB,QAAQE,QAAQ;YAClB,OAAOF;QACT;QAEA,MAAM,IAAI,CAACD,SAAS;QACpB,OAAO,MAAM,IAAI,CAACkB,YAAY;IAChC;IAEA,MAAMC,OAAOC,KAA8B,EAAE;QAC3C,MAAMf,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACwB,MAAM,CAACC;QAC7C,MAAMb,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACJ,MAAMK,EAAE,EAAEH,UAAU;QAC3C,OAAOA;IACT;IAEA,MAAMc,OAAOC,OAAgB,EAAE;QAC7B,MAAMC,eAAe,MAAM,IAAI,CAAC5B,YAAY,CAAC0B,MAAM,CAACC;QACpD,MAAM,IAAI,CAACE,cAAc,CAACF;QAC1B,OAAOC;IACT;IAEA,MAAME,SAASH,OAAgB,EAAE;QAC/B,IAAIjB,QAAQ,MAAM,IAAI,CAACqB,QAAQ,CAACJ;QAChC,IAAI,CAAC,CAACjB,OAAO,OAAOA;QAEpB,MAAMsB,UAAU,MAAM,IAAI,CAAChC,YAAY,CAACiC,GAAG,CAACN;QAC5C,MAAMf,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACmB;QACzC,MAAM,IAAI,CAAClB,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAMsB,OAAOP,OAAgB,EAAEF,KAA8B,EAAE;QAC7D,MAAMf,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACkC,MAAM,CAACP,SAASF;QACtD,MAAMb,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAMuB,WAAWR,OAAgB,EAAEvB,IAAY,EAAE;QAC/C,MAAMM,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACmC,UAAU,CAACR,SAASvB;QAC1D,MAAMQ,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAMwB,kBAAkBT,OAAgB,EAAEU,UAAkB,EAAE;QAC5D,MAAM3B,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACsC,WAAW,CAACX,SAASU;QAC3D,MAAMzB,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAM2B,mBAAmBZ,OAAgB,EAAEa,QAA8B,EAAE;QACzE,MAAM9B,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACuC,kBAAkB,CAACZ,SAASa;QAClE,MAAM5B,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAM6B,cAAcd,OAAgB,EAAEe,SAAkB,EAAE;QACxD,MAAMhC,QAAQ,MAAM,IAAI,CAACV,YAAY,CAACyC,aAAa,CAACd,SAASe;QAC7D,MAAM9B,WAAW,IAAI,CAACZ,YAAY,CAACa,KAAK,CAACH;QACzC,MAAM,IAAI,CAACI,WAAW,CAACa,SAASf,UAAU;QAC1C,OAAOA;IACT;IAEA,MAAM+B,0BAA0BD,SAAkB,EAAE;QAClD,MAAM,IAAI,CAAC1C,YAAY,CAAC4C,yBAAyB,CAACF;QAGlD,MAAM,IAAI,CAACrC,SAAS;IACtB;AACF"}
|
|
@@ -65,9 +65,7 @@ class PrinterEventsCache extends _keydiffcache.KeyDiffCache {
|
|
|
65
65
|
this.eventEmitter2.on("octoprint.*", (e)=>this.onPrinterSocketMessage(e));
|
|
66
66
|
this.eventEmitter2.on(_eventconstants.printerEvents.printersDeleted, this.handlePrintersDeleted.bind(this));
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
* @param {OctoPrintEventDto} e
|
|
70
|
-
*/ async onPrinterSocketMessage(e) {
|
|
68
|
+
async onPrinterSocketMessage(e) {
|
|
71
69
|
const printerId = e.printerId;
|
|
72
70
|
if (e.event !== "plugin" && e.event !== "event") {
|
|
73
71
|
await this.setEvent(printerId, e.event, null, e.event === "history" ? this.pruneHistoryPayload(e.payload) : e.payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-events.cache.ts"],"names":["PrinterEventsCache","KeyDiffCache","logger","eventEmitter2","settingsStore","constructor","loggerFactory","name","subscribeToEvents","_debugMode","getServerSettings","debugSettings","debugSocketMessages","getPrinterSocketEvents","id","keyValueStore","getOrCreateEvents","printerId","ref","getValue","current","history","timelapse","event","plugin","setKeyValue","setEvent","label","eventName","payload","receivedAt","Date","now","setSubEvent","handlePrintersDeleted","printerIds","deleteKeysBatch","on","e","onPrinterSocketMessage","printerEvents","printersDeleted","bind","pruneHistoryPayload","log","formatKB","eventType","type","logs","temps","messages"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-events.cache.ts"],"names":["PrinterEventsCache","KeyDiffCache","logger","eventEmitter2","settingsStore","constructor","loggerFactory","name","subscribeToEvents","_debugMode","getServerSettings","debugSettings","debugSocketMessages","getPrinterSocketEvents","id","keyValueStore","getOrCreateEvents","printerId","ref","getValue","current","history","timelapse","event","plugin","setKeyValue","setEvent","label","eventName","payload","receivedAt","Date","now","setSubEvent","handlePrintersDeleted","printerIds","deleteKeysBatch","on","e","onPrinterSocketMessage","printerEvents","printersDeleted","bind","pruneHistoryPayload","log","formatKB","eventType","type","logs","temps","messages"],"mappings":"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"}
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "PrinterFilesStore", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return PrinterFilesStore;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
12
|
-
|
|
12
|
+
const _errorutils = require("../utils/error.utils");
|
|
13
|
+
class PrinterFilesStore {
|
|
13
14
|
printerCache;
|
|
14
15
|
printerFilesService;
|
|
15
16
|
fileCache;
|
|
@@ -20,49 +21,42 @@ class FilesStore {
|
|
|
20
21
|
this.printerFilesService = printerFilesService;
|
|
21
22
|
this.fileCache = fileCache;
|
|
22
23
|
this.octoPrintApiService = octoPrintApiService;
|
|
23
|
-
this.logger = loggerFactory(
|
|
24
|
+
this.logger = loggerFactory(PrinterFilesStore.name);
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
* Load the file store by grabbing files from the service. TODO move files out of printer
|
|
27
|
-
*/ async loadFilesStore() {
|
|
26
|
+
async loadFilesStore() {
|
|
28
27
|
const printers = await this.printerCache.listCachedPrinters(true);
|
|
29
28
|
for (let printer of printers){
|
|
30
29
|
try {
|
|
31
|
-
const
|
|
32
|
-
this.fileCache.
|
|
30
|
+
const printerFiles = await this.printerFilesService.getPrinterFiles(printer.id);
|
|
31
|
+
this.fileCache.cachePrinterFiles(printer.id, printerFiles);
|
|
33
32
|
} catch (e) {
|
|
34
|
-
this.logger.error("Files store failed to reconstruct files from database.",
|
|
33
|
+
this.logger.error("Files store failed to reconstruct files from database.", (0, _errorutils.errorSummary)(e));
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
|
-
|
|
39
|
-
* Performs an OctoPrint call and updates both cache and database
|
|
40
|
-
*/ async eagerLoadPrinterFiles(printerId, recursive) {
|
|
37
|
+
async eagerLoadPrinterFiles(printerId, recursive) {
|
|
41
38
|
const loginDto = await this.printerCache.getLoginDtoAsync(printerId);
|
|
42
|
-
const response = await this.octoPrintApiService.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
await this.updatePrinterFiles(printerId, response.data);
|
|
47
|
-
return response;
|
|
39
|
+
const response = await this.octoPrintApiService.getLocalFiles(loginDto, recursive);
|
|
40
|
+
const files = response?.files;
|
|
41
|
+
await this.updatePrinterFiles(printerId, files);
|
|
42
|
+
return files;
|
|
48
43
|
}
|
|
49
44
|
getFiles(printerId) {
|
|
50
|
-
// Might introduce a filter like folder later
|
|
51
45
|
return this.fileCache.getPrinterFiles(printerId);
|
|
52
46
|
}
|
|
53
47
|
getOutdatedFiles(printerId, ageDaysMax) {
|
|
54
48
|
if (!ageDaysMax) throw new _runtimeexceptions.ValidationException("ageDaysMax property is required to get printer's outdated files");
|
|
55
49
|
const printerFiles = this.getFiles(printerId);
|
|
56
|
-
if (!printerFiles?.
|
|
50
|
+
if (!printerFiles?.length) return [];
|
|
57
51
|
const nowTimestampSeconds = Date.now() / 1000;
|
|
58
|
-
return printerFiles.
|
|
52
|
+
return printerFiles.filter((file)=>!!file.date && file.date + ageDaysMax * 86400 < nowTimestampSeconds);
|
|
59
53
|
}
|
|
60
54
|
async deleteOutdatedFiles(printerId, ageDaysMax) {
|
|
61
55
|
const failedFiles = [];
|
|
62
56
|
const succeededFiles = [];
|
|
63
57
|
const nonRecursiveFiles = this.getOutdatedFiles(printerId, ageDaysMax);
|
|
64
58
|
const printerLogin = await this.printerCache.getLoginDtoAsync(printerId);
|
|
65
|
-
const name = await this.printerCache.getCachedPrinterOrThrowAsync(printerId).name;
|
|
59
|
+
const name = (await this.printerCache.getCachedPrinterOrThrowAsync(printerId)).name;
|
|
66
60
|
for (let file of nonRecursiveFiles){
|
|
67
61
|
try {
|
|
68
62
|
await this.octoPrintApiService.deleteFileOrFolder(printerLogin, file.path);
|
|
@@ -99,34 +93,23 @@ class FilesStore {
|
|
|
99
93
|
}
|
|
100
94
|
async updatePrinterFiles(printerId, files) {
|
|
101
95
|
const printer = await this.printerCache.getCachedPrinterOrThrowAsync(printerId);
|
|
102
|
-
// Check printer in database and modify
|
|
103
96
|
const printerFileList = await this.printerFilesService.updateFiles(printer.id, files);
|
|
104
|
-
// Update cache with data from storage
|
|
105
97
|
await this.fileCache.cachePrinterFiles(printer.id, printerFileList);
|
|
106
98
|
}
|
|
107
99
|
async appendOrSetPrinterFile(printerId, addedFile) {
|
|
108
100
|
const printer = await this.printerCache.getCachedPrinterOrThrowAsync(printerId);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// Update cache with data from storage
|
|
112
|
-
await this.fileCache.cachePrinterFiles(printer.id, fileList);
|
|
113
|
-
// Update printer state with lastPrintedFile
|
|
114
|
-
await this.printerFilesService.setPrinterLastPrintedFile(printer.id, lastPrintedFile.fileName);
|
|
101
|
+
const files = await this.printerFilesService.appendOrReplaceFile(printer.id, addedFile);
|
|
102
|
+
await this.fileCache.cachePrinterFiles(printer.id, files);
|
|
115
103
|
}
|
|
116
|
-
async
|
|
117
|
-
await this.printerFilesService.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
*/ async deleteFile(printerId, filePath, throwError) {
|
|
122
|
-
const serviceActionResult = await this.printerFilesService.deleteFile(printerId, filePath, throwError);
|
|
123
|
-
// Warning only
|
|
124
|
-
const cacheActionResult = this.fileCache.purgeFile(printerId, filePath);
|
|
104
|
+
async deleteFile(printerId, filePath, throwError) {
|
|
105
|
+
const serviceActionResult = await this.printerFilesService.deletePrinterFiles(printerId, [
|
|
106
|
+
filePath
|
|
107
|
+
], throwError);
|
|
108
|
+
this.fileCache.purgeFile(printerId, filePath);
|
|
125
109
|
return {
|
|
126
|
-
service: serviceActionResult
|
|
127
|
-
cache: cacheActionResult
|
|
110
|
+
service: serviceActionResult
|
|
128
111
|
};
|
|
129
112
|
}
|
|
130
113
|
}
|
|
131
114
|
|
|
132
|
-
//# sourceMappingURL=files.store.js.map
|
|
115
|
+
//# sourceMappingURL=printer-files.store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-files.store.ts"],"names":["PrinterFilesStore","printerCache","printerFilesService","fileCache","octoPrintApiService","logger","constructor","loggerFactory","name","loadFilesStore","printers","listCachedPrinters","printer","printerFiles","getPrinterFiles","id","cachePrinterFiles","e","error","errorSummary","eagerLoadPrinterFiles","printerId","recursive","loginDto","getLoginDtoAsync","response","getLocalFiles","files","updatePrinterFiles","getFiles","getOutdatedFiles","ageDaysMax","ValidationException","length","nowTimestampSeconds","Date","now","filter","file","date","deleteOutdatedFiles","failedFiles","succeededFiles","nonRecursiveFiles","printerLogin","getCachedPrinterOrThrowAsync","deleteFileOrFolder","path","push","log","purgePrinterFiles","printerState","clearFiles","purgePrinterId","purgeFiles","allPrinters","printerFileList","updateFiles","appendOrSetPrinterFile","addedFile","appendOrReplaceFile","deleteFile","filePath","throwError","serviceActionResult","deletePrinterFiles","purgeFile","service"],"mappings":"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"}
|
|
@@ -41,16 +41,11 @@ class PrinterSocketStore {
|
|
|
41
41
|
});
|
|
42
42
|
return socketStatesById;
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
* Load all printers into cache, and create a new socket for each printer (if enabled)
|
|
46
|
-
* @param {OctoPrintEventDto} e
|
|
47
|
-
*/ async loadPrinterSockets() {
|
|
44
|
+
async loadPrinterSockets() {
|
|
48
45
|
await this.printerCache.loadCache();
|
|
49
46
|
const printerDocs = await this.printerCache.listCachedPrinters(false);
|
|
50
47
|
this.printerSocketAdaptersById = {};
|
|
51
|
-
|
|
52
|
-
* @type {Printer}
|
|
53
|
-
*/ for (const doc of printerDocs){
|
|
48
|
+
for (const doc of printerDocs){
|
|
54
49
|
try {
|
|
55
50
|
await this.handlePrinterCreated({
|
|
56
51
|
printer: doc
|
|
@@ -64,20 +59,15 @@ class PrinterSocketStore {
|
|
|
64
59
|
listPrinterSockets() {
|
|
65
60
|
return Object.values(this.printerSocketAdaptersById);
|
|
66
61
|
}
|
|
67
|
-
|
|
68
|
-
* Reconnect the OctoPrint Websocket connection
|
|
69
|
-
*/ reconnectOctoPrint(id) {
|
|
62
|
+
reconnectOctoPrint(id) {
|
|
70
63
|
const socket = this.getPrinterSocket(id);
|
|
71
64
|
socket.close();
|
|
72
|
-
// The reconnect task will pick up this state and reconnect
|
|
73
65
|
socket.resetSocketState();
|
|
74
66
|
}
|
|
75
67
|
getPrinterSocket(id) {
|
|
76
68
|
return this.printerSocketAdaptersById[id];
|
|
77
69
|
}
|
|
78
|
-
|
|
79
|
-
* Sets up the new WebSocket connections for all printers
|
|
80
|
-
*/ async reconnectPrinterSockets() {
|
|
70
|
+
async reconnectPrinterSockets() {
|
|
81
71
|
let reauthRequested = 0;
|
|
82
72
|
let socketSetupRequested = 0;
|
|
83
73
|
const socketStates = {};
|
|
@@ -147,34 +137,21 @@ class PrinterSocketStore {
|
|
|
147
137
|
});
|
|
148
138
|
}
|
|
149
139
|
}
|
|
150
|
-
|
|
151
|
-
* @private
|
|
152
|
-
* @param { printer: Printer } printer
|
|
153
|
-
* @returns void
|
|
154
|
-
*/ handlePrinterCreated({ printer }) {
|
|
140
|
+
handlePrinterCreated({ printer }) {
|
|
155
141
|
this.createOrUpdateSocket(printer);
|
|
156
142
|
}
|
|
157
|
-
|
|
158
|
-
* @private
|
|
159
|
-
* @param { printer: Printer } printer
|
|
160
|
-
* @returns void
|
|
161
|
-
*/ handlePrinterUpdated({ printer }) {
|
|
143
|
+
handlePrinterUpdated({ printer }) {
|
|
162
144
|
this.logger.log(`Printer '${printer.id}' updated. Updating socket.`);
|
|
163
145
|
this.createOrUpdateSocket(printer);
|
|
164
146
|
}
|
|
165
|
-
|
|
166
|
-
* @param { printer: Printer } printer
|
|
167
|
-
* @returns void
|
|
168
|
-
*/ createOrUpdateSocket(printer) {
|
|
147
|
+
createOrUpdateSocket(printer) {
|
|
169
148
|
const { enabled, id } = printer;
|
|
170
149
|
let foundAdapter = this.printerSocketAdaptersById[id.toString()];
|
|
171
|
-
// Delete the socket if the printer is disabled
|
|
172
150
|
if (!enabled) {
|
|
173
151
|
this.logger.log(`Printer '${id}' is disabled. Deleting socket.`);
|
|
174
152
|
this.deleteSocket(id);
|
|
175
153
|
return;
|
|
176
154
|
}
|
|
177
|
-
// Create a new socket if it doesn't exist
|
|
178
155
|
if (!foundAdapter) {
|
|
179
156
|
foundAdapter = this.socketFactory.createInstance();
|
|
180
157
|
this.printerSocketAdaptersById[id] = foundAdapter;
|
|
@@ -182,7 +159,6 @@ class PrinterSocketStore {
|
|
|
182
159
|
foundAdapter.close();
|
|
183
160
|
this.logger.log(`Closing printer '${id}' socket for update.`);
|
|
184
161
|
}
|
|
185
|
-
// Reset the socket credentials before (re-)connecting
|
|
186
162
|
foundAdapter.registerCredentials({
|
|
187
163
|
printerId: printer.id.toString(),
|
|
188
164
|
loginDto: {
|
|
@@ -209,7 +185,6 @@ class PrinterSocketStore {
|
|
|
209
185
|
if (!!socket) {
|
|
210
186
|
socket.close();
|
|
211
187
|
}
|
|
212
|
-
// TODO mark diff cache
|
|
213
188
|
delete this.printerSocketAdaptersById[printerId];
|
|
214
189
|
}
|
|
215
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","socketIoGateway","socketFactory","eventEmitter2","printerCache","printerSocketAdaptersById","logger","configService","settingsStore","constructor","loggerFactory","name","subscribeToEvents","getSocketStatesById","socketStatesById","Object","values","forEach","s","printerId","socket","socketState","api","apiState","loadPrinterSockets","loadCache","printerDocs","listCachedPrinters","doc","handlePrinterCreated","printer","e","error","errorSummary","log","keys","length","listPrinterSockets","reconnectOctoPrint","id","getPrinterSocket","close","resetSocketState","reconnectPrinterSockets","reauthRequested","socketSetupRequested","socketStates","apiStates","promisesReauth","failedSocketsReauth","needsReauth","promise","reauthSession","catch","_","push","getServerSettings","debugSettings","debugSocketSetup","captureException","Promise","all","promisesOpenSocket","failedSocketReopened","needsSetup","needsReopen","setupSocketSession","then","open","keySocket","valSocket","keyApi","valApi","reauth","socketSetup","handleBatchPrinterCreated","printers","p","createOrUpdateSocket","handlePrinterUpdated","enabled","foundAdapter","toString","deleteSocket","createInstance","registerCredentials","loginDto","apiKey","printerURL","protocol","handlePrintersDeleted","printerIds","on","printerEvents","printerCreated","bind","printersDeleted","printerUpdated","batchPrinterCreated"],"mappings":";;;;+BAcaA;;;eAAAA;;;sBAdoB;4BACJ;gCACC;AAYvB,MAAMA;IACXC,gBAAiC;IACjCC,cAA6B;IAC7BC,cAA6B;IAC7BC,aAA2B;IAC3BC,4BAAoE,CAAC,EAAE;IACvEC,OAAsB;IACtBC,cAA6B;IAC7BC,cAA6B;IAE7BC,YAAY,EACVP,aAAa,EACbD,eAAe,EACfO,aAAa,EACbL,aAAa,EACbC,YAAY,EACZM,aAAa,EACbH,aAAa,EASd,CAAE;QACD,IAAI,CAACH,YAAY,GAAGA;QACpB,IAAI,CAACH,eAAe,GAAGA;QACvB,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACK,aAAa,GAAGA;QACrB,IAAI,CAACF,MAAM,GAAGI,cAAcV,mBAAmBW,IAAI;QACnD,IAAI,CAACJ,aAAa,GAAGA;QAErB,IAAI,CAACK,iBAAiB;IACxB;IAEAC,sBAAsB;QACpB,MAAMC,mBAAmB,CAAC;QAC1BC,OAAOC,MAAM,CAAC,IAAI,CAACX,yBAAyB,EAAEY,OAAO,CAAC,CAACC;YACrDJ,gBAAgB,CAACI,EAAEC,SAAS,CAAC,GAAG;gBAC9BA,WAAWD,EAAEC,SAAS;gBACtBC,QAAQF,EAAEG,WAAW;gBACrBC,KAAKJ,EAAEK,QAAQ;YACjB;QACF;QACA,OAAOT;IACT;
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","socketIoGateway","socketFactory","eventEmitter2","printerCache","printerSocketAdaptersById","logger","configService","settingsStore","constructor","loggerFactory","name","subscribeToEvents","getSocketStatesById","socketStatesById","Object","values","forEach","s","printerId","socket","socketState","api","apiState","loadPrinterSockets","loadCache","printerDocs","listCachedPrinters","doc","handlePrinterCreated","printer","e","error","errorSummary","log","keys","length","listPrinterSockets","reconnectOctoPrint","id","getPrinterSocket","close","resetSocketState","reconnectPrinterSockets","reauthRequested","socketSetupRequested","socketStates","apiStates","promisesReauth","failedSocketsReauth","needsReauth","promise","reauthSession","catch","_","push","getServerSettings","debugSettings","debugSocketSetup","captureException","Promise","all","promisesOpenSocket","failedSocketReopened","needsSetup","needsReopen","setupSocketSession","then","open","keySocket","valSocket","keyApi","valApi","reauth","socketSetup","handleBatchPrinterCreated","printers","p","createOrUpdateSocket","handlePrinterUpdated","enabled","foundAdapter","toString","deleteSocket","createInstance","registerCredentials","loginDto","apiKey","printerURL","protocol","handlePrintersDeleted","printerIds","on","printerEvents","printerCreated","bind","printersDeleted","printerUpdated","batchPrinterCreated"],"mappings":"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"}
|
|
@@ -24,7 +24,6 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
|
|
|
24
24
|
this.eventEmitter2.on(_eventconstants.printerEvents.printersDeleted, this.handlePrintersDeleted.bind(this));
|
|
25
25
|
}
|
|
26
26
|
async loadCache() {
|
|
27
|
-
// TODO this is missing any login required for middleware
|
|
28
27
|
const printerDocs = await this.printerService.list();
|
|
29
28
|
const dtos = this.mapArray(printerDocs);
|
|
30
29
|
const keyValues = dtos.map((p)=>({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","printerService","eventEmitter2","constructor","on","printerEvents","batchPrinterCreated","handleBatchPrinterCreated","bind","printerCreated","handlePrinterCreatedOrUpdated","printerUpdated","printersDeleted","handlePrintersDeleted","loadCache","printerDocs","list","dtos","mapArray","keyValues","map","p","key","getId","value","setKeyValuesBatch","listCachedPrinters","includeDisabled","printers","getAllValues","filter","enabled","getCachedPrinterOrThrowAsync","id","printer","getValue","NotFoundException","getCachedPrinterOrThrow","keyValueStore","getNameAsync","name","getName","getLoginDtoAsync","printerURL","apiKey","getLoginDto","mappedPrinters","printerDto","setKeyValue","printerIds","deleteKeysBatch","toString","entities","entity","toUnsafeDto"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","printerService","eventEmitter2","constructor","on","printerEvents","batchPrinterCreated","handleBatchPrinterCreated","bind","printerCreated","handlePrinterCreatedOrUpdated","printerUpdated","printersDeleted","handlePrintersDeleted","loadCache","printerDocs","list","dtos","mapArray","keyValues","map","p","key","getId","value","setKeyValuesBatch","listCachedPrinters","includeDisabled","printers","getAllValues","filter","enabled","getCachedPrinterOrThrowAsync","id","printer","getValue","NotFoundException","getCachedPrinterOrThrow","keyValueStore","getNameAsync","name","getName","getLoginDtoAsync","printerURL","apiKey","getLoginDto","mappedPrinters","printerDto","setKeyValue","printerIds","deleteKeysBatch","toString","entities","entity","toUnsafeDto"],"mappings":"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"}
|
|
@@ -25,7 +25,6 @@ class SettingsStore {
|
|
|
25
25
|
const settings = this.settings;
|
|
26
26
|
if (!settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
|
|
27
27
|
return Object.freeze({
|
|
28
|
-
// Credential settings are not shared with the client
|
|
29
28
|
[_serversettingsconstants.serverSettingsKey]: {
|
|
30
29
|
loginRequired: settings[_serversettingsconstants.serverSettingsKey].loginRequired,
|
|
31
30
|
registration: settings[_serversettingsconstants.serverSettingsKey].registration,
|
|
@@ -54,7 +53,6 @@ class SettingsStore {
|
|
|
54
53
|
});
|
|
55
54
|
}
|
|
56
55
|
async loadSettings() {
|
|
57
|
-
// Setup Settings as connection is established
|
|
58
56
|
this.settings = await this.settingsService.getOrCreate();
|
|
59
57
|
await this.processSentryEnabled();
|
|
60
58
|
}
|
|
@@ -170,7 +168,12 @@ class SettingsStore {
|
|
|
170
168
|
this.logger.log("Disabling Sentry for remote diagnostics");
|
|
171
169
|
}
|
|
172
170
|
if ((0, _envutils.isTestEnvironment)()) return;
|
|
173
|
-
(0, _node.getCurrentHub)().getClient()
|
|
171
|
+
const client = (0, _node.getCurrentHub)().getClient();
|
|
172
|
+
if (!client) {
|
|
173
|
+
this.logger.warn("Could not apply Sentry. Was the SDK initialized?");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
client.getOptions().enabled = sentryEnabled;
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/settings.store.ts"],"names":["SettingsStore","settingsService","logger","settings","constructor","loggerFactory","name","getSettings","InternalServerException","Object","freeze","serverSettingsKey","loginRequired","registration","sentryDiagnosticsEnabled","wizardSettingKey","frontendSettingKey","fileCleanSettingKey","timeoutSettingKey","getSettingsSensitive","credentialSettingsKey","jwtExpiresIn","refreshTokenAttempts","refreshTokenExpiry","debugSettings","whitelistEnabled","whitelistedIpAddresses","loadSettings","getOrCreate","processSentryEnabled","getCredentialSettings","getAnonymousDiagnosticsEnabled","persistOptionalCredentialSettings","overrideJwtSecret","overrideJwtExpiresIn","updateCredentialSettings","jwtSecret","parseInt","getWizardState","wizardCompleted","wizardVersion","latestWizardVersion","AppConstants","currentWizardVersion","isWizardCompleted","getWizardSettings","isRegistrationEnabled","getServerSettings","getFrontendSettings","getFileCleanSettings","isPreUploadFileCleanEnabled","autoRemoveOldFilesBeforeUpload","setWizardCompleted","version","patchWizardSettings","wizardCompletedAt","Date","setRegistrationEnabled","patchServerSettings","getLoginRequired","setLoginRequired","setWhitelist","updateServerSettings","serverSettings","updateTimeoutSettings","timeoutSettings","patchFileCleanSettings","fileClean","credentialSettings","patchCredentialSettings","setSentryDiagnosticsEnabled","updateFrontendSettings","frontendSettings","sentryEnabled","log","isTestEnvironment","getCurrentHub","getClient","getOptions","enabled"],"mappings":";;;;+BAwBaA;;;eAAAA;;;mCAxB2B;yCAQjC;sBACuB;0BACI;iCACL;AAatB,MAAMA;IACHC,gBAAkC;IAClCC,OAAsB;IACtBC,WAA6B,KAAK;IAE1CC,YAAY,EAAEH,eAAe,EAAEI,aAAa,EAAwE,CAAE;QACpH,IAAI,CAACJ,eAAe,GAAGA;QACvB,IAAI,CAACC,MAAM,GAAGG,cAAcL,cAAcM,IAAI;IAChD;IAEAC,cAAc;QACZ,MAAMJ,WAAW,IAAI,CAACA,QAAQ;QAC9B,IAAI,CAACA,UAAU,MAAM,IAAIK,0CAAuB,CAAC;QACjD,OAAOC,OAAOC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/state/settings.store.ts"],"names":["SettingsStore","settingsService","logger","settings","constructor","loggerFactory","name","getSettings","InternalServerException","Object","freeze","serverSettingsKey","loginRequired","registration","sentryDiagnosticsEnabled","wizardSettingKey","frontendSettingKey","fileCleanSettingKey","timeoutSettingKey","getSettingsSensitive","credentialSettingsKey","jwtExpiresIn","refreshTokenAttempts","refreshTokenExpiry","debugSettings","whitelistEnabled","whitelistedIpAddresses","loadSettings","getOrCreate","processSentryEnabled","getCredentialSettings","getAnonymousDiagnosticsEnabled","persistOptionalCredentialSettings","overrideJwtSecret","overrideJwtExpiresIn","updateCredentialSettings","jwtSecret","parseInt","getWizardState","wizardCompleted","wizardVersion","latestWizardVersion","AppConstants","currentWizardVersion","isWizardCompleted","getWizardSettings","isRegistrationEnabled","getServerSettings","getFrontendSettings","getFileCleanSettings","isPreUploadFileCleanEnabled","autoRemoveOldFilesBeforeUpload","setWizardCompleted","version","patchWizardSettings","wizardCompletedAt","Date","setRegistrationEnabled","patchServerSettings","getLoginRequired","setLoginRequired","setWhitelist","updateServerSettings","serverSettings","updateTimeoutSettings","timeoutSettings","patchFileCleanSettings","fileClean","credentialSettings","patchCredentialSettings","setSentryDiagnosticsEnabled","updateFrontendSettings","frontendSettings","sentryEnabled","log","isTestEnvironment","client","getCurrentHub","getClient","warn","getOptions","enabled"],"mappings":"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"}
|
|
@@ -24,10 +24,8 @@ const authorize = (settingsStore, options, verify)=>{
|
|
|
24
24
|
const strategy = new _passportjwt.Strategy(options, verify);
|
|
25
25
|
return async function authorizeCallback(socket, next) {
|
|
26
26
|
if (!await settingsStore.getLoginRequired()) {
|
|
27
|
-
// No login required, so we can skip the authentication
|
|
28
27
|
return next();
|
|
29
28
|
}
|
|
30
|
-
// --- Begin strategy augmentation ala passport
|
|
31
29
|
strategy.success = function success(user) {
|
|
32
30
|
socket.handshake.user = user;
|
|
33
31
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/socket-io.gateway.ts"],"names":["IO_MESSAGES","SocketIoGateway","authorize","settingsStore","options","verify","strategy","JwtStrategy","authorizeCallback","socket","next","getLoginRequired","success","user","handshake","fail","info","Error","error","authenticate","logger","eventEmitter2","io","authService","configService","userService","constructor","loggerFactory","name","attachServer","httpServer","Server","cors","origin","opts","getPassportJwtOptions","value","auth","token","verifyUserCallback","use","on","onConnect","bind","log","id","emit","socketIoConnectedEvent","send","event","data","debug","getServerSettings","debugSettings","debugSocketIoEvents","LegacyUpdate","LegacyPrinterTest","CompletionEvent","HostState","ApiAccessibility"],"mappings":";;;;;;;;;;;IA0GaA,WAAW;eAAXA;;IAhEAC,eAAe;eAAfA;;;0BA1CkB;gCACQ;0BAOmB;6BAEiB;AAK3E,MAAMC,YAAY,CAChBC,eACAC,SACAC;IAEA,MAAMC,WAAW,IAAIC,qBAAW,CAACH,SAASC;IAE1C,OAAO,eAAeG,kBACpBC,MAAyE,EACzEC,IAAmC;QAEnC,IAAI,CAAE,MAAMP,cAAcQ,gBAAgB,IAAK;
|
|
1
|
+
{"version":3,"sources":["../../src/state/socket-io.gateway.ts"],"names":["IO_MESSAGES","SocketIoGateway","authorize","settingsStore","options","verify","strategy","JwtStrategy","authorizeCallback","socket","next","getLoginRequired","success","user","handshake","fail","info","Error","error","authenticate","logger","eventEmitter2","io","authService","configService","userService","constructor","loggerFactory","name","attachServer","httpServer","Server","cors","origin","opts","getPassportJwtOptions","value","auth","token","verifyUserCallback","use","on","onConnect","bind","log","id","emit","socketIoConnectedEvent","send","event","data","debug","getServerSettings","debugSettings","debugSocketIoEvents","LegacyUpdate","LegacyPrinterTest","CompletionEvent","HostState","ApiAccessibility"],"mappings":";;;;;;;;;;;IA0GaA,WAAW;eAAXA;;IAhEAC,eAAe;eAAfA;;;0BA1CkB;gCACQ;0BAOmB;6BAEiB;AAK3E,MAAMC,YAAY,CAChBC,eACAC,SACAC;IAEA,MAAMC,WAAW,IAAIC,qBAAW,CAACH,SAASC;IAE1C,OAAO,eAAeG,kBACpBC,MAAyE,EACzEC,IAAmC;QAEnC,IAAI,CAAE,MAAMP,cAAcQ,gBAAgB,IAAK;YAE7C,OAAOD;QACT;QAEAJ,SAASM,OAAO,GAAG,SAASA,QAAQC,IAAI;YACtCJ,OAAOK,SAAS,CAACD,IAAI,GAAGA;YACxBH;QACF;QACAJ,SAASS,IAAI,GAAG,CAACC,OAASN,KAAK,IAAIO,MAAMD;QACzCV,SAASY,KAAK,GAAG,CAACA,QAAUR,KAAKQ;QAEjCZ,SAASa,YAAY,CAACV,QAAQ,CAAC;IACjC;AACF;AAEO,MAAMR;IACXmB,OAAsB;IACtBC,cAA6B;IAC7BC,GAAW;IAEXC,YAAyB;IACzBpB,cAA6B;IAC7BqB,cAA8B;IAC9BC,YAA0B;IAE1BC,YAAY,EACVC,aAAa,EACbN,aAAa,EACblB,aAAa,EACboB,WAAW,EACXC,aAAa,EACbC,WAAW,EAQZ,CAAE;QACD,IAAI,CAACL,MAAM,GAAGO,cAAc1B,gBAAgB2B,IAAI;QAChD,IAAI,CAACP,aAAa,GAAGA;QACrB,IAAI,CAAClB,aAAa,GAAGA;QACrB,IAAI,CAACoB,WAAW,GAAGA;QACnB,IAAI,CAACE,WAAW,GAAGA;QACnB,IAAI,CAACD,aAAa,GAAGA;IACvB;IAEAK,aAAaC,UAAuB,EAAE;QACpC,IAAI,CAACR,EAAE,GAAG,IAAIS,gBAAM,CAACD,YAAY;YAAEE,MAAM;gBAAEC,QAAQ;YAAI;QAAE;QACzD,MAAMC,OAAOC,IAAAA,+BAAqB,EAAC,IAAI,CAAChC,aAAa,EAAE,IAAI,CAACqB,aAAa,EAAE,CAACY,QAAkBA,MAAMtB,SAAS,CAACuB,IAAI,CAACC,KAAK;QACxH,MAAMjC,SAASkC,IAAAA,4BAAkB,EAAC,IAAI,CAACd,WAAW;QAClD,IAAI,CAACH,EAAE,CAACkB,GAAG,CAACtC,UAAU,IAAI,CAACC,aAAa,EAAE+B,MAAM7B;QAChD,IAAI,CAACiB,EAAE,CAACmB,EAAE,CAAC,cAAc,CAAChC,SAAW,IAAI,CAACiC,SAAS,CAACC,IAAI,CAAC,IAAI,EAAElC;IACjE;IAEAiC,UAAUjC,MAAc,EAAE;QACxB,IAAI,CAACW,MAAM,CAACwB,GAAG,CAAC,6BAA6BnC,OAAOoC,EAAE;QAEtD,IAAI,CAACxB,aAAa,CAACyB,IAAI,CAACC,sCAAsB,EAAEtC,OAAOoC,EAAE;QAEzDpC,OAAOgC,EAAE,CAAC,cAAc;YACtB,IAAI,CAACrB,MAAM,CAACwB,GAAG,CAAC,gCAAgCnC,OAAOoC,EAAE;QAC3D;IACF;IAEAG,KAAQC,KAAa,EAAEC,IAAO,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC5B,EAAE,EAAE;YACZ,IAAI,CAACF,MAAM,CAAC+B,KAAK,CAAC;YAClB;QACF;QAEA,IAAI,IAAI,CAAChD,aAAa,CAACiD,iBAAiB,GAAGC,aAAa,EAAEC,qBAAqB;YAC7E,IAAI,CAAClC,MAAM,CAACwB,GAAG,CAAC,CAAC,cAAc,EAAEK,MAAM,CAAC;QAC1C;QACA,IAAI,CAAC3B,EAAE,CAACwB,IAAI,CAACG,OAAOC;IACtB;AACF;AAEO,MAAMlD,cAAc;IACzBuD,cAAc;IACdC,mBAAmB;IACnBC,iBAAiB;IACjBC,WAAW;IACXC,kBAAkB;AACpB"}
|
|
@@ -23,21 +23,15 @@ class TestPrinterSocketStore {
|
|
|
23
23
|
this.socketIoGateway = socketIoGateway;
|
|
24
24
|
this.eventEmitter2 = eventEmitter2;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
* Sets up/recreates a printer to be tested quickly by running the standard checks
|
|
28
|
-
* @param printer
|
|
29
|
-
* @returns {Promise<*>}
|
|
30
|
-
*/ async setupTestPrinter(printer) {
|
|
26
|
+
async setupTestPrinter(printer) {
|
|
31
27
|
if (this.testSocket) {
|
|
32
28
|
this.testSocket.close();
|
|
33
29
|
this.testSocket = null;
|
|
34
30
|
}
|
|
35
31
|
const validatedData = await (0, _validators.validateInput)(printer, _createtestprintervalidation.createTestPrinterRules);
|
|
36
32
|
validatedData.enabled = true;
|
|
37
|
-
// Create a new socket if it doesn't exist
|
|
38
33
|
const { correlationToken } = printer;
|
|
39
34
|
this.testSocket = this.socketFactory.createInstance();
|
|
40
|
-
// Reset the socket credentials before (re-)connecting
|
|
41
35
|
this.testSocket.registerCredentials({
|
|
42
36
|
printerId: correlationToken,
|
|
43
37
|
loginDto: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","testSocket","socketIoGateway","socketFactory","eventEmitter2","constructor","setupTestPrinter","printer","close","validatedData","validateInput","createTestPrinterRules","enabled","correlationToken","createInstance","registerCredentials","printerId","loginDto","apiKey","printerURL","protocol","testEvents","octoPrintEvent","Message","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","listener","event","payload","send","forEach","te","on","setupSocketSession","promise","Promise","resolve","reject","open","startTime","setInterval","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","off"],"mappings":";;;;+BASaA;;;eAAAA;;;0BAT2B;4BACV;6CACS;wCACuC;iCACjD;AAKtB,MAAMA;IACXC,WAAmC;IACnCC,gBAAiC;IACjCC,cAA6B;IAC7BC,cAA6B;IAC7BC,YAAY,EACVF,aAAa,EACbD,eAAe,EACfE,aAAa,EAKd,CAAE;QACD,IAAI,CAACD,aAAa,GAAGA;QACrB,IAAI,CAACD,eAAe,GAAGA;QACvB,IAAI,CAACE,aAAa,GAAGA;IACvB;
|
|
1
|
+
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","testSocket","socketIoGateway","socketFactory","eventEmitter2","constructor","setupTestPrinter","printer","close","validatedData","validateInput","createTestPrinterRules","enabled","correlationToken","createInstance","registerCredentials","printerId","loginDto","apiKey","printerURL","protocol","testEvents","octoPrintEvent","Message","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","listener","event","payload","send","forEach","te","on","setupSocketSession","promise","Promise","resolve","reject","open","startTime","setInterval","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","off"],"mappings":";;;;+BASaA;;;eAAAA;;;0BAT2B;4BACV;6CACS;wCACuC;iCACjD;AAKtB,MAAMA;IACXC,WAAmC;IACnCC,gBAAiC;IACjCC,cAA6B;IAC7BC,cAA6B;IAC7BC,YAAY,EACVF,aAAa,EACbD,eAAe,EACfE,aAAa,EAKd,CAAE;QACD,IAAI,CAACD,aAAa,GAAGA;QACrB,IAAI,CAACD,eAAe,GAAGA;QACvB,IAAI,CAACE,aAAa,GAAGA;IACvB;IAOA,MAAME,iBAAiBC,OAAO,EAAE;QAC9B,IAAI,IAAI,CAACN,UAAU,EAAE;YACnB,IAAI,CAACA,UAAU,CAACO,KAAK;YACrB,IAAI,CAACP,UAAU,GAAG;QACpB;QAEA,MAAMQ,gBAAgB,MAAMC,IAAAA,yBAAa,EAACH,SAASI,mDAAsB;QACzEF,cAAcG,OAAO,GAAG;QAGxB,MAAM,EAAEC,gBAAgB,EAAE,GAAGN;QAC7B,IAAI,CAACN,UAAU,GAAG,IAAI,CAACE,aAAa,CAACW,cAAc;QAGnD,IAAI,CAACb,UAAU,CAACc,mBAAmB,CAAC;YAClCC,WAAWH;YACXI,UAAU;gBACRC,QAAQX,QAAQW,MAAM;gBACtBC,YAAYZ,QAAQY,UAAU;YAChC;YACAC,UAAU;QACZ;QAEA,MAAMC,aAAa;YACjBC,IAAAA,sCAAc,EAACC,+BAAO,CAACC,gBAAgB;YACvCF,IAAAA,sCAAc,EAACC,+BAAO,CAACE,iBAAiB;YACxCH,IAAAA,sCAAc,EAACC,+BAAO,CAACG,SAAS;YAChCJ,IAAAA,sCAAc,EAACC,+BAAO,CAACI,SAAS;YAChCL,IAAAA,sCAAc,EAACC,+BAAO,CAACK,QAAQ;SAChC;QACD,MAAMC,WAAW,CAAC,EAAEC,KAAK,EAAEC,OAAO,EAAEf,SAAS,EAAE;YAC7C,IAAIA,cAAcH,kBAAkB;gBAClC;YACF;YACA,IAAI,CAACX,eAAe,CAAC8B,IAAI,CAAC,sBAAsB;gBAC9CF;gBACAC;gBACAlB;YACF;QACF;QACAQ,WAAWY,OAAO,CAAC,CAACC;YAClB,IAAI,CAAC9B,aAAa,CAAC+B,EAAE,CAACD,IAAIL;QAC5B;QACA,MAAM,IAAI,CAAC5B,UAAU,CAACmC,kBAAkB;QAExC,MAAMC,UAAU,IAAIC,QAAQ,OAAOC,SAASC;YAC1C,IAAI,CAACvC,UAAU,CAACwC,IAAI;YACpB,WAAW,MAAMC,aAAaC,IAAAA,qBAAW,EAAC,KAAM;gBAC9C,IAAI,CAAC,IAAI,CAAC1C,UAAU,EAAE;oBACpB;gBACF;gBACA,IAAI,IAAI,CAACA,UAAU,CAAC2C,WAAW,KAAKC,oCAAY,CAACC,aAAa,EAAE;oBAC9DP;oBACA;gBACF;YACF;QACF;QAEA,MAAMD,QAAQS,IAAI,CAAC;YAACV;YAASW,IAAAA,oBAAU,EAACC,6BAAY,CAACC,gCAAgC;SAAE;QACvF,IAAI,CAACjD,UAAU,CAACO,KAAK;QACrB,OAAO,IAAI,CAACP,UAAU;QACtBoB,WAAWY,OAAO,CAAC,CAACC;YAClB,IAAI,CAAC9B,aAAa,CAAC+C,GAAG,CAACjB,IAAIL;QAC7B;IACF;AACF"}
|