@fdm-monster/server 2.0.7 → 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 +23 -0
- 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 +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 +3 -13
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu.api.js +7 -18
- 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 +5 -5
|
@@ -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","response","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","urlPath","apiFile","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","
|
|
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","response","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","urlPath","apiFile","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","length","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":";;;;+BAgCaA;;;eAAAA;;;iEAhCQ;gCACmD;mCACnC;oCACL;2BAMK;4CAYM;;;;;;AAWpC,MAAMA,wBAAwBC,mCAAe;;;;IACxCC,OAAsB;IAEhC,YACEC,aAA6B,EAC7B,AAAiBC,iBAAoC,EACrD,AAAiBC,aAA4B,EAC7C,AAAiBC,aAA4B,CAC7C;QACA,KAAK,SAJYF,oBAAAA,wBACAC,gBAAAA,oBACAC,gBAAAA;QAIjB,IAAI,CAACJ,MAAM,GAAGC,cAAcH,gBAAgBO,IAAI;IAClD;IAEA,MAAMC,cAAcC,KAAe,EAAE;QACnC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAa,IAAI,CAACC,UAAU;IACvE;IAEA,MAAMC,UAAUJ,KAAe,EAAE;QAC/B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAY,IAAI,CAACG,SAAS;IACrE;IAEA,MAAML,MAAMA,KAAe,EAAE;QAC3B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOM,IAAI,CAAc,IAAI,CAACC,QAAQ,EAAE;YACrEC,SAAS;QACX;IACF;IAEA,MAAMC,sBAAsBT,KAAe,EAAEU,WAAgB,EAAE;QAC7D,MAAM,IAAI,CAACT,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACK,aAAa,EAAED;IAC1D;IAEA,MAAME,wBAAwBZ,KAAe,EAAEa,OAA+D,EAAE;QAC9G,MAAMC,aAAoC;YACxCC,GAAGF,QAAQE,CAAC,IAAI;YAChBC,GAAGH,QAAQG,CAAC,IAAI;YAChBC,GAAGJ,QAAQI,CAAC,IAAI;QAClB;QACA,MAAMP,cAAc;YAClBQ,SAAS;YACT,GAAGJ,UAAU;QACf;QAEA,OAAO,IAAI,CAACK,oBAAoB,CAACnB,OAAOU;IAC1C;IAEA,MAAMU,yBAAyBpB,KAAe,EAAEqB,IAA+C,EAAE;QAC/F,MAAMP,aAAuB;eAAKO,KAAKN,CAAC,GAAG;gBAAC;aAAI,GAAG,EAAE;eAAOM,KAAKL,CAAC,GAAG;gBAAC;aAAI,GAAG,EAAE;eAAOK,KAAKJ,CAAC,GAAG;gBAAC;aAAI,GAAG,EAAE;SAAE;QAC3G,MAAMP,cAAc;YAClBQ,SAAS;YACTG,MAAMP;QACR;QACA,OAAO,IAAI,CAACK,oBAAoB,CAACnB,OAAOU;IAC1C;IAKA,MAAMS,qBAAqBnB,KAAe,EAAEU,WAAgB,EAAE;QAC5D,MAAM,IAAI,CAACT,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACgB,cAAc,EAAEZ;IAC3D;IAEA,MAAMa,uBAAuBvB,KAAe,EAAEwB,aAAqB,EAAE;QACnE,MAAM,IAAI,CAACvB,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACmB,uBAAuB,EAAE;YAChEP,SAASM;QACX;IACF;IAEA,MAAME,OAAO1B,KAAe,EAAE;QAC5B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAgB,IAAI,CAACyB,MAAM;IACtE;IAKA,MAAMC,eAAe5B,KAAe,EAAEU,WAAgB,EAAE;QACtD,OAAO,MAAM,IAAI,CAACT,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACqB,MAAM,EAAEjB;IAC1D;IAEA,MAAMmB,mBAAmB7B,KAAe,EAAE8B,UAAkB,EAAE;QAC5D,MAAMC,OAAO,IAAI,CAACC,mBAAmB,CAACF;QACtC,OAAO,MAAM,IAAI,CAAC7B,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAAC2B,aAAa,EAAEF;IACjE;IAEA,MAAMG,YAAYlC,KAAe,EAAE;QACjC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAc,IAAI,CAACiC,eAAe;IAC7E;IAEA,MAAMC,yBAAyBpC,KAAe,EAAEqC,WAAmB,EAAE;QACnE,MAAMC,eAAe,IAAI,CAACC,kBAAkB,CAACF;QAC7C,OAAO,MAAM,IAAI,CAACpC,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAAC6B,eAAe,EAAEG;IACnE;IAEA,MAAME,eAAexC,KAAe,EAAE;QACpC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAiB,IAAI,CAACuC,cAAc;IAC/E;IAEA,MAAMC,sBAAsB1C,KAAe,EAAE;QAC3C,MAAM2C,sBAAsB,MAAM,IAAI,CAACH,cAAc,CAACxC;QACtD,OAAO2C,qBAAqBZ,MAAMjC;IACpC;IAEA,MAAM8C,SAAS5C,KAAe,EAAE;QAC9B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAc,IAAI,CAAC2C,QAAQ;IACtE;IAEA,MAAMC,cAAc9C,KAAe,EAAE+C,YAAY,KAAK,EAAE;QACtD,MAAMC,WAAW,MAAM,IAAI,CAAC/C,YAAY,CAACD,OAAOE,GAAG,CAA4B,IAAI,CAAC+C,WAAW,CAACF;QAEhG,OAEEC,UAAUjB,MAAMmB,OACZC,OAAO,CAACC,IAAMA,EAAEC,IAAI,IAAID,EAAEE,IAAI,KAAK,eACpCC,IAAI,CAACH;YACJ,OAAOI,IAAAA,+BAAoB,EAACJ;QAC9B,MAAM,EAAE;IAEd;IAEA,MAAMK,QAAQzD,KAAe,EAAE0D,IAAY,EAAE;QAC3C,MAAMC,UAAU,IAAI,CAACC,OAAO,CAACF;QAC7B,MAAMV,WAAW,MAAM,IAAI,CAAC/C,YAAY,CAACD,OAAOE,GAAG,CAAmByD;QAEtE,OAAOH,IAAAA,+BAAoB,EAACR,UAAUjB;IACxC;IAEA,MAAM8B,aAAa7D,KAAe,EAAE0D,IAAY,EAAuC;QACrF,MAAMC,UAAU,IAAI,CAACG,iBAAiB,CAACJ;QAEvC,OAAO,MAAM,IAAI,CAACzD,YAAY,CAACD,OAAOE,GAAG,CAACyD,SAAS;YACjDI,cAAc;QAChB;IACF;IAEA,MAAMC,aAAahE,KAAe,EAAEiE,QAAgB,EAAEC,UAAkB,EAAEC,QAAgB,EAAE;QAC1F,MAAMC,UAAU,IAAI,CAACN,iBAAiB,CAACG;QAEvC,OAAO,MAAM,IAAI,CAAChE,YAAY,CAACD,OAAO,CAACqE,IACrCA,EAAEC,WAAW,CAAC;gBACZC,OAAO,CAAC,MAAM,EAAGL,WAAY,CAAC,EAAGC,UAAW;YAC9C,IACAjE,GAAG,CAASkE;IAChB;IAEA,MAAMI,aAAaxE,KAAe,EAAE0D,IAAY,EAAEe,UAAkB,EAAE;QACpE,MAAMC,WAAW,IAAIC,iBAAQ;QAC7BD,SAASE,MAAM,CAAC,QAAQlB;QACxBgB,SAASE,MAAM,CAAC,cAAcH;QAE9B,MAAMI,UAAU;YACd,GAAGH,SAASI,UAAU,EAAE;YACxB,kBAAkBJ,SAASK,aAAa,GAAGC,QAAQ;QACrD;QAEA,OAAO,MAAM,IAAI,CAAC/E,YAAY,CAACD,OAAO,CAACqE,IAAMA,EAAEC,WAAW,CAACO,UAAUvE,IAAI,CAAC,IAAI,CAAC2E,aAAa,EAAEP;IAChG;IAEA,MAAMQ,iBAAiBlF,KAAe,EAAE0D,IAAY,EAAEyB,WAAmB,EAAE;QACzE,MAAMjE,UAAU,IAAI,CAACkE,eAAe,CAACD;QACrC,OAAO,MAAM,IAAI,CAAClF,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACsD,OAAO,CAACF,OAAOxC;IACjE;IAEA,MAAMmE,oBAAoBrF,KAAe,EAAE0D,IAAY,EAAE4B,KAAc,EAAE;QACvE,MAAMpE,UAAU,IAAI,CAACqE,aAAa,CAACD;QACnC,MAAM,IAAI,CAACrF,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACsD,OAAO,CAACF,OAAOxC;IAC1D;IAEA,MAAMsE,sBACJxF,KAAe,EACfyF,MAAgB,EAChBC,QAAgB,EAChBC,aAAqB,EACrBC,UAAmB,EACnBC,aAAsB,EACtB;QACA,MAAMlC,UAAU,IAAI,CAACsB,aAAa;QAElC,MAAMP,WAAW,IAAIC,iBAAQ;QAC7B,IAAIiB,YAAY;YACdlB,SAASE,MAAM,CAAC,SAAS;QAC3B;QAEAF,SAASE,MAAM,CAAC,QAAQa,QAAQ;YAC9BK,UAAUJ;YACVK,aAAaJ;QACf;QAGA,MAAMK,SAAiB,MAAM,IAAIC,QAAgB,CAACC,SAASC;YACzD,OAAOzB,SAAS0B,SAAS,CAAC,CAACC,KAAKC;gBAC9B,IAAID,KAAKF,OAAO,IAAII,MAAM;gBAC1BL,QAAQI;YACV;QACF;QAEA,IAAI;YACF,MAAMtD,WAAW,MAAM,IAAI,CAAC/C,YAAY,CAACD,OAAO,CAACwG,UAC/CA,QACGC,qBAAqB,GACrBC,WAAW,CAAC,IAAI,CAAC7G,aAAa,CAAC8G,kBAAkB,GAAGC,gBAAgB,EACpEtC,WAAW,CAAC;oBACX,GAAGI,SAASI,UAAU,EAAE;oBACxB,kBAAkBkB,OAAOhB,QAAQ;gBACnC,GACC6B,oBAAoB,CAAC,CAACC;oBACrB,IAAIjB,eAAe;wBACjB,IAAI,CAACjG,aAAa,CAACmH,IAAI,CAAC,GAAIC,IAAAA,mCAAmB,EAACnB,gBAAiB,EAAEA,eAAeiB;oBACpF;gBACF,IACFxG,IAAI,CAACqD,SAASe;YAEhB,IAAImB,eAAe;gBACjB,IAAI,CAACjG,aAAa,CAACmH,IAAI,CAAC,GAAIE,IAAAA,+BAAe,EAACpB,gBAAiB,EAAEA;YACjE;YAEA,OAAO7C,SAASjB,IAAI;QACtB,EAAE,OAAOmF,GAAQ;YACf,IAAIrB,eAAe;gBACjB,IAAI,CAACjG,aAAa,CAACmH,IAAI,CAAC,GAAII,IAAAA,iCAAiB,EAACtB,gBAAiB,EAAEA,eAAgBqB,GAAkBE;YACrG;YACA,IAAIrF;YACJ,IAAI;gBACFA,OAAOsF,KAAKC,KAAK,CAACJ,EAAElE,QAAQ,EAAEuE;YAChC,EAAE,OAAM;gBACNxF,OAAOmF,EAAElE,QAAQ,EAAEuE;YACrB;YACA,MAAM,IAAIC,uCAAoB,CAC5B;gBACEC,OAAOP,EAAEE,OAAO;gBAChBM,YAAYR,EAAElE,QAAQ,EAAE0E;gBACxB3F;gBACA4F,SAAS;gBACTC,OAAOV,EAAEU,KAAK;YAChB,GACA;QAEJ;IACF;IAEA,MAAMC,mBAAmB7H,KAAe,EAAE0D,IAAY,EAAE;QACtD,MAAM,IAAI,CAACzD,YAAY,CAACD,OAAO8H,MAAM,CAAC,IAAI,CAAClE,OAAO,CAACF;IACrD;IAEA,MAAMqE,kBACJ/H,KAAe,EACfgI,OAAgB,EAChBC,KAAc,EACdC,OAA4C,EAC5C;QACA,MAAM9D,UAAU,IAAI,CAAC+D,iBAAiB,CAACH,SAASC,OAAOC;QACvD,OAAO,MAAM,IAAI,CAACjI,YAAY,CAACD,OAAOE,GAAG,CAAyBkE;IACpE;IAEA,MAAMgE,cAAcpI,KAAe,EAAE;QACnC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAgB,IAAI,CAACS,aAAa;IAC7E;IAEA,MAAM0H,mBAAmBrI,KAAe,EAAE;QACxC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAC,IAAI,CAACoI,kBAAkB;IACnE;IAEA,MAAMC,cAAcvI,KAAe,EAAE;QACnC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAC,IAAI,CAACsI,aAAa;IAC9D;IAEA,MAAMC,kBAAkBzI,KAAe,EAAE;QACvC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOE,GAAG,CAAC,IAAI,CAACwI,iBAAiB;IAClE;IAEA,MAAMC,yBAAyB3I,KAAe,EAAE;QAC9C,MAAM,IAAI,CAACC,YAAY,CAACD,OAAOM,IAAI,CAAC,IAAI,CAACsI,uBAAuB;IAClE;IAEQ3I,aAAaD,KAAe,EAAE6I,kBAA+D,EAAE;QACrG,MAAMC,cAAc9I,MAAM+I,UAAU;QAEpC,OAAO,IAAI,CAACC,qBAAqB,CAACF,aAAa,CAACzE;YAC9C,IAAIwE,oBAAoB;gBACtBA,mBAAmBxE;YACrB;YAEAA,EAAE4E,iBAAiB,CAACjJ,MAAMkJ,MAAM;QAClC;IACF;IAEQF,sBAAsBF,WAAmB,EAAED,kBAA+D,EAAE;QAClH,MAAMrC,UAAU,IAAI2C,sDAA0B;QAE9C,OAAO,IAAI,CAACxJ,iBAAiB,CAACyJ,uBAAuB,CAAC5C,SAASsC,aAAa,CAACO;YAC3E,IAAIR,oBAAoB;gBACtBA,mBAAmBQ;YACrB;QACF;IACF;AACF"}
|
|
@@ -89,8 +89,9 @@ class OctoprintApi {
|
|
|
89
89
|
async getFileChunk(path, startBytes, endBytes) {
|
|
90
90
|
return await this.client.getFileChunk(this.login, path, startBytes, endBytes);
|
|
91
91
|
}
|
|
92
|
-
async uploadFile(
|
|
93
|
-
|
|
92
|
+
async uploadFile(input) {
|
|
93
|
+
const validated = _printerapiinterface.uploadFileInputSchema.parse(input);
|
|
94
|
+
await this.client.uploadFileAsMultiPart(this.login, validated.stream, validated.fileName, validated.contentLength, validated.startPrint, validated.uploadToken);
|
|
94
95
|
}
|
|
95
96
|
async deleteFile(path) {
|
|
96
97
|
await this.client.deleteFileOrFolder(this.login, path);
|
|
@@ -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","files","getLocalFiles","map","f","size","date","downloadFile","getFileChunk","startBytes","endBytes","uploadFile","
|
|
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","files","getLocalFiles","map","f","size","date","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","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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"}
|
|
@@ -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"}
|