@fdm-monster/server 2.0.8 → 2.0.10
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 +1 -1
- package/RELEASE_NOTES.MD +22 -0
- package/dist/container.js +0 -6
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +0 -3
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +38 -56
- package/dist/controllers/file-storage.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +8 -75
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/slicer-compat.controller.js +3 -10
- package/dist/controllers/slicer-compat.controller.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +7 -0
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js +11 -0
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/middleware/exception.filter.js +7 -0
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/server.constants.js +1 -2
- package/dist/server.constants.js.map +1 -1
- package/dist/services/bambu.api.js +24 -12
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/file-storage.service.js +29 -0
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/moonraker.api.js +42 -9
- package/dist/services/moonraker.api.js.map +1 -1
- 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.client.js +30 -7
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/file.utils.js +42 -5
- package/dist/services/octoprint/utils/file.utils.js.map +1 -1
- package/dist/services/octoprint.api.js +12 -8
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +21 -5
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/tasks.js +0 -1
- package/dist/tasks.js.map +1 -1
- package/package.json +6 -6
- package/dist/state/file.cache.js +0 -68
- package/dist/state/file.cache.js.map +0 -1
- package/dist/state/printer-files.store.js +0 -92
- package/dist/state/printer-files.store.js.map +0 -1
- package/dist/tasks/printer-files-load.task.js +0 -29
- package/dist/tasks/printer-files-load.task.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","logger","loggerFactory","httpClientFactory","eventEmitter2","settingsStore","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","passive","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","logger","loggerFactory","httpClientFactory","eventEmitter2","settingsStore","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","passive","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","startDir","url","apiGetFiles","response","items","files","children","length","flattenOctoPrintFiles","map","item","path","size","date","dir","type","getFile","urlPath","apiFile","file","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","pathUrl","o","withHeaders","Range","createFolder","foldername","formData","FormData","append","headers","getHeaders","getLengthSync","toString","apiFilesLocal","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","stream","fileName","contentLength","startPrint","progressToken","filename","knownLength","result","Promise","resolve","reject","getLength","err","Error","builder","withMultiPartFormData","withTimeout","getTimeoutSettings","apiUploadTimeout","withOnUploadProgress","p","emit","uploadProgressEvent","uploadDoneEvent","e","uploadFailedEvent","message","JSON","parse","body","ExternalServiceError","error","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","buildFluentOptions","baseAddress","printerURL","createAnonymousClient","withXApiKeyHeader","apiKey","OctoprintHttpClientBuilder","createClientWithBaseUrl","b"],"mappings":"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"}
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get flattenOctoPrintFiles () {
|
|
13
|
+
return flattenOctoPrintFiles;
|
|
14
|
+
},
|
|
15
|
+
get normalizePrinterFile () {
|
|
8
16
|
return normalizePrinterFile;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
@@ -28,8 +36,37 @@ function normalizePrinterFile(file) {
|
|
|
28
36
|
customData[unknownKey] = fileCopy[unknownKey];
|
|
29
37
|
delete fileCopy[unknownKey];
|
|
30
38
|
}
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
return {
|
|
40
|
+
path: fileCopy.path,
|
|
41
|
+
size: fileCopy.size,
|
|
42
|
+
date: fileCopy.date,
|
|
43
|
+
dir: fileCopy.type === 'folder'
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function flattenOctoPrintFiles(items, parentPath = '') {
|
|
47
|
+
const files = [];
|
|
48
|
+
for (const item of items){
|
|
49
|
+
const fullPath = parentPath ? `${parentPath}/${item.name}` : item.name;
|
|
50
|
+
if (item.type === 'folder') {
|
|
51
|
+
files.push({
|
|
52
|
+
path: fullPath,
|
|
53
|
+
size: 0,
|
|
54
|
+
date: item.date || null,
|
|
55
|
+
dir: true
|
|
56
|
+
});
|
|
57
|
+
if (item.children) {
|
|
58
|
+
files.push(...flattenOctoPrintFiles(item.children, fullPath));
|
|
59
|
+
}
|
|
60
|
+
} else if (item.type === 'machinecode') {
|
|
61
|
+
files.push({
|
|
62
|
+
path: fullPath,
|
|
63
|
+
size: item.size,
|
|
64
|
+
date: item.date,
|
|
65
|
+
dir: false
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return files;
|
|
33
70
|
}
|
|
34
71
|
|
|
35
72
|
//# sourceMappingURL=file.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/services/octoprint/utils/file.utils.ts"],"names":["normalizePrinterFile","file","Error","keys","Object","fileCopy","knownKeys","unknownKeys","filter","k","includes","customData","unknownKey"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/services/octoprint/utils/file.utils.ts"],"names":["flattenOctoPrintFiles","normalizePrinterFile","file","Error","keys","Object","fileCopy","knownKeys","unknownKeys","filter","k","includes","customData","unknownKey","path","size","date","dir","type","items","parentPath","files","item","fullPath","name","push","children"],"mappings":";;;;;;;;;;;QA6CgBA;eAAAA;;QA1CAC;eAAAA;;;AAAT,SAASA,qBAAqBC,IAAsB;IACzD,IAAI,CAACA,MAAM;QACT,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,OAAOC,OAAOD,IAAI,CAACF;IACzB,MAAMI,WAAW;QACf,GAAGJ,IAAI;IACT;IAEA,MAAMK,YAAY;QAChB;QACA;QACA;QAOA;KAID;IAED,MAAMC,cAAcJ,KAAKK,MAAM,CAAC,CAACC,IAAM,CAACH,UAAUI,QAAQ,CAACD;IAE3D,MAAME,aAAiC,CAAC;IACxC,KAAK,MAAMC,cAAcL,YAAa;QACpCI,UAAU,CAACC,WAAW,GAAGP,QAAQ,CAACO,WAAW;QAC7C,OAAOP,QAAQ,CAACO,WAAW;IAC7B;IAEA,OAAO;QACLC,MAAMR,SAASQ,IAAI;QACnBC,MAAMT,SAASS,IAAI;QACnBC,MAAMV,SAASU,IAAI;QACnBC,KAAKX,SAASY,IAAI,KAAK;IACzB;AACF;AAEO,SAASlB,sBAAsBmB,KAAyB,EAAEC,aAAqB,EAAE;IACtF,MAAMC,QAAmB,EAAE;IAE3B,KAAK,MAAMC,QAAQH,MAAO;QACxB,MAAMI,WAAWH,aAAa,GAAGA,WAAW,CAAC,EAAEE,KAAKE,IAAI,EAAE,GAAGF,KAAKE,IAAI;QAEtE,IAAIF,KAAKJ,IAAI,KAAK,UAAU;YAC1BG,MAAMI,IAAI,CAAC;gBACTX,MAAMS;gBACNR,MAAM;gBACNC,MAAMM,KAAKN,IAAI,IAAI;gBACnBC,KAAK;YACP;YAEA,IAAIK,KAAKI,QAAQ,EAAE;gBACjBL,MAAMI,IAAI,IAAIzB,sBAAsBsB,KAAKI,QAAQ,EAAEH;YACrD;QACF,OAAO,IAAID,KAAKJ,IAAI,KAAK,eAAe;YACtCG,MAAMI,IAAI,CAAC;gBACTX,MAAMS;gBACNR,MAAMO,KAAKP,IAAI;gBACfC,MAAMM,KAAKN,IAAI;gBACfC,KAAK;YACP;QACF;IACF;IAEA,OAAOI;AACT"}
|
|
@@ -75,13 +75,12 @@ class OctoprintApi {
|
|
|
75
75
|
async getFile(path) {
|
|
76
76
|
return this.client.getFile(this.login, path);
|
|
77
77
|
}
|
|
78
|
-
async getFiles() {
|
|
79
|
-
const
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}));
|
|
78
|
+
async getFiles(recursive = false, startDir = "") {
|
|
79
|
+
const items = await this.client.getLocalFiles(this.login, recursive, startDir);
|
|
80
|
+
return {
|
|
81
|
+
dirs: items.filter((f)=>f.dir),
|
|
82
|
+
files: items.filter((f)=>!f.dir)
|
|
83
|
+
};
|
|
85
84
|
}
|
|
86
85
|
async downloadFile(path) {
|
|
87
86
|
return await this.client.downloadFile(this.login, path);
|
|
@@ -117,7 +116,12 @@ class OctoprintApi {
|
|
|
117
116
|
}
|
|
118
117
|
return {
|
|
119
118
|
connectionState,
|
|
120
|
-
file:
|
|
119
|
+
file: {
|
|
120
|
+
path: currentJobFile.path,
|
|
121
|
+
size: currentJobFile.size,
|
|
122
|
+
date: currentJobFile.date,
|
|
123
|
+
dir: false
|
|
124
|
+
},
|
|
121
125
|
reprintState: _printerapiinterface.ReprintState.LastPrintReady
|
|
122
126
|
};
|
|
123
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/octoprint.api.ts"],"names":["OctoprintApi","client","octoprintClient","printerLogin","type","OctoprintType","login","getVersion","result","getApiVersion","data","server","validateConnection","connect","sendConnectionCommand","connectCommand","disconnect","disconnectCommand","restartServer","postServerRestartCommand","restartHost","NotImplementedException","restartPrinterFirmware","startPrint","filePath","postSelectPrintFile","pausePrint","sendJobCommand","pauseJobCommand","resumePrint","resumeJobCommand","cancelPrint","cancelJobCommand","sendGcode","script","sendCustomGCodeCommand","quickStop","movePrintHead","amounts","sendPrintHeadJogCommand","homeAxes","axes","sendPrintHeadHomeCommand","getFile","path","getFiles","
|
|
1
|
+
{"version":3,"sources":["../../src/services/octoprint.api.ts"],"names":["OctoprintApi","client","octoprintClient","printerLogin","type","OctoprintType","login","getVersion","result","getApiVersion","data","server","validateConnection","connect","sendConnectionCommand","connectCommand","disconnect","disconnectCommand","restartServer","postServerRestartCommand","restartHost","NotImplementedException","restartPrinterFirmware","startPrint","filePath","postSelectPrintFile","pausePrint","sendJobCommand","pauseJobCommand","resumePrint","resumeJobCommand","cancelPrint","cancelJobCommand","sendGcode","script","sendCustomGCodeCommand","quickStop","movePrintHead","amounts","sendPrintHeadJogCommand","homeAxes","axes","sendPrintHeadHomeCommand","getFile","path","getFiles","recursive","startDir","items","getLocalFiles","dirs","filter","f","dir","files","downloadFile","getFileChunk","startBytes","endBytes","uploadFile","input","validated","uploadFileInputSchema","parse","uploadFileAsMultiPart","stream","fileName","contentLength","uploadToken","deleteFile","deleteFileOrFolder","deleteFolder","getSettings","response","getReprintState","connectedResponse","getConnection","connectionState","current","state","selectedJobResponse","getJob","selectedJob","currentJobFile","job","file","reprintState","ReprintState","NoLastPrint","size","date","LastPrintReady"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["BambuType","MoonrakerType","OctoprintType","PrinterTypesEnum","PrusaLinkType","ReprintState","uploadFileInputSchema","z","object","stream","custom","val","pipe","fileName","string","min","contentLength","number","int","positive","startPrint","boolean","uploadToken","optional"],"mappings":";;;;;;;;;;;QAwBaA;eAAAA;;QAFAC;eAAAA;;QADAC;eAAAA;;QAKDC;eAAAA;;QAHCC;eAAAA;;
|
|
1
|
+
{"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["BambuType","MoonrakerType","OctoprintType","PrinterTypesEnum","PrusaLinkType","ReprintState","uploadFileInputSchema","z","object","stream","custom","val","pipe","fileName","string","min","contentLength","number","int","positive","startPrint","boolean","uploadToken","optional"],"mappings":";;;;;;;;;;;QAwBaA;eAAAA;;QAFAC;eAAAA;;QADAC;eAAAA;;QAKDC;eAAAA;;QAHCC;eAAAA;;QAmDDC;eAAAA;;QAjECC;eAAAA;;;qBAHK;AAGX,MAAMA,wBAAwBC,MAAC,CAACC,MAAM,CAAC;IAC5CC,QAAQF,MAAC,CAACG,MAAM,CAAW,CAACC;QAC1B,OAAOA,OAAO,OAAOA,QAAQ,YAAY,UAAUA,OAAO,OAAOA,IAAIC,IAAI,KAAK;IAChF,GAAG;IACHC,UAAUN,MAAC,CAACO,MAAM,GAAGC,GAAG,CAAC;IACzBC,eAAeT,MAAC,CAACU,MAAM,GAAGC,GAAG,GAAGC,QAAQ;IACxCC,YAAYb,MAAC,CAACc,OAAO;IACrBC,aAAaf,MAAC,CAACO,MAAM,GAAGS,QAAQ;AAClC;AAIO,MAAMrB,gBAAgB;AACtB,MAAMD,gBAAgB;AACtB,MAAMG,gBAAgB;AACtB,MAAMJ,YAAY;AAElB,IAAA,AAAKG,0CAAAA;;;;;WAAAA;;AAgDL,IAAA,AAAKE,sCAAAA;;;;WAAAA"}
|
|
@@ -46,20 +46,36 @@ class PrusaLinkApi {
|
|
|
46
46
|
async validateConnection() {
|
|
47
47
|
await this.getVersion();
|
|
48
48
|
}
|
|
49
|
-
async getFiles() {
|
|
49
|
+
async getFiles(recursive = false, startDir = "/usb") {
|
|
50
|
+
if (recursive) {
|
|
51
|
+
throw new Error("Recursive listing not supported for PrusaLink printers");
|
|
52
|
+
}
|
|
50
53
|
const response = await this.client.get("/api/files");
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
const root = response.data.files.find((dir)=>dir.path === startDir);
|
|
55
|
+
if (!root || !root.children) {
|
|
56
|
+
return {
|
|
57
|
+
dirs: [],
|
|
58
|
+
files: []
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const items = root.children.map((child)=>({
|
|
62
|
+
path: child.path,
|
|
63
|
+
size: null,
|
|
53
64
|
date: null,
|
|
54
|
-
|
|
65
|
+
dir: !child.refs?.download
|
|
55
66
|
}));
|
|
67
|
+
return {
|
|
68
|
+
dirs: items.filter((i)=>i.dir),
|
|
69
|
+
files: items.filter((i)=>!i.dir)
|
|
70
|
+
};
|
|
56
71
|
}
|
|
57
72
|
async getFile(path) {
|
|
58
73
|
const response = await this.getFileRaw(path);
|
|
59
74
|
return {
|
|
60
75
|
path: response.data.name,
|
|
61
76
|
size: response.data.size,
|
|
62
|
-
date: null
|
|
77
|
+
date: null,
|
|
78
|
+
dir: false
|
|
63
79
|
};
|
|
64
80
|
}
|
|
65
81
|
async getStatus() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/prusa-link/prusa-link.api.ts"],"names":["PrusaLinkApi","defaultLog","adapter","logger","authHeader","loggerFactory","eventEmitter2","httpClientFactory","settingsStore","printerLogin","name","debug","logMeta","type","PrusaLinkType","login","client","createClient","getVersion","response","get","data","server","validateConnection","getFiles","files","
|
|
1
|
+
{"version":3,"sources":["../../../src/services/prusa-link/prusa-link.api.ts"],"names":["PrusaLinkApi","defaultLog","adapter","logger","authHeader","loggerFactory","eventEmitter2","httpClientFactory","settingsStore","printerLogin","name","debug","logMeta","type","PrusaLinkType","login","client","createClient","getVersion","response","get","data","server","validateConnection","getFiles","recursive","startDir","Error","root","files","find","dir","path","children","dirs","items","map","child","size","date","refs","download","filter","i","getFile","getFileRaw","getStatus","getPrinterState","getJobState","connect","disconnect","restartServer","restartHost","restartPrinterFirmware","startPrint","post","pausePrint","jobId","getCurrentJobId","warn","put","resumePrint","cancelPrint","delete","quickStop","sendGcode","script","movePrintHead","amounts","homeAxes","axes","downloadFile","fileReference","pathUrl","responseType","getFileChunk","startBytes","endBytes","o","withHeaders","Range","uploadFile","input","validated","uploadFileInputSchema","parse","b","contentLength","toString","Overwrite","withTimeout","getTimeoutSettings","apiUploadTimeout","withOnUploadProgress","p","uploadToken","emit","uploadProgressEvent","encodeURIComponent","fileName","stream","uploadDoneEvent","e","uploadFailedEvent","message","JSON","body","ExternalServiceError","error","statusCode","success","stack","deleteFile","deleteFolder","getSettings","getReprintState","status","job","id","buildFluentOptions","builder","PrusaLinkHttpClientBuilder","createClientWithBaseUrl","printerURL","withDigestAuth","username","password","attemptCount","log","config","method","toUpperCase","url","withAuthHeader"],"mappings":"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"}
|
package/dist/tasks.js
CHANGED
|
@@ -38,7 +38,6 @@ class ServerTasks {
|
|
|
38
38
|
registerTask(_containertokens.DITokens.socketIoTask, _taskpresets.TASK_PRESETS.PERIODIC, 500),
|
|
39
39
|
registerTask(_containertokens.DITokens.printerWebsocketTask, _taskpresets.TASK_PRESETS.PERIODIC, 2000, true),
|
|
40
40
|
registerTask(_containertokens.DITokens.printerWebsocketRestoreTask, _taskpresets.TASK_PRESETS.PERIODIC, 15 * 1000, false),
|
|
41
|
-
registerTask(_containertokens.DITokens.printerFilesLoadTask, _taskpresets.TASK_PRESETS.RUNDELAYED, 1000),
|
|
42
41
|
registerTask(_containertokens.DITokens.printJobAnalysisTask, _taskpresets.TASK_PRESETS.PERIODIC, 30 * 1000, false)
|
|
43
42
|
];
|
|
44
43
|
}
|
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","printerWebsocketTask","printerWebsocketRestoreTask","
|
|
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","printerWebsocketTask","printerWebsocketRestoreTask","printJobAnalysisTask"],"mappings":";;;;;;;;;;;QAkBaA;eAAAA;;QAXGC;eAAAA;;;6BAP4B;iCACnB;AAMlB,SAASA,aAAaC,IAAS,EAAEC,MAAoB,EAAEC,eAAe,CAAC,EAAEC,iBAAiB,KAAK;IACpG,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,OAAuBS,mBAAmBR,aAAaS,yBAAQ,CAACC,QAAQ,EAAEC,yBAAW,CAACC,iBAAiB,EAAE,MAAM,OAAO;IACtH,OAAuBC,aAAa;QAClCb,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,CAACQ,QAAQ,EAAE,MAAM;QAExEnB,aAAaS,yBAAQ,CAACY,2BAA2B,EAAEV,yBAAW,CAACQ,QAAQ,EAAE,KAAK,MAAM;QAEpFnB,aAAaS,yBAAQ,CAACa,oBAAoB,EAAEX,yBAAW,CAACQ,QAAQ,EAAE,KAAK,MAAM;KAC9E,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": "2.0.
|
|
9
|
+
"version": "2.0.10",
|
|
10
10
|
"bin": {
|
|
11
11
|
"fdm-monster-server": "dist/index.js",
|
|
12
12
|
"fdmm-server": "dist/index.js"
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"tr46": "6.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@fdm-monster/client-next": "2.3.
|
|
65
|
+
"@fdm-monster/client-next": "2.3.3",
|
|
66
66
|
"@octokit/plugin-throttling": "8.2.0",
|
|
67
|
-
"@sentry/node": "10.
|
|
67
|
+
"@sentry/node": "10.38.0",
|
|
68
68
|
"adm-zip": "0.5.16",
|
|
69
69
|
"awilix": "12.0.5",
|
|
70
70
|
"awilix-express": "9.0.2",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"jsonwebtoken": "9.0.3",
|
|
87
87
|
"lodash": "4.17.23",
|
|
88
88
|
"luxon": "3.7.2",
|
|
89
|
-
"mqtt": "5.
|
|
89
|
+
"mqtt": "5.15.0",
|
|
90
90
|
"multer": "2.0.2",
|
|
91
91
|
"octokit": "3.2.2",
|
|
92
92
|
"passport": "0.7.0",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"zod": "3.25.76"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
|
-
"@biomejs/biome": "2.3.
|
|
108
|
+
"@biomejs/biome": "2.3.14",
|
|
109
109
|
"@lcov-viewer/cli": "1.3.0",
|
|
110
110
|
"@lcov-viewer/istanbul-report": "1.4.0",
|
|
111
111
|
"@swc/cli": "0.7.10",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"@types/lodash": "4.17.23",
|
|
122
122
|
"@types/luxon": "3.7.1",
|
|
123
123
|
"@types/multer": "2.0.0",
|
|
124
|
-
"@types/node": "24.10.
|
|
124
|
+
"@types/node": "24.10.10",
|
|
125
125
|
"@types/passport-anonymous": "1.0.5",
|
|
126
126
|
"@types/passport-jwt": "4.0.1",
|
|
127
127
|
"@types/semver": "7.7.1",
|
package/dist/state/file.cache.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "FileCache", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return FileCache;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
12
|
-
class FileCache {
|
|
13
|
-
printerFileStorage = new Map();
|
|
14
|
-
totalFileCount = 0;
|
|
15
|
-
logger;
|
|
16
|
-
constructor(loggerFactory){
|
|
17
|
-
this.logger = loggerFactory(FileCache.name);
|
|
18
|
-
}
|
|
19
|
-
cachePrinterFiles(printerId, files) {
|
|
20
|
-
if (!printerId) {
|
|
21
|
-
throw new Error("File Cache cant get a null/undefined printer id");
|
|
22
|
-
}
|
|
23
|
-
this.printerFileStorage.set(printerId, files);
|
|
24
|
-
this.updateCacheFileRefCount();
|
|
25
|
-
}
|
|
26
|
-
getPrinterFiles(printerId) {
|
|
27
|
-
if (!printerId) {
|
|
28
|
-
throw new Error("File Cache cant get a null/undefined printer id");
|
|
29
|
-
}
|
|
30
|
-
return this.printerFileStorage.get(printerId);
|
|
31
|
-
}
|
|
32
|
-
updateCacheFileRefCount() {
|
|
33
|
-
let totalFiles = 0;
|
|
34
|
-
for (const storage of this.printerFileStorage.values()){
|
|
35
|
-
totalFiles += storage?.length || 0;
|
|
36
|
-
}
|
|
37
|
-
if (totalFiles !== this.totalFileCount) {
|
|
38
|
-
this.totalFileCount = totalFiles;
|
|
39
|
-
this.logger.log(`Cache updated. ${this.totalFileCount} file storage references cached.`);
|
|
40
|
-
}
|
|
41
|
-
return totalFiles;
|
|
42
|
-
}
|
|
43
|
-
purgePrinterId(printerId) {
|
|
44
|
-
if (!printerId) {
|
|
45
|
-
throw new _runtimeexceptions.ValidationException("Parameter printerId was not provided.");
|
|
46
|
-
}
|
|
47
|
-
const fileStorage = this.printerFileStorage.get(printerId);
|
|
48
|
-
if (!fileStorage) {
|
|
49
|
-
this.logger.warn("Did not remove printer File Storage as it was not found");
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
this.printerFileStorage.delete(printerId);
|
|
53
|
-
this.logger.log(`Purged printer file cache`);
|
|
54
|
-
}
|
|
55
|
-
purgeFile(printerId, filePath) {
|
|
56
|
-
const files = this.getPrinterFiles(printerId);
|
|
57
|
-
if (!files) return;
|
|
58
|
-
const fileIndex = files.findIndex((f)=>f.path === filePath);
|
|
59
|
-
if (fileIndex === -1) {
|
|
60
|
-
this.logger.warn(`A file removal was ordered but this file was not found in files cache for provided printer id`, filePath);
|
|
61
|
-
return this.logger.log("File was not found in cached printer fileList");
|
|
62
|
-
}
|
|
63
|
-
files.splice(fileIndex, 1);
|
|
64
|
-
this.logger.log(`File was removed from cache`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=file.cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/file.cache.ts"],"names":["FileCache","printerFileStorage","Map","totalFileCount","logger","loggerFactory","name","cachePrinterFiles","printerId","files","Error","set","updateCacheFileRefCount","getPrinterFiles","get","totalFiles","storage","values","length","log","purgePrinterId","ValidationException","fileStorage","warn","delete","purgeFile","filePath","fileIndex","findIndex","f","path","splice"],"mappings":";;;;+BAKaA;;;eAAAA;;;mCALuB;AAK7B,MAAMA;IACMC,qBAAqB,IAAIC,MAAyB;IAC3DC,iBAAiB,EAAE;IAEVC,OAAsB;IAEvC,YAAYC,aAA6B,CAAE;QACzC,IAAI,CAACD,MAAM,GAAGC,cAAcL,UAAUM,IAAI;IAC5C;IAEAC,kBAAkBC,SAAiB,EAAEC,KAAgB,EAAE;QACrD,IAAI,CAACD,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,IAAI,CAACT,kBAAkB,CAACU,GAAG,CAACH,WAAWC;QACvC,IAAI,CAACG,uBAAuB;IAC9B;IAEAC,gBAAgBL,SAAiB,EAAE;QACjC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIE,MAAM;QAClB;QACA,OAAO,IAAI,CAACT,kBAAkB,CAACa,GAAG,CAACN;IACrC;IAEAI,0BAA0B;QACxB,IAAIG,aAAa;QACjB,KAAK,MAAMC,WAAW,IAAI,CAACf,kBAAkB,CAACgB,MAAM,GAAI;YACtDF,cAAcC,SAASE,UAAU;QACnC;QAEA,IAAIH,eAAe,IAAI,CAACZ,cAAc,EAAE;YACtC,IAAI,CAACA,cAAc,GAAGY;YACtB,IAAI,CAACX,MAAM,CAACe,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAAChB,cAAc,CAAC,gCAAgC,CAAC;QACzF;QAEA,OAAOY;IACT;IAEAK,eAAeZ,SAAiB,EAAE;QAChC,IAAI,CAACA,WAAW;YACd,MAAM,IAAIa,sCAAmB,CAAC;QAChC;QAEA,MAAMC,cAAc,IAAI,CAACrB,kBAAkB,CAACa,GAAG,CAACN;QAEhD,IAAI,CAACc,aAAa;YAChB,IAAI,CAAClB,MAAM,CAACmB,IAAI,CAAC;YACjB;QACF;QAEA,IAAI,CAACtB,kBAAkB,CAACuB,MAAM,CAAChB;QAE/B,IAAI,CAACJ,MAAM,CAACe,GAAG,CAAC,CAAC,yBAAyB,CAAC;IAC7C;IAEAM,UAAUjB,SAAiB,EAAEkB,QAAgB,EAAE;QAC7C,MAAMjB,QAAQ,IAAI,CAACI,eAAe,CAACL;QACnC,IAAI,CAACC,OAAO;QAEZ,MAAMkB,YAAYlB,MAAMmB,SAAS,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ;QACpD,IAAIC,cAAc,CAAC,GAAG;YAEpB,IAAI,CAACvB,MAAM,CAACmB,IAAI,CACd,CAAC,6FAA6F,CAAC,EAC/FG;YAGF,OAAO,IAAI,CAACtB,MAAM,CAACe,GAAG,CAAC;QACzB;QAEAV,MAAMsB,MAAM,CAACJ,WAAW;QACxB,IAAI,CAACvB,MAAM,CAACe,GAAG,CAAC,CAAC,2BAA2B,CAAC;IAC/C;AACF"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "PrinterFilesStore", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return PrinterFilesStore;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _runtimeexceptions = require("../exceptions/runtime.exceptions");
|
|
12
|
-
const _node = require("@sentry/node");
|
|
13
|
-
class PrinterFilesStore {
|
|
14
|
-
printerCache;
|
|
15
|
-
fileCache;
|
|
16
|
-
printerApiFactory;
|
|
17
|
-
logger;
|
|
18
|
-
constructor(loggerFactory, printerCache, fileCache, printerApiFactory){
|
|
19
|
-
this.printerCache = printerCache;
|
|
20
|
-
this.fileCache = fileCache;
|
|
21
|
-
this.printerApiFactory = printerApiFactory;
|
|
22
|
-
this.logger = loggerFactory(PrinterFilesStore.name);
|
|
23
|
-
}
|
|
24
|
-
async loadFilesStore() {
|
|
25
|
-
const printers = await this.printerCache.listCachedPrinters(true);
|
|
26
|
-
for (const printer of printers.filter((p)=>p.enabled)){
|
|
27
|
-
try {
|
|
28
|
-
const printerFiles = await this.loadFiles(printer.id);
|
|
29
|
-
this.fileCache.cachePrinterFiles(printer.id, printerFiles);
|
|
30
|
-
} catch (e) {
|
|
31
|
-
(0, _node.captureException)(e);
|
|
32
|
-
this.logger.error(`Files store failed to load file list for printer ${printer.name}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async loadFiles(printerId) {
|
|
37
|
-
const loginDto = await this.printerCache.getLoginDtoAsync(printerId);
|
|
38
|
-
const printerApi = this.printerApiFactory.getScopedPrinter(loginDto);
|
|
39
|
-
const files = await printerApi.getFiles();
|
|
40
|
-
this.fileCache.cachePrinterFiles(printerId, files);
|
|
41
|
-
return files;
|
|
42
|
-
}
|
|
43
|
-
getFiles(printerId) {
|
|
44
|
-
return this.fileCache.getPrinterFiles(printerId);
|
|
45
|
-
}
|
|
46
|
-
getOutdatedFiles(printerId, ageDaysMax) {
|
|
47
|
-
if (!ageDaysMax) throw new _runtimeexceptions.ValidationException("ageDaysMax property is required to get printer's outdated files");
|
|
48
|
-
const printerFiles = this.getFiles(printerId);
|
|
49
|
-
if (!printerFiles?.length) return [];
|
|
50
|
-
const nowTimestampSeconds = Date.now() / 1000;
|
|
51
|
-
return printerFiles.filter((file)=>!!file.date && file.date + ageDaysMax * 86400 < nowTimestampSeconds);
|
|
52
|
-
}
|
|
53
|
-
async deleteOutdatedFiles(printerId, ageDaysMax) {
|
|
54
|
-
const printerApi = this.printerApiFactory.getById(printerId);
|
|
55
|
-
const failedFiles = [];
|
|
56
|
-
const succeededFiles = [];
|
|
57
|
-
const nonRecursiveFiles = this.getOutdatedFiles(printerId, ageDaysMax);
|
|
58
|
-
const name = (await this.printerCache.getCachedPrinterOrThrowAsync(printerId)).name;
|
|
59
|
-
for (let file of nonRecursiveFiles){
|
|
60
|
-
try {
|
|
61
|
-
await printerApi.deleteFile(file.path);
|
|
62
|
-
succeededFiles.push(file);
|
|
63
|
-
} catch (e) {
|
|
64
|
-
failedFiles.push(file);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
this.logger.log(`Deleted ${succeededFiles.length} successfully and ${failedFiles.length} with failure for printer ${name}.`);
|
|
68
|
-
return {
|
|
69
|
-
failedFiles,
|
|
70
|
-
succeededFiles
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
async purgePrinterFiles(printerId) {
|
|
74
|
-
const printerState = await this.printerCache.getCachedPrinterOrThrowAsync(printerId);
|
|
75
|
-
this.logger.log(`Purging file cache from printer`);
|
|
76
|
-
this.fileCache.purgePrinterId(printerState.id);
|
|
77
|
-
this.logger.log(`Clearing printer files successful`);
|
|
78
|
-
}
|
|
79
|
-
async purgeFiles() {
|
|
80
|
-
const allPrinters = await this.printerCache.listCachedPrinters();
|
|
81
|
-
this.logger.log(`Clearing file caches`);
|
|
82
|
-
for (let printer of allPrinters){
|
|
83
|
-
this.fileCache.purgePrinterId(printer.id);
|
|
84
|
-
}
|
|
85
|
-
this.logger.log(`Clearing caches successful.`);
|
|
86
|
-
}
|
|
87
|
-
async deleteFile(printerId, filePath) {
|
|
88
|
-
this.fileCache.purgeFile(printerId, filePath);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
//# sourceMappingURL=printer-files.store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/printer-files.store.ts"],"names":["PrinterFilesStore","logger","loggerFactory","printerCache","fileCache","printerApiFactory","name","loadFilesStore","printers","listCachedPrinters","printer","filter","p","enabled","printerFiles","loadFiles","id","cachePrinterFiles","e","captureException","error","printerId","loginDto","getLoginDtoAsync","printerApi","getScopedPrinter","files","getFiles","getPrinterFiles","getOutdatedFiles","ageDaysMax","ValidationException","length","nowTimestampSeconds","Date","now","file","date","deleteOutdatedFiles","getById","failedFiles","succeededFiles","nonRecursiveFiles","getCachedPrinterOrThrowAsync","deleteFile","path","push","log","purgePrinterFiles","printerState","purgePrinterId","purgeFiles","allPrinters","filePath","purgeFile"],"mappings":";;;;+BAQaA;;;eAAAA;;;mCARuB;sBAKH;AAG1B,MAAMA;;;;IACMC,OAAsB;IAEvC,YACEC,aAA6B,EAC7B,AAAiBC,YAA0B,EAC3C,AAAgBC,SAAoB,EACpC,AAAiBC,iBAAoC,CACrD;aAHiBF,eAAAA;aACDC,YAAAA;aACCC,oBAAAA;QAEjB,IAAI,CAACJ,MAAM,GAAGC,cAAcF,kBAAkBM,IAAI;IACpD;IAEA,MAAMC,iBAAgC;QACpC,MAAMC,WAAW,MAAM,IAAI,CAACL,YAAY,CAACM,kBAAkB,CAAC;QAC5D,KAAK,MAAMC,WAAWF,SAASG,MAAM,CAAC,CAACC,IAAMA,EAAEC,OAAO,EAAG;YACvD,IAAI;gBACF,MAAMC,eAAe,MAAM,IAAI,CAACC,SAAS,CAACL,QAAQM,EAAE;gBACpD,IAAI,CAACZ,SAAS,CAACa,iBAAiB,CAACP,QAAQM,EAAE,EAAEF;YAC/C,EAAE,OAAOI,GAAG;gBACVC,IAAAA,sBAAgB,EAACD;gBACjB,IAAI,CAACjB,MAAM,CAACmB,KAAK,CAAC,CAAC,iDAAiD,EAAEV,QAAQJ,IAAI,EAAE;YACtF;QACF;IACF;IAEA,MAAMS,UAAUM,SAAiB,EAAgB;QAC/C,MAAMC,WAAW,MAAM,IAAI,CAACnB,YAAY,CAACoB,gBAAgB,CAACF;QAC1D,MAAMG,aAAa,IAAI,CAACnB,iBAAiB,CAACoB,gBAAgB,CAACH;QAC3D,MAAMI,QAAQ,MAAMF,WAAWG,QAAQ;QACvC,IAAI,CAACvB,SAAS,CAACa,iBAAiB,CAACI,WAAWK;QAC5C,OAAOA;IACT;IAEAC,SAASN,SAAiB,EAAE;QAC1B,OAAO,IAAI,CAACjB,SAAS,CAACwB,eAAe,CAACP;IACxC;IAEAQ,iBAAiBR,SAAiB,EAAES,UAAkB,EAAE;QACtD,IAAI,CAACA,YAAY,MAAM,IAAIC,sCAAmB,CAAC;QAC/C,MAAMjB,eAAe,IAAI,CAACa,QAAQ,CAACN;QACnC,IAAI,CAACP,cAAckB,QAAQ,OAAO,EAAE;QACpC,MAAMC,sBAAsBC,KAAKC,GAAG,KAAK;QACzC,OAAOrB,aAAaH,MAAM,CAAC,CAACyB,OAAS,CAAC,CAACA,KAAKC,IAAI,IAAID,KAAKC,IAAI,GAAGP,aAAa,QAAQG;IACvF;IAEA,MAAMK,oBAAoBjB,SAAiB,EAAES,UAAkB,EAAE;QAC/D,MAAMN,aAAa,IAAI,CAACnB,iBAAiB,CAACkC,OAAO,CAAClB;QAElD,MAAMmB,cAAc,EAAE;QACtB,MAAMC,iBAAiB,EAAE;QACzB,MAAMC,oBAAoB,IAAI,CAACb,gBAAgB,CAACR,WAAWS;QAE3D,MAAMxB,OAAO,AAAC,CAAA,MAAM,IAAI,CAACH,YAAY,CAACwC,4BAA4B,CAACtB,UAAS,EAAGf,IAAI;QAEnF,KAAK,IAAI8B,QAAQM,kBAAmB;YAClC,IAAI;gBACF,MAAMlB,WAAWoB,UAAU,CAACR,KAAKS,IAAI;gBACrCJ,eAAeK,IAAI,CAACV;YACtB,EAAE,OAAOlB,GAAG;gBACVsB,YAAYM,IAAI,CAACV;YACnB;QACF;QAEA,IAAI,CAACnC,MAAM,CAAC8C,GAAG,CACb,CAAC,QAAQ,EAAEN,eAAeT,MAAM,CAAC,kBAAkB,EAAEQ,YAAYR,MAAM,CAAC,0BAA0B,EAAE1B,KAAK,CAAC,CAAC;QAE7G,OAAO;YACLkC;YACAC;QACF;IACF;IAEA,MAAMO,kBAAkB3B,SAAiB,EAAE;QACzC,MAAM4B,eAAe,MAAM,IAAI,CAAC9C,YAAY,CAACwC,4BAA4B,CAACtB;QAE1E,IAAI,CAACpB,MAAM,CAAC8C,GAAG,CAAC,CAAC,+BAA+B,CAAC;QACjD,IAAI,CAAC3C,SAAS,CAAC8C,cAAc,CAACD,aAAajC,EAAE;QAC7C,IAAI,CAACf,MAAM,CAAC8C,GAAG,CAAC,CAAC,iCAAiC,CAAC;IACrD;IAEA,MAAMI,aAAa;QACjB,MAAMC,cAAc,MAAM,IAAI,CAACjD,YAAY,CAACM,kBAAkB;QAE9D,IAAI,CAACR,MAAM,CAAC8C,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACtC,KAAK,IAAIrC,WAAW0C,YAAa;YAC/B,IAAI,CAAChD,SAAS,CAAC8C,cAAc,CAACxC,QAAQM,EAAE;QAC1C;QACA,IAAI,CAACf,MAAM,CAAC8C,GAAG,CAAC,CAAC,2BAA2B,CAAC;IAC/C;IAEA,MAAMH,WAAWvB,SAAiB,EAAEgC,QAAgB,EAAE;QACpD,IAAI,CAACjD,SAAS,CAACkD,SAAS,CAACjC,WAAWgC;IACtC;AACF"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "PrinterFilesLoadTask", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return PrinterFilesLoadTask;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
class PrinterFilesLoadTask {
|
|
12
|
-
printerFilesStore;
|
|
13
|
-
logger;
|
|
14
|
-
constructor(loggerFactory, printerFilesStore){
|
|
15
|
-
this.printerFilesStore = printerFilesStore;
|
|
16
|
-
this.logger = loggerFactory(PrinterFilesLoadTask.name);
|
|
17
|
-
}
|
|
18
|
-
async run() {
|
|
19
|
-
this.logger.log("Loading files store in background");
|
|
20
|
-
try {
|
|
21
|
-
await this.printerFilesStore.loadFilesStore();
|
|
22
|
-
this.logger.log("Files store loaded successfully in background");
|
|
23
|
-
} catch (error) {
|
|
24
|
-
this.logger.error("Failed to load files store in background", error);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=printer-files-load.task.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tasks/printer-files-load.task.ts"],"names":["PrinterFilesLoadTask","logger","loggerFactory","printerFilesStore","name","run","log","loadFilesStore","error"],"mappings":";;;;+BAQaA;;;eAAAA;;;AAAN,MAAMA;;IACXC,OAAsB;IAEtB,YACEC,aAA6B,EAC7B,AAAiBC,iBAAoC,CACrD;aADiBA,oBAAAA;QAEjB,IAAI,CAACF,MAAM,GAAGC,cAAcF,qBAAqBI,IAAI;IACvD;IAEA,MAAMC,MAAM;QACV,IAAI,CAACJ,MAAM,CAACK,GAAG,CAAC;QAChB,IAAI;YACF,MAAM,IAAI,CAACH,iBAAiB,CAACI,cAAc;YAC3C,IAAI,CAACN,MAAM,CAACK,GAAG,CAAC;QAClB,EAAE,OAAOE,OAAO;YACd,IAAI,CAACP,MAAM,CAACO,KAAK,CAAC,4CAA4CA;QAChE;IACF;AACF"}
|