@fdm-monster/server 2.0.8 → 2.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/README.md +1 -1
- package/RELEASE_NOTES.MD +22 -0
- package/dist/container.js +0 -6
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +0 -3
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +38 -56
- package/dist/controllers/file-storage.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +8 -75
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/slicer-compat.controller.js +3 -10
- package/dist/controllers/slicer-compat.controller.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +7 -0
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js +11 -0
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/middleware/exception.filter.js +7 -0
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/server.constants.js +1 -2
- package/dist/server.constants.js.map +1 -1
- package/dist/services/bambu.api.js +24 -12
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/file-storage.service.js +29 -0
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/moonraker.api.js +42 -9
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +30 -7
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/file.utils.js +42 -5
- package/dist/services/octoprint/utils/file.utils.js.map +1 -1
- package/dist/services/octoprint.api.js +12 -8
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +21 -5
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/tasks.js +0 -1
- package/dist/tasks.js.map +1 -1
- package/package.json +6 -6
- package/dist/state/file.cache.js +0 -68
- package/dist/state/file.cache.js.map +0 -1
- package/dist/state/printer-files.store.js +0 -92
- package/dist/state/printer-files.store.js.map +0 -1
- package/dist/tasks/printer-files-load.task.js +0 -29
- package/dist/tasks/printer-files-load.task.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/controllers/slicer-compat.controller.ts"],"names":["SlicerCompatController","logger","loggerFactory","fileStorageService","fileAnalysisService","multerService","name","getVersion","req","res","send","api","server","text","uploadFile","files","acceptedExtensions","AppConstants","defaultAcceptedGcodeExtensions","defaultAcceptedBambuExtensions","multerLoadFileAsync","length","status","error","file","
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/slicer-compat.controller.ts"],"names":["SlicerCompatController","logger","loggerFactory","fileStorageService","fileAnalysisService","multerService","name","getVersion","req","res","send","api","server","text","uploadFile","files","acceptedExtensions","AppConstants","defaultAcceptedGcodeExtensions","defaultAcceptedBambuExtensions","multerLoadFileAsync","length","status","error","file","validateUniqueFilename","originalname","fileHash","calculateFileHash","path","fileStorageId","saveFile","filePath","getFilePath","metadata","thumbnails","analysisResult","analyzeFile","thumbnailMetadata","saveThumbnails","saveMetadata","analysisError","clearUploadedFile","e","local","origin","refs","resource","download","done","_fdmMonster","analyzed","Object","keys","thumbnailCount","printTime","gcodePrintTimeSeconds","filament","filamentUsedGrams","log","listFiles","listAllFiles","knownFiles","map","_originalFileName","fileName","type","typePath","fileFormat","gcodeAnalysis","estimatedPrintTime","tool0","filamentUsedMm","volume","filamentUsedCm3","undefined","date","Math","floor","createdAt","getTime","size","fileSize","free","total","getServer","version","safemode","slicerApiKeyAuth"],"mappings":"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"}
|
|
@@ -15,6 +15,9 @@ _export(exports, {
|
|
|
15
15
|
get getFileSchema () {
|
|
16
16
|
return getFileSchema;
|
|
17
17
|
},
|
|
18
|
+
get getFilesSchema () {
|
|
19
|
+
return getFilesSchema;
|
|
20
|
+
},
|
|
18
21
|
get startPrintFileSchema () {
|
|
19
22
|
return startPrintFileSchema;
|
|
20
23
|
},
|
|
@@ -38,5 +41,9 @@ const uploadFileSchema = _zod.z.object({
|
|
|
38
41
|
"false"
|
|
39
42
|
])
|
|
40
43
|
});
|
|
44
|
+
const getFilesSchema = _zod.z.object({
|
|
45
|
+
recursive: _zod.z.string().optional(),
|
|
46
|
+
startDir: _zod.z.string().optional()
|
|
47
|
+
});
|
|
41
48
|
|
|
42
49
|
//# sourceMappingURL=printer-files-controller.validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controllers/validation/printer-files-controller.validation.ts"],"names":["downloadFileSchema","getFileSchema","startPrintFileSchema","uploadFileSchema","z","object","filePath","string","min","path","startPrint","enum"],"mappings":";;;;;;;;;;;QAMaA;eAAAA;;QAIAC;eAAAA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/validation/printer-files-controller.validation.ts"],"names":["downloadFileSchema","getFileSchema","getFilesSchema","startPrintFileSchema","uploadFileSchema","z","object","filePath","string","min","path","startPrint","enum","recursive","optional","startDir"],"mappings":";;;;;;;;;;;QAMaA;eAAAA;;QAIAC;eAAAA;;QAQAC;eAAAA;;QAhBAC;eAAAA;;QAYAC;eAAAA;;;qBAdK;AAEX,MAAMD,uBAAuBE,MAAC,CAACC,MAAM,CAAC;IAC3CC,UAAUF,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAC3B;AAEO,MAAMT,qBAAqBK,MAAC,CAACC,MAAM,CAAC;IACzCI,MAAML,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AACvB;AAEO,MAAMR,gBAAgBI,MAAC,CAACC,MAAM,CAAC;IACpCI,MAAML,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AACvB;AAEO,MAAML,mBAAmBC,MAAC,CAACC,MAAM,CAAC;IACvCK,YAAYN,MAAC,CAACO,IAAI,CAAC;QAAC;QAAQ;KAAQ;AACtC;AAEO,MAAMV,iBAAiBG,MAAC,CAACC,MAAM,CAAC;IACrCO,WAAWR,MAAC,CAACG,MAAM,GAAGM,QAAQ;IAC9BC,UAAUV,MAAC,CAACG,MAAM,GAAGM,QAAQ;AAC/B"}
|
|
@@ -18,6 +18,9 @@ _export(exports, {
|
|
|
18
18
|
get BadRequestException () {
|
|
19
19
|
return BadRequestException;
|
|
20
20
|
},
|
|
21
|
+
get ConflictException () {
|
|
22
|
+
return ConflictException;
|
|
23
|
+
},
|
|
21
24
|
get ExternalServiceError () {
|
|
22
25
|
return ExternalServiceError;
|
|
23
26
|
},
|
|
@@ -75,6 +78,14 @@ class BadRequestException extends Error {
|
|
|
75
78
|
this.name = BadRequestException.name;
|
|
76
79
|
}
|
|
77
80
|
}
|
|
81
|
+
class ConflictException extends Error {
|
|
82
|
+
existingResourceId;
|
|
83
|
+
constructor(message, existingResourceId){
|
|
84
|
+
super(message);
|
|
85
|
+
this.name = ConflictException.name;
|
|
86
|
+
this.existingResourceId = existingResourceId;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
78
89
|
class NotFoundException extends Error {
|
|
79
90
|
path;
|
|
80
91
|
constructor(message, path){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ExternalServiceError","ForbiddenError","InternalServerException","NotFoundException","NotImplementedException","ValidationException","Error","message","name","reasonCode","error","permissions","roles","reason","path","errors","validationObject","JSON","stringify","serviceType","responseObject","stack"],"mappings":";;;;;;;;;;;QAOaA;eAAAA;;QAiBAC;eAAAA;;QAcAC;eAAAA;;
|
|
1
|
+
{"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ConflictException","ExternalServiceError","ForbiddenError","InternalServerException","NotFoundException","NotImplementedException","ValidationException","Error","message","name","reasonCode","error","permissions","roles","reason","existingResourceId","path","errors","validationObject","JSON","stringify","serviceType","responseObject","stack"],"mappings":";;;;;;;;;;;QAOaA;eAAAA;;QAiBAC;eAAAA;;QAcAC;eAAAA;;QAOAC;eAAAA;;QA8BAC;eAAAA;;QA1DAC;eAAAA;;QAsEAC;eAAAA;;QAhCAC;eAAAA;;QAvDAC;eAAAA;;QAiEAC;eAAAA;;;AAjEN,MAAMD,gCAAgCE;IAC3C,YAAYC,OAAgB,CAAE;QAC5B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGJ,wBAAwBI,IAAI;IAC1C;AACF;AAEO,MAAMZ,4BAA4BU;IACvCG,WAAmB;IAEnB,YAAYC,KAAc,EAAED,aAAa,EAAE,CAAE;QAC3C,KAAK,CAACC;QACN,IAAI,CAACF,IAAI,GAAGZ,oBAAoBY,IAAI;QACpC,IAAI,CAACC,UAAU,GAAGA;IACpB;AACF;AAEO,MAAMR,uBAAuBK;IAClC,YAAYI,KAAc,CAAE;QAC1B,KAAK,CAACA;QACN,IAAI,CAACF,IAAI,GAAGP,eAAeO,IAAI;IACjC;AACF;AAEO,MAAMX,2BAA2BS;IACtCK,cAAyB,EAAE,CAAC;IAC5BC,QAAmB,EAAE,CAAC;IACtBC,OAAgB;IAEhB,YAAY,EAAEF,WAAW,EAAEC,KAAK,EAAEC,MAAM,EAAiE,CAAE;QACzG,KAAK,CAAC;QACN,IAAI,CAACL,IAAI,GAAGX,mBAAmBW,IAAI;QACnC,IAAI,CAACK,MAAM,GAAGA;QACd,IAAI,CAACF,WAAW,GAAGA;QACnB,IAAI,CAACC,KAAK,GAAGA;IACf;AACF;AAEO,MAAMd,4BAA4BQ;IACvC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGV,oBAAoBU,IAAI;IACtC;AACF;AAEO,MAAMT,0BAA0BO;IACrCQ,mBAA4B;IAE5B,YAAYP,OAAe,EAAEO,kBAA2B,CAAE;QACxD,KAAK,CAACP;QACN,IAAI,CAACC,IAAI,GAAGT,kBAAkBS,IAAI;QAClC,IAAI,CAACM,kBAAkB,GAAGA;IAC5B;AACF;AAEO,MAAMX,0BAA0BG;IACrCS,KAAc;IAEd,YAAYR,OAAe,EAAEQ,IAAa,CAAE;QAC1C,KAAK,CAACR;QACN,IAAI,CAACC,IAAI,GAAGL,kBAAkBK,IAAI;QAClC,IAAI,CAACO,IAAI,GAAGA;IACd;AACF;AAEO,MAAMV,4BAAqCC;IAChDU,OAAU;IAEV,YAAYC,gBAAmB,CAAE;QAC/B,KAAK,CAACC,KAAKC,SAAS,CAACF;QACrB,IAAI,CAACT,IAAI,GAAGH,oBAAoBG,IAAI;QACpC,IAAI,CAACQ,MAAM,GAAGC;IAChB;AACF;AAEO,MAAMjB,6BAA6BM;IACxCI,MAAW;IACXU,YAAqB;IAErB,YAAYC,cAAmB,EAAED,WAAoB,CAAE;QACrD,KAAK,CAACF,KAAKC,SAAS,CAACE;QACrB,IAAI,CAACb,IAAI,GAAGR,qBAAqBQ,IAAI;QACrC,IAAI,CAACE,KAAK,GAAGW;QACb,IAAI,CAACD,WAAW,GAAGA;IACrB;AACF;AAEO,MAAMlB,gCAAgCI;IAC3C,YAAYC,OAAe,EAAEe,KAAW,CAAE;QACxC,KAAK,CAACf;QACN,IAAI,CAACC,IAAI,GAAGN,wBAAwBM,IAAI;QACxC,IAAI,CAACc,KAAK,GAAGA;IACf;AACF"}
|
|
@@ -84,6 +84,13 @@ class ExceptionFilter {
|
|
|
84
84
|
});
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
+
if (err instanceof _runtimeexceptions.ConflictException) {
|
|
88
|
+
res.status(409).send({
|
|
89
|
+
error: err.message,
|
|
90
|
+
existingResourceId: err.existingResourceId
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
87
94
|
if (err instanceof _runtimeexceptions.ValidationException) {
|
|
88
95
|
res.status(400).send({
|
|
89
96
|
error: "API could not accept this input",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middleware/exception.filter.ts"],"names":["ExceptionFilter","exceptionFilter","logger","loggerFactory","name","handle","err","_req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","error","message","stack","response","data","url","method","userAgent","headers","errorType","isAxiosError","code","status","send","type","_readableState","AuthenticationError","reasonCode","AuthorizationError","permissions","roles","reason","ForbiddenError","NotFoundException","EntityNotFoundError","BadRequestException","ValidationException","errors","FailedDependencyException","serviceCode","InternalServerException","ExternalServiceError","_err","_res","_next","Error"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/middleware/exception.filter.ts"],"names":["ExceptionFilter","exceptionFilter","logger","loggerFactory","name","handle","err","_req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","error","message","stack","response","data","url","method","userAgent","headers","errorType","isAxiosError","code","status","send","type","_readableState","AuthenticationError","reasonCode","AuthorizationError","permissions","roles","reason","ForbiddenError","NotFoundException","EntityNotFoundError","BadRequestException","ConflictException","existingResourceId","ValidationException","errors","FailedDependencyException","serviceCode","InternalServerException","ExternalServiceError","_err","_res","_next","Error"],"mappings":"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"}
|
package/dist/server.constants.js
CHANGED
|
@@ -32,7 +32,6 @@ const AppConstants = {
|
|
|
32
32
|
".bgcode"
|
|
33
33
|
],
|
|
34
34
|
defaultAcceptedBambuExtensions: [
|
|
35
|
-
".gcode",
|
|
36
35
|
".3mf"
|
|
37
36
|
],
|
|
38
37
|
defaultServerPort: 4000,
|
|
@@ -76,7 +75,7 @@ const AppConstants = {
|
|
|
76
75
|
docsUrl: "https://docs.fdm-monster.net",
|
|
77
76
|
orgName: "fdm-monster",
|
|
78
77
|
currentWizardVersion: 1,
|
|
79
|
-
defaultClientMinimum: "2.3.
|
|
78
|
+
defaultClientMinimum: "2.3.3",
|
|
80
79
|
defaultWebsocketHandshakeTimeout: 3000,
|
|
81
80
|
defaultSocketThrottleRate: 1,
|
|
82
81
|
debugSocketStatesKey: "DEBUG_SOCKET_STATES",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","DATABASE_PATH","defaultDatabasePath","DATABASE_FILE","defaultDatabaseFile","pm2ServiceName","logAppName","MEDIA_PATH","defaultBaseMediaPath","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultPrinterThumbnailsStorage","defaultFileUploadsStorage","defaultPrintFilesStorage","defaultAcceptedGcodeExtensions","defaultAcceptedBambuExtensions","defaultServerPort","apiRoute","enableClientDistAutoUpdateKey","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_USERNAME_MINLEN","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultDevelopmentEnv","ENABLE_COLORED_LOGS_KEY","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","serverRepoName","clientPackageName","clientRepoName","githubUrl","docsUrl","orgName","currentWizardVersion","defaultClientMinimum","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","ENABLE_PROMETHEUS_METRICS","ENABLE_LOKI_LOGGING","LOKI_ADDRESS","LOKI_TIMEOUT_SECONDS","LOKI_INTERVAL","DISABLE_SWAGGER_OPENAPI","GENERATE_SWAGGER_JSON"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,eAAe;IACfC,qBAAqB;IACrBC,eAAe;IACfC,qBAAqB;IAErBC,gBAAgB;IAChBC,YAAY;IAEZC,YAAY;IACZC,sBAAsB;IACtBC,mBAAmB;IACnBC,sBAAsB;IAEtBC,4BAA4B;IAC5BC,gCAAgC;IAChCC,iCAAiC;IACjCC,2BAA2B;IAC3BC,0BAA0B;IAC1BC,gCAAgC;QAAC;QAAU;KAAU;IACrDC,gCAAgC;QAAC;
|
|
1
|
+
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","DATABASE_PATH","defaultDatabasePath","DATABASE_FILE","defaultDatabaseFile","pm2ServiceName","logAppName","MEDIA_PATH","defaultBaseMediaPath","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultPrinterThumbnailsStorage","defaultFileUploadsStorage","defaultPrintFilesStorage","defaultAcceptedGcodeExtensions","defaultAcceptedBambuExtensions","defaultServerPort","apiRoute","enableClientDistAutoUpdateKey","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_USERNAME_MINLEN","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultDevelopmentEnv","ENABLE_COLORED_LOGS_KEY","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","serverRepoName","clientPackageName","clientRepoName","githubUrl","docsUrl","orgName","currentWizardVersion","defaultClientMinimum","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","ENABLE_PROMETHEUS_METRICS","ENABLE_LOKI_LOGGING","LOKI_ADDRESS","LOKI_TIMEOUT_SECONDS","LOKI_INTERVAL","DISABLE_SWAGGER_OPENAPI","GENERATE_SWAGGER_JSON"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,eAAe;IACfC,qBAAqB;IACrBC,eAAe;IACfC,qBAAqB;IAErBC,gBAAgB;IAChBC,YAAY;IAEZC,YAAY;IACZC,sBAAsB;IACtBC,mBAAmB;IACnBC,sBAAsB;IAEtBC,4BAA4B;IAC5BC,gCAAgC;IAChCC,iCAAiC;IACjCC,2BAA2B;IAC3BC,0BAA0B;IAC1BC,gCAAgC;QAAC;QAAU;KAAU;IACrDC,gCAAgC;QAAC;KAAO;IACxCC,mBAAmB;IACnBC,UAAU;IACVC,+BAA+B;IAG/BC,yBAAyB;IAEzBC,+BAA+B;IAE/BC,yBAAyB;IAEzBC,yBAAyB;IAEzBC,qBAAqB;IAErBC,yBAAyB;IACzBC,wBAAwB,KAAK;IAE7BC,gCAAgC,CAAC;IAEjCC,8BAA8B,KAAK,KAAK,KAAK;IAE7CC,qBAAqB;IACrBC,oBAAoB;IAEpBC,uBAAuB;IACvBC,sBAAsB;IAEtBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,oBAAoB;IACpBC,mBAAmB;IAEnBC,uBAAuB;IACvBC,yBAAyB;IACzBC,gBAAgB;IAChBC,sBAAsB;IACtBC,eAAe;QAAC;QAAe;QAAc;KAAO;IACpDC,YAAY;IACZC,mBAAmB;IACnBC,gBAAgB;IAChBC,mBAAmB;IACnBC,gBAAgB;IAChBC,WAAW;IACXC,SAAS;IACTC,SAAS;IAETC,sBAAsB;IACtBC,sBAAsB;IAGtBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,sBAAsB;IACtBC,0BAA0B;IAG1BC,mBAAmB;IAGnBC,sBAAsB;IACtBC,wBACE;IAEFC,2BAA2B;IAC3BC,qBAAqB;IACrBC,cAAc;IACdC,sBAAsB;IACtBC,eAAe;IAGfC,yBAAyB;IACzBC,uBAAuB;AACzB"}
|
|
@@ -137,18 +137,30 @@ class BambuApi {
|
|
|
137
137
|
return {
|
|
138
138
|
path: file.name,
|
|
139
139
|
size: file.size,
|
|
140
|
-
date: file.modifiedAt ? new Date(file.modifiedAt).getTime() : null
|
|
140
|
+
date: file.modifiedAt ? new Date(file.modifiedAt).getTime() : null,
|
|
141
|
+
dir: file.isDirectory
|
|
141
142
|
};
|
|
142
143
|
}
|
|
143
|
-
async getFiles() {
|
|
144
|
-
|
|
144
|
+
async getFiles(recursive = false, startDir = "/") {
|
|
145
|
+
if (recursive) {
|
|
146
|
+
throw new Error("Recursive listing not supported for Bambu Lab printers");
|
|
147
|
+
}
|
|
148
|
+
this.logger.debug(`Listing files from ${startDir}`, this.logMeta());
|
|
145
149
|
await this.ensureFtpConnected();
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
const items = await this.client.ftp.listFiles(startDir);
|
|
151
|
+
const mapped = items.map((item)=>{
|
|
152
|
+
const fullPath = startDir === "/" ? `/${item.name}` : `${startDir}/${item.name}`;
|
|
153
|
+
return {
|
|
154
|
+
path: fullPath,
|
|
155
|
+
size: item.size,
|
|
156
|
+
date: item.modifiedAt ? new Date(item.modifiedAt).getTime() : null,
|
|
157
|
+
dir: item.isDirectory
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
dirs: mapped.filter((i)=>i.dir),
|
|
162
|
+
files: mapped.filter((i)=>!i.dir)
|
|
163
|
+
};
|
|
152
164
|
}
|
|
153
165
|
async downloadFile(path) {
|
|
154
166
|
this.logger.log(`Downloading file via FTP: ${path}`, this.logMeta());
|
|
@@ -156,7 +168,7 @@ class BambuApi {
|
|
|
156
168
|
const { stream, tempPath } = await this.client.ftp.downloadFileAsStream(path);
|
|
157
169
|
const stats = (0, _nodefs.statSync)(tempPath);
|
|
158
170
|
const filename = path.split("/").pop() || "download";
|
|
159
|
-
|
|
171
|
+
return {
|
|
160
172
|
data: stream,
|
|
161
173
|
status: 200,
|
|
162
174
|
statusText: "OK",
|
|
@@ -169,7 +181,6 @@ class BambuApi {
|
|
|
169
181
|
headers: {}
|
|
170
182
|
}
|
|
171
183
|
};
|
|
172
|
-
return response;
|
|
173
184
|
}
|
|
174
185
|
getFileChunk(path, startBytes, endBytes) {
|
|
175
186
|
this.logger.warn("getFileChunk not implemented for Bambu Lab printers");
|
|
@@ -224,7 +235,8 @@ class BambuApi {
|
|
|
224
235
|
file: {
|
|
225
236
|
path: lastFile,
|
|
226
237
|
size: -1,
|
|
227
|
-
date: null
|
|
238
|
+
date: null,
|
|
239
|
+
dir: false
|
|
228
240
|
},
|
|
229
241
|
reprintState: _printerapiinterface.ReprintState.LastPrintReady,
|
|
230
242
|
connectionState: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/bambu.api.ts"],"names":["BambuApi","defaultLog","adapter","logger","client","printerLogin","printerSocketStore","printerId","bambuClient","loggerFactory","name","debug","logMeta","setPrinterId","getMqttAdapter","Error","getPrinterSocket","BambuMqttAdapter","ensureFtpConnected","isConnected","connect","type","BambuType","login","getVersion","response","getApiVersion","version","validateConnection","files","ftp","listFiles","length","ftpError","disconnect","restartServer","warn","restartHost","restartPrinterFirmware","startPrint","path","log","mqttAdapter","pausePrint","resumePrint","cancelPrint","stopPrint","quickStop","sendGcode","script","movePrintHead","amounts","homeAxes","axes","getFile","file","find","f","endsWith","size","date","modifiedAt","Date","getTime","getFiles","
|
|
1
|
+
{"version":3,"sources":["../../src/services/bambu.api.ts"],"names":["BambuApi","defaultLog","adapter","logger","client","printerLogin","printerSocketStore","printerId","bambuClient","loggerFactory","name","debug","logMeta","setPrinterId","getMqttAdapter","Error","getPrinterSocket","BambuMqttAdapter","ensureFtpConnected","isConnected","connect","type","BambuType","login","getVersion","response","getApiVersion","version","validateConnection","files","ftp","listFiles","length","ftpError","disconnect","restartServer","warn","restartHost","restartPrinterFirmware","startPrint","path","log","mqttAdapter","pausePrint","resumePrint","cancelPrint","stopPrint","quickStop","sendGcode","script","movePrintHead","amounts","homeAxes","axes","getFile","file","find","f","endsWith","size","date","modifiedAt","Date","getTime","dir","isDirectory","getFiles","recursive","startDir","items","mapped","map","item","fullPath","dirs","filter","i","downloadFile","stream","tempPath","downloadFileAsStream","stats","statSync","filename","split","pop","data","status","statusText","headers","String","config","getFileChunk","startBytes","endBytes","uploadFile","input","validated","uploadFileInputSchema","parse","fileName","contentLength","uploadToken","error","message","deleteFile","deleteFolder","getSettings","getReprintState","state","getLastState","reprintState","ReprintState","PrinterNotAvailable","connectionState","lastFile","gcode_file","NoLastPrint","LastPrintReady"],"mappings":"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"}
|
|
@@ -97,6 +97,13 @@ class FileStorageService {
|
|
|
97
97
|
const stats = (0, _nodefs.statSync)(filePath);
|
|
98
98
|
return stats.size;
|
|
99
99
|
}
|
|
100
|
+
async validateUniqueFilename(fileName) {
|
|
101
|
+
const existing = await this.findDuplicateByOriginalFileName(fileName);
|
|
102
|
+
if (existing) {
|
|
103
|
+
const { ConflictException } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../exceptions/runtime.exceptions")));
|
|
104
|
+
throw new ConflictException(`A file named "${fileName}" already exists in storage. Please rename the file, delete the existing file (ID: ${existing.fileStorageId}), or choose a different name.`, existing.fileStorageId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
100
107
|
async saveFile(file, fileHash) {
|
|
101
108
|
const fileExt = (0, _nodepath.extname)(file.originalname).toLowerCase();
|
|
102
109
|
let fileId;
|
|
@@ -206,6 +213,28 @@ class FileStorageService {
|
|
|
206
213
|
}
|
|
207
214
|
});
|
|
208
215
|
}
|
|
216
|
+
async findDuplicateByOriginalFileName(originalFileName) {
|
|
217
|
+
for (const subdir of this.STORAGE_SUBDIRS){
|
|
218
|
+
const dirPath = (0, _nodepath.join)(this.storageBasePath, subdir);
|
|
219
|
+
try {
|
|
220
|
+
const dirFiles = await (0, _promises.readdir)(dirPath);
|
|
221
|
+
for (const file of dirFiles){
|
|
222
|
+
if (file.endsWith('_thumbnails') || file.endsWith('.json')) continue;
|
|
223
|
+
const fileId = _nodepath.default.parse(file).name;
|
|
224
|
+
const metadata = await this.loadMetadata(fileId);
|
|
225
|
+
if (metadata?._originalFileName === originalFileName) {
|
|
226
|
+
return {
|
|
227
|
+
fileStorageId: fileId,
|
|
228
|
+
metadata
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
} catch (error) {
|
|
233
|
+
this.logger.error(`Error searching for duplicate in ${subdir}`, error);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
209
238
|
async saveMetadata(fileStorageId, metadata, fileHash, originalFileName, thumbnailMetadata) {
|
|
210
239
|
const filePath = await this.findFilePath(fileStorageId);
|
|
211
240
|
if (!filePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/file-storage.service.ts"],"names":["FileStorageService","printJobRepository","logger","storageBasePath","STORAGE_SUBDIRS","loggerFactory","typeormService","getDataSource","getRepository","PrintJob","name","join","getMediaPath","AppConstants","defaultPrintFilesStorage","ensureStorageDirectories","mkdir","recursive","subdir","error","readFileStream","fileStorageId","filePath","getFilePath","stream","createReadStream","on","err","message","getFileSize","stats","statSync","size","saveFile","file","fileHash","fileExt","extname","originalname","toLowerCase","fileId","nameHash","createHash","update","digest","substring","crypto","randomUUID","includes","targetDir","targetPath","path","rename","buffer","writeFile","Error","log","getFile","findFilePath","readFile","deleteFile","warn","unlink","metadataPath","debug","thumbnailDir","replace","rm","force","ext","fullPath","existsSync","calculateFileHash","fileBuffer","hashSum","getDeterministicId","fileName","dirPath","files","readdir","matchingFile","find","f","startsWith","fileExists","findDuplicateByHash","findOne","where","order","createdAt","saveMetadata","metadata","originalFileName","thumbnailMetadata","existingOriginalFileName","existingThumbnails","existingContent","existing","JSON","parse","_originalFileName","_thumbnails","metadataWithMeta","_fileHash","_analyzedAt","Date","toISOString","_fileStorageId","stringify","thumbnailMeta","length","loadMetadata","content","hasMetadata","access","saveThumbnails","thumbnails","savedThumbnails","i","thumb","data","format","filename","thumbPath","Buffer","from","relativePath","relative","push","index","width","height","getThumbnail","listThumbnails","filter","sort","a","b","localeCompare","listAllFiles","dirFiles","endsWith","stat","_fileName","fileFormat","fileSize","birthtime","thumbnailCount","getTime","getFileInfo","basename"],"mappings":";;;;+BA+BaA;;;eAAAA;;;gCA9BY;iCAGI;yBACA;kEACiB;0BACwC;4BAC3D;wBAC4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBhD,MAAMA;IACXC,mBAAyC;IACxBC,OAAO;IACPC,gBAAwB;IACxBC,kBAAkB;QAAC;QAAS;QAAO;KAAS,CAAU;IAEvE,YAAYC,aAA6B,EAAEC,cAA8B,CAAE;QACzE,IAAI,CAACL,kBAAkB,GAAGK,eAAeC,aAAa,GAAGC,aAAa,CAACC,wBAAQ;QAC/E,IAAI,CAACP,MAAM,GAAGG,cAAcL,mBAAmBU,IAAI;QAEnD,IAAI,CAACP,eAAe,GAAGQ,IAAAA,cAAI,EAACC,IAAAA,qBAAY,KAAIC,6BAAY,CAACC,wBAAwB;IACnF;IAEA,MAAMC,2BAA2B;QAC/B,IAAI;YACF,MAAMC,IAAAA,eAAK,EAAC,IAAI,CAACb,eAAe,EAAE;gBAAEc,WAAW;YAAK;YACpD,KAAK,MAAMC,UAAU,IAAI,CAACd,eAAe,CAAE;gBACzC,MAAMY,IAAAA,eAAK,EAACL,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe,SAAS;oBAAED,WAAW;gBAAK;YACpE;QACF,EAAE,OAAOE,OAAO;YACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,wCAAwCA;QAC5D;IACF;IAEAC,eAAeC,aAAqB,EAAY;QAC9C,MAAMC,WAAW,IAAI,CAACC,WAAW,CAACF;QAClC,MAAMG,SAASC,IAAAA,wBAAgB,EAACH;QAEhCE,OAAOE,EAAE,CAAC,SAASC,CAAAA;YACjB,IAAI,CAACzB,MAAM,CAACiB,KAAK,CACf,CAAC,oBAAoB,EAAEE,cAAc,EAAE,EAAEM,IAAIC,OAAO,EAAE,EACtDD;QAEJ;QAEA,OAAOH;IACT;IAEAK,YAAYR,aAAqB,EAAU;QACzC,MAAMC,WAAW,IAAI,CAACC,WAAW,CAACF;QAClC,MAAMS,QAAQC,IAAAA,gBAAQ,EAACT;QACvB,OAAOQ,MAAME,IAAI;IACnB;IAMA,MAAMC,SAASC,IAAyB,EAAEC,QAAiB,EAAmB;QAC5E,MAAMC,UAAUC,IAAAA,iBAAO,EAACH,KAAKI,YAAY,EAAEC,WAAW;QAGtD,IAAIC;QACJ,IAAIL,UAAU;YAEZ,MAAMM,WAAWC,IAAAA,sBAAU,EAAC,UACzBC,MAAM,CAACR,WAAWD,KAAKI,YAAY,EACnCM,MAAM,CAAC,OACPC,SAAS,CAAC,GAAG;YAChBL,SAAS,GAAGC,SAASI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAEJ,SAASI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,KAAK;QAC/J,OAAO;YAELL,SAASM,OAAOC,UAAU;QAC5B;QAGA,IAAI7B,SAAS;QACb,IAAIkB,YAAY,UAAUF,KAAKI,YAAY,CAACU,QAAQ,CAAC,eAAe;YAClE9B,SAAS;QACX,OAAO,IAAIkB,YAAY,WAAW;YAChClB,SAAS;QACX;QAEA,MAAM+B,YAAYtC,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;QAC7C,MAAMgC,aAAavC,IAAAA,cAAI,EAACsC,WAAW,GAAGT,SAASJ,SAAS;QAGxD,IAAIF,KAAKiB,IAAI,EAAE;YAEb,MAAMC,IAAAA,gBAAM,EAAClB,KAAKiB,IAAI,EAAED;QAC1B,OAAO,IAAIhB,KAAKmB,MAAM,EAAE;YAEtB,MAAMC,IAAAA,mBAAS,EAACJ,YAAYhB,KAAKmB,MAAM;QACzC,OAAO;YACL,MAAM,IAAIE,MAAM;QAClB;QAEA,IAAI,CAACrD,MAAM,CAACsD,GAAG,CAAC,CAAC,WAAW,EAAEtB,KAAKI,YAAY,CAAC,IAAI,EAAEE,QAAQ;QAC9D,OAAOA;IACT;IAKA,MAAMiB,QAAQpC,aAAqB,EAAmB;QACpD,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,MAAM,IAAIiC,MAAM,CAAC,KAAK,EAAElC,cAAc,qBAAqB,CAAC;QAC9D;QAEA,OAAOsC,IAAAA,kBAAQ,EAACrC;IAClB;IAKA,MAAMsC,WAAWvC,aAAqB,EAAiB;QACrD,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAAC2D,IAAI,CAAC,CAAC,KAAK,EAAExC,cAAc,yBAAyB,CAAC;YACjE;QACF;QAGA,MAAMyC,IAAAA,gBAAM,EAACxC;QAGb,MAAMyC,eAAezC,WAAW;QAChC,IAAI;YACF,MAAMwC,IAAAA,gBAAM,EAACC;YACb,IAAI,CAAC7D,MAAM,CAAC8D,KAAK,CAAC,CAAC,0BAA0B,EAAE3C,eAAe;QAChE,EAAE,OAAM,CAER;QAGA,MAAM4C,eAAe3C,SAAS4C,OAAO,CAAC,0BAA0B;QAChE,IAAI;YACF,MAAMC,IAAAA,YAAE,EAACF,cAAc;gBAAEhD,WAAW;gBAAMmD,OAAO;YAAK;YACtD,IAAI,CAAClE,MAAM,CAAC8D,KAAK,CAAC,CAAC,uBAAuB,EAAE3C,eAAe;QAC7D,EAAE,OAAM,CAER;QAEA,IAAI,CAACnB,MAAM,CAACsD,GAAG,CAAC,CAAC,aAAa,EAAEnC,eAAe;IACjD;IAKAE,YAAYF,aAAqB,EAAW;QAK1C,KAAK,MAAMH,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,KAAK,MAAMiE,OAAO;gBAAC;gBAAU;gBAAQ;gBAAW;aAAG,CAAE;gBACnD,MAAMC,WAAW3D,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe,QAAQG,gBAAgBgD;gBACpE,IAAIE,IAAAA,kBAAU,EAACD,WAAW;oBACxB,OAAOA;gBACT;YACF;QACF;QAGA,OAAO3D,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAE,SAASkB;IAC7C;IAKA,MAAMmD,kBAAkBlD,QAAgB,EAAmB;QACzD,MAAMmD,aAAa,MAAMd,IAAAA,kBAAQ,EAACrC;QAClC,MAAMoD,UAAUhC,IAAAA,sBAAU,EAAC;QAC3BgC,QAAQ/B,MAAM,CAAC8B;QACf,OAAOC,QAAQ9B,MAAM,CAAC;IACxB;IAMA+B,mBAAmBxC,QAAgB,EAAEyC,QAAgB,EAAU;QAC7D,MAAMnC,WAAWC,IAAAA,sBAAU,EAAC,UACzBC,MAAM,CAACR,WAAWyC,UAClBhC,MAAM,CAAC,OACPC,SAAS,CAAC,GAAG;QAChB,OAAO,GAAGJ,SAASI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAEJ,SAASI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,KAAK;IAC7J;IAKA,MAAca,aAAarC,aAAqB,EAA0B;QACxE,KAAK,MAAMH,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,MAAMyE,UAAUlE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;YAC3C,IAAI;gBACF,MAAM4D,QAAQ,MAAMC,IAAAA,iBAAO,EAACF;gBAC5B,MAAMG,eAAeF,MAAMG,IAAI,CAACC,CAAAA,IAAKA,EAAEC,UAAU,CAAC9D;gBAClD,IAAI2D,cAAc;oBAChB,OAAOrE,IAAAA,cAAI,EAACkE,SAASG;gBACvB;YACF,EAAE,OAAM,CAER;QACF;QAEA,OAAO;IACT;IAKA,MAAMI,WAAW/D,aAAqB,EAAoB;QACxD,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,OAAOC,aAAa;IACtB;IAKA,MAAM+D,oBAAoBlD,QAAgB,EAA4B;QACpE,OAAO,IAAI,CAAClC,kBAAkB,CAACqF,OAAO,CAAC;YACrCC,OAAO;gBAAEpD;YAAS;YAClBqD,OAAO;gBAAEC,WAAW;YAAO;QAC7B;IACF;IAMA,MAAMC,aAAarE,aAAqB,EAAEsE,QAAa,EAAExD,QAAiB,EAAEyD,gBAAyB,EAAEC,iBAAyB,EAAiB;QAC/I,MAAMvE,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAAC2D,IAAI,CAAC,CAAC,4BAA4B,EAAExC,cAAc,UAAU,CAAC;YACzE;QACF;QAEA,MAAM0C,eAAezC,WAAW;QAGhC,IAAIwE,2BAA2BF;QAC/B,IAAIG,qBAAqBF;QACzB,IAAI;YACF,MAAMG,kBAAkB,MAAMrC,IAAAA,kBAAQ,EAACI,cAAc;YACrD,MAAMkC,WAAWC,KAAKC,KAAK,CAACH;YAE5B,IAAIC,SAASG,iBAAiB,IAAI,CAACR,kBAAkB;gBACnDE,2BAA2BG,SAASG,iBAAiB;YACvD;YAEA,IAAIH,SAASI,WAAW,IAAI,CAACR,mBAAmB;gBAC9CE,qBAAqBE,SAASI,WAAW;YAC3C;QACF,EAAE,OAAM,CAER;QAEA,MAAMC,mBAAmB;YACvB,GAAGX,QAAQ;YACXY,WAAWpE,YAAY;YACvBqE,aAAa,IAAIC,OAAOC,WAAW;YACnCC,gBAAgBtF;YAChB+E,mBAAmBN,4BAA4BH,SAASf,QAAQ,IAAI;YACpEyB,aAAaN,sBAAsB,EAAE;QACvC;QAEA,MAAMzC,IAAAA,mBAAS,EAACS,cAAcmC,KAAKU,SAAS,CAACN,kBAAkB,MAAM,IAAI;QACzE,MAAMO,gBAAgBhB,oBAAoB,CAAC,MAAM,EAAEA,kBAAkBiB,MAAM,CAAC,aAAa,CAAC,GAAG;QAC7F,IAAI,CAAC5G,MAAM,CAAC8D,KAAK,CAAC,CAAC,mBAAmB,EAAE3C,gBAAgBwF,eAAe;IACzE;IAKA,MAAME,aAAa1F,aAAqB,EAAuB;QAC7D,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,OAAO;QACT;QAEA,MAAMyC,eAAezC,WAAW;QAChC,IAAI;YACF,MAAM0F,UAAU,MAAMrD,IAAAA,kBAAQ,EAACI,cAAc;YAC7C,OAAOmC,KAAKC,KAAK,CAACa;QACpB,EAAE,OAAO7F,OAAO;YAEd,OAAO;QACT;IACF;IAKA,MAAM8F,YAAY5F,aAAqB,EAAoB;QACzD,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,OAAO;QACT;QAEA,MAAMyC,eAAezC,WAAW;QAChC,IAAI;YACF,MAAM4F,IAAAA,gBAAM,EAACnD;YACb,OAAO;QACT,EAAE,OAAM;YACN,OAAO;QACT;IACF;IAOA,MAAMoD,eAAe9F,aAAqB,EAAE+F,UAAoF,EAQ5H;QACF,MAAMC,kBAA8B,EAAE;QAEtC,IAAI,CAACD,cAAcA,WAAWN,MAAM,KAAK,GAAG;YAC1C,OAAOO;QACT;QAEA,MAAM/F,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAAC2D,IAAI,CAAC,CAAC,8BAA8B,EAAExC,cAAc,UAAU,CAAC;YAC3E,OAAOgG;QACT;QAEA,MAAMpD,eAAe3C,SAAS4C,OAAO,CAAC,0BAA0B;QAGhE,IAAI;YACF,MAAMC,IAAAA,YAAE,EAACF,cAAc;gBAAEhD,WAAW;gBAAMmD,OAAO;YAAK;YACtD,IAAI,CAAClE,MAAM,CAAC8D,KAAK,CAAC,CAAC,2BAA2B,EAAE3C,eAAe;QACjE,EAAE,OAAM,CAER;QAGA,MAAML,IAAAA,eAAK,EAACiD,cAAc;YAAEhD,WAAW;QAAK;QAE5C,IAAK,IAAIqG,IAAI,GAAGA,IAAIF,WAAWN,MAAM,EAAEQ,IAAK;YAC1C,MAAMC,QAAQH,UAAU,CAACE,EAAE;YAC3B,IAAI,CAACC,MAAMC,IAAI,EAAE;YAEjB,MAAMnD,MAAMkD,MAAME,MAAM,EAAElF,iBAAiB;YAC3C,MAAMmF,WAAW,CAAC,MAAM,EAAEJ,EAAE,CAAC,EAAEjD,KAAK;YACpC,MAAMsD,YAAYhH,IAAAA,cAAI,EAACsD,cAAcyD;YAErC,IAAI;gBACF,MAAMrE,SAASuE,OAAOC,IAAI,CAACN,MAAMC,IAAI,EAAE;gBACvC,MAAMlE,IAAAA,mBAAS,EAACqE,WAAWtE;gBAE3B,MAAMyE,eAAe3E,iBAAI,CAAC4E,QAAQ,CAAC,IAAI,CAAC5H,eAAe,EAAEwH;gBAEzDN,gBAAgBW,IAAI,CAAC;oBACnBC,OAAOX;oBACPnE,MAAM2E;oBACNJ;oBACAQ,OAAOX,MAAMW,KAAK,IAAI;oBACtBC,QAAQZ,MAAMY,MAAM,IAAI;oBACxBV,QAAQpD;oBACRrC,MAAMqB,OAAOyD,MAAM;gBACrB;gBAEA,IAAI,CAAC5G,MAAM,CAAC8D,KAAK,CAAC,CAAC,gBAAgB,EAAEsD,EAAE,KAAK,EAAEjG,cAAc,EAAE,EAAEkG,MAAMW,KAAK,CAAC,CAAC,EAAEX,MAAMY,MAAM,CAAC,EAAE,EAAE9E,OAAOyD,MAAM,CAAC,OAAO,CAAC;YACxH,EAAE,OAAO3F,OAAO;gBACd,IAAI,CAACjB,MAAM,CAAC2D,IAAI,CAAC,CAAC,yBAAyB,EAAEyD,EAAE,KAAK,EAAEjG,cAAc,EAAE,EAAEF,OAAO;YACjF;QACF;QAEA,OAAOkG;IACT;IAKA,MAAMe,aAAa/G,aAAqB,EAAE4G,KAAa,EAA0B;QAC/E,MAAM3G,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU,OAAO;QAEtB,MAAM2C,eAAe3C,SAAS4C,OAAO,CAAC,0BAA0B;QAGhE,KAAK,MAAMG,OAAO;YAAC;YAAO;YAAO;YAAQ;SAAM,CAAE;YAC/C,MAAMsD,YAAYhH,IAAAA,cAAI,EAACsD,cAAc,CAAC,MAAM,EAAEgE,MAAM,CAAC,EAAE5D,KAAK;YAC5D,IAAI;gBACF,OAAO,MAAMV,IAAAA,kBAAQ,EAACgE;YACxB,EAAE,OAAM,CAER;QACF;QAEA,OAAO;IACT;IAKA,MAAMU,eAAehH,aAAqB,EAAqB;QAC7D,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU,OAAO,EAAE;QAExB,MAAM2C,eAAe3C,SAAS4C,OAAO,CAAC,0BAA0B;QAEhE,IAAI;YACF,MAAMY,QAAQ,MAAMC,IAAAA,iBAAO,EAACd;YAC5B,OAAOa,MAAMwD,MAAM,CAACpD,CAAAA,IAAKA,EAAEC,UAAU,CAAC,WAAWoD,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEE,aAAa,CAACD;QAClF,EAAE,OAAM;YACN,OAAO,EAAE;QACX;IACF;IAKA,MAAME,eASF;QACF,MAAM7D,QAAe,EAAE;QAEvB,KAAK,MAAM5D,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,MAAMyE,UAAUlE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;YAC3C,IAAI;gBACF,MAAM0H,WAAW,MAAM7D,IAAAA,iBAAO,EAACF;gBAE/B,KAAK,MAAM3C,QAAQ0G,SAAU;oBAE3B,IAAI1G,KAAK2G,QAAQ,CAAC,kBAAkB3G,KAAK2G,QAAQ,CAAC,UAAU;oBAE5D,MAAMrG,SAASW,iBAAI,CAACgD,KAAK,CAACjE,MAAMxB,IAAI;oBACpC,MAAMY,WAAWX,IAAAA,cAAI,EAACkE,SAAS3C;oBAC/B,MAAMJ,QAAQ,MAAMgH,IAAAA,cAAI,EAACxH;oBAGzB,MAAMqE,WAAW,MAAM,IAAI,CAACoB,YAAY,CAACvE;oBAGzC,MAAM4E,aAAa,MAAM,IAAI,CAACiB,cAAc,CAAC7F;oBAE7CsC,MAAMkD,IAAI,CAAC;wBACT3G,eAAemB;wBACfoC,UAAUe,UAAUoD,aAAa7G;wBACjC8G,YAAY9H;wBACZ+H,UAAUnH,MAAME,IAAI;wBACpBG,UAAUwD,UAAUY,aAAa;wBACjCd,WAAW3D,MAAMoH,SAAS;wBAC1BC,gBAAgB/B,WAAWN,MAAM;wBACjCnB,UAAUA;oBACZ;gBACF;YACF,EAAE,OAAOxE,OAAO;gBACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,CAAC,uBAAuB,EAAED,QAAQ,EAAEC;YACxD;QACF;QAGA,OAAO2D,MAAMyD,IAAI,CAAC,CAACC,GAAGC,IAAMA,EAAEhD,SAAS,CAAC2D,OAAO,KAAKZ,EAAE/C,SAAS,CAAC2D,OAAO;IACzE;IAKA,MAAMC,YAAYhI,aAAqB,EAS7B;QACR,MAAMC,WAAW,MAAM,IAAI,CAACoC,YAAY,CAACrC;QACzC,IAAI,CAACC,UAAU,OAAO;QAEtB,IAAI;YACF,MAAMQ,QAAQ,MAAMgH,IAAAA,cAAI,EAACxH;YACzB,MAAMqE,WAAW,MAAM,IAAI,CAACoB,YAAY,CAAC1F;YACzC,MAAM+F,aAAa,MAAM,IAAI,CAACiB,cAAc,CAAChH;YAC7C,MAAMgD,MAAMhC,IAAAA,iBAAO,EAACf,UAAUuB,SAAS,CAAC;YAExC,OAAO;gBACLxB;gBACAuD,UAAUe,UAAUS,qBAAqBkD,IAAAA,kBAAQ,EAAChI;gBAClD0H,YAAY3E;gBACZ4E,UAAUnH,MAAME,IAAI;gBACpBG,UAAUwD,UAAUY,aAAa;gBACjCd,WAAW3D,MAAMoH,SAAS;gBAC1BC,gBAAgB/B,WAAWN,MAAM;gBACjCnB,UAAUA;YACZ;QACF,EAAE,OAAOxE,OAAO;YACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,CAAC,4BAA4B,EAAEE,eAAe,EAAEF;YAClE,OAAO;QACT;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/services/file-storage.service.ts"],"names":["FileStorageService","printJobRepository","logger","storageBasePath","STORAGE_SUBDIRS","loggerFactory","typeormService","getDataSource","getRepository","PrintJob","name","join","getMediaPath","AppConstants","defaultPrintFilesStorage","ensureStorageDirectories","mkdir","recursive","subdir","error","readFileStream","fileStorageId","filePath","getFilePath","stream","createReadStream","on","err","message","getFileSize","stats","statSync","size","validateUniqueFilename","fileName","existing","findDuplicateByOriginalFileName","ConflictException","saveFile","file","fileHash","fileExt","extname","originalname","toLowerCase","fileId","nameHash","createHash","update","digest","substring","crypto","randomUUID","includes","targetDir","targetPath","path","rename","buffer","writeFile","Error","log","getFile","findFilePath","readFile","deleteFile","warn","unlink","metadataPath","debug","thumbnailDir","replace","rm","force","ext","fullPath","existsSync","calculateFileHash","fileBuffer","hashSum","getDeterministicId","dirPath","files","readdir","matchingFile","find","f","startsWith","fileExists","findDuplicateByHash","findOne","where","order","createdAt","originalFileName","dirFiles","endsWith","parse","metadata","loadMetadata","_originalFileName","saveMetadata","thumbnailMetadata","existingOriginalFileName","existingThumbnails","existingContent","JSON","_thumbnails","metadataWithMeta","_fileHash","_analyzedAt","Date","toISOString","_fileStorageId","stringify","thumbnailMeta","length","content","hasMetadata","access","saveThumbnails","thumbnails","savedThumbnails","i","thumb","data","format","filename","thumbPath","Buffer","from","relativePath","relative","push","index","width","height","getThumbnail","listThumbnails","filter","sort","a","b","localeCompare","listAllFiles","stat","_fileName","fileFormat","fileSize","birthtime","thumbnailCount","getTime","getFileInfo","basename"],"mappings":";;;;+BA8BaA;;;eAAAA;;;gCA7BY;iCAGI;yBACA;kEACiB;0BACwC;4BAC3D;wBAC4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBhD,MAAMA;IACXC,mBAAyC;IACxBC,OAAO;IACPC,gBAAwB;IACxBC,kBAAkB;QAAC;QAAS;QAAO;KAAS,CAAU;IAEvE,YAAYC,aAA6B,EAAEC,cAA8B,CAAE;QACzE,IAAI,CAACL,kBAAkB,GAAGK,eAAeC,aAAa,GAAGC,aAAa,CAACC,wBAAQ;QAC/E,IAAI,CAACP,MAAM,GAAGG,cAAcL,mBAAmBU,IAAI;QAEnD,IAAI,CAACP,eAAe,GAAGQ,IAAAA,cAAI,EAACC,IAAAA,qBAAY,KAAIC,6BAAY,CAACC,wBAAwB;IACnF;IAEA,MAAMC,2BAA2B;QAC/B,IAAI;YACF,MAAMC,IAAAA,eAAK,EAAC,IAAI,CAACb,eAAe,EAAE;gBAAEc,WAAW;YAAK;YACpD,KAAK,MAAMC,UAAU,IAAI,CAACd,eAAe,CAAE;gBACzC,MAAMY,IAAAA,eAAK,EAACL,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe,SAAS;oBAAED,WAAW;gBAAK;YACpE;QACF,EAAE,OAAOE,OAAO;YACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,wCAAwCA;QAC5D;IACF;IAEAC,eAAeC,aAAqB,EAAY;QAC9C,MAAMC,WAAW,IAAI,CAACC,WAAW,CAACF;QAClC,MAAMG,SAASC,IAAAA,wBAAgB,EAACH;QAEhCE,OAAOE,EAAE,CAAC,SAASC,CAAAA;YACjB,IAAI,CAACzB,MAAM,CAACiB,KAAK,CACf,CAAC,oBAAoB,EAAEE,cAAc,EAAE,EAAEM,IAAIC,OAAO,EAAE,EACtDD;QAEJ;QAEA,OAAOH;IACT;IAEAK,YAAYR,aAAqB,EAAU;QACzC,MAAMC,WAAW,IAAI,CAACC,WAAW,CAACF;QAClC,MAAMS,QAAQC,IAAAA,gBAAQ,EAACT;QACvB,OAAOQ,MAAME,IAAI;IACnB;IAEA,MAAMC,uBAAuBC,QAAgB,EAAiB;QAC5D,MAAMC,WAAW,MAAM,IAAI,CAACC,+BAA+B,CAACF;QAC5D,IAAIC,UAAU;YACZ,MAAM,EAAEE,iBAAiB,EAAE,GAAG,MAAM,mEAAA,QAAO;YAC3C,MAAM,IAAIA,kBACR,CAAC,cAAc,EAAEH,SAAS,mFAAmF,EAAEC,SAASd,aAAa,CAAC,8BAA8B,CAAC,EACrKc,SAASd,aAAa;QAE1B;IACF;IAEA,MAAMiB,SAASC,IAAyB,EAAEC,QAAiB,EAAmB;QAC5E,MAAMC,UAAUC,IAAAA,iBAAO,EAACH,KAAKI,YAAY,EAAEC,WAAW;QAEtD,IAAIC;QACJ,IAAIL,UAAU;YACZ,MAAMM,WAAWC,IAAAA,sBAAU,EAAC,UACzBC,MAAM,CAACR,WAAWD,KAAKI,YAAY,EACnCM,MAAM,CAAC,OACPC,SAAS,CAAC,GAAG;YAChBL,SAAS,GAAGC,SAASI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAEJ,SAASI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,KAAK;QAC/J,OAAO;YACLL,SAASM,OAAOC,UAAU;QAC5B;QAEA,IAAIlC,SAAS;QACb,IAAIuB,YAAY,UAAUF,KAAKI,YAAY,CAACU,QAAQ,CAAC,eAAe;YAClEnC,SAAS;QACX,OAAO,IAAIuB,YAAY,WAAW;YAChCvB,SAAS;QACX;QAEA,MAAMoC,YAAY3C,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;QAC7C,MAAMqC,aAAa5C,IAAAA,cAAI,EAAC2C,WAAW,GAAGT,SAASJ,SAAS;QAExD,IAAIF,KAAKiB,IAAI,EAAE;YACb,MAAMC,IAAAA,gBAAM,EAAClB,KAAKiB,IAAI,EAAED;QAC1B,OAAO,IAAIhB,KAAKmB,MAAM,EAAE;YACtB,MAAMC,IAAAA,mBAAS,EAACJ,YAAYhB,KAAKmB,MAAM;QACzC,OAAO;YACL,MAAM,IAAIE,MAAM;QAClB;QAEA,IAAI,CAAC1D,MAAM,CAAC2D,GAAG,CAAC,CAAC,WAAW,EAAEtB,KAAKI,YAAY,CAAC,IAAI,EAAEE,QAAQ;QAC9D,OAAOA;IACT;IAEA,MAAMiB,QAAQzC,aAAqB,EAAmB;QACpD,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,MAAM,IAAIsC,MAAM,CAAC,KAAK,EAAEvC,cAAc,qBAAqB,CAAC;QAC9D;QAEA,OAAO2C,IAAAA,kBAAQ,EAAC1C;IAClB;IAEA,MAAM2C,WAAW5C,aAAqB,EAAiB;QACrD,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAACgE,IAAI,CAAC,CAAC,KAAK,EAAE7C,cAAc,yBAAyB,CAAC;YACjE;QACF;QAEA,MAAM8C,IAAAA,gBAAM,EAAC7C;QAEb,MAAM8C,eAAe9C,WAAW;QAChC,IAAI;YACF,MAAM6C,IAAAA,gBAAM,EAACC;YACb,IAAI,CAAClE,MAAM,CAACmE,KAAK,CAAC,CAAC,0BAA0B,EAAEhD,eAAe;QAChE,EAAE,OAAM,CACR;QAEA,MAAMiD,eAAehD,SAASiD,OAAO,CAAC,0BAA0B;QAChE,IAAI;YACF,MAAMC,IAAAA,YAAE,EAACF,cAAc;gBAAErD,WAAW;gBAAMwD,OAAO;YAAK;YACtD,IAAI,CAACvE,MAAM,CAACmE,KAAK,CAAC,CAAC,uBAAuB,EAAEhD,eAAe;QAC7D,EAAE,OAAM,CACR;QAEA,IAAI,CAACnB,MAAM,CAAC2D,GAAG,CAAC,CAAC,aAAa,EAAExC,eAAe;IACjD;IAEAE,YAAYF,aAAqB,EAAW;QAC1C,KAAK,MAAMH,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,KAAK,MAAMsE,OAAO;gBAAC;gBAAU;gBAAQ;gBAAW;aAAG,CAAE;gBACnD,MAAMC,WAAWhE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe,QAAQG,gBAAgBqD;gBACpE,IAAIE,IAAAA,kBAAU,EAACD,WAAW;oBACxB,OAAOA;gBACT;YACF;QACF;QAEA,OAAOhE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAE,SAASkB;IAC7C;IAEA,MAAMwD,kBAAkBvD,QAAgB,EAAmB;QACzD,MAAMwD,aAAa,MAAMd,IAAAA,kBAAQ,EAAC1C;QAClC,MAAMyD,UAAUhC,IAAAA,sBAAU,EAAC;QAC3BgC,QAAQ/B,MAAM,CAAC8B;QACf,OAAOC,QAAQ9B,MAAM,CAAC;IACxB;IAEA+B,mBAAmBxC,QAAgB,EAAEN,QAAgB,EAAU;QAC7D,MAAMY,WAAWC,IAAAA,sBAAU,EAAC,UACzBC,MAAM,CAACR,WAAWN,UAClBe,MAAM,CAAC,OACPC,SAAS,CAAC,GAAG;QAChB,OAAO,GAAGJ,SAASI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAEJ,SAASI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAEJ,SAASI,SAAS,CAAC,IAAI,KAAK;IAC7J;IAEA,MAAca,aAAa1C,aAAqB,EAA0B;QACxE,KAAK,MAAMH,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,MAAM6E,UAAUtE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;YAC3C,IAAI;gBACF,MAAMgE,QAAQ,MAAMC,IAAAA,iBAAO,EAACF;gBAC5B,MAAMG,eAAeF,MAAMG,IAAI,CAACC,CAAAA,IAAKA,EAAEC,UAAU,CAAClE;gBAClD,IAAI+D,cAAc;oBAChB,OAAOzE,IAAAA,cAAI,EAACsE,SAASG;gBACvB;YACF,EAAE,OAAM,CACR;QACF;QAEA,OAAO;IACT;IAEA,MAAMI,WAAWnE,aAAqB,EAAoB;QACxD,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,OAAOC,aAAa;IACtB;IAEA,MAAMmE,oBAAoBjD,QAAgB,EAA4B;QACpE,OAAO,IAAI,CAACvC,kBAAkB,CAACyF,OAAO,CAAC;YACrCC,OAAO;gBAAEnD;YAAS;YAClBoD,OAAO;gBAAEC,WAAW;YAAO;QAC7B;IACF;IAEA,MAAMzD,gCAAgC0D,gBAAwB,EAGpD;QACR,KAAK,MAAM5E,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,MAAM6E,UAAUtE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;YAC3C,IAAI;gBACF,MAAM6E,WAAW,MAAMZ,IAAAA,iBAAO,EAACF;gBAE/B,KAAK,MAAM1C,QAAQwD,SAAU;oBAC3B,IAAIxD,KAAKyD,QAAQ,CAAC,kBAAkBzD,KAAKyD,QAAQ,CAAC,UAAU;oBAE5D,MAAMnD,SAASW,iBAAI,CAACyC,KAAK,CAAC1D,MAAM7B,IAAI;oBACpC,MAAMwF,WAAW,MAAM,IAAI,CAACC,YAAY,CAACtD;oBAEzC,IAAIqD,UAAUE,sBAAsBN,kBAAkB;wBACpD,OAAO;4BACLzE,eAAewB;4BACfqD;wBACF;oBACF;gBACF;YACF,EAAE,OAAO/E,OAAO;gBACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,CAAC,iCAAiC,EAAED,QAAQ,EAAEC;YAClE;QACF;QAEA,OAAO;IACT;IAEA,MAAMkF,aAAahF,aAAqB,EAAE6E,QAAa,EAAE1D,QAAiB,EAAEsD,gBAAyB,EAAEQ,iBAAyB,EAAiB;QAC/I,MAAMhF,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAACgE,IAAI,CAAC,CAAC,4BAA4B,EAAE7C,cAAc,UAAU,CAAC;YACzE;QACF;QAEA,MAAM+C,eAAe9C,WAAW;QAEhC,IAAIiF,2BAA2BT;QAC/B,IAAIU,qBAAqBF;QACzB,IAAI;YACF,MAAMG,kBAAkB,MAAMzC,IAAAA,kBAAQ,EAACI,cAAc;YACrD,MAAMjC,WAAWuE,KAAKT,KAAK,CAACQ;YAC5B,IAAItE,SAASiE,iBAAiB,IAAI,CAACN,kBAAkB;gBACnDS,2BAA2BpE,SAASiE,iBAAiB;YACvD;YACA,IAAIjE,SAASwE,WAAW,IAAI,CAACL,mBAAmB;gBAC9CE,qBAAqBrE,SAASwE,WAAW;YAC3C;QACF,EAAE,OAAM,CACR;QAEA,MAAMC,mBAAmB;YACvB,GAAGV,QAAQ;YACXW,WAAWrE,YAAY;YACvBsE,aAAa,IAAIC,OAAOC,WAAW;YACnCC,gBAAgB5F;YAChB+E,mBAAmBG,4BAA4BL,SAAShE,QAAQ,IAAI;YACpEyE,aAAaH,sBAAsB,EAAE;QACvC;QAEA,MAAM7C,IAAAA,mBAAS,EAACS,cAAcsC,KAAKQ,SAAS,CAACN,kBAAkB,MAAM,IAAI;QACzE,MAAMO,gBAAgBb,oBAAoB,CAAC,MAAM,EAAEA,kBAAkBc,MAAM,CAAC,aAAa,CAAC,GAAG;QAC7F,IAAI,CAAClH,MAAM,CAACmE,KAAK,CAAC,CAAC,mBAAmB,EAAEhD,gBAAgB8F,eAAe;IACzE;IAEA,MAAMhB,aAAa9E,aAAqB,EAAuB;QAC7D,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,OAAO;QACT;QAEA,MAAM8C,eAAe9C,WAAW;QAChC,IAAI;YACF,MAAM+F,UAAU,MAAMrD,IAAAA,kBAAQ,EAACI,cAAc;YAC7C,OAAOsC,KAAKT,KAAK,CAACoB;QACpB,EAAE,OAAOlG,OAAO;YACd,OAAO;QACT;IACF;IAEA,MAAMmG,YAAYjG,aAAqB,EAAoB;QACzD,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,OAAO;QACT;QAEA,MAAM8C,eAAe9C,WAAW;QAChC,IAAI;YACF,MAAMiG,IAAAA,gBAAM,EAACnD;YACb,OAAO;QACT,EAAE,OAAM;YACN,OAAO;QACT;IACF;IAEA,MAAMoD,eAAenG,aAAqB,EAAEoG,UAAoF,EAQ5H;QACF,MAAMC,kBAA8B,EAAE;QAEtC,IAAI,CAACD,cAAcA,WAAWL,MAAM,KAAK,GAAG;YAC1C,OAAOM;QACT;QAEA,MAAMpG,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU;YACb,IAAI,CAACpB,MAAM,CAACgE,IAAI,CAAC,CAAC,8BAA8B,EAAE7C,cAAc,UAAU,CAAC;YAC3E,OAAOqG;QACT;QAEA,MAAMpD,eAAehD,SAASiD,OAAO,CAAC,0BAA0B;QAEhE,IAAI;YACF,MAAMC,IAAAA,YAAE,EAACF,cAAc;gBAAErD,WAAW;gBAAMwD,OAAO;YAAK;YACtD,IAAI,CAACvE,MAAM,CAACmE,KAAK,CAAC,CAAC,2BAA2B,EAAEhD,eAAe;QACjE,EAAE,OAAM,CACR;QAEA,MAAML,IAAAA,eAAK,EAACsD,cAAc;YAAErD,WAAW;QAAK;QAE5C,IAAK,IAAI0G,IAAI,GAAGA,IAAIF,WAAWL,MAAM,EAAEO,IAAK;YAC1C,MAAMC,QAAQH,UAAU,CAACE,EAAE;YAC3B,IAAI,CAACC,MAAMC,IAAI,EAAE;YAEjB,MAAMnD,MAAMkD,MAAME,MAAM,EAAElF,iBAAiB;YAC3C,MAAMmF,WAAW,CAAC,MAAM,EAAEJ,EAAE,CAAC,EAAEjD,KAAK;YACpC,MAAMsD,YAAYrH,IAAAA,cAAI,EAAC2D,cAAcyD;YAErC,IAAI;gBACF,MAAMrE,SAASuE,OAAOC,IAAI,CAACN,MAAMC,IAAI,EAAE;gBACvC,MAAMlE,IAAAA,mBAAS,EAACqE,WAAWtE;gBAE3B,MAAMyE,eAAe3E,iBAAI,CAAC4E,QAAQ,CAAC,IAAI,CAACjI,eAAe,EAAE6H;gBAEzDN,gBAAgBW,IAAI,CAAC;oBACnBC,OAAOX;oBACPnE,MAAM2E;oBACNJ;oBACAQ,OAAOX,MAAMW,KAAK,IAAI;oBACtBC,QAAQZ,MAAMY,MAAM,IAAI;oBACxBV,QAAQpD;oBACR1C,MAAM0B,OAAO0D,MAAM;gBACrB;gBAEA,IAAI,CAAClH,MAAM,CAACmE,KAAK,CAAC,CAAC,gBAAgB,EAAEsD,EAAE,KAAK,EAAEtG,cAAc,EAAE,EAAEuG,MAAMW,KAAK,CAAC,CAAC,EAAEX,MAAMY,MAAM,CAAC,EAAE,EAAE9E,OAAO0D,MAAM,CAAC,OAAO,CAAC;YACxH,EAAE,OAAOjG,OAAO;gBACd,IAAI,CAACjB,MAAM,CAACgE,IAAI,CAAC,CAAC,yBAAyB,EAAEyD,EAAE,KAAK,EAAEtG,cAAc,EAAE,EAAEF,OAAO;YACjF;QACF;QAEA,OAAOuG;IACT;IAEA,MAAMe,aAAapH,aAAqB,EAAEiH,KAAa,EAA0B;QAC/E,MAAMhH,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU,OAAO;QAEtB,MAAMgD,eAAehD,SAASiD,OAAO,CAAC,0BAA0B;QAEhE,KAAK,MAAMG,OAAO;YAAC;YAAO;YAAO;YAAQ;SAAM,CAAE;YAC/C,MAAMsD,YAAYrH,IAAAA,cAAI,EAAC2D,cAAc,CAAC,MAAM,EAAEgE,MAAM,CAAC,EAAE5D,KAAK;YAC5D,IAAI;gBACF,OAAO,MAAMV,IAAAA,kBAAQ,EAACgE;YACxB,EAAE,OAAM,CACR;QACF;QAEA,OAAO;IACT;IAEA,MAAMU,eAAerH,aAAqB,EAAqB;QAC7D,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU,OAAO,EAAE;QAExB,MAAMgD,eAAehD,SAASiD,OAAO,CAAC,0BAA0B;QAEhE,IAAI;YACF,MAAMW,QAAQ,MAAMC,IAAAA,iBAAO,EAACb;YAC5B,OAAOY,MAAMyD,MAAM,CAACrD,CAAAA,IAAKA,EAAEC,UAAU,CAAC,WAAWqD,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEE,aAAa,CAACD;QAClF,EAAE,OAAM;YACN,OAAO,EAAE;QACX;IACF;IAEA,MAAME,eASF;QACF,MAAM9D,QAAe,EAAE;QAEvB,KAAK,MAAMhE,UAAU,IAAI,CAACd,eAAe,CAAE;YACzC,MAAM6E,UAAUtE,IAAAA,cAAI,EAAC,IAAI,CAACR,eAAe,EAAEe;YAC3C,IAAI;gBACF,MAAM6E,WAAW,MAAMZ,IAAAA,iBAAO,EAACF;gBAE/B,KAAK,MAAM1C,QAAQwD,SAAU;oBAC3B,IAAIxD,KAAKyD,QAAQ,CAAC,kBAAkBzD,KAAKyD,QAAQ,CAAC,UAAU;oBAE5D,MAAMnD,SAASW,iBAAI,CAACyC,KAAK,CAAC1D,MAAM7B,IAAI;oBACpC,MAAMY,WAAWX,IAAAA,cAAI,EAACsE,SAAS1C;oBAC/B,MAAMT,QAAQ,MAAMmH,IAAAA,cAAI,EAAC3H;oBAEzB,MAAM4E,WAAW,MAAM,IAAI,CAACC,YAAY,CAACtD;oBAEzC,MAAM4E,aAAa,MAAM,IAAI,CAACiB,cAAc,CAAC7F;oBAE7CqC,MAAMmD,IAAI,CAAC;wBACThH,eAAewB;wBACfX,UAAUgE,UAAUgD,aAAa3G;wBACjC4G,YAAYjI;wBACZkI,UAAUtH,MAAME,IAAI;wBACpBQ,UAAU0D,UAAUW,aAAa;wBACjChB,WAAW/D,MAAMuH,SAAS;wBAC1BC,gBAAgB7B,WAAWL,MAAM;wBACjClB,UAAUA;oBACZ;gBACF;YACF,EAAE,OAAO/E,OAAO;gBACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,CAAC,uBAAuB,EAAED,QAAQ,EAAEC;YACxD;QACF;QAEA,OAAO+D,MAAM0D,IAAI,CAAC,CAACC,GAAGC,IAAMA,EAAEjD,SAAS,CAAC0D,OAAO,KAAKV,EAAEhD,SAAS,CAAC0D,OAAO;IACzE;IAEA,MAAMC,YAAYnI,aAAqB,EAS7B;QACR,MAAMC,WAAW,MAAM,IAAI,CAACyC,YAAY,CAAC1C;QACzC,IAAI,CAACC,UAAU,OAAO;QAEtB,IAAI;YACF,MAAMQ,QAAQ,MAAMmH,IAAAA,cAAI,EAAC3H;YACzB,MAAM4E,WAAW,MAAM,IAAI,CAACC,YAAY,CAAC9E;YACzC,MAAMoG,aAAa,MAAM,IAAI,CAACiB,cAAc,CAACrH;YAC7C,MAAMqD,MAAMhC,IAAAA,iBAAO,EAACpB,UAAU4B,SAAS,CAAC;YAExC,OAAO;gBACL7B;gBACAa,UAAUgE,UAAUE,qBAAqBqD,IAAAA,kBAAQ,EAACnI;gBAClD6H,YAAYzE;gBACZ0E,UAAUtH,MAAME,IAAI;gBACpBQ,UAAU0D,UAAUW,aAAa;gBACjChB,WAAW/D,MAAMuH,SAAS;gBAC1BC,gBAAgB7B,WAAWL,MAAM;gBACjClB,UAAUA;YACZ;QACF,EAAE,OAAO/E,OAAO;YACd,IAAI,CAACjB,MAAM,CAACiB,KAAK,CAAC,CAAC,4BAA4B,EAAEE,eAAe,EAAEF;YAClE,OAAO;QACT;IACF;AACF"}
|
|
@@ -89,16 +89,48 @@ class MoonrakerApi {
|
|
|
89
89
|
return {
|
|
90
90
|
size: file.size,
|
|
91
91
|
path,
|
|
92
|
-
date: file.modified
|
|
92
|
+
date: Math.floor(file.modified * 1000),
|
|
93
|
+
dir: false
|
|
93
94
|
};
|
|
94
95
|
}
|
|
95
|
-
async getFiles() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
async getFiles(recursive = false, startDir = "") {
|
|
97
|
+
if (recursive && startDir) {
|
|
98
|
+
throw new Error("Recursive mode does not support startDir parameter for Moonraker");
|
|
99
|
+
}
|
|
100
|
+
const stripGcodes = (path)=>path.startsWith('gcodes/') ? path.substring(7) : path;
|
|
101
|
+
const buildPath = (name)=>startDir ? `${startDir}/${name}` : name;
|
|
102
|
+
if (recursive) {
|
|
103
|
+
const response = await this.client.getServerFilesList(this.login, "gcodes");
|
|
104
|
+
const dirsSet = new Set();
|
|
105
|
+
const files = response.data.result.map((f)=>{
|
|
106
|
+
const strippedPath = stripGcodes(f.path);
|
|
107
|
+
const pathParts = strippedPath.split('/');
|
|
108
|
+
for(let i = 0; i < pathParts.length - 1; i++){
|
|
109
|
+
dirsSet.add(pathParts.slice(0, i + 1).join('/'));
|
|
110
|
+
}
|
|
111
|
+
return this.toFileDto(strippedPath, f.size, f.modified, false);
|
|
112
|
+
});
|
|
113
|
+
dirsSet.forEach((dirPath)=>files.push(this.toFileDto(dirPath, 0, null, true)));
|
|
114
|
+
return {
|
|
115
|
+
dirs: files.filter((f)=>f.dir),
|
|
116
|
+
files: files.filter((f)=>!f.dir)
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const moonrakerPath = startDir ? `gcodes/${startDir}` : "gcodes";
|
|
120
|
+
const response = await this.client.getServerFilesDirectoryInfo(this.login, moonrakerPath, false);
|
|
121
|
+
const { dirs: apiDirs, files: apiFiles } = response.data.result;
|
|
122
|
+
return {
|
|
123
|
+
dirs: apiDirs.map((d)=>this.toFileDto(buildPath(d.dirname), d.size, d.modified, true)),
|
|
124
|
+
files: apiFiles.map((f)=>this.toFileDto(buildPath(f.filename), f.size, f.modified, false))
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
toFileDto(path, size, modified, dir) {
|
|
128
|
+
return {
|
|
129
|
+
path,
|
|
130
|
+
size,
|
|
131
|
+
date: modified !== null ? Math.floor(modified * 1000) : null,
|
|
132
|
+
dir
|
|
133
|
+
};
|
|
102
134
|
}
|
|
103
135
|
async homeAxes(axes) {
|
|
104
136
|
let homeCommand = `G28`;
|
|
@@ -155,7 +187,8 @@ class MoonrakerApi {
|
|
|
155
187
|
file: {
|
|
156
188
|
date: job.start_time,
|
|
157
189
|
path: job.filename,
|
|
158
|
-
size: job.metadata.size
|
|
190
|
+
size: job.metadata.size,
|
|
191
|
+
dir: false
|
|
159
192
|
}
|
|
160
193
|
};
|
|
161
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/moonraker.api.ts"],"names":["MoonrakerApi","client","moonrakerClient","printerLogin","type","MoonrakerType","login","getVersion","result","getApiVersion","data","server","validateConnection","connect","NotImplementedException","disconnect","restartServer","postRestartServer","restartHost","postHostRestart","restartPrinterFirmware","postFirmwareRestart","startPrint","filename","postPrintStart","pausePrint","postPrintPause","resumePrint","postPrintResume","cancelPrint","postPrintCancel","sendGcode","script","postGcodeScript","quickStop","postQuickStop","movePrintHead","amounts","setSpeed","speed","g1CommandAxes","Number","isNaN","x","y","z","getFile","path","metadata","getServerFileMetadata","file","size","date","modified","getFiles","
|
|
1
|
+
{"version":3,"sources":["../../src/services/moonraker.api.ts"],"names":["MoonrakerApi","client","moonrakerClient","printerLogin","type","MoonrakerType","login","getVersion","result","getApiVersion","data","server","validateConnection","connect","NotImplementedException","disconnect","restartServer","postRestartServer","restartHost","postHostRestart","restartPrinterFirmware","postFirmwareRestart","startPrint","filename","postPrintStart","pausePrint","postPrintPause","resumePrint","postPrintResume","cancelPrint","postPrintCancel","sendGcode","script","postGcodeScript","quickStop","postQuickStop","movePrintHead","amounts","setSpeed","speed","g1CommandAxes","Number","isNaN","x","y","z","getFile","path","metadata","getServerFileMetadata","file","size","date","Math","floor","modified","dir","getFiles","recursive","startDir","Error","stripGcodes","startsWith","substring","buildPath","name","response","getServerFilesList","dirsSet","Set","files","map","f","strippedPath","pathParts","split","i","length","add","slice","join","toFileDto","forEach","dirPath","push","dirs","filter","moonrakerPath","getServerFilesDirectoryInfo","apiDirs","apiFiles","d","dirname","homeAxes","axes","homeCommand","downloadFile","getServerFilesDownload","getFileChunk","startBytes","endBytes","getServerFilesDownloadChunk","uploadFile","input","validated","uploadFileInputSchema","parse","postServerFileUpload","stream","fileName","contentLength","uploadToken","deleteFile","deleteServerFile","deleteFolder","deleteServerFilesDirectory","getSettings","getServerConfig","getReprintState","getPrinterObjectsQuery","print_stats","webhooks","operational","status","state","response2","getServerHistoryList","jobs","sort","a","b","start_time","connectionState","reprintState","ReprintState","NoLastPrint","job","LastPrintReady"],"mappings":";;;;+BAqBaA;;;eAAAA;;;qCAZN;mCAGiC;AASjC,MAAMA;;IACMC,OAAwB;IAEzC,YACEC,eAAgC,EAChC,AAAQC,YAAsB,CAC9B;aADQA,eAAAA;QAER,IAAI,CAACF,MAAM,GAAGC;IAChB;IAEA,IAAIE,OAAoB;QACtB,OAAOC,kCAAa;IACtB;IAMA,IAAIC,MAAMA,KAAe,EAAE;QACzB,IAAI,CAACH,YAAY,GAAGG;IACtB;IAEA,IAAIA,QAAQ;QACV,OAAO,IAAI,CAACH,YAAY;IAC1B;IAEA,MAAMI,aAAa;QACjB,MAAMC,SAAS,MAAM,IAAI,CAACP,MAAM,CAACQ,aAAa,CAAC,IAAI,CAACH,KAAK;QACzD,OAAOE,OAAOE,IAAI,EAAEC;IACtB;IAEA,MAAMC,qBAAoC;QACxC,MAAM,IAAI,CAACL,UAAU;IACvB;IAEA,MAAMM,UAAU;QAEd,MAAM,IAAIC,0CAAuB;IACnC;IAEA,MAAMC,aAAa;QAEjB,MAAM,IAAID,0CAAuB;IACnC;IAEA,MAAME,gBAAgB;QACpB,MAAM,IAAI,CAACf,MAAM,CAACgB,iBAAiB,CAAC,IAAI,CAACX,KAAK;IAChD;IAEA,MAAMY,cAAc;QAClB,MAAM,IAAI,CAACjB,MAAM,CAACkB,eAAe,CAAC,IAAI,CAACb,KAAK;IAC9C;IAEA,MAAMc,yBAAyB;QAC7B,MAAM,IAAI,CAACnB,MAAM,CAACoB,mBAAmB,CAAC,IAAI,CAACf,KAAK;IAClD;IAEA,MAAMgB,WAAWC,QAAgB,EAAE;QACjC,MAAM,IAAI,CAACtB,MAAM,CAACuB,cAAc,CAAC,IAAI,CAAClB,KAAK,EAAEiB;IAC/C;IAEA,MAAME,aAA4B;QAChC,MAAM,IAAI,CAACxB,MAAM,CAACyB,cAAc,CAAC,IAAI,CAACpB,KAAK;IAC7C;IAEA,MAAMqB,cAA6B;QACjC,MAAM,IAAI,CAAC1B,MAAM,CAAC2B,eAAe,CAAC,IAAI,CAACtB,KAAK;IAC9C;IAEA,MAAMuB,cAA6B;QACjC,MAAM,IAAI,CAAC5B,MAAM,CAAC6B,eAAe,CAAC,IAAI,CAACxB,KAAK;IAC9C;IAEA,MAAMyB,UAAUC,MAAc,EAAiB;QAC7C,MAAM,IAAI,CAAC/B,MAAM,CAACgC,eAAe,CAAC,IAAI,CAAC3B,KAAK,EAAE0B;IAChD;IAEA,MAAME,YAA2B;QAC/B,MAAM,IAAI,CAACjC,MAAM,CAACkC,aAAa,CAAC,IAAI,CAAC7B,KAAK;IAC5C;IAEA,MAAM8B,cAAcC,OAA+D,EAAE;QAGnF,MAAMC,WAAW,CAAC,CAACD,QAAQE,KAAK,GAAGF,QAAQE,KAAK,GAAG;QACnD,IAAIC,gBAAgB;QACpB,IAAI,CAACC,OAAOC,KAAK,CAACL,QAAQM,CAAC,GAAG;YAC5BH,iBAAiB,CAAC,EAAE,EAAEH,QAAQM,CAAC,EAAE;QACnC;QACA,IAAI,CAACF,OAAOC,KAAK,CAACL,QAAQO,CAAC,GAAG;YAC5BJ,iBAAiB,CAAC,EAAE,EAAEH,QAAQO,CAAC,EAAE;QACnC;QACA,IAAI,CAACH,OAAOC,KAAK,CAACL,QAAQQ,CAAC,GAAG;YAC5BL,iBAAiB,CAAC,EAAE,EAAEH,QAAQQ,CAAC,EAAE;QACnC;QAEA,MAAM,IAAI,CAAC5C,MAAM,CAACgC,eAAe,CAC/B,IAAI,CAAC3B,KAAK,EACV,CAAC;;SAEE,EAAEkC,cAAc,EAAE,EAAEF,SAAS;SAC7B,CAAC;IAER;IAEA,MAAMQ,QAAQC,IAAY,EAAoB;QAC5C,MAAMC,WAAW,MAAM,IAAI,CAAC/C,MAAM,CAACgD,qBAAqB,CAAC,IAAI,CAAC3C,KAAK,EAAEyC;QACrE,MAAMG,OAAOF,SAAStC,IAAI,CAACF,MAAM;QACjC,OAAO;YAAE2C,MAAMD,KAAKC,IAAI;YAAEJ;YAAMK,MAAMC,KAAKC,KAAK,CAACJ,KAAKK,QAAQ,GAAG;YAAOC,KAAK;QAAM;IACrF;IAEA,MAAMC,SAASC,YAAY,KAAK,EAAEC,WAAW,EAAE,EAAE;QAC/C,IAAID,aAAaC,UAAU;YACzB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAMC,cAAc,CAACd,OAAiBA,KAAKe,UAAU,CAAC,aAAaf,KAAKgB,SAAS,CAAC,KAAKhB;QACvF,MAAMiB,YAAY,CAACC,OAAiBN,WAAW,GAAGA,SAAS,CAAC,EAAEM,MAAM,GAAGA;QAEvE,IAAIP,WAAW;YACb,MAAMQ,WAAW,MAAM,IAAI,CAACjE,MAAM,CAACkE,kBAAkB,CAAC,IAAI,CAAC7D,KAAK,EAAE;YAClE,MAAM8D,UAAU,IAAIC;YACpB,MAAMC,QAAmBJ,SAASxD,IAAI,CAACF,MAAM,CAAC+D,GAAG,CAAC,CAACC;gBACjD,MAAMC,eAAeZ,YAAYW,EAAEzB,IAAI;gBACvC,MAAM2B,YAAYD,aAAaE,KAAK,CAAC;gBACrC,IAAK,IAAIC,IAAI,GAAGA,IAAIF,UAAUG,MAAM,GAAG,GAAGD,IAAK;oBAC7CR,QAAQU,GAAG,CAACJ,UAAUK,KAAK,CAAC,GAAGH,IAAI,GAAGI,IAAI,CAAC;gBAC7C;gBACA,OAAO,IAAI,CAACC,SAAS,CAACR,cAAcD,EAAErB,IAAI,EAAEqB,EAAEjB,QAAQ,EAAE;YAC1D;YAEAa,QAAQc,OAAO,CAAC,CAACC,UAAYb,MAAMc,IAAI,CAAC,IAAI,CAACH,SAAS,CAACE,SAAS,GAAG,MAAM;YAEzE,OAAO;gBACLE,MAAMf,MAAMgB,MAAM,CAACd,CAAAA,IAAKA,EAAEhB,GAAG;gBAC7Bc,OAAOA,MAAMgB,MAAM,CAACd,CAAAA,IAAK,CAACA,EAAEhB,GAAG;YACjC;QACF;QAEA,MAAM+B,gBAAgB5B,WAAW,CAAC,OAAO,EAAEA,UAAU,GAAG;QACxD,MAAMO,WAAW,MAAM,IAAI,CAACjE,MAAM,CAACuF,2BAA2B,CAAC,IAAI,CAAClF,KAAK,EAAEiF,eAAe;QAC1F,MAAM,EAAEF,MAAMI,OAAO,EAAEnB,OAAOoB,QAAQ,EAAE,GAAGxB,SAASxD,IAAI,CAACF,MAAM;QAE/D,OAAO;YACL6E,MAAMI,QAAQlB,GAAG,CAAC,CAACoB,IAAM,IAAI,CAACV,SAAS,CAACjB,UAAU2B,EAAEC,OAAO,GAAGD,EAAExC,IAAI,EAAEwC,EAAEpC,QAAQ,EAAE;YAClFe,OAAOoB,SAASnB,GAAG,CAAC,CAACC,IAAM,IAAI,CAACS,SAAS,CAACjB,UAAUQ,EAAEjD,QAAQ,GAAGiD,EAAErB,IAAI,EAAEqB,EAAEjB,QAAQ,EAAE;QACvF;IACF;IAEQ0B,UAAUlC,IAAY,EAAEI,IAAY,EAAEI,QAAuB,EAAEC,GAAY,EAAW;QAC5F,OAAO;YACLT;YACAI;YACAC,MAAMG,aAAa,OAAOF,KAAKC,KAAK,CAACC,WAAW,QAAQ;YACxDC;QACF;IACF;IAEA,MAAMqC,SAASC,IAA+C,EAAiB;QAE7E,IAAIC,cAAc,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,CAACD,KAAKnD,CAAC,EAAE;YACZoD,eAAe,CAAC,EAAE,CAAC;QACrB;QACA,IAAI,CAAC,CAACD,KAAKlD,CAAC,EAAE;YACZmD,eAAe,CAAC,EAAE,CAAC;QACrB;QACA,IAAI,CAAC,CAACD,KAAKjD,CAAC,EAAE;YACZkD,eAAe,CAAC,EAAE,CAAC;QACrB;QAEA,MAAM,IAAI,CAAC9F,MAAM,CAACgC,eAAe,CAAC,IAAI,CAAC3B,KAAK,EAAEyF;IAChD;IAEA,MAAMC,aAAajD,IAAY,EAAuC;QACpE,OAAO,MAAM,IAAI,CAAC9C,MAAM,CAACgG,sBAAsB,CAAC,IAAI,CAAC3F,KAAK,EAAE,UAAUyC;IACxE;IAEA,MAAMmD,aAAanD,IAAY,EAAEoD,UAAkB,EAAEC,QAAgB,EAAwB;QAC3F,OAAO,MAAM,IAAI,CAACnG,MAAM,CAACoG,2BAA2B,CAAC,IAAI,CAAC/F,KAAK,EAAE,UAAUyC,MAAMoD,YAAYC;IAC/F;IAEA,MAAME,WAAWC,KAAsB,EAAE;QACvC,MAAMC,YAAYC,0CAAqB,CAACC,KAAK,CAACH;QAC9C,MAAM,IAAI,CAACtG,MAAM,CAAC0G,oBAAoB,CAAC,IAAI,CAACrG,KAAK,EAAEkG,UAAUI,MAAM,EAAEJ,UAAUK,QAAQ,EAAEL,UAAUM,aAAa,EAAEN,UAAUlF,UAAU,EAAEkF,UAAUO,WAAW;IAC/J;IAEA,MAAMC,WAAWjE,IAAY,EAAE;QAC7B,MAAM,IAAI,CAAC9C,MAAM,CAACgH,gBAAgB,CAAC,IAAI,CAAC3G,KAAK,EAAE,UAAUyC;IAC3D;IAEA,MAAMmE,aAAanE,IAAY,EAAE;QAC/B,MAAM,IAAI,CAAC9C,MAAM,CAACkH,0BAA0B,CAAC,IAAI,CAAC7G,KAAK,EAAEyC,MAAM;IACjE;IAEA,MAAMqE,cAAc;QAClB,MAAM5G,SAAS,MAAM,IAAI,CAACP,MAAM,CAACoH,eAAe,CAAC,IAAI,CAAC/G,KAAK;QAC3D,OAAOE,OAAOE,IAAI,EAAEF;IACtB;IAEA,MAAM8G,kBAAkD;QACtD,MAAMpD,WAAW,MAAM,IAAI,CAACjE,MAAM,CAACsH,sBAAsB,CAEvD,IAAI,CAACjH,KAAK,EAAE;YACZkH,aAAa,EAAE;YACfC,UAAU,EAAE;QACd;QAEA,MAAMjH,SAAS0D,SAASxD,IAAI,CAACF,MAAM;QACnC,MAAMkH,cAAclH,OAAOmH,MAAM,CAACF,QAAQ,CAACG,KAAK,KAAK;QAErD,MAAMC,YAAY,MAAM,IAAI,CAAC5H,MAAM,CAAC6H,oBAAoB,CAAC,IAAI,CAACxH,KAAK,EAAE,GAAG;QACxE,MAAMyH,OAAO,AAACF,CAAAA,UAAUnH,IAAI,EAAEF,OAAOuH,QAAQ,EAAE,AAAD,EAAGC,IAAI,CAAC,CAACC,GAAGC,IAAOD,EAAEE,UAAU,GAAGD,EAAEC,UAAU,GAAG,IAAI;QAEnG,IAAIJ,KAAKlD,MAAM,KAAK,KAAK,CAAC6C,aAAa;YACrC,OAAO;gBACLU,iBAAiBV,cAAc,gBAAgB;gBAC/CW,cAAcC,iCAAY,CAACC,WAAW;YACxC;QACF;QAEA,MAAMC,MAAMT,IAAI,CAAC,EAAE;QACnB,OAAO;YACLK,iBAAiB;YACjBC,cAAcC,iCAAY,CAACG,cAAc;YACzCvF,MAAM;gBACJE,MAAMoF,IAAIL,UAAU;gBACpBpF,MAAMyF,IAAIjH,QAAQ;gBAClB4B,MAAMqF,IAAIxF,QAAQ,CAACG,IAAI;gBACvBK,KAAK;YACP;QACF;IACF;AACF"}
|
|
@@ -71,7 +71,7 @@ class OctoprintRoutes {
|
|
|
71
71
|
};
|
|
72
72
|
apiFile = (path)=>`${this.apiFilesLocal}/${path}`;
|
|
73
73
|
downloadFileLocal = (path)=>`${this.octoPrintBase}downloads/files/local/${path}`;
|
|
74
|
-
apiGetFiles = (recursive = false)=>`${this.apiFiles}/local?recursive=${recursive}`;
|
|
74
|
+
apiGetFiles = (recursive = false, path = "")=>`${this.apiFiles}/local${path ? `/${path}` : ''}?recursive=${recursive}`;
|
|
75
75
|
selectCommand(print = false) {
|
|
76
76
|
return {
|
|
77
77
|
command: "select",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/octoprint/octoprint-api.routes.ts"],"names":["OctoprintRoutes","octoPrintBase","apiBase","apiVersion","apiServer","apiCurrentUser","apiSettingsPart","apiFiles","apiFilesLocal","apiConnection","apiJob","apiPrinter","apiPrinterHead","apiPrinterBed","apiPrinterCustomCommand","apiPrinterProfiles","apiSystem","apiSystemInfo","apiSystemCommands","apiServerRestartCommand","apiUsers","apiLogin","disconnectCommand","command","cancelJobCommand","pauseJobCommand","action","resumeJobCommand","connectCommand","getBedTargetCommand","targetTemperature","target","apiPrinterCurrent","history","limit","exclude","filter","e","length","excludeParam","join","limitParam","apiFile","path","downloadFileLocal","apiGetFiles","recursive","selectCommand","print","moveFileCommand","destination","printerNameSetting","name","appearance"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA;IACXC,gBAAgB,IAAI;IACpBC,UAAU,GAAG,IAAI,CAACD,aAAa,CAAC,GAAG,CAAC,CAAC;IACrCE,aAAa,GAAG,IAAI,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvCE,YAAY,GAAG,IAAI,CAACF,OAAO,CAAC,OAAO,CAAC,CAAC;IACrCG,iBAAiB,GAAG,IAAI,CAACH,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/CI,kBAAkB,GAAG,IAAI,CAACJ,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7CK,WAAW,GAAG,IAAI,CAACL,OAAO,CAAC,MAAM,CAAC,CAAC;IACnCM,gBAAgB,GAAG,IAAI,CAACD,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzCE,gBAAgB,GAAG,IAAI,CAACP,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7CQ,SAAS,GAAG,IAAI,CAACR,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/BS,aAAa,GAAG,IAAI,CAACT,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvCU,iBAAiB,GAAG,IAAI,CAACV,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrDW,gBAAgB,GAAG,IAAI,CAACF,UAAU,CAAC,IAAI,CAAC,CAAC;IACzCG,0BAA0B,GAAG,IAAI,CAACH,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvDI,qBAAqB,GAAG,IAAI,CAACb,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvDc,YAAY,GAAG,IAAI,CAACd,OAAO,CAAC,OAAO,CAAC,CAAC;IACrCe,gBAAgB,GAAG,IAAI,CAACD,SAAS,CAAC,KAAK,CAAC,CAAC;IACzCE,oBAAoB,GAAG,IAAI,CAACF,SAAS,CAAC,SAAS,CAAC,CAAC;IACjDG,0BAA0B,GAAG,IAAI,CAACD,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACnEE,WAAW,GAAG,IAAI,CAAClB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnCmB,WAAW,GAAG,IAAI,CAACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAIoB,oBAAoB;QACtB,OAAO;YAAEC,SAAS;QAAa;IACjC;IAEA,IAAIC,mBAAmB;QACrB,OAAO;YAAED,SAAS;QAAS;IAC7B;IAEA,IAAIE,kBAAkB;QACpB,OAAO;YAAEF,SAAS;YAASG,QAAQ;QAAQ;IAC7C;IAEA,IAAIC,mBAAmB;QACrB,OAAO;YAAEJ,SAAS;YAASG,QAAQ;QAAS;IAC9C;IAEA,IAAIE,iBAAiB;QACnB,OAAO;YAAEL,SAAS;QAAU;IAC9B;IAEAM,oBAAoBC,iBAAyB,EAAE;QAC7C,OAAO;YAAEP,SAAS;YAAUQ,QAAQD;QAAkB;IACxD;IAEAE,oBAAoB,CAACC,SAAmBC,OAAgBC;QACtDA,UAAUA,SAASC,OAAO,CAACC,IAAM,CAAC,CAACA,EAAEC,MAAM;QAC3C,MAAMC,eAAeJ,SAASG,SAAS,CAAC,SAAS,EAAEH,SAASK,KAAK,MAAM,GAAG;QAC1E,MAAMC,aAAa,CAAC,CAACP,QAAQ,CAAC,OAAO,EAAEA,OAAO,GAAG;QACjD,OAAO,GAAG,IAAI,CAACvB,UAAU,CAAC,SAAS,EAAE,CAAC,CAACsB,UAAUQ,aAAaF,cAAc;IAC9E,EAAE;IAEFG,UAAU,CAACC,OAAiB,GAAG,IAAI,CAACnC,aAAa,CAAC,CAAC,EAAEmC,MAAM,CAAC;IAE5DC,oBAAoB,CAACD,OAAiB,GAAG,IAAI,CAAC1C,aAAa,CAAC,sBAAsB,EAAE0C,MAAM,CAAC;IAE3FE,cAAc,CAACC,YAAY,KAAK,GAAK,GAAG,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../../src/services/octoprint/octoprint-api.routes.ts"],"names":["OctoprintRoutes","octoPrintBase","apiBase","apiVersion","apiServer","apiCurrentUser","apiSettingsPart","apiFiles","apiFilesLocal","apiConnection","apiJob","apiPrinter","apiPrinterHead","apiPrinterBed","apiPrinterCustomCommand","apiPrinterProfiles","apiSystem","apiSystemInfo","apiSystemCommands","apiServerRestartCommand","apiUsers","apiLogin","disconnectCommand","command","cancelJobCommand","pauseJobCommand","action","resumeJobCommand","connectCommand","getBedTargetCommand","targetTemperature","target","apiPrinterCurrent","history","limit","exclude","filter","e","length","excludeParam","join","limitParam","apiFile","path","downloadFileLocal","apiGetFiles","recursive","selectCommand","print","moveFileCommand","destination","printerNameSetting","name","appearance"],"mappings":"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"}
|
|
@@ -107,16 +107,38 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
|
|
|
107
107
|
async getUsers(login) {
|
|
108
108
|
return await this.createClient(login).get(this.apiUsers);
|
|
109
109
|
}
|
|
110
|
-
async getLocalFiles(login, recursive = false) {
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
+
}
|
|
115
131
|
}
|
|
116
132
|
async getFile(login, path) {
|
|
117
133
|
const urlPath = this.apiFile(path);
|
|
118
134
|
const response = await this.createClient(login).get(urlPath);
|
|
119
|
-
|
|
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
|
+
};
|
|
120
142
|
}
|
|
121
143
|
async downloadFile(login, path) {
|
|
122
144
|
const urlPath = this.downloadFileLocal(path);
|
|
@@ -146,7 +168,8 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
|
|
|
146
168
|
}
|
|
147
169
|
async postSelectPrintFile(login, path, print) {
|
|
148
170
|
const command = this.selectCommand(print);
|
|
149
|
-
|
|
171
|
+
const url = this.apiFile(path);
|
|
172
|
+
await this.createClient(login).post(url, command);
|
|
150
173
|
}
|
|
151
174
|
async uploadFileAsMultiPart(login, stream, fileName, contentLength, startPrint, progressToken) {
|
|
152
175
|
const urlPath = this.apiFilesLocal;
|