@fdm-monster/server 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/README.md +1 -1
  3. package/RELEASE_NOTES.MD +12 -0
  4. package/dist/container.js +0 -6
  5. package/dist/container.js.map +1 -1
  6. package/dist/container.tokens.js +0 -2
  7. package/dist/container.tokens.js.map +1 -1
  8. package/dist/controllers/printer-files.controller.js +8 -75
  9. package/dist/controllers/printer-files.controller.js.map +1 -1
  10. package/dist/controllers/validation/printer-files-controller.validation.js +7 -0
  11. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  12. package/dist/server.constants.js +1 -2
  13. package/dist/server.constants.js.map +1 -1
  14. package/dist/services/bambu.api.js +24 -12
  15. package/dist/services/bambu.api.js.map +1 -1
  16. package/dist/services/file-storage.service.js.map +1 -1
  17. package/dist/services/moonraker.api.js +42 -9
  18. package/dist/services/moonraker.api.js.map +1 -1
  19. package/dist/services/octoprint/octoprint-api.routes.js +1 -1
  20. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  21. package/dist/services/octoprint/octoprint.client.js +30 -7
  22. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  23. package/dist/services/octoprint/utils/file.utils.js +42 -5
  24. package/dist/services/octoprint/utils/file.utils.js.map +1 -1
  25. package/dist/services/octoprint.api.js +12 -8
  26. package/dist/services/octoprint.api.js.map +1 -1
  27. package/dist/services/printer-api.interface.js.map +1 -1
  28. package/dist/services/prusa-link/prusa-link.api.js +21 -5
  29. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  30. package/package.json +3 -3
  31. package/dist/state/file.cache.js +0 -68
  32. package/dist/state/file.cache.js.map +0 -1
  33. package/dist/state/printer-files.store.js +0 -92
  34. package/dist/state/printer-files.store.js.map +0 -1
  35. package/dist/tasks/printer-files-load.task.js +0 -29
  36. package/dist/tasks/printer-files-load.task.js.map +0 -1
Binary file
package/README.md CHANGED
@@ -137,7 +137,7 @@ These are the people involved in the project. Find the meaning of the emoji keys
137
137
  <tr>
138
138
  <td align="center" valign="top" width="10%"><a href="https://github.com/Tbwan"><img src="https://avatars.githubusercontent.com/u/44231748?v=4?s=40" width="40px;" alt="Tbwan"/><br /><sub><b>Tbwan</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3ATbwan" title="Bug reports">🐛</a></td>
139
139
  <td align="center" valign="top" width="10%"><a href="https://github.com/nuvious"><img src="https://avatars.githubusercontent.com/u/5287736?v=4?s=40" width="40px;" alt="David Cheeseman"/><br /><sub><b>David Cheeseman</b></sub></a><br /><a href="#ideas-nuvious" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-nuvious" title="Packaging/porting to new platform">📦</a> <a href="#infra-nuvious" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
140
- <td align="center" valign="top" width="10%"><a href="https://github.com/thatguy-jaysenodell"><img src="https://avatars.githubusercontent.com/u/118288184?v=4?s=40" width="40px;" alt="That Guy Jaysen"/><br /><sub><b>That Guy Jaysen</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Athatguy-jaysenodell" title="Bug reports">🐛</a></td>
140
+ <td align="center" valign="top" width="10%"><a href="https://github.com/thatguy-jaysenodell"><img src="https://avatars.githubusercontent.com/u/118288184?v=4?s=40" width="40px;" alt="That Guy Jaysen"/><br /><sub><b>That Guy Jaysen</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Athatguy-jaysenodell" title="Bug reports">🐛</a> <a href="#ideas-thatguy-jaysenodell" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/fdm-monster/fdm-monster/commits?author=thatguy-jaysenodell" title="Code">💻</a></td>
141
141
  <td align="center" valign="top" width="10%"><a href="http://design.zagethy.com"><img src="https://avatars.githubusercontent.com/u/6075740?v=4?s=40" width="40px;" alt="Zagethy"/><br /><sub><b>Zagethy</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3AZagethy" title="Bug reports">🐛</a></td>
142
142
  </tr>
143
143
  </tbody>
package/RELEASE_NOTES.MD CHANGED
@@ -1,5 +1,17 @@
1
1
  # Develop
2
2
 
3
+ # FDM Monster 2.0.9
4
+
5
+ ## Features
6
+
7
+ - Implemented directory navigation with optional recursive mode for printer file listings across all 4 implementations
8
+ - Added `dir` field to `FileDto` to distinguish files from directories (OctoPrint and Moonraker support recursive, PrusaLink and Bambu non-recursive only)
9
+
10
+ ## Refactor
11
+
12
+ - Updated `getFiles()` signature to support `recursive` and `startDir` parameters with non-recursive as default for performance
13
+ - Removed in-memory file cache system - files are now fetched fresh from printer APIs
14
+
3
15
  # FDM Monster 2.0.8
4
16
 
5
17
  ## Features
package/dist/container.js CHANGED
@@ -18,11 +18,9 @@ const _settingsstore = require("./state/settings.store");
18
18
  const _serverreleaseservice = require("./services/core/server-release.service");
19
19
  const _taskmanagerservice = require("./services/task-manager.service");
20
20
  const _githubservice = require("./services/core/github.service");
21
- const _filecache = require("./state/file.cache");
22
21
  const _printerwebsockettask = require("./tasks/printer-websocket.task");
23
22
  const _socketiotask = require("./tasks/socketio.task");
24
23
  const _socketfactory = require("./services/socket.factory");
25
- const _printerfilesstore = require("./state/printer-files.store");
26
24
  const _eventemitter = require("./handlers/event-emitter");
27
25
  const _serverconstants = require("./server.constants");
28
26
  const _softwareupdatetask = require("./tasks/software-update.task");
@@ -34,7 +32,6 @@ const _boottask = require("./tasks/boot.task");
34
32
  const _userservice = require("./services/orm/user.service");
35
33
  const _roleservice = require("./services/orm/role.service");
36
34
  const _permissionservice = require("./services/orm/permission.service");
37
- const _printerfilesloadtask = require("./tasks/printer-files-load.task");
38
35
  const _authorizationconstants = require("./constants/authorization.constants");
39
36
  const _printerwebsocketrestoretask = require("./tasks/printer-websocket-restore.task");
40
37
  const _configservice = require("./services/core/config.service");
@@ -164,9 +161,7 @@ function configureContainer() {
164
161
  [di.batchCallService]: (0, _awilix.asClass)(_batchcallservice.BatchCallService).singleton(),
165
162
  [di.floorStore]: (0, _awilix.asClass)(_floorstore.FloorStore).singleton(),
166
163
  [di.printerThumbnailCache]: (0, _awilix.asClass)(_printerthumbnailcache.PrinterThumbnailCache).singleton(),
167
- [di.fileCache]: (0, _awilix.asClass)(_filecache.FileCache).singleton(),
168
164
  [di.fileUploadTrackerCache]: (0, _awilix.asClass)(_fileuploadtrackercache.FileUploadTrackerCache).singleton(),
169
- [di.printerFilesStore]: (0, _awilix.asClass)(_printerfilesstore.PrinterFilesStore).singleton(),
170
165
  [di.printerCache]: (0, _awilix.asClass)(_printercache.PrinterCache).singleton(),
171
166
  [di.printerEventsCache]: (0, _awilix.asClass)(_printereventscache.PrinterEventsCache).singleton(),
172
167
  [di.printerSocketStore]: (0, _awilix.asClass)(_printersocketstore.PrinterSocketStore).singleton(),
@@ -182,7 +177,6 @@ function configureContainer() {
182
177
  [di.clientDistDownloadTask]: (0, _awilix.asClass)(_clientbundletask.ClientDistDownloadTask).singleton(),
183
178
  [di.printerWebsocketTask]: (0, _awilix.asClass)(_printerwebsockettask.PrinterWebsocketTask).singleton(),
184
179
  [di.printerWebsocketRestoreTask]: (0, _awilix.asClass)(_printerwebsocketrestoretask.PrinterWebsocketRestoreTask).singleton(),
185
- [di.printerFilesLoadTask]: (0, _awilix.asClass)(_printerfilesloadtask.PrinterFilesLoadTask).singleton(),
186
180
  [di.printJobAnalysisTask]: (0, _awilix.asClass)(_printjobanalysistask.PrintJobAnalysisTask).singleton()
187
181
  });
188
182
  return container;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/container.ts"],"names":["configureContainer","container","createContainer","injectionMode","InjectionMode","CLASSIC","di","DITokens","register","appDefaultRole","asValue","ROLES","GUEST","appDefaultRoleNoLogin","ADMIN","serverVersion","asFunction","process","env","AppConstants","VERSION_KEY","cradleService","asClass","CradleService","inject","socketFactory","SocketFactory","transient","typeormService","TypeormService","singleton","settingsService","SettingsService","floorService","FloorService","floorPositionService","FloorPositionService","cameraStreamService","CameraStreamService","printerService","PrinterService","printerMaintenanceLogService","PrinterMaintenanceLogService","printerTagService","PrinterTagService","refreshTokenService","RefreshTokenService","userService","UserService","userRoleService","UserRoleService","roleService","RoleService","permissionService","PermissionService","serverHost","ServerHost","exceptionFilter","ExceptionFilter","settingsStore","SettingsStore","configService","ConfigService","authService","AuthService","jwtService","JwtService","loggerFactory","LoggerFactory","taskManagerService","TaskManagerService","toadScheduler","ToadScheduler","eventEmitter2","configureEventEmitter","serverReleaseService","ServerReleaseService","monsterPiService","MonsterPiService","githubService","GithubService","octokitService","CustomOctoKit","Octokit","plugin","throttling","auth","get","GITHUB_PAT","throttle","onRateLimit","_retryAfter","options","_octokit","_retryCount","logger","warn","method","url","onSecondaryRateLimit","clientBundleService","ClientBundleService","logDumpService","LogDumpService","httpClientFactory","HttpClientFactory","socketIoGateway","SocketIoGateway","multerService","MulterService","yamlService","YamlService","printerLogin","printerApiFactory","PrinterApiFactory","prusaLinkApi","PrusaLinkApi","prusaLinkPollingAdapter","PrusaLinkHttpPollingAdapter","octoprintApi","OctoprintApi","octoprintClient","OctoprintClient","octoPrintSockIoAdapter","OctoprintWebsocketAdapter","moonrakerApi","MoonrakerApi","moonrakerClient","MoonrakerClient","moonrakerWebsocketAdapter","MoonrakerWebsocketAdapter","bambuApi","BambuApi","bambuClient","BambuClient","bambuFtpAdapter","BambuFtpAdapter","bambuMqttAdapter","BambuMqttAdapter","batchCallService","BatchCallService","floorStore","FloorStore","printerThumbnailCache","PrinterThumbnailCache","fileCache","FileCache","fileUploadTrackerCache","FileUploadTrackerCache","printerFilesStore","PrinterFilesStore","printerCache","PrinterCache","printerEventsCache","PrinterEventsCache","printerSocketStore","PrinterSocketStore","testPrinterSocketStore","TestPrinterSocketStore","printJobService","PrintJobService","printQueueService","PrintQueueService","fileStorageService","FileStorageService","fileAnalysisService","FileAnalysisService","printFileDownloaderService","PrintFileDownloaderService","bootTask","BootTask","softwareUpdateTask","SoftwareUpdateTask","socketIoTask","SocketIoTask","clientDistDownloadTask","ClientDistDownloadTask","printerWebsocketTask","PrinterWebsocketTask","printerWebsocketRestoreTask","PrinterWebsocketRestoreTask","printerFilesLoadTask","PrinterFilesLoadTask","printJobAnalysisTask","PrintJobAnalysisTask"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/container.ts"],"names":["configureContainer","container","createContainer","injectionMode","InjectionMode","CLASSIC","di","DITokens","register","appDefaultRole","asValue","ROLES","GUEST","appDefaultRoleNoLogin","ADMIN","serverVersion","asFunction","process","env","AppConstants","VERSION_KEY","cradleService","asClass","CradleService","inject","socketFactory","SocketFactory","transient","typeormService","TypeormService","singleton","settingsService","SettingsService","floorService","FloorService","floorPositionService","FloorPositionService","cameraStreamService","CameraStreamService","printerService","PrinterService","printerMaintenanceLogService","PrinterMaintenanceLogService","printerTagService","PrinterTagService","refreshTokenService","RefreshTokenService","userService","UserService","userRoleService","UserRoleService","roleService","RoleService","permissionService","PermissionService","serverHost","ServerHost","exceptionFilter","ExceptionFilter","settingsStore","SettingsStore","configService","ConfigService","authService","AuthService","jwtService","JwtService","loggerFactory","LoggerFactory","taskManagerService","TaskManagerService","toadScheduler","ToadScheduler","eventEmitter2","configureEventEmitter","serverReleaseService","ServerReleaseService","monsterPiService","MonsterPiService","githubService","GithubService","octokitService","CustomOctoKit","Octokit","plugin","throttling","auth","get","GITHUB_PAT","throttle","onRateLimit","_retryAfter","options","_octokit","_retryCount","logger","warn","method","url","onSecondaryRateLimit","clientBundleService","ClientBundleService","logDumpService","LogDumpService","httpClientFactory","HttpClientFactory","socketIoGateway","SocketIoGateway","multerService","MulterService","yamlService","YamlService","printerLogin","printerApiFactory","PrinterApiFactory","prusaLinkApi","PrusaLinkApi","prusaLinkPollingAdapter","PrusaLinkHttpPollingAdapter","octoprintApi","OctoprintApi","octoprintClient","OctoprintClient","octoPrintSockIoAdapter","OctoprintWebsocketAdapter","moonrakerApi","MoonrakerApi","moonrakerClient","MoonrakerClient","moonrakerWebsocketAdapter","MoonrakerWebsocketAdapter","bambuApi","BambuApi","bambuClient","BambuClient","bambuFtpAdapter","BambuFtpAdapter","bambuMqttAdapter","BambuMqttAdapter","batchCallService","BatchCallService","floorStore","FloorStore","printerThumbnailCache","PrinterThumbnailCache","fileUploadTrackerCache","FileUploadTrackerCache","printerCache","PrinterCache","printerEventsCache","PrinterEventsCache","printerSocketStore","PrinterSocketStore","testPrinterSocketStore","TestPrinterSocketStore","printJobService","PrintJobService","printQueueService","PrintQueueService","fileStorageService","FileStorageService","fileAnalysisService","FileAnalysisService","printFileDownloaderService","PrintFileDownloaderService","bootTask","BootTask","softwareUpdateTask","SoftwareUpdateTask","socketIoTask","SocketIoTask","clientDistDownloadTask","ClientDistDownloadTask","printerWebsocketTask","PrinterWebsocketTask","printerWebsocketRestoreTask","PrinterWebsocketRestoreTask","printJobAnalysisTask","PrintJobAnalysisTask"],"mappings":";;;;+BA0EgBA;;;eAAAA;;;yBA1EQ;wBACqD;+BAC/C;iCACL;gCACM;8CACc;+BACf;sCACO;oCACF;+BACL;sCACO;8BACR;+BACC;8BACQ;iCACT;oCACM;+BACL;+BACA;wCACS;4BACZ;0BACF;6BACG;6BACA;mCACM;wCACZ;6CACsB;+BACE;iCACd;qCACI;4BACT;6BACC;kCACK;kCACA;kCACM;2CACG;8BACb;oCACM;wCACI;oCACJ;oCACJ;qCACK;4BACT;6BACC;kCACD;qCACS;iCACJ;8BACH;sCACQ;iCACL;gCACD;iCACC;mCACE;iCACF;2CACU;8BACb;iCACG;8BACH;mCACK;uCACI;mCACJ;+BACJ;8BACD;6CACe;6BAChB;kCACK;iCACD;0BACP;mCACS;oCACC;iCACH;qCACI;sCACC;4CACM;AAEpC,SAASA;IAEd,MAAMC,YAAYC,IAAAA,uBAAe,EAAC;QAChCC,eAAeC,qBAAa,CAACC,OAAO;IACtC;IAEA,MAAMC,KAAKC,yBAAQ;IAEnBN,UAAUO,QAAQ,CAAC;QAEjB,CAACF,GAAGG,cAAc,CAAC,EAAEC,IAAAA,eAAO,EAACC,6BAAK,CAACC,KAAK;QACxC,CAACN,GAAGO,qBAAqB,CAAC,EAAEH,IAAAA,eAAO,EAACC,6BAAK,CAACG,KAAK;QAC/C,CAACR,GAAGS,aAAa,CAAC,EAAEC,IAAAA,kBAAU,EAAC;YAC7B,OAAOC,QAAQC,GAAG,CAACC,6BAAY,CAACC,WAAW,CAAC;QAC9C;QACA,CAACd,GAAGe,aAAa,CAAC,EAAEC,IAAAA,eAAO,EAACC,4BAAa,EAAEC,MAAM,CAAC,CAACvB,YAAe,CAAA;gBAAEA;YAAU,CAAA;QAC9E,CAACK,GAAGmB,aAAa,CAAC,EAAEH,IAAAA,eAAO,EAACI,4BAAa,EAAEC,SAAS;QAGpD,CAACrB,GAAGsB,cAAc,CAAC,EAAEN,IAAAA,eAAO,EAACO,8BAAc,EAAEC,SAAS;QACtD,CAACxB,GAAGyB,eAAe,CAAC,EAAET,IAAAA,eAAO,EAACU,gCAAe;QAC7C,CAAC1B,GAAG2B,YAAY,CAAC,EAAEX,IAAAA,eAAO,EAACY,0BAAY,EAAEJ,SAAS;QAClD,CAACxB,GAAG6B,oBAAoB,CAAC,EAAEb,IAAAA,eAAO,EAACc,0CAAoB,EAAEN,SAAS;QAClE,CAACxB,GAAG+B,mBAAmB,CAAC,EAAEf,IAAAA,eAAO,EAACgB,wCAAmB,EAAER,SAAS;QAChE,CAACxB,GAAGiC,cAAc,CAAC,EAAEjB,IAAAA,eAAO,EAACkB,8BAAc;QAC3C,CAAClC,GAAGmC,4BAA4B,CAAC,EAAEnB,IAAAA,eAAO,EAACoB,0DAA4B;QACvE,CAACpC,GAAGqC,iBAAiB,CAAC,EAAErB,IAAAA,eAAO,EAACsB,oCAAiB;QACjD,CAACtC,GAAGuC,mBAAmB,CAAC,EAAEvB,IAAAA,eAAO,EAACwB,wCAAmB,EAAEhB,SAAS;QAChE,CAACxB,GAAGyC,WAAW,CAAC,EAAEzB,IAAAA,eAAO,EAAC0B,wBAAW,EAAElB,SAAS;QAChD,CAACxB,GAAG2C,eAAe,CAAC,EAAE3B,IAAAA,eAAO,EAAC4B,gCAAe,EAAEpB,SAAS;QACxD,CAACxB,GAAG6C,WAAW,CAAC,EAAE7B,IAAAA,eAAO,EAAC8B,wBAAW,EAAEtB,SAAS;QAChD,CAACxB,GAAG+C,iBAAiB,CAAC,EAAE/B,IAAAA,eAAO,EAACgC,oCAAiB,EAAExB,SAAS;QAE5D,CAACxB,GAAGiD,UAAU,CAAC,EAAEjC,IAAAA,eAAO,EAACkC,sBAAU,EAAE1B,SAAS;QAC9C,CAACxB,GAAGmD,eAAe,CAAC,EAAEnC,IAAAA,eAAO,EAACoC,gCAAe,EAAE5B,SAAS;QACxD,CAACxB,GAAGqD,aAAa,CAAC,EAAErC,IAAAA,eAAO,EAACsC,4BAAa,EAAE9B,SAAS;QACpD,CAACxB,GAAGuD,aAAa,CAAC,EAAEvC,IAAAA,eAAO,EAACwC,4BAAa;QACzC,CAACxD,GAAGyD,WAAW,CAAC,EAAEzC,IAAAA,eAAO,EAAC0C,wBAAW,EAAElC,SAAS;QAChD,CAACxB,GAAG2D,UAAU,CAAC,EAAE3C,IAAAA,eAAO,EAAC4C,sBAAU,EAAEpC,SAAS;QAE9C,CAACxB,GAAG6D,aAAa,CAAC,EAAEnD,IAAAA,kBAAU,EAACoD,4BAAa,EAAEzC,SAAS;QACvD,CAACrB,GAAG+D,kBAAkB,CAAC,EAAE/C,IAAAA,eAAO,EAACgD,sCAAkB,EAAExC,SAAS;QAC9D,CAACxB,GAAGiE,aAAa,CAAC,EAAEjD,IAAAA,eAAO,EAACkD,4BAAa,EAAE1C,SAAS;QACpD,CAACxB,GAAGmE,aAAa,CAAC,EAAEzD,IAAAA,kBAAU,EAAC0D,mCAAqB,EAAE5C,SAAS;QAC/D,CAACxB,GAAGqE,oBAAoB,CAAC,EAAErD,IAAAA,eAAO,EAACsD,0CAAoB,EAAE9C,SAAS;QAClE,CAACxB,GAAGuE,gBAAgB,CAAC,EAAEvD,IAAAA,eAAO,EAACwD,kCAAgB,EAAEhD,SAAS;QAC1D,CAACxB,GAAGyE,aAAa,CAAC,EAAEzD,IAAAA,eAAO,EAAC0D,4BAAa;QACzC,CAAC1E,GAAG2E,cAAc,CAAC,EAAEjE,IAAAA,kBAAU,EAAC,CAAC6C;YAC/B,MAAMqB,gBAAgBC,gBAAO,CAACC,MAAM,CAACC,4BAAU;YAC/C,OAAO,IAAIH,cAAc;gBACvBI,MAAMzB,cAAc0B,GAAG,CAACpE,6BAAY,CAACqE,UAAU;gBAC/CC,UAAU;oBACRC,aAAa,CAACC,aAAaC,SAASC,UAAUC;wBAC5C,MAAMC,SAAS3B,IAAAA,4BAAa,IAAG;wBAC/B2B,OAAOC,IAAI,CAAC,CAAC,oCAAoC,EAAEJ,QAAQK,MAAM,CAAC,CAAC,EAAEL,QAAQM,GAAG,EAAE;oBACpF;oBACAC,sBAAsB,CAACR,aAAaC,SAASC;wBAC3C,MAAME,SAAS3B,IAAAA,4BAAa,IAAG;wBAE/B2B,OAAOC,IAAI,CAAC,CAAC,wCAAwC,EAAEJ,QAAQK,MAAM,CAAC,CAAC,EAAEL,QAAQM,GAAG,EAAE;oBACxF;gBACF;YACF;QACF;QACA,CAAC5F,GAAG8F,mBAAmB,CAAC,EAAE9E,IAAAA,eAAO,EAAC+E,wCAAmB;QACrD,CAAC/F,GAAGgG,cAAc,CAAC,EAAEhF,IAAAA,eAAO,EAACiF,kCAAc;QAC3C,CAACjG,GAAGkG,iBAAiB,CAAC,EAAElF,IAAAA,eAAO,EAACmF,oCAAiB;QACjD,CAACnG,GAAGoG,eAAe,CAAC,EAAEpF,IAAAA,eAAO,EAACqF,gCAAe,EAAE7E,SAAS;QACxD,CAACxB,GAAGsG,aAAa,CAAC,EAAEtF,IAAAA,eAAO,EAACuF,4BAAa,EAAE/E,SAAS;QACpD,CAACxB,GAAGwG,WAAW,CAAC,EAAExF,IAAAA,eAAO,EAACyF,wBAAW;QACrC,CAACzG,GAAG0G,YAAY,CAAC,EAAEtG,IAAAA,eAAO,EAAC;QAC3B,CAACJ,GAAG2G,iBAAiB,CAAC,EAAE3F,IAAAA,eAAO,EAAC4F,oCAAiB,EAAEvF,SAAS;QAC5D,CAACrB,GAAG6G,YAAY,CAAC,EAAE7F,IAAAA,eAAO,EAAC8F,0BAAY,EAAEzF,SAAS;QAClD,CAACrB,GAAG+G,uBAAuB,CAAC,EAAE/F,IAAAA,eAAO,EAACgG,wDAA2B,EAAE3F,SAAS;QAC5E,CAACrB,GAAGiH,YAAY,CAAC,EAAEjG,IAAAA,eAAO,EAACkG,0BAAY,EAAE7F,SAAS;QAClD,CAACrB,GAAGmH,eAAe,CAAC,EAAEnG,IAAAA,eAAO,EAACoG,gCAAe,EAAE5F,SAAS;QACxD,CAACxB,GAAGqH,sBAAsB,CAAC,EAAErG,IAAAA,eAAO,EAACsG,oDAAyB,EAAEjG,SAAS;QACzE,CAACrB,GAAGuH,YAAY,CAAC,EAAEvG,IAAAA,eAAO,EAACwG,0BAAY,EAAEnG,SAAS;QAClD,CAACrB,GAAGyH,eAAe,CAAC,EAAEzG,IAAAA,eAAO,EAAC0G,gCAAe,EAAElG,SAAS;QACxD,CAACxB,GAAG2H,yBAAyB,CAAC,EAAE3G,IAAAA,eAAO,EAAC4G,oDAAyB,EAAEvG,SAAS;QAC5E,CAACrB,GAAG6H,QAAQ,CAAC,EAAE7G,IAAAA,eAAO,EAAC8G,kBAAQ,EAAEzG,SAAS;QAC1C,CAACrB,GAAG+H,WAAW,CAAC,EAAE/G,IAAAA,eAAO,EAACgH,wBAAW,EAAE3G,SAAS;QAChD,CAACrB,GAAGiI,eAAe,CAAC,EAAEjH,IAAAA,eAAO,EAACkH,gCAAe,EAAE7G,SAAS;QACxD,CAACrB,GAAGmI,gBAAgB,CAAC,EAAEnH,IAAAA,eAAO,EAACoH,kCAAgB,EAAE/G,SAAS;QAC1D,CAACrB,GAAGqI,gBAAgB,CAAC,EAAErH,IAAAA,eAAO,EAACsH,kCAAgB,EAAE9G,SAAS;QAE1D,CAACxB,GAAGuI,UAAU,CAAC,EAAEvH,IAAAA,eAAO,EAACwH,sBAAU,EAAEhH,SAAS;QAC9C,CAACxB,GAAGyI,qBAAqB,CAAC,EAAEzH,IAAAA,eAAO,EAAC0H,4CAAqB,EAAElH,SAAS;QACpE,CAACxB,GAAG2I,sBAAsB,CAAC,EAAE3H,IAAAA,eAAO,EAAC4H,8CAAsB,EAAEpH,SAAS;QACtE,CAACxB,GAAG6I,YAAY,CAAC,EAAE7H,IAAAA,eAAO,EAAC8H,0BAAY,EAAEtH,SAAS;QAClD,CAACxB,GAAG+I,kBAAkB,CAAC,EAAE/H,IAAAA,eAAO,EAACgI,sCAAkB,EAAExH,SAAS;QAC9D,CAACxB,GAAGiJ,kBAAkB,CAAC,EAAEjI,IAAAA,eAAO,EAACkI,sCAAkB,EAAE1H,SAAS;QAC9D,CAACxB,GAAGmJ,sBAAsB,CAAC,EAAEnI,IAAAA,eAAO,EAACoI,8CAAsB,EAAE5H,SAAS;QACtE,CAACxB,GAAGqJ,eAAe,CAAC,EAAErI,IAAAA,eAAO,EAACsI,gCAAe,EAAE9H,SAAS;QACxD,CAACxB,GAAGuJ,iBAAiB,CAAC,EAAEvI,IAAAA,eAAO,EAACwI,oCAAiB,EAAEhI,SAAS;QAC5D,CAACxB,GAAGyJ,kBAAkB,CAAC,EAAEzI,IAAAA,eAAO,EAAC0I,sCAAkB,EAAElI,SAAS;QAC9D,CAACxB,GAAG2J,mBAAmB,CAAC,EAAE3I,IAAAA,eAAO,EAAC4I,wCAAmB,EAAEpI,SAAS;QAChE,CAACxB,GAAG6J,0BAA0B,CAAC,EAAE7I,IAAAA,eAAO,EAAC8I,sDAA0B,EAAEtI,SAAS;QAE9E,CAACxB,GAAG+J,QAAQ,CAAC,EAAE/I,IAAAA,eAAO,EAACgJ,kBAAQ;QAC/B,CAAChK,GAAGiK,kBAAkB,CAAC,EAAEjJ,IAAAA,eAAO,EAACkJ,sCAAkB;QACnD,CAAClK,GAAGmK,YAAY,CAAC,EAAEnJ,IAAAA,eAAO,EAACoJ,0BAAY,EAAE5I,SAAS;QAClD,CAACxB,GAAGqK,sBAAsB,CAAC,EAAErJ,IAAAA,eAAO,EAACsJ,wCAAsB,EAAE9I,SAAS;QACtE,CAACxB,GAAGuK,oBAAoB,CAAC,EAAEvJ,IAAAA,eAAO,EAACwJ,0CAAoB,EAAEhJ,SAAS;QAClE,CAACxB,GAAGyK,2BAA2B,CAAC,EAAEzJ,IAAAA,eAAO,EAAC0J,wDAA2B,EAAElJ,SAAS;QAChF,CAACxB,GAAG2K,oBAAoB,CAAC,EAAE3J,IAAAA,eAAO,EAAC4J,0CAAoB,EAAEpJ,SAAS;IACpE;IAEA,OAAO7B;AACT"}
@@ -70,14 +70,12 @@ const DITokens = {
70
70
  settingsStore: "settingsStore",
71
71
  printerSocketStore: "printerSocketStore",
72
72
  testPrinterSocketStore: "testPrinterSocketStore",
73
- printerFilesStore: "printerFilesStore",
74
73
  prusaLinkPollingAdapter: "prusaLinkPollingAdapter",
75
74
  octoPrintSockIoAdapter: "octoPrintSockIoAdapter",
76
75
  moonrakerWebsocketAdapter: "moonrakerWebsocketAdapter",
77
76
  printerCache: "printerCache",
78
77
  printerEventsCache: "printerEventsCache",
79
78
  printerThumbnailCache: "printerThumbnailCache",
80
- fileCache: "fileCache",
81
79
  fileUploadTrackerCache: "fileUploadTrackerCache",
82
80
  bootTask: "bootTask",
83
81
  softwareUpdateTask: "softwareUpdateTask",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/container.tokens.ts"],"names":["DITokens","cradleService","serverVersion","appDefaultRole","appDefaultRoleNoLogin","typeormService","serverHost","exceptionFilter","loggerFactory","httpClientFactory","socketIoGateway","multerService","configService","taskManagerService","toadScheduler","eventEmitter2","printerService","printerTagService","printerMaintenanceLogService","floorPositionService","printJobService","printQueueService","fileStorageService","fileAnalysisService","printFileDownloaderService","floorService","yamlService","settingsService","serverReleaseService","monsterPiService","githubService","octokitService","clientBundleService","logDumpService","userTokenService","authService","refreshTokenService","userService","userRoleService","permissionService","jwtService","roleService","prusaLinkApi","octoprintApi","octoprintClient","moonrakerApi","moonrakerClient","bambuApi","bambuClient","bambuFtpAdapter","bambuMqttAdapter","cameraStreamService","socketFactory","printerApiFactory","printerLogin","batchCallService","influxDbV2BaseService","systemInfoBundleService","floorStore","settingsStore","printerSocketStore","testPrinterSocketStore","printerFilesStore","prusaLinkPollingAdapter","octoPrintSockIoAdapter","moonrakerWebsocketAdapter","printerCache","printerEventsCache","printerThumbnailCache","fileCache","fileUploadTrackerCache","bootTask","softwareUpdateTask","clientDistDownloadTask","socketIoTask","printerWebsocketTask","printerWebsocketRestoreTask","printerFilesLoadTask","printJobAnalysisTask"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,WAAW;IACtBC,eAAe;IAEfC,eAAe;IACfC,gBAAgB;IAChBC,uBAAuB;IACvBC,gBAAgB;IAEhBC,YAAY;IACZC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,eAAe;IACfC,oBAAoB;IACpBC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,mBAAmB;IACnBC,8BAA8B;IAC9BC,sBAAsB;IACtBC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,qBAAqB;IACrBC,4BAA4B;IAC5BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,sBAAsB;IACtBC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,qBAAqB;IACrBC,gBAAgB;IAChBC,kBAAkB;IAClBC,aAAa;IACbC,qBAAqB;IACrBC,aAAa;IACbC,iBAAiB;IACjBC,mBAAmB;IACnBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,iBAAiB;IACjBC,kBAAkB;IAClBC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC,kBAAkB;IAClBC,uBAAuB;IACvBC,yBAAyB;IAEzBC,YAAY;IACZC,eAAe;IACfC,oBAAoB;IACpBC,wBAAwB;IACxBC,mBAAmB;IACnBC,yBAAyB;IACzBC,wBAAwB;IACxBC,2BAA2B;IAE3BC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,WAAW;IACXC,wBAAwB;IAExBC,UAAU;IACVC,oBAAoB;IACpBC,wBAAwB;IACxBC,cAAc;IACdC,sBAAsB;IACtBC,6BAA6B;IAC7BC,sBAAsB;IACtBC,sBAAsB;AACxB"}
1
+ {"version":3,"sources":["../src/container.tokens.ts"],"names":["DITokens","cradleService","serverVersion","appDefaultRole","appDefaultRoleNoLogin","typeormService","serverHost","exceptionFilter","loggerFactory","httpClientFactory","socketIoGateway","multerService","configService","taskManagerService","toadScheduler","eventEmitter2","printerService","printerTagService","printerMaintenanceLogService","floorPositionService","printJobService","printQueueService","fileStorageService","fileAnalysisService","printFileDownloaderService","floorService","yamlService","settingsService","serverReleaseService","monsterPiService","githubService","octokitService","clientBundleService","logDumpService","userTokenService","authService","refreshTokenService","userService","userRoleService","permissionService","jwtService","roleService","prusaLinkApi","octoprintApi","octoprintClient","moonrakerApi","moonrakerClient","bambuApi","bambuClient","bambuFtpAdapter","bambuMqttAdapter","cameraStreamService","socketFactory","printerApiFactory","printerLogin","batchCallService","influxDbV2BaseService","systemInfoBundleService","floorStore","settingsStore","printerSocketStore","testPrinterSocketStore","prusaLinkPollingAdapter","octoPrintSockIoAdapter","moonrakerWebsocketAdapter","printerCache","printerEventsCache","printerThumbnailCache","fileUploadTrackerCache","bootTask","softwareUpdateTask","clientDistDownloadTask","socketIoTask","printerWebsocketTask","printerWebsocketRestoreTask","printerFilesLoadTask","printJobAnalysisTask"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,WAAW;IACtBC,eAAe;IAEfC,eAAe;IACfC,gBAAgB;IAChBC,uBAAuB;IACvBC,gBAAgB;IAEhBC,YAAY;IACZC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,eAAe;IACfC,oBAAoB;IACpBC,eAAe;IACfC,eAAe;IACfC,gBAAgB;IAChBC,mBAAmB;IACnBC,8BAA8B;IAC9BC,sBAAsB;IACtBC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,qBAAqB;IACrBC,4BAA4B;IAC5BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,sBAAsB;IACtBC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,qBAAqB;IACrBC,gBAAgB;IAChBC,kBAAkB;IAClBC,aAAa;IACbC,qBAAqB;IACrBC,aAAa;IACbC,iBAAiB;IACjBC,mBAAmB;IACnBC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,iBAAiB;IACjBC,kBAAkB;IAClBC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC,kBAAkB;IAClBC,uBAAuB;IACvBC,yBAAyB;IAEzBC,YAAY;IACZC,eAAe;IACfC,oBAAoB;IACpBC,wBAAwB;IACxBC,yBAAyB;IACzBC,wBAAwB;IACxBC,2BAA2B;IAE3BC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,wBAAwB;IAExBC,UAAU;IACVC,oBAAoB;IACpBC,wBAAwB;IACxBC,cAAc;IACdC,sBAAsB;IACtBC,6BAA6B;IAC7BC,sBAAsB;IACtBC,sBAAsB;AACxB"}
@@ -16,7 +16,6 @@ const _printerfilescontrollervalidation = require("./validation/printer-files-co
16
16
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
17
17
  const _printer = require("../middleware/printer");
18
18
  const _authorizationconstants = require("../constants/authorization.constants");
19
- const _printerfilesstore = require("../state/printer-files.store");
20
19
  const _multerservice = require("../services/core/multer.service");
21
20
  const _loggerfactory = require("../handlers/logger-factory");
22
21
  const _express = require("express");
@@ -41,16 +40,14 @@ function _ts_metadata(k, v) {
41
40
  }
42
41
  class PrinterFilesController {
43
42
  printerApi;
44
- printerFilesStore;
45
43
  printJobService;
46
44
  fileAnalysisService;
47
45
  fileStorageService;
48
46
  multerService;
49
47
  printerThumbnailCache;
50
48
  logger;
51
- constructor(loggerFactory, printerApi, printerFilesStore, printJobService, fileAnalysisService, fileStorageService, multerService, printerThumbnailCache){
49
+ constructor(loggerFactory, printerApi, printJobService, fileAnalysisService, fileStorageService, multerService, printerThumbnailCache){
52
50
  this.printerApi = printerApi;
53
- this.printerFilesStore = printerFilesStore;
54
51
  this.printJobService = printJobService;
55
52
  this.fileAnalysisService = fileAnalysisService;
56
53
  this.fileStorageService = fileStorageService;
@@ -58,36 +55,29 @@ class PrinterFilesController {
58
55
  this.printerThumbnailCache = printerThumbnailCache;
59
56
  this.logger = loggerFactory(PrinterFilesController.name);
60
57
  }
61
- async purgeIndexedFiles(req, res) {
62
- await this.printerFilesStore.purgeFiles();
63
- res.send();
64
- }
65
58
  async getThumbnails(req, res) {
66
59
  const thumbnails = await this.printerThumbnailCache.getAllValues();
67
60
  res.send(thumbnails);
68
61
  }
69
62
  async getFiles(req, res) {
70
- const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
71
- this.logger.log("Refreshing file storage (eager load)");
72
- const files = await this.printerFilesStore.loadFiles(currentPrinterId);
63
+ const { printerApi } = (0, _printerresolver.getScopedPrinter)(req);
64
+ const { recursive: recursiveStr, startDir } = await (0, _validators.validateInput)(req.query, _printerfilescontrollervalidation.getFilesSchema);
65
+ const recursive = recursiveStr === "true";
66
+ const files = await printerApi.getFiles(recursive, startDir);
73
67
  res.send(files);
74
68
  }
75
69
  async startPrintFile(req, res) {
76
70
  const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
77
71
  const { filePath } = await (0, _validators.validateInput)(req.body, _printerfilescontrollervalidation.startPrintFileSchema);
78
- const encodedFilePath = encodeURIComponent(filePath);
72
+ const encodedFilePath = filePath.split('/').map(encodeURIComponent).join('/');
79
73
  await this.printerApi.startPrint(encodedFilePath);
80
74
  this.logger.log(`Started print for printer ${currentPrinterId}`);
81
75
  res.send();
82
76
  }
83
- async getFilesCache(req, res) {
84
- const { currentPrinter } = (0, _printerresolver.getScopedPrinter)(req);
85
- res.send(this.printerFilesStore.getFiles(currentPrinter.id));
86
- }
87
77
  async downloadFile(req, res) {
88
78
  this.logger.log(`Downloading file ${req.params.path}`);
89
79
  const { path } = await (0, _validators.validateInput)(req.params, _printerfilescontrollervalidation.downloadFileSchema);
90
- const encodedFilePath = encodeURIComponent(path);
80
+ const encodedFilePath = path.split('/').map(encodeURIComponent).join('/');
91
81
  const response = await this.printerApi.downloadFile(encodedFilePath);
92
82
  res.setHeader("Content-Type", response.headers["content-type"]);
93
83
  res.setHeader("Content-Length", response.headers["content-length"]);
@@ -98,33 +88,11 @@ class PrinterFilesController {
98
88
  response.data.pipe(res);
99
89
  }
100
90
  async deleteFileOrFolder(req, res) {
101
- const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
102
91
  const { path } = await (0, _validators.validateInput)(req.query, _printerfilescontrollervalidation.getFileSchema);
103
- const encodedFilePath = encodeURIComponent(path);
92
+ const encodedFilePath = path.split('/').map(encodeURIComponent).join('/');
104
93
  const result = await this.printerApi.deleteFile(encodedFilePath);
105
- await this.printerFilesStore.deleteFile(currentPrinterId, path);
106
94
  res.send(result);
107
95
  }
108
- async clearPrinterFiles(req, res) {
109
- const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
110
- const failedFiles = [];
111
- const succeededFiles = [];
112
- const nonRecursiveFiles = await this.printerApi.getFiles();
113
- for (let file of nonRecursiveFiles){
114
- try {
115
- const encodedFilePath = encodeURIComponent(file.path);
116
- await this.printerApi.deleteFile(encodedFilePath);
117
- succeededFiles.push(file);
118
- } catch (e) {
119
- failedFiles.push(file);
120
- }
121
- }
122
- await this.printerFilesStore.purgePrinterFiles(currentPrinterId);
123
- res.send({
124
- failedFiles,
125
- succeededFiles
126
- });
127
- }
128
96
  async getPrinterThumbnail(req, res) {
129
97
  const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
130
98
  const printerThumbnail = await this.printerThumbnailCache.getValue(currentPrinterId);
@@ -162,7 +130,6 @@ class PrinterFilesController {
162
130
  }
163
131
  throw e;
164
132
  });
165
- await this.printerFilesStore.loadFiles(currentPrinterId);
166
133
  const ext = (0, _nodepath.extname)(uploadedFile.originalname);
167
134
  const tempPathWithExt = uploadedFile.path + ext;
168
135
  try {
@@ -245,17 +212,6 @@ class PrinterFilesController {
245
212
  return _serverconstants.AppConstants.defaultAcceptedGcodeExtensions;
246
213
  }
247
214
  }
248
- _ts_decorate([
249
- (0, _awilixexpress.POST)(),
250
- (0, _awilixexpress.route)("/purge"),
251
- (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
252
- _ts_metadata("design:type", Function),
253
- _ts_metadata("design:paramtypes", [
254
- typeof _express.Request === "undefined" ? Object : _express.Request,
255
- typeof _express.Response === "undefined" ? Object : _express.Response
256
- ]),
257
- _ts_metadata("design:returntype", Promise)
258
- ], PrinterFilesController.prototype, "purgeIndexedFiles", null);
259
215
  _ts_decorate([
260
216
  (0, _awilixexpress.GET)(),
261
217
  (0, _awilixexpress.route)("/thumbnails"),
@@ -290,17 +246,6 @@ _ts_decorate([
290
246
  ]),
291
247
  _ts_metadata("design:returntype", Promise)
292
248
  ], PrinterFilesController.prototype, "startPrintFile", null);
293
- _ts_decorate([
294
- (0, _awilixexpress.GET)(),
295
- (0, _awilixexpress.route)("/:id/cache"),
296
- (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
297
- _ts_metadata("design:type", Function),
298
- _ts_metadata("design:paramtypes", [
299
- typeof _express.Request === "undefined" ? Object : _express.Request,
300
- typeof _express.Response === "undefined" ? Object : _express.Response
301
- ]),
302
- _ts_metadata("design:returntype", Promise)
303
- ], PrinterFilesController.prototype, "getFilesCache", null);
304
249
  _ts_decorate([
305
250
  (0, _awilixexpress.GET)(),
306
251
  (0, _awilixexpress.route)("/:id/download/:path"),
@@ -323,17 +268,6 @@ _ts_decorate([
323
268
  ]),
324
269
  _ts_metadata("design:returntype", Promise)
325
270
  ], PrinterFilesController.prototype, "deleteFileOrFolder", null);
326
- _ts_decorate([
327
- (0, _awilixexpress.DELETE)(),
328
- (0, _awilixexpress.route)("/:id/clear"),
329
- (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
330
- _ts_metadata("design:type", Function),
331
- _ts_metadata("design:paramtypes", [
332
- typeof _express.Request === "undefined" ? Object : _express.Request,
333
- typeof _express.Response === "undefined" ? Object : _express.Response
334
- ]),
335
- _ts_metadata("design:returntype", Promise)
336
- ], PrinterFilesController.prototype, "clearPrinterFiles", null);
337
271
  _ts_decorate([
338
272
  (0, _awilixexpress.GET)(),
339
273
  (0, _awilixexpress.route)("/:id/thumbnail"),
@@ -370,7 +304,6 @@ PrinterFilesController = _ts_decorate([
370
304
  _ts_metadata("design:paramtypes", [
371
305
  typeof _loggerfactory.ILoggerFactory === "undefined" ? Object : _loggerfactory.ILoggerFactory,
372
306
  typeof _printerapiinterface.IPrinterApi === "undefined" ? Object : _printerapiinterface.IPrinterApi,
373
- typeof _printerfilesstore.PrinterFilesStore === "undefined" ? Object : _printerfilesstore.PrinterFilesStore,
374
307
  typeof _printjobservice.PrintJobService === "undefined" ? Object : _printjobservice.PrintJobService,
375
308
  typeof _fileanalysisservice.FileAnalysisService === "undefined" ? Object : _fileanalysisservice.FileAnalysisService,
376
309
  typeof _filestorageservice.FileStorageService === "undefined" ? Object : _filestorageservice.FileStorageService,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/printer-files.controller.ts"],"names":["PrinterFilesController","logger","loggerFactory","printerApi","printerFilesStore","printJobService","fileAnalysisService","fileStorageService","multerService","printerThumbnailCache","name","purgeIndexedFiles","req","res","purgeFiles","send","getThumbnails","thumbnails","getAllValues","getFiles","currentPrinterId","getScopedPrinter","log","files","loadFiles","startPrintFile","filePath","validateInput","body","startPrintFileSchema","encodedFilePath","encodeURIComponent","startPrint","getFilesCache","currentPrinter","id","downloadFile","params","path","downloadFileSchema","response","setHeader","headers","length","data","pipe","deleteFileOrFolder","query","getFileSchema","result","deleteFile","clearPrinterFiles","failedFiles","succeededFiles","nonRecursiveFiles","file","push","e","purgePrinterFiles","getPrinterThumbnail","printerThumbnail","getValue","uploadPrinterFile","acceptedExtensions","getAcceptedFileExtensions","printerType","multerLoadFileAsync","startPrintString","uploadFileSchema","ValidationException","error","join","uploadedFile","token","startTrackingSession","uploadFile","stream","createReadStream","fileName","originalname","contentLength","size","uploadToken","catch","clearUploadedFile","errorSummary","ext","extname","tempPathWithExt","existsSync","NotFoundException","copyFileSync","fileHash","calculateFileHash","substring","existingJob","findDuplicateByHash","metadata","fileStorageId","cachedMetadata","loadMetadata","analysisState","saveMetadata","existingFilePath","getFilePath","analysisResult","analyzeFile","fileFormat","totalLayers","gcodePrintTimeSeconds","filamentUsedGrams","saveFile","thumbnailMetadata","saveThumbnails","job","createPendingJob","updateJob","unlinkSync","captureException","BambuType","AppConstants","defaultAcceptedBambuExtensions","defaultAcceptedGcodeExtensions","PrinterFiles","Clear","Get","Actions","Delete","Upload","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR","printerResolveMiddleware"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/controllers/printer-files.controller.ts"],"names":["PrinterFilesController","logger","loggerFactory","printerApi","printJobService","fileAnalysisService","fileStorageService","multerService","printerThumbnailCache","name","getThumbnails","req","res","thumbnails","getAllValues","send","getFiles","getScopedPrinter","recursive","recursiveStr","startDir","validateInput","query","getFilesSchema","files","startPrintFile","currentPrinterId","filePath","body","startPrintFileSchema","encodedFilePath","split","map","encodeURIComponent","join","startPrint","log","downloadFile","params","path","downloadFileSchema","response","setHeader","headers","length","data","pipe","deleteFileOrFolder","getFileSchema","result","deleteFile","getPrinterThumbnail","printerThumbnail","getValue","uploadPrinterFile","currentPrinter","acceptedExtensions","getAcceptedFileExtensions","printerType","multerLoadFileAsync","startPrintString","uploadFileSchema","ValidationException","error","uploadedFile","token","startTrackingSession","uploadFile","stream","createReadStream","fileName","originalname","contentLength","size","uploadToken","catch","e","clearUploadedFile","errorSummary","ext","extname","tempPathWithExt","existsSync","NotFoundException","copyFileSync","fileHash","calculateFileHash","substring","existingJob","findDuplicateByHash","metadata","fileStorageId","cachedMetadata","loadMetadata","id","analysisState","saveMetadata","existingFilePath","getFilePath","analysisResult","analyzeFile","fileFormat","totalLayers","gcodePrintTimeSeconds","filamentUsedGrams","saveFile","thumbnailMetadata","saveThumbnails","job","createPendingJob","updateJob","unlinkSync","captureException","BambuType","AppConstants","defaultAcceptedBambuExtensions","defaultAcceptedGcodeExtensions","PrinterFiles","Get","Actions","Delete","Upload","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR","printerResolveMiddleware"],"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;;QARAC;eAAAA;;QAYAC;eAAAA;;;qBAdK;AAEX,MAAMD,uBAAuBE,MAAC,CAACC,MAAM,CAAC;IAC3CC,UAAUF,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAC3B;AAEO,MAAMR,qBAAqBI,MAAC,CAACC,MAAM,CAAC;IACzCI,MAAML,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AACvB;AAEO,MAAMP,gBAAgBG,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"}
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"}
@@ -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.1",
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;QAAU;KAAO;IAClDC,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"}
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
- this.logger.debug("Listing files", this.logMeta());
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 files = await this.client.ftp.listFiles("/");
147
- return files.filter((f)=>f.isFile).map((f)=>({
148
- path: f.name,
149
- size: f.size,
150
- date: f.modifiedAt ? new Date(f.modifiedAt).getTime() : null
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
- const response = {
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","filter","isFile","map","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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"}
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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"}