@fdm-monster/server 1.6.4 → 1.7.1
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/.yarn/install-state.gz +0 -0
- package/README.md +3 -2
- package/RELEASE_NOTES.MD +43 -5
- package/dist/consoles/download-github-releases.js +50 -0
- package/dist/consoles/download-github-releases.js.map +1 -0
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +9 -6
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +0 -2
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +0 -1
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/plugin-firmware-update.controller.js +117 -18
- package/dist/controllers/plugin-firmware-update.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +2 -3
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +6 -1
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +38 -2
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/validation/printer-controller.validation.js +4 -4
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
- package/dist/entities/printer.entity.js +3 -1
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +1 -1
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/handlers/cache-manager.js +2 -9
- package/dist/handlers/cache-manager.js.map +1 -1
- package/dist/middleware/printer.js +4 -1
- package/dist/middleware/printer.js.map +1 -1
- package/dist/models/Printer.js +1 -1
- package/dist/models/Printer.js.map +1 -1
- package/dist/models/Settings.js +12 -2
- package/dist/models/Settings.js.map +1 -1
- package/dist/server.constants.js +4 -2
- package/dist/server.constants.js.map +1 -1
- package/dist/server.host.js +16 -4
- package/dist/server.host.js.map +1 -1
- package/dist/services/core/batch-call.service.js +21 -32
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/github.service.js.map +1 -1
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +2 -1
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/interfaces/printer-file.dto.js +0 -29
- package/dist/services/interfaces/printer-file.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js +1 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/mongoose/print-completion.shared.js.map +1 -1
- package/dist/services/mongoose/settings.service.js +14 -5
- package/dist/services/mongoose/settings.service.js.map +1 -1
- package/dist/services/moonraker/moonraker-websocket.adapter.js +5 -4
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +8 -2
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +31 -1
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js +1 -0
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +6 -0
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +1 -0
- package/dist/services/octoprint/octoprint-api.routes.js +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +9 -2
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/plugin-base.service.js +5 -5
- package/dist/services/octoprint/plugin-base.service.js.map +1 -1
- package/dist/services/octoprint/plugin-firmware-update.service.js +0 -1
- package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -1
- package/dist/services/octoprint/utils/file.utils.js +0 -1
- package/dist/services/octoprint/utils/file.utils.js.map +1 -1
- package/dist/services/octoprint.api.js +20 -1
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/settings.service.js +17 -8
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +3 -1
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js +9 -0
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/socket.factory.js +6 -1
- package/dist/services/socket.factory.js.map +1 -1
- package/dist/services/validators/printer-service.validation.js +4 -4
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +14 -1
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +1 -1
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/services/websocket-adapter.interface.js +6 -0
- package/dist/services/websocket-adapter.interface.js.map +1 -0
- package/dist/state/printer-events.cache.js +12 -0
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/settings.store.js +26 -6
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +9 -2
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/state/validation/create-test-printer.validation.js +3 -1
- package/dist/state/validation/create-test-printer.validation.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +4 -0
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks.js.map +1 -1
- package/package.json +19 -17
- package/requests/moonraker/api_job.http +5 -0
- package/requests/moonraker/api_printer.http +5 -0
- package/requests/moonraker/api_settings.http +5 -0
- package/requests/moonraker/printer_info.http +5 -0
- package/requests/moonraker/printer_objects_list.http +6 -0
- package/requests/moonraker/printer_objects_pause_resume.http +6 -0
- package/requests/moonraker/printer_objects_print_stats.http +6 -0
- package/requests/moonraker/printer_objects_webhooks.http +6 -0
- package/requests/moonraker/server_info.http +5 -0
- package/requests/octoprint/octoprint-api-printer-current.http +7 -0
- package/requests/octoprint/octoprint-pluginmanager-plugins.http +7 -0
- package/tsconfig.json +2 -2
- package/dist/services/octoprint/dto/connection/connection-state.dto.js +0 -21
- package/dist/services/octoprint/dto/connection/connection-state.dto.js.map +0 -1
- package/dist/tasks/printer-state-update-poll.task.js +0 -65
- package/dist/tasks/printer-state-update-poll.task.js.map +0 -1
|
@@ -16,6 +16,7 @@ const _serverconstants = require("../server.constants");
|
|
|
16
16
|
const _errorutils = require("../utils/error.utils");
|
|
17
17
|
const _node = require("@sentry/node");
|
|
18
18
|
const _socketstatetype = require("../shared/dtos/socket-state.type");
|
|
19
|
+
const _websocketconstants = require("../services/moonraker/constants/websocket.constants");
|
|
19
20
|
class TestPrinterSocketStore {
|
|
20
21
|
testSocket;
|
|
21
22
|
socketIoGateway;
|
|
@@ -41,7 +42,8 @@ class TestPrinterSocketStore {
|
|
|
41
42
|
printerId: correlationToken,
|
|
42
43
|
loginDto: {
|
|
43
44
|
apiKey: printer.apiKey,
|
|
44
|
-
printerURL: printer.printerURL
|
|
45
|
+
printerURL: printer.printerURL,
|
|
46
|
+
printerType: printer.printerType
|
|
45
47
|
},
|
|
46
48
|
protocol: "ws"
|
|
47
49
|
});
|
|
@@ -50,7 +52,12 @@ class TestPrinterSocketStore {
|
|
|
50
52
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.API_STATE_UPDATED),
|
|
51
53
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_CLOSED),
|
|
52
54
|
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_OPENED),
|
|
53
|
-
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_ERROR)
|
|
55
|
+
(0, _octoprintwebsocketadapter.octoPrintEvent)(_octoprintwebsocketadapter.WsMessage.WS_ERROR),
|
|
56
|
+
(0, _websocketconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_STATE_UPDATED),
|
|
57
|
+
(0, _websocketconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.API_STATE_UPDATED),
|
|
58
|
+
(0, _websocketconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_CLOSED),
|
|
59
|
+
(0, _websocketconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_OPENED),
|
|
60
|
+
(0, _websocketconstants.moonrakerEvent)(_octoprintwebsocketadapter.WsMessage.WS_ERROR)
|
|
54
61
|
];
|
|
55
62
|
const listener = ({ event, payload, printerId })=>{
|
|
56
63
|
if (printerId !== correlationToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","testSocket","socketIoGateway","socketFactory","eventEmitter2","logger","constructor","loggerFactory","name","setupTestPrinter","printer","close","validatedData","validateInput","createTestPrinterRules","enabled","correlationToken","createInstance","printerType","registerCredentials","printerId","loginDto","apiKey","printerURL","protocol","testEvents","octoPrintEvent","WsMessage","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","listener","event","payload","send","forEach","te","on","log","setupSocketSession","promise","Promise","resolve","reject","open","startTime","setInterval","warn","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","e","error","errorSummary","captureException","off"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/state/test-printer-socket.store.ts"],"names":["TestPrinterSocketStore","testSocket","socketIoGateway","socketFactory","eventEmitter2","logger","constructor","loggerFactory","name","setupTestPrinter","printer","close","validatedData","validateInput","createTestPrinterRules","enabled","correlationToken","createInstance","printerType","registerCredentials","printerId","loginDto","apiKey","printerURL","protocol","testEvents","octoPrintEvent","WsMessage","WS_STATE_UPDATED","API_STATE_UPDATED","WS_CLOSED","WS_OPENED","WS_ERROR","moonrakerEvent","listener","event","payload","send","forEach","te","on","log","setupSocketSession","promise","Promise","resolve","reject","open","startTime","setInterval","warn","socketState","SOCKET_STATE","authenticated","race","setTimeout","AppConstants","defaultWebsocketHandshakeTimeout","e","error","errorSummary","captureException","off"],"mappings":"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"}
|
|
@@ -9,9 +9,11 @@ Object.defineProperty(exports, "createTestPrinterRules", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _serviceconstants = require("../../constants/service.constants");
|
|
12
|
+
const _printerapiinterface = require("../../services/printer-api.interface");
|
|
12
13
|
const createTestPrinterRules = {
|
|
14
|
+
printerType: `required|integer|in:${_printerapiinterface.OctoprintType},${_printerapiinterface.MoonrakerType}`,
|
|
13
15
|
correlationToken: "required|string",
|
|
14
|
-
apiKey: `
|
|
16
|
+
apiKey: `requiredIf:printerType,${_printerapiinterface.OctoprintType}|length:${_serviceconstants.UUID_LENGTH},${_serviceconstants.UUID_LENGTH}|alphaNumeric`,
|
|
15
17
|
printerURL: "required|httpurl"
|
|
16
18
|
};
|
|
17
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/state/validation/create-test-printer.validation.ts"],"names":["createTestPrinterRules","correlationToken","apiKey","UUID_LENGTH","printerURL"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../../src/state/validation/create-test-printer.validation.ts"],"names":["createTestPrinterRules","printerType","OctoprintType","MoonrakerType","correlationToken","apiKey","UUID_LENGTH","printerURL"],"mappings":";;;;+BAGaA;;;eAAAA;;;kCAHe;qCACiB;AAEtC,MAAMA,yBAAyB;IACpCC,aAAa,CAAC,oBAAoB,EAAEC,kCAAa,CAAC,CAAC,EAAEC,kCAAa,EAAE;IACpEC,kBAAkB;IAClBC,QAAQ,CAAC,uBAAuB,EAAEH,kCAAa,CAAC,QAAQ,EAAEI,6BAAW,CAAC,CAAC,EAAEA,6BAAW,CAAC,aAAa,CAAC;IACnGC,YAAY;AACd"}
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "PrinterWebsocketRestoreTask", {
|
|
|
11
11
|
const _errorutils = require("../utils/error.utils");
|
|
12
12
|
const _node = require("@sentry/node");
|
|
13
13
|
const _apistatetype = require("../shared/dtos/api-state.type");
|
|
14
|
+
const _printerapiinterface = require("../services/printer-api.interface");
|
|
14
15
|
class PrinterWebsocketRestoreTask {
|
|
15
16
|
settingsStore;
|
|
16
17
|
printerSocketStore;
|
|
@@ -28,6 +29,9 @@ class PrinterWebsocketRestoreTask {
|
|
|
28
29
|
const resetAdapterIds = [];
|
|
29
30
|
const silentSocketIds = [];
|
|
30
31
|
for (const socket of existingSockets){
|
|
32
|
+
if (socket.printerType !== _printerapiinterface.OctoprintType) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
31
35
|
try {
|
|
32
36
|
if (socket.isClosedOrAborted()) {
|
|
33
37
|
socket.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tasks/printer-websocket-restore.task.ts"],"names":["PrinterWebsocketRestoreTask","settingsStore","printerSocketStore","octoprintClient","logger","constructor","loggerFactory","name","run","startTime","Date","now","existingSockets","listPrinterSockets","resetAdapterIds","silentSocketIds","socket","isClosedOrAborted","close","resetSocketState","warn","push","printerId","e","captureException","error","errorSummary","stack","apiState","API_STATE","unset","lastMessageReceivedTimestamp","result","getConnection","login","current","state","duration","getSettingsSensitive","server","debugSettings","debugSocketRetries","log","length"],"mappings":";;;;+
|
|
1
|
+
{"version":3,"sources":["../../src/tasks/printer-websocket-restore.task.ts"],"names":["PrinterWebsocketRestoreTask","settingsStore","printerSocketStore","octoprintClient","logger","constructor","loggerFactory","name","run","startTime","Date","now","existingSockets","listPrinterSockets","resetAdapterIds","silentSocketIds","socket","printerType","OctoprintType","isClosedOrAborted","close","resetSocketState","warn","push","printerId","e","captureException","error","errorSummary","stack","apiState","API_STATE","unset","lastMessageReceivedTimestamp","result","getConnection","login","current","state","duration","getSettingsSensitive","server","debugSettings","debugSocketRetries","log","length"],"mappings":";;;;+BAUaA;;;eAAAA;;;4BAVgB;sBAMI;8BACP;qCACI;AAEvB,MAAMA;IACXC,cAA6B;IAC7BC,mBAAuC;IACvCC,gBAAiC;IACjCC,OAAsB;IAEtBC,YAAY,EACVH,kBAAkB,EAClBC,eAAe,EACfF,aAAa,EACbK,aAAa,EAMd,CAAE;QACD,IAAI,CAACJ,kBAAkB,GAAGA;QAC1B,IAAI,CAACC,eAAe,GAAGA;QACvB,IAAI,CAACF,aAAa,GAAGA;QACrB,IAAI,CAACG,MAAM,GAAGE,cAAcN,4BAA4BO,IAAI;IAC9D;IAEA,MAAMC,MAAM;QACV,MAAMC,YAAYC,KAAKC,GAAG;QAE1B,MAAMC,kBAAkB,IAAI,CAACV,kBAAkB,CAACW,kBAAkB;QAClE,MAAMC,kBAAkB,EAAE;QAC1B,MAAMC,kBAAkB,EAAE;QAC1B,KAAK,MAAMC,UAAUJ,gBAAiB;YACpC,IAAII,OAAOC,WAAW,KAAKC,kCAAa,EAAE;gBACxC;YACF;YAEA,IAAI;gBACF,IAAIF,OAAOG,iBAAiB,IAAI;oBAC9BH,OAAOI,KAAK;oBACZJ,OAAOK,gBAAgB;oBACvB,IAAI,CAACjB,MAAM,CAACkB,IAAI,CAAC;oBACjBR,gBAAgBS,IAAI,CAACP,OAAOQ,SAAS;oBACrC;gBACF;YACF,EAAE,OAAOC,GAAQ;gBACfC,IAAAA,sBAAgB,EAACD;gBACjB,IAAI,CAACrB,MAAM,CAACuB,KAAK,CAAC,CAAC,0DAA0D,EAAEC,IAAAA,wBAAY,EAACH,GAAG,CAAC,CAAC,EAAEA,EAAEI,KAAK;gBAC1G;YACF;YAGA,IACE,AAACb,OAAOc,QAAQ,KAAKC,uBAAS,CAACC,KAAK,IAAI,CAAChB,OAAOiB,4BAA4B,IAC5EvB,KAAKC,GAAG,KAAKK,OAAOiB,4BAA4B,GAAG,KAAK,MACxD;gBACA,MAAMC,SAAS,MAAM,IAAI,CAAC/B,eAAe,CAACgC,aAAa,CAACnB,OAAOoB,KAAK;gBAEpErB,gBAAgBQ,IAAI,CAACP,OAAOQ,SAAS;gBAErC,IAAI;oBACF,IAAIU,QAAQG,SAASC,UAAU,UAAU;wBACvC,IAAI,CAAClC,MAAM,CAACkB,IAAI,CACd,CAAC,4FAA4F,EAAEY,QAAQG,SAASC,OAAO;oBAE3H;gBACF,EAAE,OAAOb,GAAG;oBACV,IAAI,CAACrB,MAAM,CAACuB,KAAK,CAAC,CAAC,sFAAsF,CAAC;gBAC5G;YACF;QACF;QAEA,MAAMY,WAAW7B,KAAKC,GAAG,KAAKF;QAC9B,IAAI,IAAI,CAACR,aAAa,CAACuC,oBAAoB,IAAIC,QAAQC,cAAcC,oBAAoB;YACvF,IAAI,CAACvC,MAAM,CAACwC,GAAG,CACb,CAAC,MAAM,EAAE9B,gBAAgB+B,MAAM,CAAC,qCAAqC,EAAE9B,gBAAgB8B,MAAM,CAAC,0BAA0B,EAAEN,SAAS,GAAG,CAAC;QAE3I;IACF;AACF"}
|
package/dist/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tasks.ts"],"names":["ServerTasks","registerTask","task","preset","milliseconds","runImmediately","timingPreset","id","name","SERVER_BOOT_TASK","DITokens","bootTask","TaskPresets","PERIODIC_DISABLED","BOOT_TASKS","softwareUpdateTask","RUNDELAYED","clientDistDownloadTask","RUNONCE","socketIoTask","PERIODIC","printerFileCleanTask","printerWebsocketTask","printerWebsocketRestoreTask"],"mappings":";;;;;;;;;;;IAsBaA,WAAW;eAAXA;;IAXGC,YAAY;eAAZA;;;6BAX0C;iCACjC;AAUlB,SAASA,aAAaC,IAAI,EAAEC,MAAoB,EAAEC,eAAe,CAAC,EAAEC,iBAAiB,KAAK;IAC/F,IAAIC,eAAe;QAAE,GAAGH,MAAM;IAAC;IAC/BG,aAAaF,YAAY,GAAGD,OAAOC,YAAY,IAAIA;IACnDE,aAAaD,cAAc,GAAGA,kBAAkB;IAChD,OAAO;QACLE,IAAIL,KAAKM,IAAI,IAAIN;QACjBA;QACAC,QAAQG;IACV;AACF;AAEO,MAAMN;IACX,OAAOS,mBAAmBR,aAAaS,yBAAQ,CAACC,QAAQ,EAAEC,yBAAW,CAACC,iBAAiB,EAAE,MAAM,OAAO;IACtG,OAAOC,aAAa;QAClBb,aAAaS,yBAAQ,CAACK,kBAAkB,EAAEH,yBAAW,CAACI,UAAU,EAAE;QAClEf,aAAaS,yBAAQ,CAACO,sBAAsB,EAAEL,yBAAW,CAACM,OAAO;QACjEjB,aAAaS,yBAAQ,CAACS,YAAY,EAAEP,yBAAW,CAACQ,QAAQ,EAAE;QAE1DnB,aAAaS,yBAAQ,CAACW,oBAAoB,EAAET,yBAAW,CAACM,OAAO,EAAE,KAAK,MAAM;QAE5EjB,aAAaS,yBAAQ,CAACY,oBAAoB,EAAEV,yBAAW,CAACQ,QAAQ,EAAE,MAAM;
|
|
1
|
+
{"version":3,"sources":["../src/tasks.ts"],"names":["ServerTasks","registerTask","task","preset","milliseconds","runImmediately","timingPreset","id","name","SERVER_BOOT_TASK","DITokens","bootTask","TaskPresets","PERIODIC_DISABLED","BOOT_TASKS","softwareUpdateTask","RUNDELAYED","clientDistDownloadTask","RUNONCE","socketIoTask","PERIODIC","printerFileCleanTask","printerWebsocketTask","printerWebsocketRestoreTask"],"mappings":";;;;;;;;;;;IAsBaA,WAAW;eAAXA;;IAXGC,YAAY;eAAZA;;;6BAX0C;iCACjC;AAUlB,SAASA,aAAaC,IAAI,EAAEC,MAAoB,EAAEC,eAAe,CAAC,EAAEC,iBAAiB,KAAK;IAC/F,IAAIC,eAAe;QAAE,GAAGH,MAAM;IAAC;IAC/BG,aAAaF,YAAY,GAAGD,OAAOC,YAAY,IAAIA;IACnDE,aAAaD,cAAc,GAAGA,kBAAkB;IAChD,OAAO;QACLE,IAAIL,KAAKM,IAAI,IAAIN;QACjBA;QACAC,QAAQG;IACV;AACF;AAEO,MAAMN;IACX,OAAOS,mBAAmBR,aAAaS,yBAAQ,CAACC,QAAQ,EAAEC,yBAAW,CAACC,iBAAiB,EAAE,MAAM,OAAO;IACtG,OAAOC,aAAa;QAClBb,aAAaS,yBAAQ,CAACK,kBAAkB,EAAEH,yBAAW,CAACI,UAAU,EAAE;QAClEf,aAAaS,yBAAQ,CAACO,sBAAsB,EAAEL,yBAAW,CAACM,OAAO;QACjEjB,aAAaS,yBAAQ,CAACS,YAAY,EAAEP,yBAAW,CAACQ,QAAQ,EAAE;QAE1DnB,aAAaS,yBAAQ,CAACW,oBAAoB,EAAET,yBAAW,CAACM,OAAO,EAAE,KAAK,MAAM;QAE5EjB,aAAaS,yBAAQ,CAACY,oBAAoB,EAAEV,yBAAW,CAACQ,QAAQ,EAAE,MAAM;QAExEnB,aAAaS,yBAAQ,CAACa,2BAA2B,EAAEX,yBAAW,CAACQ,QAAQ,EAAE,KAAK,MAAM;KACrF,CAAC;AACJ"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"author": "David Zwart",
|
|
8
8
|
"license": "AGPL-3.0-or-later",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.7.1",
|
|
10
10
|
"bin": {
|
|
11
11
|
"fdm-monster": "dist/index.js",
|
|
12
12
|
"fdmm": "dist/index.js"
|
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
"console:upload": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/upload-test.js",
|
|
18
18
|
"dev": "concurrently \"yarn build:watch\" \"yarn watch-dev\"",
|
|
19
19
|
"watch-dev": "cross-env NODE_ENV=development nodemon --enable-source-maps --watch \"dist/**/*\" -e js ./dist/index.js",
|
|
20
|
+
"console:github-releases": "yarn build && cross-env NODE_ENV=development nodemon --watch \"dist/**/*\" -e js ./dist/consoles/download-github-releases.js",
|
|
21
|
+
"console:generate": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/typeorm-generate.js",
|
|
20
22
|
"console:torm": "yarn build && cross-env NODE_ENV=development nodemon --watch \"dist/**/*\" -e js ./dist/consoles/sqlite-torm.js",
|
|
21
23
|
"console:migrate": "yarn build && cross-env NODE_ENV=development nodemon --watch \"dist/**/*\" -e js ./dist/consoles/typeorm-migrate.js",
|
|
22
|
-
"console:generate": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/typeorm-generate.js",
|
|
23
24
|
"build": "swc src -d dist --strip-leading-paths",
|
|
24
25
|
"build:watch": "swc src -w -d dist --strip-leading-paths",
|
|
25
26
|
"start:dev": "ts-node src/index.ts",
|
|
@@ -52,17 +53,18 @@
|
|
|
52
53
|
"vue"
|
|
53
54
|
],
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"@fdm-monster/client": "1.6.
|
|
56
|
+
"@fdm-monster/client": "1.6.7",
|
|
57
|
+
"@fdm-monster/client-next": "0.0.4",
|
|
56
58
|
"@influxdata/influxdb-client": "1.35.0",
|
|
57
59
|
"@octokit/plugin-throttling": "8.2.0",
|
|
58
|
-
"@sentry/node": "8.
|
|
60
|
+
"@sentry/node": "8.36.0",
|
|
59
61
|
"adm-zip": "0.5.16",
|
|
60
62
|
"awilix": "12.0.3",
|
|
61
63
|
"awilix-express": "9.0.1",
|
|
62
64
|
"axios": "1.7.7",
|
|
63
65
|
"bcryptjs": "2.4.3",
|
|
64
66
|
"better-sqlite3": "11.5.0",
|
|
65
|
-
"cache-manager": "
|
|
67
|
+
"cache-manager": "6.1.2",
|
|
66
68
|
"class-validator": "0.14.1",
|
|
67
69
|
"connect-history-api-fallback": "2.0.0",
|
|
68
70
|
"cookie-parser": "1.4.7",
|
|
@@ -93,17 +95,17 @@
|
|
|
93
95
|
"socket.io": "4.8.1",
|
|
94
96
|
"toad-scheduler": "3.0.1",
|
|
95
97
|
"typeorm": "0.3.20",
|
|
96
|
-
"uuid": "
|
|
97
|
-
"winston": "3.
|
|
98
|
+
"uuid": "11.0.2",
|
|
99
|
+
"winston": "3.16.0",
|
|
98
100
|
"ws": "8.18.0"
|
|
99
101
|
},
|
|
100
102
|
"devDependencies": {
|
|
101
103
|
"@lcov-viewer/cli": "1.3.0",
|
|
102
104
|
"@lcov-viewer/istanbul-report": "1.4.0",
|
|
103
|
-
"@swc/cli": "0.
|
|
104
|
-
"@swc/core": "1.
|
|
105
|
-
"@swc/jest": "0.2.
|
|
106
|
-
"@types/adm-zip": "0.5.
|
|
105
|
+
"@swc/cli": "0.5.0",
|
|
106
|
+
"@swc/core": "1.8.0",
|
|
107
|
+
"@swc/jest": "0.2.37",
|
|
108
|
+
"@types/adm-zip": "0.5.6",
|
|
107
109
|
"@types/bcryptjs": "2.4.6",
|
|
108
110
|
"@types/cache-manager": "4.0.6",
|
|
109
111
|
"@types/connect-history-api-fallback": "1.5.4",
|
|
@@ -112,25 +114,25 @@
|
|
|
112
114
|
"@types/ip": "1.1.3",
|
|
113
115
|
"@types/jest": "29.5.14",
|
|
114
116
|
"@types/js-yaml": "4.0.9",
|
|
115
|
-
"@types/lodash": "4.17.
|
|
117
|
+
"@types/lodash": "4.17.13",
|
|
116
118
|
"@types/luxon": "3.4.2",
|
|
117
119
|
"@types/migrate-mongo": "10.0.5",
|
|
118
120
|
"@types/multer": "1.4.12",
|
|
119
|
-
"@types/node": "
|
|
121
|
+
"@types/node": "22.8.7",
|
|
120
122
|
"@types/passport-anonymous": "1.0.5",
|
|
121
123
|
"@types/passport-jwt": "4.0.1",
|
|
122
124
|
"@types/semver": "7.5.8",
|
|
123
125
|
"@types/supertest": "6.0.2",
|
|
124
126
|
"@types/uuid": "10.0.0",
|
|
125
|
-
"@types/ws": "8.5.
|
|
127
|
+
"@types/ws": "8.5.13",
|
|
126
128
|
"chokidar": "4.0.1",
|
|
127
|
-
"concurrently": "9.0
|
|
128
|
-
"eslint": "9.
|
|
129
|
+
"concurrently": "9.1.0",
|
|
130
|
+
"eslint": "9.14.0",
|
|
129
131
|
"eslint-config-airbnb-base": "15.0.0",
|
|
130
132
|
"eslint-config-prettier": "9.1.0",
|
|
131
133
|
"eslint-config-standard": "17.1.0",
|
|
132
134
|
"eslint-plugin-import": "2.31.0",
|
|
133
|
-
"eslint-plugin-n": "17.
|
|
135
|
+
"eslint-plugin-n": "17.12.0",
|
|
134
136
|
"eslint-plugin-prettier": "4.2.1",
|
|
135
137
|
"eslint-plugin-promise": "7.1.0",
|
|
136
138
|
"express-list-routes": "1.2.4",
|
package/tsconfig.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "
|
|
3
|
+
"target": "es2022",
|
|
4
4
|
"module": "commonjs",
|
|
5
5
|
"allowJs": true,
|
|
6
6
|
"removeComments": true,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"sourceMap": true,
|
|
10
10
|
"outDir": "dist",
|
|
11
11
|
"strict": true,
|
|
12
|
-
"lib": ["
|
|
12
|
+
"lib": ["es2022"],
|
|
13
13
|
"baseUrl": "./src",
|
|
14
14
|
"forceConsistentCasingInFileNames": true,
|
|
15
15
|
"esModuleInterop": true,
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "ConnectionStateDto", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return ConnectionStateDto;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
class ConnectionStateDto {
|
|
12
|
-
correlationId;
|
|
13
|
-
socketState;
|
|
14
|
-
apiState;
|
|
15
|
-
apiStateUpdateTimestamp;
|
|
16
|
-
stateUpdateTimestamp;
|
|
17
|
-
lastMessageReceivedTimestamp;
|
|
18
|
-
reauthRequiredTimestamp;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=connection-state.dto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/services/octoprint/dto/connection/connection-state.dto.ts"],"names":["ConnectionStateDto","correlationId","socketState","apiState","apiStateUpdateTimestamp","stateUpdateTimestamp","lastMessageReceivedTimestamp","reauthRequiredTimestamp"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACXC,cAAsB;IACtBC,YAAyB;IACzBC,SAAmB;IACnBC,wBAAgC;IAChCC,qBAA6B;IAC7BC,6BAAqC;IACrCC,wBAAgC;AAClC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "PrinterStateUpdatePollTask", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return PrinterStateUpdatePollTask;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _serverconstants = require("../server.constants");
|
|
12
|
-
const _printerapiinterface = require("../services/printer-api.interface");
|
|
13
|
-
class PrinterStateUpdatePollTask {
|
|
14
|
-
printerCache;
|
|
15
|
-
printerEventsCache;
|
|
16
|
-
settingsStore;
|
|
17
|
-
configService;
|
|
18
|
-
octoprintClient;
|
|
19
|
-
moonrakerClient;
|
|
20
|
-
taskManagerService;
|
|
21
|
-
logger;
|
|
22
|
-
constructor({ printerCache, printerEventsCache, octoprintClient, moonrakerClient, settingsStore, configService, taskManagerService, loggerFactory }){
|
|
23
|
-
this.printerCache = printerCache;
|
|
24
|
-
this.printerEventsCache = printerEventsCache;
|
|
25
|
-
this.settingsStore = settingsStore;
|
|
26
|
-
this.configService = configService;
|
|
27
|
-
this.octoprintClient = octoprintClient;
|
|
28
|
-
this.moonrakerClient = moonrakerClient;
|
|
29
|
-
this.taskManagerService = taskManagerService;
|
|
30
|
-
this.logger = loggerFactory(PrinterStateUpdatePollTask.name);
|
|
31
|
-
}
|
|
32
|
-
async run() {
|
|
33
|
-
const startTime = Date.now();
|
|
34
|
-
const disabledPrintersCount = await this.printerCache.countDisabledPrinters();
|
|
35
|
-
const printers = await this.printerCache.listCachedPrinters(false);
|
|
36
|
-
const promisesStateUpdate = [];
|
|
37
|
-
let failures = 0;
|
|
38
|
-
let operational = 0;
|
|
39
|
-
let disconnected = 0;
|
|
40
|
-
let offlineAfterError = 0;
|
|
41
|
-
let printing = 0;
|
|
42
|
-
let paused = 0;
|
|
43
|
-
for (const printer of printers){
|
|
44
|
-
const login = this.printerCache.getLoginDto(printer.id);
|
|
45
|
-
if (login.printerType === _printerapiinterface.MoonrakerType) {
|
|
46
|
-
const promise = this.verifyMoonrakerState(login).then((r)=>{
|
|
47
|
-
operational += r.state === "ready" ? 1 : 0;
|
|
48
|
-
}).catch((e)=>{
|
|
49
|
-
failures++;
|
|
50
|
-
});
|
|
51
|
-
promisesStateUpdate.push(promise);
|
|
52
|
-
} else {}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async verifyMoonrakerState(login) {
|
|
56
|
-
return await this.moonrakerClient.getPrinterInfo(login).then((r)=>{
|
|
57
|
-
return r.data.result;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
_isDebugMode() {
|
|
61
|
-
return this.configService.get(_serverconstants.AppConstants.debugFileWritePrinterStatesKey, _serverconstants.AppConstants.defaultDebugFileWritePrinterStates) === "true";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=printer-state-update-poll.task.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tasks/printer-state-update-poll.task.ts"],"names":["PrinterStateUpdatePollTask","printerCache","printerEventsCache","settingsStore","configService","octoprintClient","moonrakerClient","taskManagerService","logger","constructor","loggerFactory","name","run","startTime","Date","now","disabledPrintersCount","countDisabledPrinters","printers","listCachedPrinters","promisesStateUpdate","failures","operational","disconnected","offlineAfterError","printing","paused","printer","login","getLoginDto","id","printerType","MoonrakerType","promise","verifyMoonrakerState","then","r","state","catch","e","push","getPrinterInfo","data","result","_isDebugMode","get","AppConstants","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates"],"mappings":";;;;+BAaaA;;;eAAAA;;;iCALgB;qCAGC;AAEvB,MAAMA;IACXC,aAA2B;IAC3BC,mBAAuC;IACvCC,cAA6B;IAC7BC,cAA6B;IAC7BC,gBAAiC;IACjCC,gBAAiC;IACjCC,mBAAuC;IACvCC,OAAsB;IAEtBC,YAAY,EACVR,YAAY,EACZC,kBAAkB,EAClBG,eAAe,EACfC,eAAe,EACfH,aAAa,EACbC,aAAa,EACbG,kBAAkB,EAClBG,aAAa,EAUd,CAAE;QACD,IAAI,CAACT,YAAY,GAAGA;QACpB,IAAI,CAACC,kBAAkB,GAAGA;QAC1B,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACC,eAAe,GAAGA;QACvB,IAAI,CAACC,eAAe,GAAGA;QACvB,IAAI,CAACC,kBAAkB,GAAGA;QAC1B,IAAI,CAACC,MAAM,GAAGE,cAAcV,2BAA2BW,IAAI;IAC7D;IAEA,MAAMC,MAAM;QACV,MAAMC,YAAYC,KAAKC,GAAG;QAE1B,MAAMC,wBAAwB,MAAM,IAAI,CAACf,YAAY,CAACgB,qBAAqB;QAE3E,MAAMC,WAAW,MAAM,IAAI,CAACjB,YAAY,CAACkB,kBAAkB,CAAC;QAC5D,MAAMC,sBAAsB,EAAE;QAC9B,IAAIC,WAAW;QACf,IAAIC,cAAc;QAClB,IAAIC,eAAe;QACnB,IAAIC,oBAAoB;QACxB,IAAIC,WAAW;QACf,IAAIC,SAAS;QACb,KAAK,MAAMC,WAAWT,SAAU;YAC9B,MAAMU,QAAQ,IAAI,CAAC3B,YAAY,CAAC4B,WAAW,CAACF,QAAQG,EAAE;YACtD,IAAIF,MAAMG,WAAW,KAAKC,kCAAa,EAAE;gBACvC,MAAMC,UAAU,IAAI,CAACC,oBAAoB,CAACN,OACvCO,IAAI,CAAC,CAACC;oBACLd,eAAec,EAAEC,KAAK,KAAK,UAAU,IAAI;gBAC3C,GACCC,KAAK,CAAC,CAACC;oBACNlB;gBACF;gBAEFD,oBAAoBoB,IAAI,CAACP;YAC3B,OAAO,CAuCP;QACF;IAWF;IAEA,MAAcC,qBAAqBN,KAAe,EAAE;QAClD,OAAO,MAAM,IAAI,CAACtB,eAAe,CAACmC,cAAc,CAACb,OAAOO,IAAI,CAAC,CAACC;YAC5D,OAAOA,EAAEM,IAAI,CAACC,MAAM;QACtB;IACF;IAEQC,eAAe;QACrB,OACE,IAAI,CAACxC,aAAa,CAACyC,GAAG,CAACC,6BAAY,CAACC,8BAA8B,EAAED,6BAAY,CAACE,kCAAkC,MACnH;IAEJ;AACF"}
|