@fdm-monster/server 2.0.7 → 2.0.9
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 +35 -0
- package/dist/container.js +0 -6
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +0 -2
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/print-job.controller.js +12 -151
- package/dist/controllers/print-job.controller.js.map +1 -1
- package/dist/controllers/print-queue.controller.js +82 -17
- package/dist/controllers/print-queue.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +16 -77
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +3 -3
- package/dist/controllers/printer.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/entities/print-job.entity.js.map +1 -1
- package/dist/server.constants.js +1 -2
- package/dist/server.constants.js.map +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +3 -13
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu.api.js +31 -30
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/file-storage.service.js +11 -2
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +5 -17
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +45 -11
- 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 +35 -24
- 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 +15 -10
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/print-job.service.js +55 -47
- package/dist/services/orm/print-job.service.js.map +1 -1
- package/dist/services/print-queue.service.js +90 -30
- package/dist/services/print-queue.service.js.map +1 -1
- package/dist/services/printer-api.interface.js +13 -0
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +33 -27
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/tasks/print-job-analysis.task.js.map +1 -1
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js +50 -0
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -0
- package/dist/utils/bgcode/bgcode.constants.js +57 -0
- package/dist/utils/bgcode/bgcode.constants.js.map +1 -0
- package/dist/utils/bgcode/bgcode.types.js +132 -0
- package/dist/utils/bgcode/bgcode.types.js.map +1 -0
- package/dist/utils/bgcode/bgcode.utils.js +288 -0
- package/dist/utils/bgcode/bgcode.utils.js.map +1 -0
- package/dist/utils/bgcode/heatshrink-decoder.js +172 -0
- package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -0
- package/dist/utils/bgcode/png-encoder.js +76 -0
- package/dist/utils/bgcode/png-encoder.js.map +1 -0
- package/dist/utils/bgcode/qoi-decoder.js +141 -0
- package/dist/utils/bgcode/qoi-decoder.js.map +1 -0
- package/dist/utils/image-dimensions.js +62 -0
- package/dist/utils/image-dimensions.js.map +1 -0
- package/dist/utils/job-stats.util.js +79 -0
- package/dist/utils/job-stats.util.js.map +1 -0
- package/dist/utils/parsers/3mf.parser.js +39 -9
- package/dist/utils/parsers/3mf.parser.js.map +1 -1
- package/dist/utils/parsers/bgcode.parser.js +125 -144
- package/dist/utils/parsers/bgcode.parser.js.map +1 -1
- package/dist/utils/parsers/gcode.parser.js +13 -2
- package/dist/utils/parsers/gcode.parser.js.map +1 -1
- package/dist/utils/parsers/parser.types.js +6 -0
- package/dist/utils/parsers/parser.types.js.map +1 -0
- package/dist/utils/thumbnail.util.js +24 -0
- package/dist/utils/thumbnail.util.js.map +1 -0
- package/package.json +5 -5
- 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
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "OctoprintClient", {
|
|
|
8
8
|
return OctoprintClient;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _fs = require("fs");
|
|
12
11
|
const _formdata = /*#__PURE__*/ _interop_require_default(require("form-data"));
|
|
13
12
|
const _eventconstants = require("../../constants/event.constants");
|
|
14
13
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
@@ -108,16 +107,38 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
|
|
|
108
107
|
async getUsers(login) {
|
|
109
108
|
return await this.createClient(login).get(this.apiUsers);
|
|
110
109
|
}
|
|
111
|
-
async getLocalFiles(login, recursive = false) {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
async getLocalFiles(login, recursive = false, startDir = "") {
|
|
111
|
+
const url = this.apiGetFiles(recursive, startDir);
|
|
112
|
+
const response = await this.createClient(login).get(url);
|
|
113
|
+
if (!response?.data) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
const data = response.data;
|
|
117
|
+
const items = data.files || (data.children ? data.children : []);
|
|
118
|
+
if (!items.length) {
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
if (recursive) {
|
|
122
|
+
return (0, _fileutils.flattenOctoPrintFiles)(items, startDir);
|
|
123
|
+
} else {
|
|
124
|
+
return items.map((item)=>({
|
|
125
|
+
path: item.path || item.name,
|
|
126
|
+
size: item.size || 0,
|
|
127
|
+
date: item.date || null,
|
|
128
|
+
dir: item.type === 'folder'
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
116
131
|
}
|
|
117
132
|
async getFile(login, path) {
|
|
118
133
|
const urlPath = this.apiFile(path);
|
|
119
134
|
const response = await this.createClient(login).get(urlPath);
|
|
120
|
-
|
|
135
|
+
const file = response?.data;
|
|
136
|
+
return {
|
|
137
|
+
path: file.path,
|
|
138
|
+
size: file.size,
|
|
139
|
+
date: file.date,
|
|
140
|
+
dir: file.type === 'folder'
|
|
141
|
+
};
|
|
121
142
|
}
|
|
122
143
|
async downloadFile(login, path) {
|
|
123
144
|
const urlPath = this.downloadFileLocal(path);
|
|
@@ -147,29 +168,19 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
|
|
|
147
168
|
}
|
|
148
169
|
async postSelectPrintFile(login, path, print) {
|
|
149
170
|
const command = this.selectCommand(print);
|
|
150
|
-
|
|
171
|
+
const url = this.apiFile(path);
|
|
172
|
+
await this.createClient(login).post(url, command);
|
|
151
173
|
}
|
|
152
|
-
async uploadFileAsMultiPart(login,
|
|
174
|
+
async uploadFileAsMultiPart(login, stream, fileName, contentLength, startPrint, progressToken) {
|
|
153
175
|
const urlPath = this.apiFilesLocal;
|
|
154
176
|
const formData = new _formdata.default();
|
|
155
177
|
if (startPrint) {
|
|
156
178
|
formData.append("print", "true");
|
|
157
179
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
formData.append("file", fileBuffer, {
|
|
163
|
-
filename
|
|
164
|
-
});
|
|
165
|
-
} else {
|
|
166
|
-
const filePath = multerFileOrBuffer.path;
|
|
167
|
-
const fileStream = (0, _fs.createReadStream)(filePath);
|
|
168
|
-
this.logger.log(`Attaching file from disk to formdata for upload`);
|
|
169
|
-
formData.append("file", fileStream, {
|
|
170
|
-
filename
|
|
171
|
-
});
|
|
172
|
-
}
|
|
180
|
+
formData.append("file", stream, {
|
|
181
|
+
filename: fileName,
|
|
182
|
+
knownLength: contentLength
|
|
183
|
+
});
|
|
173
184
|
const result = await new Promise((resolve, reject)=>{
|
|
174
185
|
return formData.getLength((err, length)=>{
|
|
175
186
|
if (err) reject(new Error("Could not retrieve formData length"));
|
|
@@ -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);
|
|
@@ -89,8 +88,9 @@ class OctoprintApi {
|
|
|
89
88
|
async getFileChunk(path, startBytes, endBytes) {
|
|
90
89
|
return await this.client.getFileChunk(this.login, path, startBytes, endBytes);
|
|
91
90
|
}
|
|
92
|
-
async uploadFile(
|
|
93
|
-
|
|
91
|
+
async uploadFile(input) {
|
|
92
|
+
const validated = _printerapiinterface.uploadFileInputSchema.parse(input);
|
|
93
|
+
await this.client.uploadFileAsMultiPart(this.login, validated.stream, validated.fileName, validated.contentLength, validated.startPrint, validated.uploadToken);
|
|
94
94
|
}
|
|
95
95
|
async deleteFile(path) {
|
|
96
96
|
await this.client.deleteFileOrFolder(this.login, path);
|
|
@@ -116,7 +116,12 @@ class OctoprintApi {
|
|
|
116
116
|
}
|
|
117
117
|
return {
|
|
118
118
|
connectionState,
|
|
119
|
-
file:
|
|
119
|
+
file: {
|
|
120
|
+
path: currentJobFile.path,
|
|
121
|
+
size: currentJobFile.size,
|
|
122
|
+
date: currentJobFile.date,
|
|
123
|
+
dir: false
|
|
124
|
+
},
|
|
120
125
|
reprintState: _printerapiinterface.ReprintState.LastPrintReady
|
|
121
126
|
};
|
|
122
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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"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "PrintJobService", {
|
|
|
10
10
|
});
|
|
11
11
|
const _printjobentity = require("../../entities/print-job.entity");
|
|
12
12
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
13
|
+
const _jobstatsutil = require("../../utils/job-stats.util");
|
|
13
14
|
class PrintJobService {
|
|
14
15
|
printJobRepository;
|
|
15
16
|
eventEmitter2;
|
|
@@ -215,22 +216,9 @@ class PrintJobService {
|
|
|
215
216
|
this.logger.warn(`Filename mismatch on completion: expected "${job.fileName}", got "${fileName}"`);
|
|
216
217
|
}
|
|
217
218
|
const endedAt = new Date();
|
|
218
|
-
const actualTimeSeconds =
|
|
219
|
+
const actualTimeSeconds = (0, _jobstatsutil.calculateJobDuration)(job.startedAt, endedAt);
|
|
219
220
|
job.status = "COMPLETED";
|
|
220
|
-
job
|
|
221
|
-
job.progress = 100;
|
|
222
|
-
if (!job.statistics) {
|
|
223
|
-
job.statistics = {
|
|
224
|
-
startedAt: job.startedAt,
|
|
225
|
-
endedAt,
|
|
226
|
-
actualPrintTimeSeconds: actualTimeSeconds,
|
|
227
|
-
progress: 100
|
|
228
|
-
};
|
|
229
|
-
} else {
|
|
230
|
-
job.statistics.endedAt = endedAt;
|
|
231
|
-
job.statistics.actualPrintTimeSeconds = actualTimeSeconds;
|
|
232
|
-
job.statistics.progress = 100;
|
|
233
|
-
}
|
|
221
|
+
(0, _jobstatsutil.updateStatisticsForCompletion)(job, endedAt);
|
|
234
222
|
await this.printJobRepository.save(job);
|
|
235
223
|
this.eventEmitter2.emit("printJob.completed", {
|
|
236
224
|
jobId: job.id,
|
|
@@ -257,25 +245,8 @@ class PrintJobService {
|
|
|
257
245
|
return null;
|
|
258
246
|
}
|
|
259
247
|
const endedAt = new Date();
|
|
260
|
-
const actualTimeSeconds = job.startedAt ? (endedAt.getTime() - job.startedAt.getTime()) / 1000 : null;
|
|
261
248
|
job.status = "FAILED";
|
|
262
|
-
job
|
|
263
|
-
job.endedAt = endedAt;
|
|
264
|
-
if (!job.statistics) {
|
|
265
|
-
job.statistics = {
|
|
266
|
-
startedAt: job.startedAt,
|
|
267
|
-
endedAt,
|
|
268
|
-
actualPrintTimeSeconds: actualTimeSeconds,
|
|
269
|
-
progress: job.progress,
|
|
270
|
-
failureReason: reason,
|
|
271
|
-
failureTime: endedAt
|
|
272
|
-
};
|
|
273
|
-
} else {
|
|
274
|
-
job.statistics.endedAt = endedAt;
|
|
275
|
-
job.statistics.actualPrintTimeSeconds = actualTimeSeconds;
|
|
276
|
-
job.statistics.failureReason = reason;
|
|
277
|
-
job.statistics.failureTime = endedAt;
|
|
278
|
-
}
|
|
249
|
+
(0, _jobstatsutil.updateStatisticsForFailure)(job, reason, endedAt);
|
|
279
250
|
await this.printJobRepository.save(job);
|
|
280
251
|
this.eventEmitter2.emit("printJob.failed", {
|
|
281
252
|
jobId: job.id,
|
|
@@ -302,21 +273,8 @@ class PrintJobService {
|
|
|
302
273
|
return null;
|
|
303
274
|
}
|
|
304
275
|
const endedAt = new Date();
|
|
305
|
-
const actualTimeSeconds = job.startedAt ? (endedAt.getTime() - job.startedAt.getTime()) / 1000 : null;
|
|
306
276
|
job.status = "CANCELLED";
|
|
307
|
-
job
|
|
308
|
-
job.endedAt = endedAt;
|
|
309
|
-
if (!job.statistics) {
|
|
310
|
-
job.statistics = {
|
|
311
|
-
startedAt: job.startedAt,
|
|
312
|
-
endedAt,
|
|
313
|
-
actualPrintTimeSeconds: actualTimeSeconds,
|
|
314
|
-
progress: job.progress
|
|
315
|
-
};
|
|
316
|
-
} else {
|
|
317
|
-
job.statistics.endedAt = endedAt;
|
|
318
|
-
job.statistics.actualPrintTimeSeconds = actualTimeSeconds;
|
|
319
|
-
}
|
|
277
|
+
(0, _jobstatsutil.updateStatisticsForCancellation)(job, reason, endedAt);
|
|
320
278
|
await this.printJobRepository.save(job);
|
|
321
279
|
this.eventEmitter2.emit("printJob.cancelled", {
|
|
322
280
|
jobId: job.id,
|
|
@@ -534,6 +492,56 @@ class PrintJobService {
|
|
|
534
492
|
});
|
|
535
493
|
this.logger.log(`Triggered file download and analysis for job ${jobId}`);
|
|
536
494
|
}
|
|
495
|
+
async markAsCompleted(jobId, reason) {
|
|
496
|
+
const job = await this.getJobByIdOrFail(jobId);
|
|
497
|
+
job.status = "COMPLETED";
|
|
498
|
+
(0, _jobstatsutil.updateStatisticsForCompletion)(job);
|
|
499
|
+
if (reason) {
|
|
500
|
+
job.statusReason = reason;
|
|
501
|
+
} else {
|
|
502
|
+
job.statusReason = "Manually marked as completed by user";
|
|
503
|
+
}
|
|
504
|
+
await this.printJobRepository.save(job);
|
|
505
|
+
this.logger.log(`Job ${jobId} manually marked as COMPLETED`);
|
|
506
|
+
return job;
|
|
507
|
+
}
|
|
508
|
+
async markAsFailed(jobId, reason) {
|
|
509
|
+
const job = await this.getJobByIdOrFail(jobId);
|
|
510
|
+
job.status = "FAILED";
|
|
511
|
+
(0, _jobstatsutil.updateStatisticsForFailure)(job, reason);
|
|
512
|
+
await this.printJobRepository.save(job);
|
|
513
|
+
this.logger.log(`Job ${jobId} manually marked as FAILED: ${reason}`);
|
|
514
|
+
return job;
|
|
515
|
+
}
|
|
516
|
+
async markAsCancelled(jobId, reason) {
|
|
517
|
+
const job = await this.getJobByIdOrFail(jobId);
|
|
518
|
+
job.status = "CANCELLED";
|
|
519
|
+
(0, _jobstatsutil.updateStatisticsForCancellation)(job, reason);
|
|
520
|
+
await this.printJobRepository.save(job);
|
|
521
|
+
this.logger.log(`Job ${jobId} manually marked as CANCELLED`);
|
|
522
|
+
return job;
|
|
523
|
+
}
|
|
524
|
+
async markAsUnknown(jobId, reason) {
|
|
525
|
+
const job = await this.getJobByIdOrFail(jobId);
|
|
526
|
+
job.status = "UNKNOWN";
|
|
527
|
+
job.statusReason = reason || "Manually marked as unknown by user (state uncertain)";
|
|
528
|
+
await this.printJobRepository.save(job);
|
|
529
|
+
this.logger.log(`Job ${jobId} manually marked as UNKNOWN`);
|
|
530
|
+
return job;
|
|
531
|
+
}
|
|
532
|
+
async countJobsReferencingFile(fileStorageId) {
|
|
533
|
+
return await this.printJobRepository.count({
|
|
534
|
+
where: {
|
|
535
|
+
fileStorageId
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
async updateJob(job) {
|
|
540
|
+
return await this.printJobRepository.save(job);
|
|
541
|
+
}
|
|
542
|
+
async deleteJob(job) {
|
|
543
|
+
await this.printJobRepository.remove(job);
|
|
544
|
+
}
|
|
537
545
|
}
|
|
538
546
|
|
|
539
547
|
//# sourceMappingURL=print-job.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/orm/print-job.service.ts"],"names":["PrintJobService","printJobRepository","eventEmitter2","logger","loggerFactory","typeormService","getDataSource","getRepository","PrintJob","name","getJobByIdOrFail","id","relations","job","findOne","where","NotFoundException","handleFileAnalyzed","jobId","metadata","thumbnails","Error","analysisState","analyzedAt","Date","fileFormat","save","emit","printerId","log","fileName","handlePrintStarted","printerName","existingJob","status","order","startedAt","statusReason","endedAt","warn","createdAt","create","progress","statistics","actualPrintTimeSeconds","handlePrintProgress","currentLayer","totalLayers","Math","min","max","undefined","handlePrintCompleted","actualTimeSeconds","getTime","estimatedTimeSeconds","gcodePrintTimeSeconds","toFixed","handlePrintFailed","reason","failureReason","failureTime","failedAt","handlePrintCancelled","cancelledAt","handlePrintPaused","handlePrintResumed","cleanupStaleJobs","staleJobs","find","length","getActivePrintJob","getPrintJobHistory","limit","take","markStarted","markProgress","markFinished","markFailed","updateJobMetadata","partialMetadata","debug","updatedMetadata","key","value","Object","entries","hasData","values","some","v","searchPrintJobs","searchPrinter","searchFile","startDate","endDate","query","createQueryBuilder","andWhere","Number","parseInt","orderBy","getMany","searchPrintJobsPaged","page","pageSize","skip","getManyAndCount","createPendingJob","hasAnalysisData","filamentUsedGrams","totalFilamentUsedGrams","layerHeight","fileSize","toLowerCase","triggerFileAnalysis"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/orm/print-job.service.ts"],"names":["PrintJobService","printJobRepository","eventEmitter2","logger","loggerFactory","typeormService","getDataSource","getRepository","PrintJob","name","getJobByIdOrFail","id","relations","job","findOne","where","NotFoundException","handleFileAnalyzed","jobId","metadata","thumbnails","Error","analysisState","analyzedAt","Date","fileFormat","save","emit","printerId","log","fileName","handlePrintStarted","printerName","existingJob","status","order","startedAt","statusReason","endedAt","warn","createdAt","create","progress","statistics","actualPrintTimeSeconds","handlePrintProgress","currentLayer","totalLayers","Math","min","max","undefined","handlePrintCompleted","actualTimeSeconds","calculateJobDuration","updateStatisticsForCompletion","estimatedTimeSeconds","gcodePrintTimeSeconds","toFixed","handlePrintFailed","reason","updateStatisticsForFailure","failedAt","handlePrintCancelled","updateStatisticsForCancellation","cancelledAt","handlePrintPaused","handlePrintResumed","cleanupStaleJobs","staleJobs","find","length","getActivePrintJob","getPrintJobHistory","limit","take","markStarted","markProgress","markFinished","markFailed","updateJobMetadata","partialMetadata","debug","updatedMetadata","key","value","Object","entries","hasData","values","some","v","searchPrintJobs","searchPrinter","searchFile","startDate","endDate","query","createQueryBuilder","andWhere","Number","parseInt","orderBy","getMany","searchPrintJobsPaged","page","pageSize","skip","getManyAndCount","createPendingJob","hasAnalysisData","filamentUsedGrams","totalFilamentUsedGrams","layerHeight","fileSize","toLowerCase","triggerFileAnalysis","markAsCompleted","markAsFailed","markAsCancelled","markAsUnknown","countJobsReferencingFile","fileStorageId","count","updateJob","deleteJob","remove"],"mappings":"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"}
|