@fdm-monster/server 2.0.6 → 2.0.8
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/RELEASE_NOTES.MD +31 -0
- package/dist/consoles/bambu-mqtt-diagnostic.console.js +565 -0
- package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +1 -0
- package/dist/consoles/mock-bambu.server.js +114 -88
- package/dist/consoles/mock-bambu.server.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +34 -14
- package/dist/controllers/file-storage.controller.js.map +1 -1
- package/dist/controllers/print-job.controller.js +33 -236
- 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 +8 -2
- 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/entities/print-job.entity.js.map +1 -1
- package/dist/server.constants.js +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +13 -21
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu/bambu-mqtt.adapter.js +86 -32
- package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
- package/dist/services/bambu/bambu.client.js.map +1 -1
- package/dist/services/bambu.api.js +12 -24
- 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 +3 -2
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +5 -17
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint.api.js +3 -2
- 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 +12 -22
- 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 +13 -10
|
@@ -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":";;;;+BAmFaA;;;eAAAA;;;gCAlF8B;mCAIT;AA8E3B,MAAMA;IACXC,mBAAyC;IACzCC,cAA6B;IACZC,OAAO;IAExB,YAAYC,aAA6B,EAAEC,cAA8B,EAAEH,aAA4B,CAAE;QACvG,IAAI,CAACD,kBAAkB,GAAGI,eAAeC,aAAa,GAAGC,aAAa,CAACC,wBAAQ;QAC/E,IAAI,CAACN,aAAa,GAAGA;QACrB,IAAI,CAACC,MAAM,GAAGC,cAAcJ,gBAAgBS,IAAI;IAClD;IAEA,MAAMC,iBAAiBC,EAAU,EAAEC,SAAoB,EAAqB;QAC1E,MAAMC,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEJ;YAAG;YACZC;QACF;QACA,IAAI,CAACC,KAAK;YACR,MAAM,IAAIG,oCAAiB,CAAC,CAAC,IAAI,EAAEL,GAAG,UAAU,CAAC;QACnD;QACA,OAAOE;IACT;IAEA,MAAMI,mBACJC,KAAa,EACbC,QAA0B,EAC1BC,UAAkB,EACC;QACnB,MAAMP,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAAEC,OAAO;gBAAEJ,IAAIO;YAAM;QAAE;QACzE,IAAI,CAACL,KAAK;YACR,MAAM,IAAIQ,MAAM,CAAC,UAAU,EAAEH,MAAM,UAAU,CAAC;QAChD;QAEAL,IAAIM,QAAQ,GAAGA;QACfN,IAAIS,aAAa,GAAG;QACpBT,IAAIU,UAAU,GAAG,IAAIC;QAErBX,IAAIY,UAAU,GAAGN,SAASM,UAAU;QAEpC,MAAM,IAAI,CAACxB,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,qBAAqB;YAC3CT,OAAOL,IAAIF,EAAE;YACbiB,WAAWf,IAAIe,SAAS;YACxBT;QACF;QAEA,IAAI,CAAChB,MAAM,CAAC0B,GAAG,CAAC,CAAC,UAAU,EAAEX,MAAM,WAAW,EAAEC,SAASW,QAAQ,EAAE;QACnE,OAAOjB;IACT;IAEA,MAAMkB,mBACJH,SAAiB,EACjBE,QAAgB,EAChBZ,KAAc,EACdc,WAAoB,EACD;QACnB,MAAMC,cAAc,MAAM,IAAI,CAAChC,kBAAkB,CAACa,OAAO,CAAC;YACxDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAIH,aAAaH,aAAaA,YAAY,CAACZ,OAAO;YAChD,OAAOe;QACT;QAGA,IAAIA,eAAeA,YAAYH,QAAQ,KAAKA,YAAY,CAACZ,OAAO;YAC9De,YAAYC,MAAM,GAAG;YACrBD,YAAYI,YAAY,GACtB,oGACA;YACFJ,YAAYK,OAAO,GAAG,IAAId;YAC1B,MAAM,IAAI,CAACvB,kBAAkB,CAACyB,IAAI,CAACO;YAEnC,IAAI,CAAC9B,MAAM,CAACoC,IAAI,CACd,CAAC,QAAQ,EAAEX,UAAU,oBAAoB,EAAEE,SAAS,YAAY,EAAEG,YAAYtB,EAAE,CAAC,eAAe,EAAEsB,YAAYH,QAAQ,CAAC,GAAG,CAAC,GAC3H,CAAC,WAAW,EAAEG,YAAYtB,EAAE,CAAC,YAAY,CAAC;QAE9C;QAEA,IAAIE;QACJ,IAAIK,OAAO;YACTL,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;gBAAEC,OAAO;oBAAEJ,IAAIO;gBAAM;YAAE;YACnE,IAAI,CAACL,KAAK;gBACR,MAAM,IAAIQ,MAAM,CAAC,UAAU,EAAEH,MAAM,UAAU,CAAC;YAChD;QACF,OAAO;YAELL,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;gBAC1CC,OAAO;oBAAEa;oBAAWE;oBAAUI,QAAQ;gBAAU;gBAChDC,OAAO;oBAAEK,WAAW;gBAAO;YAC7B;YAGA,IAAI,CAAC3B,KAAK;gBACRA,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;oBAC1CC,OAAO;wBAAEa;wBAAWE;oBAAS;oBAC7BK,OAAO;wBAAEK,WAAW;oBAAO;gBAC7B;YACF;YAGA,IAAI,CAAC3B,KAAK;gBACR,IAAI,CAACV,MAAM,CAAC0B,GAAG,CAAC,CAAC,qBAAqB,EAAEC,SAAS,mCAAmC,CAAC;gBACrFjB,MAAM,IAAI,CAACZ,kBAAkB,CAACwC,MAAM,CAAC;oBACnCb;oBACAI,aAAaA,eAAe;oBAC5BF;oBACAI,QAAQ;oBACRZ,eAAe;gBACjB;YACF,OAAO,IAAIT,IAAIqB,MAAM,KAAK,WAAW;gBACnC,IAAI,CAAC/B,MAAM,CAAC0B,GAAG,CAAC,CAAC,sBAAsB,EAAEhB,IAAIF,EAAE,CAAC,YAAY,CAAC;YAC/D,OAAO,IAAIE,IAAIqB,MAAM,KAAK,eAAerB,IAAIqB,MAAM,KAAK,YAAYrB,IAAIqB,MAAM,KAAK,aAAa;gBAE9F,IAAI,CAAC/B,MAAM,CAAC0B,GAAG,CAAC,CAAC,iCAAiC,EAAEC,SAAS,eAAe,EAAEjB,IAAIF,EAAE,CAAC,KAAK,EAAEE,IAAIqB,MAAM,CAAC,CAAC,CAAC;gBACzGrB,MAAM,IAAI,CAACZ,kBAAkB,CAACwC,MAAM,CAAC;oBACnCb;oBACAI,aAAaA,eAAenB,IAAImB,WAAW,IAAI;oBAC/CF;oBACAI,QAAQ;oBACRZ,eAAeT,IAAIS,aAAa;oBAChCH,UAAUN,IAAIM,QAAQ;oBACtBM,YAAYZ,IAAIY,UAAU;gBAC5B;YACF;QACF;QAEAZ,IAAIqB,MAAM,GAAG;QACbrB,IAAIuB,SAAS,GAAG,IAAIZ;QACpBX,IAAI6B,QAAQ,GAAG;QAGf,IAAIV,eAAe,CAACnB,IAAImB,WAAW,EAAE;YACnCnB,IAAImB,WAAW,GAAGA;QACpB;QAEA,IAAI,CAACnB,IAAI8B,UAAU,EAAE;YACnB9B,IAAI8B,UAAU,GAAG;gBACfP,WAAW,IAAIZ;gBACfc,SAAS;gBACTM,wBAAwB;gBACxBF,UAAU;YACZ;QACF,OAAO;YACL7B,IAAI8B,UAAU,CAACP,SAAS,GAAG,IAAIZ;YAC/BX,IAAI8B,UAAU,CAACD,QAAQ,GAAG;QAC5B;QAEA,MAAM,IAAI,CAACzC,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,oBAAoB;YAC1CT,OAAOL,IAAIF,EAAE;YACbiB;YACAE;YACAM,WAAWvB,IAAIuB,SAAS;QAC1B;QAEA,IAAI,CAACjC,MAAM,CAAC0B,GAAG,CAAC,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,oBAAoB,EAAEiB,UAAU,EAAE,EAAEE,UAAU;QAClF,OAAOjB;IACT;IAEA,MAAMgC,oBACJjB,SAAiB,EACjBc,QAAgB,EAChBI,YAAqB,EACrBC,WAAoB,EACM;QAC1B,MAAMlC,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,uBAAuB,CAAC;YAC5F,OAAO;QACT;QAEAf,IAAI6B,QAAQ,GAAGM,KAAKC,GAAG,CAAC,KAAKD,KAAKE,GAAG,CAAC,GAAGR;QAEzC,IAAI,CAAC7B,IAAI8B,UAAU,EAAE;YACnB9B,IAAI8B,UAAU,GAAG;gBACfP,WAAWvB,IAAIuB,SAAS;gBACxBE,SAAS;gBACTM,wBAAwB;gBACxBF,UAAU7B,IAAI6B,QAAQ;YACxB;QACF,OAAO;YACL7B,IAAI8B,UAAU,CAACD,QAAQ,GAAG7B,IAAI6B,QAAQ;QACxC;QAEA,IAAII,iBAAiBK,WAAW;YAC9BtC,IAAI8B,UAAU,CAACG,YAAY,GAAGA;QAChC;QACA,IAAIC,gBAAgBI,WAAW;YAC7BtC,IAAI8B,UAAU,CAACI,WAAW,GAAGA;QAC/B;QAEA,MAAM,IAAI,CAAC9C,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,qBAAqB;YAC3CT,OAAOL,IAAIF,EAAE;YACbiB;YACAc,UAAU7B,IAAI6B,QAAQ;YACtBI;YACAC;QACF;QAEA,OAAOlC;IACT;IAEA,MAAMuC,qBAAqBxB,SAAiB,EAAEE,QAAiB,EAA4B;QACzF,MAAMjB,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,cAAc,CAAC;YACnF,OAAO;QACT;QAEA,IAAIE,YAAYjB,IAAIiB,QAAQ,KAAKA,UAAU;YACzC,IAAI,CAAC3B,MAAM,CAACoC,IAAI,CACd,CAAC,2CAA2C,EAAE1B,IAAIiB,QAAQ,CAAC,QAAQ,EAAEA,SAAS,CAAC,CAAC;QAEpF;QAEA,MAAMQ,UAAU,IAAId;QACpB,MAAM6B,oBAAoBxC,IAAIuB,SAAS,GACnC,AAACE,CAAAA,QAAQgB,OAAO,KAAKzC,IAAIuB,SAAS,CAACkB,OAAO,EAAC,IAAK,OAChD;QAEJzC,IAAIqB,MAAM,GAAG;QACbrB,IAAIyB,OAAO,GAAGA;QACdzB,IAAI6B,QAAQ,GAAG;QAEf,IAAI,CAAC7B,IAAI8B,UAAU,EAAE;YACnB9B,IAAI8B,UAAU,GAAG;gBACfP,WAAWvB,IAAIuB,SAAS;gBACxBE;gBACAM,wBAAwBS;gBACxBX,UAAU;YACZ;QACF,OAAO;YACL7B,IAAI8B,UAAU,CAACL,OAAO,GAAGA;YACzBzB,IAAI8B,UAAU,CAACC,sBAAsB,GAAGS;YACxCxC,IAAI8B,UAAU,CAACD,QAAQ,GAAG;QAC5B;QAEA,MAAM,IAAI,CAACzC,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,sBAAsB;YAC5CT,OAAOL,IAAIF,EAAE;YACbiB;YACAE,UAAUjB,IAAIiB,QAAQ;YACtBuB;YACAE,sBAAsB1C,IAAIM,QAAQ,EAAEqC;QACtC;QAEA,IAAI,CAACrD,MAAM,CAAC0B,GAAG,CACb,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,sBAAsB,EAAEiB,UAAU,EAAE,EAAEf,IAAIiB,QAAQ,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC,EAAEuB,mBAAmBI,QAAQ,GAAG,UAAU,EAAE5C,IAAIM,QAAQ,EAAEqC,sBAAsB,YAAY,CAAC;QAGjG,OAAO3C;IACT;IAEA,MAAM6C,kBACJ9B,SAAiB,EACjB+B,MAAc,EACd7B,QAAiB,EACS;QAC1B,MAAMjB,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,WAAW,CAAC;YAChF,OAAO;QACT;QAEA,MAAMU,UAAU,IAAId;QACpB,MAAM6B,oBAAoBxC,IAAIuB,SAAS,GACnC,AAACE,CAAAA,QAAQgB,OAAO,KAAKzC,IAAIuB,SAAS,CAACkB,OAAO,EAAC,IAAK,OAChD;QAEJzC,IAAIqB,MAAM,GAAG;QACbrB,IAAIwB,YAAY,GAAGsB;QACnB9C,IAAIyB,OAAO,GAAGA;QAEd,IAAI,CAACzB,IAAI8B,UAAU,EAAE;YACnB9B,IAAI8B,UAAU,GAAG;gBACfP,WAAWvB,IAAIuB,SAAS;gBACxBE;gBACAM,wBAAwBS;gBACxBX,UAAU7B,IAAI6B,QAAQ;gBACtBkB,eAAeD;gBACfE,aAAavB;YACf;QACF,OAAO;YACLzB,IAAI8B,UAAU,CAACL,OAAO,GAAGA;YACzBzB,IAAI8B,UAAU,CAACC,sBAAsB,GAAGS;YACxCxC,IAAI8B,UAAU,CAACiB,aAAa,GAAGD;YAC/B9C,IAAI8B,UAAU,CAACkB,WAAW,GAAGvB;QAC/B;QAEA,MAAM,IAAI,CAACrC,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,mBAAmB;YACzCT,OAAOL,IAAIF,EAAE;YACbiB;YACAE,UAAUjB,IAAIiB,QAAQ;YACtB6B;YACAG,UAAUxB;QACZ;QAEA,IAAI,CAACnC,MAAM,CAAC0B,GAAG,CACb,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,mBAAmB,EAAEiB,UAAU,EAAE,EAAEf,IAAIiB,QAAQ,CAAC,GAAG,EAAE6B,QAAQ;QAGnF,OAAO9C;IACT;IAEA,MAAMkD,qBAAqBnC,SAAiB,EAAE+B,MAAe,EAA4B;QACvF,MAAM9C,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,gBAAgB,CAAC;YACrF,OAAO;QACT;QAEA,MAAMU,UAAU,IAAId;QACpB,MAAM6B,oBAAoBxC,IAAIuB,SAAS,GACnC,AAACE,CAAAA,QAAQgB,OAAO,KAAKzC,IAAIuB,SAAS,CAACkB,OAAO,EAAC,IAAK,OAChD;QAEJzC,IAAIqB,MAAM,GAAG;QACbrB,IAAIwB,YAAY,GAAGsB,UAAU;QAC7B9C,IAAIyB,OAAO,GAAGA;QAEd,IAAI,CAACzB,IAAI8B,UAAU,EAAE;YACnB9B,IAAI8B,UAAU,GAAG;gBACfP,WAAWvB,IAAIuB,SAAS;gBACxBE;gBACAM,wBAAwBS;gBACxBX,UAAU7B,IAAI6B,QAAQ;YACxB;QACF,OAAO;YACL7B,IAAI8B,UAAU,CAACL,OAAO,GAAGA;YACzBzB,IAAI8B,UAAU,CAACC,sBAAsB,GAAGS;QAC1C;QAEA,MAAM,IAAI,CAACpD,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACX,aAAa,CAACyB,IAAI,CAAC,sBAAsB;YAC5CT,OAAOL,IAAIF,EAAE;YACbiB;YACAE,UAAUjB,IAAIiB,QAAQ;YACtBkC,aAAa1B;QACf;QAEA,IAAI,CAACnC,MAAM,CAAC0B,GAAG,CAAC,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,sBAAsB,EAAEiB,UAAU,EAAE,EAAEf,IAAIiB,QAAQ,EAAE;QACxF,OAAOjB;IACT;IAEA,MAAMoD,kBAAkBrC,SAAiB,EAA4B;QACnE,MAAMf,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,SAAS,CAAC;YAC9E,OAAO;QACT;QAEAf,IAAIqB,MAAM,GAAG;QACb,MAAM,IAAI,CAACjC,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACV,MAAM,CAAC0B,GAAG,CAAC,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,mBAAmB,EAAEiB,WAAW;QACpE,OAAOf;IACT;IAEA,MAAMqD,mBAAmBtC,SAAiB,EAA4B;QACpE,MAAMf,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAS;YACrCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAACoC,IAAI,CAAC,CAAC,sCAAsC,EAAEX,UAAU,UAAU,CAAC;YAC/E,OAAO;QACT;QAEAf,IAAIqB,MAAM,GAAG;QACb,MAAM,IAAI,CAACjC,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACV,MAAM,CAAC0B,GAAG,CAAC,CAAC,UAAU,EAAEhB,IAAIF,EAAE,CAAC,oBAAoB,EAAEiB,WAAW;QACrE,OAAOf;IACT;IAEA,MAAMsD,mBAAkC;QACtC,MAAMC,YAAY,MAAM,IAAI,CAACnE,kBAAkB,CAACoE,IAAI,CAAC;YACnDtD,OAAO;gBAAEmB,QAAQ;YAAW;QAC9B;QAEA,KAAK,MAAMrB,OAAOuD,UAAW;YAC3BvD,IAAIqB,MAAM,GAAG;YACbrB,IAAIwB,YAAY,GACd,6EACA;YACF,MAAM,IAAI,CAACpC,kBAAkB,CAACyB,IAAI,CAACb;YAEnC,IAAI,CAACV,MAAM,CAACoC,IAAI,CACd,CAAC,WAAW,EAAE1B,IAAIF,EAAE,CAAC,UAAU,EAAEE,IAAIe,SAAS,CAAC,6BAA6B,CAAC,GAC7E,CAAC,kCAAkC,CAAC;QAExC;QAEA,IAAIwC,UAAUE,MAAM,GAAG,GAAG;YACxB,IAAI,CAACnE,MAAM,CAAC0B,GAAG,CAAC,CAAC,WAAW,EAAEuC,UAAUE,MAAM,CAAC,8BAA8B,CAAC;QAChF;IACF;IAEA,MAAMC,kBAAkB3C,SAAiB,EAA4B;QACnE,OAAO,IAAI,CAAC3B,kBAAkB,CAACa,OAAO,CAAC;YACrCC,OAAO;gBAAEa;gBAAWM,QAAQ;YAAW;YACvCC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;IACF;IAEA,MAAMoC,mBACJ5C,SAAiB,EACjB6C,QAAgB,EAAE,EACG;QACrB,OAAO,IAAI,CAACxE,kBAAkB,CAACoE,IAAI,CAAC;YAClCtD,OAAO;gBAAEa;YAAU;YACnBO,OAAO;gBAAEK,WAAW;YAAO;YAC3BkC,MAAMD;QACR;IACF;IAQA,MAAME,YAAY/C,SAAiB,EAAEE,QAAgB,EAAEE,WAAoB,EAAqB;QAC9F,OAAO,MAAM,IAAI,CAACD,kBAAkB,CAACH,WAAWE,UAAUqB,WAAWnB;IACvE;IAMA,MAAM4C,aACJhD,SAAiB,EACjBE,QAAgB,EAChBY,QAAgB,EAChBI,YAAqB,EACrBC,WAAoB,EACM;QAC1B,OAAO,MAAM,IAAI,CAACF,mBAAmB,CAACjB,WAAWc,UAAUI,cAAcC;IAC3E;IAMA,MAAM8B,aAAajD,SAAiB,EAAEE,QAAgB,EAA4B;QAChF,OAAO,MAAM,IAAI,CAACsB,oBAAoB,CAACxB,WAAWE;IACpD;IAMA,MAAMgD,WAAWlD,SAAiB,EAAEE,QAAgB,EAAE6B,MAAc,EAA4B;QAC9F,OAAO,MAAM,IAAI,CAACD,iBAAiB,CAAC9B,WAAW+B,QAAQ7B;IACzD;IAOA,MAAMiD,kBACJnD,SAAiB,EACjBE,QAAgB,EAChBkD,eAA0C,EAC3B;QACf,MAAMnE,MAAM,MAAM,IAAI,CAACZ,kBAAkB,CAACa,OAAO,CAAC;YAChDC,OAAO;gBAAEa;gBAAWE;gBAAUI,QAAQ;YAAW;YACjDC,OAAO;gBAAEC,WAAW;YAAO;QAC7B;QAEA,IAAI,CAACvB,KAAK;YACR,IAAI,CAACV,MAAM,CAAC8E,KAAK,CAAC,CAAC,gCAAgC,EAAErD,UAAU,OAAO,EAAEE,SAAS,2BAA2B,CAAC;YAC7G;QACF;QAGA,IAAIjB,IAAIS,aAAa,KAAK,cAAcT,IAAIM,QAAQ,EAAE;YACpD,IAAI,CAAChB,MAAM,CAAC8E,KAAK,CAAC,CAAC,IAAI,EAAEpE,IAAIF,EAAE,CAAC,2DAA2D,CAAC;YAE5F,MAAMuE,kBAAkB;gBAAE,GAAGrE,IAAIM,QAAQ;YAAC;YAC1C,KAAK,MAAM,CAACgE,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACN,iBAAkB;gBAC1D,IAAII,SAAS,QAASF,CAAAA,eAAe,CAACC,IAAI,IAAI,QAAQD,eAAe,CAACC,IAAI,KAAK,IAAG,GAAI;oBACpFD,eAAe,CAACC,IAAI,GAAGC;gBACzB;YACF;YACAvE,IAAIM,QAAQ,GAAG+D;QACjB,OAAO,IAAIrE,IAAIM,QAAQ,EAAE;YAEvBN,IAAIM,QAAQ,GAAG;gBACb,GAAGN,IAAIM,QAAQ;gBACf,GAAG6D,eAAe;YACpB;QACF,OAAO;YAGL,MAAMO,UAAUF,OAAOG,MAAM,CAACR,iBAAiBS,IAAI,CAACC,CAAAA,IAAKA,KAAK,QAAQA,MAAM;YAC5E,IAAI,CAACH,SAAS;gBACZ,IAAI,CAACpF,MAAM,CAAC8E,KAAK,CAAC,CAAC,mCAAmC,EAAEpE,IAAIF,EAAE,CAAC,8BAA8B,CAAC;gBAC9F;YACF;YAGAE,IAAIM,QAAQ,GAAG;gBACbW;gBACAL,YAAYZ,IAAIY,UAAU,IAAI;gBAC9B,GAAGuD,eAAe;YACpB;QACF;QAEA,MAAM,IAAI,CAAC/E,kBAAkB,CAACyB,IAAI,CAACb;QACnC,IAAI,CAACV,MAAM,CAAC8E,KAAK,CAAC,CAAC,yBAAyB,EAAEpE,IAAIF,EAAE,EAAE;IACxD;IAOA,MAAMgF,gBACJC,aAAsB,EACtBC,UAAmB,EACnBC,SAAgB,EAChBC,OAAc,EACO;QACrB,MAAMC,QAAQ,IAAI,CAAC/F,kBAAkB,CAACgG,kBAAkB,CAAC;QAEzD,IAAIL,eAAe;YACjBI,MAAME,QAAQ,CAAC,8BAA8B;gBAAEtE,WAAWuE,OAAOC,QAAQ,CAACR,eAAe;YAAI;QAC/F;QAEA,IAAIC,YAAY;YACdG,MAAME,QAAQ,CAAC,+BAA+B;gBAAEpE,UAAU,CAAC,CAAC,EAAE+D,WAAW,CAAC,CAAC;YAAC;QAC9E;QAEA,IAAIC,WAAW;YACbE,MAAME,QAAQ,CAAC,+BAA+B;gBAAEJ;YAAU;QAC5D;QAEA,IAAIC,SAAS;YACXC,MAAME,QAAQ,CAAC,6BAA6B;gBAAEH;YAAQ;QACxD;QAEA,OAAO,MAAMC,MACVK,OAAO,CAAC,iBAAiB,QACzBC,OAAO;IACZ;IAKA,MAAMC,qBACJX,aAAsB,EACtBC,UAAmB,EACnBC,SAAgB,EAChBC,OAAc,EACdS,OAAe,CAAC,EAChBC,WAAmB,EAAE,EACU;QAC/B,MAAMT,QAAQ,IAAI,CAAC/F,kBAAkB,CAACgG,kBAAkB,CAAC;QAEzD,IAAIL,eAAe;YACjBI,MAAME,QAAQ,CAAC,8BAA8B;gBAAEtE,WAAWuE,OAAOC,QAAQ,CAACR,eAAe;YAAI;QAC/F;QAEA,IAAIC,YAAY;YACdG,MAAME,QAAQ,CAAC,+BAA+B;gBAAEpE,UAAU,CAAC,CAAC,EAAE+D,WAAW,CAAC,CAAC;YAAC;QAC9E;QAEA,IAAIC,WAAW;YACbE,MAAME,QAAQ,CAAC,+BAA+B;gBAAEJ;YAAU;QAC5D;QAEA,IAAIC,SAAS;YACXC,MAAME,QAAQ,CAAC,6BAA6B;gBAAEH;YAAQ;QACxD;QAEA,OAAO,MAAMC,MACVK,OAAO,CAAC,iBAAiB,QACzBK,IAAI,CAAC,AAACF,CAAAA,OAAO,CAAA,IAAKC,UAClB/B,IAAI,CAAC+B,UACLE,eAAe;IACpB;IAQA,MAAMC,iBACJhF,SAAiB,EACjBE,QAAgB,EAChBX,QAA0B,EAC1Ba,WAAoB,EACD;QAGnB,MAAM6E,kBAAkB1F,SAASqC,qBAAqB,KAAK,QACzDrC,SAAS2F,iBAAiB,KAAK,QAC/B3F,SAAS4F,sBAAsB,KAAK,QACpC5F,SAAS6F,WAAW,KAAK,QACzB7F,SAAS4B,WAAW,KAAK;QAE3B,MAAMzB,gBAAgBuF,kBAAkB,aAAa;QAErD,MAAM3E,SAAS;QAEf,MAAMrB,MAAM,IAAI,CAACZ,kBAAkB,CAACwC,MAAM,CAAC;YACzCb;YACAI,aAAaA,eAAe;YAC5BF;YACAI;YACAZ;YACAH;YACAM,YAAYN,SAASM,UAAU;YAC/BwF,UAAU9F,SAAS8F,QAAQ;YAC3B1F,YAAYsF,kBAAkB,IAAIrF,SAAS;QAC7C;QAEA,MAAM,IAAI,CAACvB,kBAAkB,CAACyB,IAAI,CAACb;QAEnC,IAAI,CAACV,MAAM,CAAC0B,GAAG,CACb,CAAC,QAAQ,EAAEP,cAAc4F,WAAW,GAAG,WAAW,EAAErG,IAAIF,EAAE,CAAC,aAAa,EAAEiB,UAAU,EAAE,EAAEE,SAAS,UAAU,EAAEX,SAASM,UAAU,CAAC,CAAC,CAAC;QAErI,OAAOZ;IACT;IAMA,MAAMsG,oBAAoBjG,KAAa,EAAiB;QACtD,IAAI,CAAChB,aAAa,CAACyB,IAAI,CAAC,8BAA8B;YAAET;QAAM;QAC9D,IAAI,CAACf,MAAM,CAAC0B,GAAG,CAAC,CAAC,6CAA6C,EAAEX,OAAO;IACzE;AACF"}
|
|
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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"}
|
|
@@ -10,26 +10,58 @@ Object.defineProperty(exports, "PrintQueueService", {
|
|
|
10
10
|
});
|
|
11
11
|
const _typeorm = require("typeorm");
|
|
12
12
|
const _printjobentity = require("../entities/print-job.entity");
|
|
13
|
+
const _printerentity = require("../entities/printer.entity");
|
|
14
|
+
const _socketstatetype = require("../shared/dtos/socket-state.type");
|
|
15
|
+
const _apistatetype = require("../shared/dtos/api-state.type");
|
|
13
16
|
const _node = require("@sentry/node");
|
|
14
17
|
class PrintQueueService {
|
|
15
18
|
printerApiFactory;
|
|
16
19
|
fileStorageService;
|
|
20
|
+
printerSocketStore;
|
|
17
21
|
printJobRepository;
|
|
22
|
+
printerRepository;
|
|
18
23
|
eventEmitter2;
|
|
19
24
|
logger;
|
|
20
|
-
constructor(loggerFactory, typeormService, eventEmitter2, printerApiFactory, fileStorageService){
|
|
25
|
+
constructor(loggerFactory, typeormService, eventEmitter2, printerApiFactory, fileStorageService, printerSocketStore){
|
|
21
26
|
this.printerApiFactory = printerApiFactory;
|
|
22
27
|
this.fileStorageService = fileStorageService;
|
|
28
|
+
this.printerSocketStore = printerSocketStore;
|
|
23
29
|
this.printJobRepository = typeormService.getDataSource().getRepository(_printjobentity.PrintJob);
|
|
30
|
+
this.printerRepository = typeormService.getDataSource().getRepository(_printerentity.Printer);
|
|
24
31
|
this.eventEmitter2 = eventEmitter2;
|
|
25
32
|
this.logger = loggerFactory(PrintQueueService.name);
|
|
26
33
|
this.eventEmitter2.on("printQueue.jobSubmitted", (event)=>{
|
|
27
|
-
this.handleJobSubmission(event.printerId, event.jobId, event.fileName, event.fileStorageId).catch((error)=>{
|
|
34
|
+
this.handleJobSubmission(event.printerId, event.jobId, event.fileName, event.fileStorageId, event.queuePosition).catch((error)=>{
|
|
28
35
|
this.logger.error(`Failed to handle job submission for job ${event.jobId}`, error);
|
|
29
36
|
(0, _node.captureException)(error);
|
|
30
37
|
});
|
|
31
38
|
});
|
|
32
|
-
|
|
39
|
+
}
|
|
40
|
+
isPrinterConnected(printerId) {
|
|
41
|
+
const socket = this.printerSocketStore.getPrinterSocket(printerId);
|
|
42
|
+
if (!socket) {
|
|
43
|
+
return {
|
|
44
|
+
connected: false,
|
|
45
|
+
reason: "No socket connection found"
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const socketState = socket.socketState;
|
|
49
|
+
const apiState = socket.apiState;
|
|
50
|
+
if (socketState !== _socketstatetype.SOCKET_STATE.opened && socketState !== _socketstatetype.SOCKET_STATE.authenticated) {
|
|
51
|
+
return {
|
|
52
|
+
connected: false,
|
|
53
|
+
reason: `Socket not connected (state: ${socketState})`
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (apiState !== _apistatetype.API_STATE.responding) {
|
|
57
|
+
return {
|
|
58
|
+
connected: false,
|
|
59
|
+
reason: `Printer not responding (API state: ${apiState})`
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
connected: true
|
|
64
|
+
};
|
|
33
65
|
}
|
|
34
66
|
async addToQueue(printerId, jobId, position) {
|
|
35
67
|
const job = await this.printJobRepository.findOne({
|
|
@@ -40,11 +72,7 @@ class PrintQueueService {
|
|
|
40
72
|
if (!job) {
|
|
41
73
|
throw new Error(`Print job ${jobId} not found`);
|
|
42
74
|
}
|
|
43
|
-
|
|
44
|
-
job.printerId = printerId;
|
|
45
|
-
} else if (job.printerId !== printerId) {
|
|
46
|
-
throw new Error(`Job ${jobId} belongs to printer ${job.printerId}, cannot add to printer ${printerId}`);
|
|
47
|
-
}
|
|
75
|
+
this.ensurePrinterAssignment(job, printerId);
|
|
48
76
|
if (position === undefined || position === null) {
|
|
49
77
|
const maxPosition = await this.getMaxQueuePosition(printerId);
|
|
50
78
|
job.queuePosition = (maxPosition ?? -1) + 1;
|
|
@@ -107,6 +135,23 @@ class PrintQueueService {
|
|
|
107
135
|
createdAt: j.createdAt
|
|
108
136
|
}));
|
|
109
137
|
}
|
|
138
|
+
async getGlobalQueuePaged(page, pageSize) {
|
|
139
|
+
const skip = (page - 1) * pageSize;
|
|
140
|
+
return await this.printJobRepository.findAndCount({
|
|
141
|
+
where: {
|
|
142
|
+
status: "QUEUED"
|
|
143
|
+
},
|
|
144
|
+
order: {
|
|
145
|
+
printerId: "ASC",
|
|
146
|
+
queuePosition: "ASC"
|
|
147
|
+
},
|
|
148
|
+
relations: [
|
|
149
|
+
'printer'
|
|
150
|
+
],
|
|
151
|
+
take: pageSize,
|
|
152
|
+
skip: skip
|
|
153
|
+
});
|
|
154
|
+
}
|
|
110
155
|
async getNextInQueue(printerId) {
|
|
111
156
|
return this.printJobRepository.findOne({
|
|
112
157
|
where: {
|
|
@@ -126,7 +171,7 @@ class PrintQueueService {
|
|
|
126
171
|
id: jobIds[i]
|
|
127
172
|
}
|
|
128
173
|
});
|
|
129
|
-
if (job
|
|
174
|
+
if (job?.printerId === printerId) {
|
|
130
175
|
job.queuePosition = i;
|
|
131
176
|
await this.printJobRepository.save(job);
|
|
132
177
|
}
|
|
@@ -168,6 +213,13 @@ class PrintQueueService {
|
|
|
168
213
|
});
|
|
169
214
|
return nextJob;
|
|
170
215
|
}
|
|
216
|
+
ensurePrinterAssignment(job, printerId) {
|
|
217
|
+
if (!job.printerId) {
|
|
218
|
+
job.printerId = printerId;
|
|
219
|
+
} else if (job.printerId !== printerId) {
|
|
220
|
+
throw new Error(`Job ${job.id} belongs to printer ${job.printerId}, cannot submit to printer ${printerId}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
171
223
|
async getMaxQueuePosition(printerId) {
|
|
172
224
|
const result = await this.printJobRepository.createQueryBuilder("job").select("MAX(job.queuePosition)", "max").where("job.printerId = :printerId", {
|
|
173
225
|
printerId
|
|
@@ -192,15 +244,6 @@ class PrintQueueService {
|
|
|
192
244
|
removedPosition
|
|
193
245
|
}).execute();
|
|
194
246
|
}
|
|
195
|
-
async handleJobCompleted(printerId) {
|
|
196
|
-
const nextJob = await this.getNextInQueue(printerId);
|
|
197
|
-
if (nextJob) {
|
|
198
|
-
this.logger.log(`Auto-processing queue after completion: starting job ${nextJob.id}`);
|
|
199
|
-
await this.processQueue(printerId);
|
|
200
|
-
} else {
|
|
201
|
-
this.logger.log(`Queue empty for printer ${printerId} after job completion`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
247
|
async submitToPrinter(printerId, jobId) {
|
|
205
248
|
const job = await this.printJobRepository.findOne({
|
|
206
249
|
where: {
|
|
@@ -210,39 +253,55 @@ class PrintQueueService {
|
|
|
210
253
|
if (!job) {
|
|
211
254
|
throw new Error(`Print job ${jobId} not found`);
|
|
212
255
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
216
|
-
if (!job.printerId) {
|
|
217
|
-
job.printerId = printerId;
|
|
218
|
-
}
|
|
256
|
+
this.ensurePrinterAssignment(job, printerId);
|
|
257
|
+
const queuePosition = job.queuePosition;
|
|
219
258
|
if (job.queuePosition !== null) {
|
|
220
259
|
const oldPosition = job.queuePosition;
|
|
221
260
|
job.queuePosition = null;
|
|
222
261
|
await this.compactQueuePositions(printerId, oldPosition);
|
|
223
262
|
}
|
|
224
263
|
job.status = "PRINTING";
|
|
264
|
+
job.startedAt = new Date();
|
|
225
265
|
await this.printJobRepository.save(job);
|
|
226
266
|
this.logger.log(`Submitting job ${jobId} (${job.fileName}) to printer ${printerId}`);
|
|
227
267
|
this.eventEmitter2.emit("printQueue.jobSubmitted", {
|
|
228
268
|
printerId,
|
|
229
269
|
jobId: job.id,
|
|
230
270
|
fileName: job.fileName,
|
|
231
|
-
fileStorageId: job.fileStorageId
|
|
271
|
+
fileStorageId: job.fileStorageId,
|
|
272
|
+
queuePosition
|
|
232
273
|
});
|
|
233
274
|
}
|
|
234
|
-
async handleJobSubmission(printerId, jobId, fileName, fileStorageId) {
|
|
275
|
+
async handleJobSubmission(printerId, jobId, fileName, fileStorageId, queuePosition) {
|
|
235
276
|
this.logger.log(`Handling job submission for job ${jobId} on printer ${printerId}`);
|
|
236
277
|
try {
|
|
237
278
|
if (!fileStorageId) {
|
|
238
279
|
throw new Error(`Job ${jobId} has no fileStorageId - cannot submit to printer`);
|
|
239
280
|
}
|
|
240
|
-
const fileBuffer = this.fileStorageService.readFile(fileStorageId);
|
|
241
|
-
this.logger.log(`Read ${fileBuffer.length} bytes for job ${jobId}`);
|
|
242
281
|
const printerApi = this.printerApiFactory.getById(printerId);
|
|
282
|
+
const fileSize = this.fileStorageService.getFileSize(fileStorageId);
|
|
283
|
+
const fileStream = this.fileStorageService.readFileStream(fileStorageId);
|
|
243
284
|
this.logger.log(`Uploading file ${fileName} to printer ${printerId} and starting print`);
|
|
244
|
-
await printerApi.uploadFile(
|
|
285
|
+
await printerApi.uploadFile({
|
|
286
|
+
stream: fileStream,
|
|
287
|
+
fileName,
|
|
288
|
+
contentLength: fileSize,
|
|
289
|
+
startPrint: true
|
|
290
|
+
});
|
|
245
291
|
this.logger.log(`Successfully submitted job ${jobId} to printer ${printerId}`);
|
|
292
|
+
if (queuePosition !== null && queuePosition !== undefined) {
|
|
293
|
+
const job = await this.printJobRepository.findOne({
|
|
294
|
+
where: {
|
|
295
|
+
id: jobId
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
if (job?.queuePosition === queuePosition) {
|
|
299
|
+
job.queuePosition = null;
|
|
300
|
+
await this.printJobRepository.save(job);
|
|
301
|
+
await this.compactQueuePositions(printerId, queuePosition);
|
|
302
|
+
this.logger.log(`Removed job ${jobId} from queue after successful submission`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
246
305
|
} catch (error) {
|
|
247
306
|
this.logger.error(`Failed to submit job ${jobId} to printer ${printerId}`, error);
|
|
248
307
|
try {
|
|
@@ -254,8 +313,9 @@ class PrintQueueService {
|
|
|
254
313
|
if (job) {
|
|
255
314
|
job.status = "FAILED";
|
|
256
315
|
job.statusReason = `Print submission failed: ${error instanceof Error ? error.message : "Unknown error"}`;
|
|
316
|
+
job.endedAt = new Date();
|
|
257
317
|
await this.printJobRepository.save(job);
|
|
258
|
-
this.logger.log(`Updated job ${jobId} status to FAILED`);
|
|
318
|
+
this.logger.log(`Updated job ${jobId} status to FAILED (still in queue for retry)`);
|
|
259
319
|
}
|
|
260
320
|
} catch (updateError) {
|
|
261
321
|
this.logger.error(`Failed to update job ${jobId} status after submission error`, updateError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/print-queue.service.ts"],"names":["PrintQueueService","printJobRepository","eventEmitter2","logger","loggerFactory","typeormService","printerApiFactory","fileStorageService","getDataSource","getRepository","PrintJob","name","on","event","handleJobSubmission","printerId","jobId","fileName","fileStorageId","catch","error","captureException","
|
|
1
|
+
{"version":3,"sources":["../../src/services/print-queue.service.ts"],"names":["PrintQueueService","printJobRepository","printerRepository","eventEmitter2","logger","loggerFactory","typeormService","printerApiFactory","fileStorageService","printerSocketStore","getDataSource","getRepository","PrintJob","Printer","name","on","event","handleJobSubmission","printerId","jobId","fileName","fileStorageId","queuePosition","catch","error","captureException","isPrinterConnected","socket","getPrinterSocket","connected","reason","socketState","apiState","SOCKET_STATE","opened","authenticated","API_STATE","responding","addToQueue","position","job","findOne","where","id","Error","ensurePrinterAssignment","undefined","maxPosition","getMaxQueuePosition","shiftQueuePositions","status","save","log","emit","removeFromQueue","oldPosition","compactQueuePositions","getQueue","jobs","find","Not","IsNull","order","map","j","estimatedTimeSeconds","metadata","gcodePrintTimeSeconds","filamentGrams","filamentUsedGrams","createdAt","getGlobalQueuePaged","page","pageSize","skip","findAndCount","relations","take","getNextInQueue","reorderQueue","jobIds","i","length","clearQueue","processQueue","nextJob","result","createQueryBuilder","select","getRawOne","max","fromPosition","update","set","andWhere","execute","removedPosition","submitToPrinter","startedAt","Date","printerApi","getById","fileSize","getFileSize","fileStream","readFileStream","uploadFile","stream","contentLength","startPrint","statusReason","message","endedAt","updateError"],"mappings":"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"}
|
|
@@ -26,8 +26,21 @@ _export(exports, {
|
|
|
26
26
|
},
|
|
27
27
|
get ReprintState () {
|
|
28
28
|
return ReprintState;
|
|
29
|
+
},
|
|
30
|
+
get uploadFileInputSchema () {
|
|
31
|
+
return uploadFileInputSchema;
|
|
29
32
|
}
|
|
30
33
|
});
|
|
34
|
+
const _zod = require("zod");
|
|
35
|
+
const uploadFileInputSchema = _zod.z.object({
|
|
36
|
+
stream: _zod.z.custom((val)=>{
|
|
37
|
+
return val && typeof val === "object" && "pipe" in val && typeof val.pipe === "function";
|
|
38
|
+
}, "Must be a readable stream"),
|
|
39
|
+
fileName: _zod.z.string().min(1),
|
|
40
|
+
contentLength: _zod.z.number().int().positive(),
|
|
41
|
+
startPrint: _zod.z.boolean(),
|
|
42
|
+
uploadToken: _zod.z.string().optional()
|
|
43
|
+
});
|
|
31
44
|
const OctoprintType = 0;
|
|
32
45
|
const MoonrakerType = 1;
|
|
33
46
|
const PrusaLinkType = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["BambuType","MoonrakerType","OctoprintType","PrinterTypesEnum","PrusaLinkType","ReprintState"],"mappings":";;;;;;;;;;;
|
|
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;;QA6CDC;eAAAA;;QA3DCC;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;;AA0CL,IAAA,AAAKE,sCAAAA;;;;WAAAA"}
|
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "PrusaLinkApi", {
|
|
|
10
10
|
});
|
|
11
11
|
const _printerapiinterface = require("../printer-api.interface");
|
|
12
12
|
const _prusalinkhttpclientbuilder = require("./utils/prusa-link-http-client.builder");
|
|
13
|
-
const _fs = require("fs");
|
|
14
13
|
const _eventconstants = require("../../constants/event.constants");
|
|
15
14
|
const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
|
|
16
15
|
const defaultLog = {
|
|
@@ -143,37 +142,28 @@ class PrusaLinkApi {
|
|
|
143
142
|
Range: `bytes=${startBytes}-${endBytes}`
|
|
144
143
|
})).get(pathUrl);
|
|
145
144
|
}
|
|
146
|
-
async uploadFile(
|
|
145
|
+
async uploadFile(input) {
|
|
146
|
+
const validated = _printerapiinterface.uploadFileInputSchema.parse(input);
|
|
147
147
|
try {
|
|
148
|
-
let fileBuffer;
|
|
149
|
-
const filename = multerFileOrBuffer.originalname;
|
|
150
|
-
if (Buffer.isBuffer(multerFileOrBuffer)) {
|
|
151
|
-
this.logger.log("Using file directly from memory buffer for upload");
|
|
152
|
-
fileBuffer = multerFileOrBuffer;
|
|
153
|
-
} else {
|
|
154
|
-
const filePath = multerFileOrBuffer.path;
|
|
155
|
-
this.logger.log(`Reading file from disk for upload: ${filePath}`);
|
|
156
|
-
fileBuffer = (0, _fs.readFileSync)(filePath);
|
|
157
|
-
}
|
|
158
|
-
const contentLength = fileBuffer.length;
|
|
159
148
|
const response = await this.createClient((b)=>{
|
|
160
149
|
b.withHeaders({
|
|
161
|
-
"Content-
|
|
150
|
+
"Content-Type": "application/octet-stream",
|
|
151
|
+
"Content-Length": validated.contentLength.toString(),
|
|
162
152
|
Overwrite: "?1",
|
|
163
|
-
"Print-After-Upload": startPrint ? "?1" : "?0"
|
|
153
|
+
"Print-After-Upload": validated.startPrint ? "?1" : "?0"
|
|
164
154
|
}).withTimeout(this.settingsStore.getTimeoutSettings().apiUploadTimeout).withOnUploadProgress((p)=>{
|
|
165
|
-
if (
|
|
166
|
-
this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(
|
|
155
|
+
if (validated.uploadToken) {
|
|
156
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(validated.uploadToken)}`, validated.uploadToken, p);
|
|
167
157
|
}
|
|
168
158
|
});
|
|
169
|
-
}).put(`/api/v1/files/usb/${encodeURIComponent(
|
|
170
|
-
if (
|
|
171
|
-
this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(
|
|
159
|
+
}).put(`/api/v1/files/usb/${encodeURIComponent(validated.fileName)}`, validated.stream);
|
|
160
|
+
if (validated.uploadToken) {
|
|
161
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(validated.uploadToken)}`, validated.uploadToken);
|
|
172
162
|
}
|
|
173
163
|
return response.data;
|
|
174
164
|
} catch (e) {
|
|
175
|
-
if (
|
|
176
|
-
this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(
|
|
165
|
+
if (validated.uploadToken) {
|
|
166
|
+
this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(validated.uploadToken)}`, validated.uploadToken, e?.message);
|
|
177
167
|
}
|
|
178
168
|
let data;
|
|
179
169
|
try {
|
|
@@ -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","filter","dir","path","children","map","f","display","date","size","getFile","getFileRaw","getStatus","getPrinterState","getJobState","connect","Error","disconnect","restartServer","restartHost","restartPrinterFirmware","startPrint","post","pausePrint","jobId","getCurrentJobId","warn","put","resumePrint","cancelPrint","delete","quickStop","sendGcode","script","movePrintHead","amounts","homeAxes","axes","downloadFile","fileReference","pathUrl","refs","download","responseType","getFileChunk","startBytes","endBytes","o","withHeaders","Range","uploadFile","
|
|
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","filter","dir","path","children","map","f","display","date","size","getFile","getFileRaw","getStatus","getPrinterState","getJobState","connect","Error","disconnect","restartServer","restartHost","restartPrinterFirmware","startPrint","post","pausePrint","jobId","getCurrentJobId","warn","put","resumePrint","cancelPrint","delete","quickStop","sendGcode","script","movePrintHead","amounts","homeAxes","axes","downloadFile","fileReference","pathUrl","refs","download","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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"}
|