@fdm-monster/server 1.8.3 → 1.9.0-rc1

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 (439) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +50 -1
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +5 -21
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +13 -14
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +3 -4
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +42 -28
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +73 -26
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +57 -198
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -116
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -33
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +1 -1
  197. package/dist/services/core/http-client.factory.js.map +1 -1
  198. package/dist/services/core/logs-manager.service.js +3 -3
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +8 -7
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/floor.dto.js +5 -47
  212. package/dist/services/interfaces/floor.dto.js.map +1 -1
  213. package/dist/services/interfaces/login.dto.js +2 -0
  214. package/dist/services/interfaces/login.dto.js.map +1 -1
  215. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  216. package/dist/services/interfaces/printer-group.dto.js +0 -14
  217. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer.dto.js +11 -11
  219. package/dist/services/interfaces/printer.dto.js.map +1 -1
  220. package/dist/services/interfaces/settings.dto.js.map +1 -1
  221. package/dist/services/interfaces/task.interfaces.js +6 -0
  222. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  223. package/dist/services/mongoose/camera-stream.service.js +17 -15
  224. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  225. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  226. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  227. package/dist/services/mongoose/floor.service.js +37 -30
  228. package/dist/services/mongoose/floor.service.js.map +1 -1
  229. package/dist/services/mongoose/permission.service.js +1 -1
  230. package/dist/services/mongoose/permission.service.js.map +1 -1
  231. package/dist/services/mongoose/print-completion.service.js +2 -2
  232. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.shared.js +2 -2
  234. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  235. package/dist/services/mongoose/printer.service.js +33 -45
  236. package/dist/services/mongoose/printer.service.js.map +1 -1
  237. package/dist/services/mongoose/refresh-token.service.js +5 -8
  238. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  239. package/dist/services/mongoose/role.service.js +14 -5
  240. package/dist/services/mongoose/role.service.js.map +1 -1
  241. package/dist/services/mongoose/settings.service.js +35 -62
  242. package/dist/services/mongoose/settings.service.js.map +1 -1
  243. package/dist/services/mongoose/user.service.js +8 -7
  244. package/dist/services/mongoose/user.service.js.map +1 -1
  245. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  246. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  247. package/dist/services/moonraker/moonraker-websocket.adapter.js +102 -94
  248. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  249. package/dist/services/moonraker/moonraker.client.js +19 -14
  250. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  251. package/dist/services/moonraker.api.js +3 -5
  252. package/dist/services/moonraker.api.js.map +1 -1
  253. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  254. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  256. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  257. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  258. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  259. package/dist/services/octoprint/octoprint-api.routes.js +0 -37
  260. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
  262. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  263. package/dist/services/octoprint/octoprint.client.js +12 -185
  264. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  265. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  266. package/dist/services/octoprint.api.js +8 -14
  267. package/dist/services/octoprint.api.js.map +1 -1
  268. package/dist/services/orm/base.service.js +11 -12
  269. package/dist/services/orm/base.service.js.map +1 -1
  270. package/dist/services/orm/camera-stream.service.js +5 -1
  271. package/dist/services/orm/camera-stream.service.js.map +1 -1
  272. package/dist/services/orm/custom-gcode.service.js +2 -2
  273. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  274. package/dist/services/orm/floor-position.service.js +0 -5
  275. package/dist/services/orm/floor-position.service.js.map +1 -1
  276. package/dist/services/orm/floor.service.js +43 -39
  277. package/dist/services/orm/floor.service.js.map +1 -1
  278. package/dist/services/orm/permission.service.js +3 -4
  279. package/dist/services/orm/permission.service.js.map +1 -1
  280. package/dist/services/orm/print-completion.service.js +2 -4
  281. package/dist/services/orm/print-completion.service.js.map +1 -1
  282. package/dist/services/orm/printer-group.service.js +2 -7
  283. package/dist/services/orm/printer-group.service.js.map +1 -1
  284. package/dist/services/orm/printer.service.js +21 -36
  285. package/dist/services/orm/printer.service.js.map +1 -1
  286. package/dist/services/orm/refresh-token.service.js +5 -11
  287. package/dist/services/orm/refresh-token.service.js.map +1 -1
  288. package/dist/services/orm/role.service.js +11 -10
  289. package/dist/services/orm/role.service.js.map +1 -1
  290. package/dist/services/orm/settings.service.js +37 -133
  291. package/dist/services/orm/settings.service.js.map +1 -1
  292. package/dist/services/orm/user.service.js +13 -15
  293. package/dist/services/orm/user.service.js.map +1 -1
  294. package/dist/services/printer-api.factory.js +9 -6
  295. package/dist/services/printer-api.factory.js.map +1 -1
  296. package/dist/services/printer-api.interface.js +13 -6
  297. package/dist/services/printer-api.interface.js.map +1 -1
  298. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  299. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  300. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  301. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  302. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  303. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  304. package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
  305. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  306. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  307. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  308. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  309. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  310. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  311. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  312. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  313. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  314. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  315. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  316. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  317. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  318. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  319. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  320. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  321. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  322. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  323. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  324. package/dist/services/socket.factory.js +9 -6
  325. package/dist/services/socket.factory.js.map +1 -1
  326. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  327. package/dist/services/task-manager.service.js.map +1 -0
  328. package/dist/services/validators/camera-service.validation.js +19 -0
  329. package/dist/services/validators/camera-service.validation.js.map +1 -0
  330. package/dist/services/validators/floor-service.validation.js +47 -36
  331. package/dist/services/validators/floor-service.validation.js.map +1 -1
  332. package/dist/services/validators/print-completion-service.validation.js +22 -9
  333. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  334. package/dist/services/validators/printer-service.validation.js +112 -29
  335. package/dist/services/validators/printer-service.validation.js.map +1 -1
  336. package/dist/services/validators/settings-service.validation.js +78 -66
  337. package/dist/services/validators/settings-service.validation.js.map +1 -1
  338. package/dist/services/validators/user-service.validation.js +17 -16
  339. package/dist/services/validators/user-service.validation.js.map +1 -1
  340. package/dist/services/validators/yaml-service.validation.js +94 -51
  341. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  342. package/dist/shared/default-http-client.builder.js.map +1 -1
  343. package/dist/shared/load-controllers.js +20 -0
  344. package/dist/shared/load-controllers.js.map +1 -0
  345. package/dist/shared/runtime-settings.migration.js +46 -0
  346. package/dist/shared/runtime-settings.migration.js.map +1 -0
  347. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  348. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  349. package/dist/shared/websocket.adapter.js +4 -5
  350. package/dist/shared/websocket.adapter.js.map +1 -1
  351. package/dist/state/file-upload-tracker.cache.js +5 -4
  352. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  353. package/dist/state/file.cache.js +1 -1
  354. package/dist/state/file.cache.js.map +1 -1
  355. package/dist/state/floor.store.js +6 -6
  356. package/dist/state/floor.store.js.map +1 -1
  357. package/dist/state/printer-events.cache.js +21 -22
  358. package/dist/state/printer-events.cache.js.map +1 -1
  359. package/dist/state/printer-files.store.js +6 -8
  360. package/dist/state/printer-files.store.js.map +1 -1
  361. package/dist/state/printer-socket.store.js +27 -50
  362. package/dist/state/printer-socket.store.js.map +1 -1
  363. package/dist/state/printer-thumbnail.cache.js +5 -9
  364. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  365. package/dist/state/printer.cache.js +14 -12
  366. package/dist/state/printer.cache.js.map +1 -1
  367. package/dist/state/settings.store.js +74 -50
  368. package/dist/state/settings.store.js.map +1 -1
  369. package/dist/state/socket-io.gateway.js +39 -36
  370. package/dist/state/socket-io.gateway.js.map +1 -1
  371. package/dist/state/test-printer-socket.store.js +20 -15
  372. package/dist/state/test-printer-socket.store.js.map +1 -1
  373. package/dist/state/validation/create-test-printer.validation.js +13 -11
  374. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  375. package/dist/task.presets.js.map +1 -1
  376. package/dist/tasks/boot.task.js +14 -19
  377. package/dist/tasks/boot.task.js.map +1 -1
  378. package/dist/tasks/client-bundle.task.js +1 -3
  379. package/dist/tasks/client-bundle.task.js.map +1 -1
  380. package/dist/tasks/print-completion.socketio.task.js +27 -28
  381. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  382. package/dist/tasks/printer-file-clean.task.js +6 -10
  383. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  384. package/dist/tasks/printer-websocket-restore.task.js +3 -14
  385. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  386. package/dist/tasks/printer-websocket.task.js +2 -14
  387. package/dist/tasks/printer-websocket.task.js.map +1 -1
  388. package/dist/tasks/socketio.task.js +6 -33
  389. package/dist/tasks/socketio.task.js.map +1 -1
  390. package/dist/tasks/software-update.task.js +1 -1
  391. package/dist/tasks/software-update.task.js.map +1 -1
  392. package/dist/tasks.js +3 -3
  393. package/dist/tasks.js.map +1 -1
  394. package/dist/utils/array.util.js.map +1 -1
  395. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  396. package/dist/utils/env.utils.js +0 -2
  397. package/dist/utils/env.utils.js.map +1 -1
  398. package/dist/utils/normalize-url.js +3 -2
  399. package/dist/utils/normalize-url.js.map +1 -1
  400. package/dist/utils/printer-type.utils.js.map +1 -1
  401. package/dist/utils/time.utils.js +7 -17
  402. package/dist/utils/time.utils.js.map +1 -1
  403. package/dist/utils/url.utils.js +3 -4
  404. package/dist/utils/url.utils.js.map +1 -1
  405. package/package.json +44 -47
  406. package/tsconfig.json +2 -1
  407. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  408. package/dist/consoles/check-ports.js +0 -170
  409. package/dist/consoles/check-ports.js.map +0 -1
  410. package/dist/consoles/http-file-receiver.console.js +0 -81
  411. package/dist/consoles/http-file-receiver.console.js.map +0 -1
  412. package/dist/consoles/sqlite-torm.js +0 -31
  413. package/dist/consoles/sqlite-torm.js.map +0 -1
  414. package/dist/consoles/upload-test.js +0 -52
  415. package/dist/consoles/upload-test.js.map +0 -1
  416. package/dist/controllers/plugin-firmware-update.controller.js +0 -234
  417. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  418. package/dist/entities/base.entity.js +0 -29
  419. package/dist/entities/base.entity.js.map +0 -1
  420. package/dist/entities/printer-file.entity.js +0 -140
  421. package/dist/entities/printer-file.entity.js.map +0 -1
  422. package/dist/handlers/cache-manager.js +0 -18
  423. package/dist/handlers/cache-manager.js.map +0 -1
  424. package/dist/models/PrinterFile.js +0 -44
  425. package/dist/models/PrinterFile.js.map +0 -1
  426. package/dist/services/core/task-manager.service.js.map +0 -1
  427. package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
  428. package/dist/services/octoprint/plugin-base.service.js +0 -101
  429. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  430. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  431. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  432. package/dist/services/octoprint/plugin-repository.cache.js +0 -46
  433. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  434. package/dist/utils/benchmark.util.js +0 -39
  435. package/dist/utils/benchmark.util.js.map +0 -1
  436. package/dist/utils/is-docker.js +0 -40
  437. package/dist/utils/is-docker.js.map +0 -1
  438. package/dist/utils/metric.utils.js +0 -35
  439. package/dist/utils/metric.utils.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "MetricsController", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return MetricsController;
9
+ }
10
+ });
11
+ const _awilixexpress = require("awilix-express");
12
+ const _promclient = require("prom-client");
13
+ const _express = require("express");
14
+ const _configservice = require("../services/core/config.service");
15
+ const _serverconstants = require("../server.constants");
16
+ function _ts_decorate(decorators, target, key, desc) {
17
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
19
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
20
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
21
+ }
22
+ function _ts_metadata(k, v) {
23
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
24
+ }
25
+ class MetricsController {
26
+ configService;
27
+ constructor(configService){
28
+ this.configService = configService;
29
+ }
30
+ async getMetrics(req, res) {
31
+ if (this.configService.get(_serverconstants.AppConstants.ENABLE_PROMETHEUS_METRICS) !== "true") {
32
+ return res.status(404).send("Metrics disabled");
33
+ }
34
+ res.setHeader("Content-Type", _promclient.register.contentType);
35
+ res.end(await _promclient.register.metrics());
36
+ }
37
+ }
38
+ _ts_decorate([
39
+ (0, _awilixexpress.GET)(),
40
+ (0, _awilixexpress.route)(""),
41
+ _ts_metadata("design:type", Function),
42
+ _ts_metadata("design:paramtypes", [
43
+ typeof _express.Request === "undefined" ? Object : _express.Request,
44
+ typeof _express.Response === "undefined" ? Object : _express.Response
45
+ ]),
46
+ _ts_metadata("design:returntype", Promise)
47
+ ], MetricsController.prototype, "getMetrics", null);
48
+ MetricsController = _ts_decorate([
49
+ (0, _awilixexpress.route)("/metrics"),
50
+ _ts_metadata("design:type", Function),
51
+ _ts_metadata("design:paramtypes", [
52
+ typeof _configservice.IConfigService === "undefined" ? Object : _configservice.IConfigService
53
+ ])
54
+ ], MetricsController);
55
+
56
+ //# sourceMappingURL=metrics.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/metrics.controller.ts"],"names":["MetricsController","constructor","configService","getMetrics","req","res","get","AppConstants","ENABLE_PROMETHEUS_METRICS","status","send","setHeader","register","contentType","end","metrics"],"mappings":";;;;+BAOaA;;;eAAAA;;;+BAPc;4BACF;yBACS;+BACH;iCACF;;;;;;;;;;AAGtB,MAAMA;;IACXC,YAAY,AAAiBC,aAA6B,CAAE;aAA/BA,gBAAAA;IAC7B;IAEA,MAEMC,WAAWC,GAAY,EAAEC,GAAa,EAAE;QAC5C,IAAI,IAAI,CAACH,aAAa,CAACI,GAAG,CAASC,6BAAY,CAACC,yBAAyB,MAAM,QAAQ;YACrF,OAAOH,IAAII,MAAM,CAAC,KAAKC,IAAI,CAAC;QAC9B;QACAL,IAAIM,SAAS,CAAC,gBAAgBC,oBAAQ,CAACC,WAAW;QAClDR,IAAIS,GAAG,CAAC,MAAMF,oBAAQ,CAACG,OAAO;IAChC;AACF"}
@@ -2,18 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- PrintCompletionController: function() {
5
+ Object.defineProperty(exports, "PrintCompletionController", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return PrintCompletionController;
14
- },
15
- default: function() {
16
- return _default;
17
9
  }
18
10
  });
19
11
  const _authenticate = require("../middleware/authenticate");
@@ -21,10 +13,23 @@ const _awilixexpress = require("awilix-express");
21
13
  const _serverconstants = require("../server.constants");
22
14
  const _authorizationconstants = require("../constants/authorization.constants");
23
15
  const _validators = require("../handlers/validators");
16
+ const _printcompletionsocketiotask = require("../tasks/print-completion.socketio.task");
17
+ const _express = require("express");
18
+ const _printcompletioninterface = require("../services/interfaces/print-completion.interface");
19
+ const _printercompletioncontrollervalidation = require("./validation/printer-completion-controller.validation");
20
+ function _ts_decorate(decorators, target, key, desc) {
21
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
22
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
24
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
25
+ }
26
+ function _ts_metadata(k, v) {
27
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
28
+ }
24
29
  class PrintCompletionController {
25
30
  printCompletionService;
26
31
  printCompletionSocketIoTask;
27
- constructor({ printCompletionService, printCompletionSocketIoTask }){
32
+ constructor(printCompletionService, printCompletionSocketIoTask){
28
33
  this.printCompletionService = printCompletionService;
29
34
  this.printCompletionSocketIoTask = printCompletionSocketIoTask;
30
35
  }
@@ -37,9 +42,7 @@ class PrintCompletionController {
37
42
  res.send(contexts);
38
43
  }
39
44
  async findCorrelatedEntries(req, res) {
40
- const { correlationId } = await (0, _validators.validateInput)(req.params, {
41
- correlationId: "required|string"
42
- });
45
+ const { correlationId } = await (0, _validators.validateInput)(req.params, _printercompletioncontrollervalidation.findPrinterCompletionSchema);
43
46
  const result = await this.printCompletionService.findPrintCompletion(correlationId);
44
47
  res.send(result);
45
48
  }
@@ -48,8 +51,68 @@ class PrintCompletionController {
48
51
  res.send(completions);
49
52
  }
50
53
  }
51
- const _default = (0, _awilixexpress.createController)(PrintCompletionController).prefix(_serverconstants.AppConstants.apiRoute + "/print-completion").before([
52
- (0, _authenticate.authenticate)()
53
- ]).get("/", "list", (0, _authenticate.withPermission)(_authorizationconstants.PERMS.PrintCompletion.List)).get("/test", "test", (0, _authenticate.withPermission)(_authorizationconstants.PERMS.PrintCompletion.List)).get("/contexts", "contexts", (0, _authenticate.withPermission)(_authorizationconstants.PERMS.PrintCompletion.List)).get("/:correlationId", "findCorrelatedEntries", (0, _authenticate.withPermission)(_authorizationconstants.PERMS.PrintCompletion.Default));
54
+ _ts_decorate([
55
+ (0, _awilixexpress.GET)(),
56
+ (0, _awilixexpress.route)("/test"),
57
+ (0, _awilixexpress.before)([
58
+ (0, _authenticate.permission)(_authorizationconstants.PERMS.PrintCompletion.List)
59
+ ]),
60
+ _ts_metadata("design:type", Function),
61
+ _ts_metadata("design:paramtypes", [
62
+ typeof _express.Request === "undefined" ? Object : _express.Request,
63
+ typeof _express.Response === "undefined" ? Object : _express.Response
64
+ ]),
65
+ _ts_metadata("design:returntype", Promise)
66
+ ], PrintCompletionController.prototype, "test", null);
67
+ _ts_decorate([
68
+ (0, _awilixexpress.GET)(),
69
+ (0, _awilixexpress.route)("/contexts"),
70
+ (0, _awilixexpress.before)([
71
+ (0, _authenticate.permission)(_authorizationconstants.PERMS.PrintCompletion.List)
72
+ ]),
73
+ _ts_metadata("design:type", Function),
74
+ _ts_metadata("design:paramtypes", [
75
+ typeof _express.Request === "undefined" ? Object : _express.Request,
76
+ typeof _express.Response === "undefined" ? Object : _express.Response
77
+ ]),
78
+ _ts_metadata("design:returntype", void 0)
79
+ ], PrintCompletionController.prototype, "contexts", null);
80
+ _ts_decorate([
81
+ (0, _awilixexpress.GET)(),
82
+ (0, _awilixexpress.route)("/:correlationId"),
83
+ (0, _awilixexpress.before)([
84
+ (0, _authenticate.permission)(_authorizationconstants.PERMS.PrintCompletion.Default)
85
+ ]),
86
+ _ts_metadata("design:type", Function),
87
+ _ts_metadata("design:paramtypes", [
88
+ typeof _express.Request === "undefined" ? Object : _express.Request,
89
+ typeof _express.Response === "undefined" ? Object : _express.Response
90
+ ]),
91
+ _ts_metadata("design:returntype", Promise)
92
+ ], PrintCompletionController.prototype, "findCorrelatedEntries", null);
93
+ _ts_decorate([
94
+ (0, _awilixexpress.GET)(),
95
+ (0, _awilixexpress.route)("/"),
96
+ (0, _awilixexpress.before)([
97
+ (0, _authenticate.permission)(_authorizationconstants.PERMS.PrintCompletion.List)
98
+ ]),
99
+ _ts_metadata("design:type", Function),
100
+ _ts_metadata("design:paramtypes", [
101
+ typeof _express.Request === "undefined" ? Object : _express.Request,
102
+ typeof _express.Response === "undefined" ? Object : _express.Response
103
+ ]),
104
+ _ts_metadata("design:returntype", Promise)
105
+ ], PrintCompletionController.prototype, "list", null);
106
+ PrintCompletionController = _ts_decorate([
107
+ (0, _awilixexpress.route)(_serverconstants.AppConstants.apiRoute + "/print-completion"),
108
+ (0, _awilixexpress.before)([
109
+ (0, _authenticate.authenticate)()
110
+ ]),
111
+ _ts_metadata("design:type", Function),
112
+ _ts_metadata("design:paramtypes", [
113
+ typeof _printcompletioninterface.IPrintCompletionService === "undefined" ? Object : _printcompletioninterface.IPrintCompletionService,
114
+ typeof _printcompletionsocketiotask.PrintCompletionSocketIoTask === "undefined" ? Object : _printcompletionsocketiotask.PrintCompletionSocketIoTask
115
+ ])
116
+ ], PrintCompletionController);
54
117
 
55
118
  //# sourceMappingURL=print-completion.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/print-completion.controller.ts"],"names":["PrintCompletionController","printCompletionService","printCompletionSocketIoTask","constructor","test","req","res","result","loadPrintContexts","send","contexts","findCorrelatedEntries","correlationId","validateInput","params","findPrintCompletion","list","completions","listGroupByPrinterStatus","createController","prefix","AppConstants","apiRoute","before","authenticate","get","withPermission","PERMS","PrintCompletion","List","Default"],"mappings":";;;;;;;;;;;IASaA,yBAAyB;eAAzBA;;IAwCb,OAMkG;eANlG;;;8BAjD6C;+BACZ;iCACJ;wCACP;4BACQ;AAKvB,MAAMA;IACHC,uBAAgD;IAChDC,4BAAyD;IAEjEC,YAAY,EACVF,sBAAsB,EACtBC,2BAA2B,EAI5B,CAAE;QACD,IAAI,CAACD,sBAAsB,GAAGA;QAC9B,IAAI,CAACC,2BAA2B,GAAGA;IACrC;IAKA,MAAME,KAAKC,GAAY,EAAEC,GAAa,EAAE;QACtC,MAAMC,SAAS,MAAM,IAAI,CAACN,sBAAsB,CAACO,iBAAiB;QAClEF,IAAIG,IAAI,CAACF;IACX;IAEAG,SAASL,GAAY,EAAEC,GAAa,EAAE;QACpC,MAAMI,WAAW,IAAI,CAACR,2BAA2B,CAACQ,QAAQ;QAC1DJ,IAAIG,IAAI,CAACC;IACX;IAEA,MAAMC,sBAAsBN,GAAY,EAAEC,GAAa,EAAE;QACvD,MAAM,EAAEM,aAAa,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACR,IAAIS,MAAM,EAAE;YAAEF,eAAe;QAAkB;QAC7F,MAAML,SAAS,MAAM,IAAI,CAACN,sBAAsB,CAACc,mBAAmB,CAACH;QACrEN,IAAIG,IAAI,CAACF;IACX;IAEA,MAAMS,KAAKX,GAAY,EAAEC,GAAa,EAAE;QACtC,MAAMW,cAAc,MAAM,IAAI,CAAChB,sBAAsB,CAACiB,wBAAwB;QAC9EZ,IAAIG,IAAI,CAACQ;IACX;AACF;MAEA,WAAeE,IAAAA,+BAAgB,EAACnB,2BAC7BoB,MAAM,CAACC,6BAAY,CAACC,QAAQ,GAAG,qBAC/BC,MAAM,CAAC;IAACC,IAAAA,0BAAY;CAAG,EACvBC,GAAG,CAAC,KAAK,QAAQC,IAAAA,4BAAc,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI,GAC1DJ,GAAG,CAAC,SAAS,QAAQC,IAAAA,4BAAc,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI,GAC9DJ,GAAG,CAAC,aAAa,YAAYC,IAAAA,4BAAc,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI,GACtEJ,GAAG,CAAC,mBAAmB,yBAAyBC,IAAAA,4BAAc,EAACC,6BAAK,CAACC,eAAe,CAACE,OAAO"}
1
+ {"version":3,"sources":["../../src/controllers/print-completion.controller.ts"],"names":["PrintCompletionController","constructor","printCompletionService","printCompletionSocketIoTask","test","req","res","result","loadPrintContexts","send","contexts","findCorrelatedEntries","correlationId","validateInput","params","findPrinterCompletionSchema","findPrintCompletion","list","completions","listGroupByPrinterStatus","permission","PERMS","PrintCompletion","List","Default","AppConstants","apiRoute","authenticate"],"mappings":";;;;+BAYaA;;;eAAAA;;;8BAZ4B;+BACN;iCACN;wCACP;4BACQ;6CACc;yBACV;0CACM;uDACI;;;;;;;;;;AAIrC,MAAMA;;;IACXC,YACE,AAAiBC,sBAA+C,EAChE,AAAiBC,2BAAwD,CACzE;aAFiBD,yBAAAA;aACAC,8BAAAA;IAChB;IAKH,MAGMC,KAAKC,GAAY,EAAEC,GAAa,EAAE;QACtC,MAAMC,SAAS,MAAM,IAAI,CAACL,sBAAsB,CAACM,iBAAiB;QAClEF,IAAIG,IAAI,CAACF;IACX;IAKAG,SAASL,GAAY,EAAEC,GAAa,EAAE;QACpC,MAAMI,WAAW,IAAI,CAACP,2BAA2B,CAACO,QAAQ;QAC1DJ,IAAIG,IAAI,CAACC;IACX;IAEA,MAGMC,sBAAsBN,GAAY,EAAEC,GAAa,EAAE;QACvD,MAAM,EAAEM,aAAa,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACR,IAAIS,MAAM,EAAEC,kEAA2B;QACrF,MAAMR,SAAS,MAAM,IAAI,CAACL,sBAAsB,CAACc,mBAAmB,CAACJ;QACrEN,IAAIG,IAAI,CAACF;IACX;IAEA,MAGMU,KAAKZ,GAAY,EAAEC,GAAa,EAAE;QACtC,MAAMY,cAAc,MAAM,IAAI,CAAChB,sBAAsB,CAACiB,wBAAwB;QAC9Eb,IAAIG,IAAI,CAACS;IACX;AACF;;;;;QA9BWE,IAAAA,wBAAU,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI;;;;;;;;;;;;;QAQrCH,IAAAA,wBAAU,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI;;;;;;;;;;;;;QAQrCH,IAAAA,wBAAU,EAACC,6BAAK,CAACC,eAAe,CAACE,OAAO;;;;;;;;;;;;;QASxCJ,IAAAA,wBAAU,EAACC,6BAAK,CAACC,eAAe,CAACC,IAAI;;;;;;;;;;8BAtCzCE,6BAAY,CAACC,QAAQ,GAAG;;QACtBC,IAAAA,0BAAY"}
@@ -16,9 +16,18 @@ 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
+ const _settingsstore = require("../state/settings.store");
21
+ const _multerservice = require("../services/core/multer.service");
22
+ const _printerfilecleantask = require("../tasks/printer-file-clean.task");
23
+ const _loggerfactory = require("../handlers/logger-factory");
19
24
  const _express = require("express");
25
+ const _printerapiinterface = require("../services/printer-api.interface");
26
+ const _printerthumbnailcache = require("../state/printer-thumbnail.cache");
20
27
  const _node = require("@sentry/node");
21
28
  const _errorutils = require("../utils/error.utils");
29
+ const _logindto = require("../services/interfaces/login.dto");
30
+ const _printerresolver = require("../middleware/printer-resolver");
22
31
  function _ts_decorate(decorators, target, key, desc) {
23
32
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
33
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -31,20 +40,18 @@ function _ts_metadata(k, v) {
31
40
  class PrinterFilesController {
32
41
  printerApi;
33
42
  printerLogin;
34
- printerThumbnailCache;
35
43
  printerFilesStore;
44
+ printerFileCleanTask;
36
45
  settingsStore;
37
- batchCallService;
38
46
  multerService;
39
- printerFileCleanTask;
47
+ printerThumbnailCache;
40
48
  logger;
41
- constructor({ printerApi, printerLogin, printerFilesStore, batchCallService, printerFileCleanTask, settingsStore, loggerFactory, multerService, printerThumbnailCache }){
49
+ constructor(loggerFactory, printerApi, printerLogin, printerFilesStore, printerFileCleanTask, settingsStore, multerService, printerThumbnailCache){
42
50
  this.printerApi = printerApi;
43
51
  this.printerLogin = printerLogin;
44
52
  this.printerFilesStore = printerFilesStore;
45
- this.settingsStore = settingsStore;
46
53
  this.printerFileCleanTask = printerFileCleanTask;
47
- this.batchCallService = batchCallService;
54
+ this.settingsStore = settingsStore;
48
55
  this.multerService = multerService;
49
56
  this.printerThumbnailCache = printerThumbnailCache;
50
57
  this.logger = loggerFactory(PrinterFilesController.name);
@@ -58,13 +65,13 @@ class PrinterFilesController {
58
65
  res.send(thumbnails);
59
66
  }
60
67
  async getFiles(req, res) {
61
- const { currentPrinterId } = (0, _validators.getScopedPrinter)(req);
68
+ const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
62
69
  this.logger.log("Refreshing file storage (eager load)");
63
70
  const files = await this.printerFilesStore.loadFiles(currentPrinterId);
64
71
  res.send(files);
65
72
  }
66
73
  async reloadThumbnail(req, res) {
67
- const { filePath } = await (0, _validators.validateInput)(req.body, _printerfilescontrollervalidation.startPrintFileRules);
74
+ const { filePath } = await (0, _validators.validateInput)(req.body, _printerfilescontrollervalidation.startPrintFileSchema);
68
75
  try {
69
76
  if (this.settingsStore.isThumbnailSupportEnabled()) {
70
77
  await this.printerThumbnailCache.loadPrinterThumbnailRemote(this.printerLogin, req.params.id, filePath);
@@ -76,7 +83,7 @@ class PrinterFilesController {
76
83
  res.send();
77
84
  }
78
85
  async startPrintFile(req, res) {
79
- const { filePath } = await (0, _validators.validateInput)(req.body, _printerfilescontrollervalidation.startPrintFileRules);
86
+ const { filePath } = await (0, _validators.validateInput)(req.body, _printerfilescontrollervalidation.startPrintFileSchema);
80
87
  const encodedFilePath = encodeURIComponent(filePath);
81
88
  await this.printerApi.startPrint(encodedFilePath);
82
89
  try {
@@ -90,12 +97,12 @@ class PrinterFilesController {
90
97
  res.send();
91
98
  }
92
99
  async getFilesCache(req, res) {
93
- const { currentPrinter } = (0, _validators.getScopedPrinter)(req);
100
+ const { currentPrinter } = (0, _printerresolver.getScopedPrinter)(req);
94
101
  res.send(this.printerFilesStore.getFiles(currentPrinter.id));
95
102
  }
96
103
  async downloadFile(req, res) {
97
104
  this.logger.log(`Downloading file ${req.params.path}`);
98
- const { path } = await (0, _validators.validateInput)(req.params, _printerfilescontrollervalidation.downloadFileRules);
105
+ const { path } = await (0, _validators.validateInput)(req.params, _printerfilescontrollervalidation.downloadFileSchema);
99
106
  const encodedFilePath = encodeURIComponent(path);
100
107
  const response = await this.printerApi.downloadFile(encodedFilePath);
101
108
  res.setHeader("Content-Type", response.headers["content-type"]);
@@ -107,15 +114,15 @@ class PrinterFilesController {
107
114
  response.data.pipe(res);
108
115
  }
109
116
  async deleteFileOrFolder(req, res) {
110
- const { currentPrinterId } = (0, _validators.getScopedPrinter)(req);
111
- const { path } = await (0, _validators.validateInput)(req.query, _printerfilescontrollervalidation.getFileRules);
117
+ const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
118
+ const { path } = await (0, _validators.validateInput)(req.query, _printerfilescontrollervalidation.getFileSchema);
112
119
  const encodedFilePath = encodeURIComponent(path);
113
120
  const result = await this.printerApi.deleteFile(encodedFilePath);
114
121
  await this.printerFilesStore.deleteFile(currentPrinterId, path);
115
122
  res.send(result);
116
123
  }
117
124
  async clearPrinterFiles(req, res) {
118
- const { currentPrinterId } = (0, _validators.getScopedPrinter)(req);
125
+ const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
119
126
  const failedFiles = [];
120
127
  const succeededFiles = [];
121
128
  const nonRecursiveFiles = await this.printerApi.getFiles();
@@ -135,12 +142,12 @@ class PrinterFilesController {
135
142
  });
136
143
  }
137
144
  async getPrinterThumbnail(req, res) {
138
- const { currentPrinterId } = (0, _validators.getScopedPrinter)(req);
145
+ const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
139
146
  const printerThumbnail = await this.printerThumbnailCache.getValue(currentPrinterId.toString());
140
147
  res.send(printerThumbnail);
141
148
  }
142
149
  async uploadPrinterFile(req, res) {
143
- const { currentPrinterId } = (0, _validators.getScopedPrinter)(req);
150
+ const { currentPrinterId } = (0, _printerresolver.getScopedPrinter)(req);
144
151
  const files = await this.multerService.multerLoadFileAsync(req, res, _serverconstants.AppConstants.defaultAcceptedGcodeExtensions, true);
145
152
  if (!files?.length) {
146
153
  throw new _runtimeexceptions.ValidationException({
@@ -186,7 +193,7 @@ class PrinterFilesController {
186
193
  _ts_decorate([
187
194
  (0, _awilixexpress.POST)(),
188
195
  (0, _awilixexpress.route)("/purge"),
189
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
196
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
190
197
  _ts_metadata("design:type", Function),
191
198
  _ts_metadata("design:paramtypes", [
192
199
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -197,7 +204,7 @@ _ts_decorate([
197
204
  _ts_decorate([
198
205
  (0, _awilixexpress.GET)(),
199
206
  (0, _awilixexpress.route)("/thumbnails"),
200
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
207
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
201
208
  _ts_metadata("design:type", Function),
202
209
  _ts_metadata("design:paramtypes", [
203
210
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -208,7 +215,7 @@ _ts_decorate([
208
215
  _ts_decorate([
209
216
  (0, _awilixexpress.GET)(),
210
217
  (0, _awilixexpress.route)("/:id"),
211
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
218
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
212
219
  _ts_metadata("design:type", Function),
213
220
  _ts_metadata("design:paramtypes", [
214
221
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -219,7 +226,7 @@ _ts_decorate([
219
226
  _ts_decorate([
220
227
  (0, _awilixexpress.POST)(),
221
228
  (0, _awilixexpress.route)("/:id/reload-thumbnail"),
222
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Actions)),
229
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Actions)),
223
230
  _ts_metadata("design:type", Function),
224
231
  _ts_metadata("design:paramtypes", [
225
232
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -231,7 +238,7 @@ _ts_decorate([
231
238
  (0, _awilixexpress.POST)(),
232
239
  (0, _awilixexpress.route)("/:id/select"),
233
240
  (0, _awilixexpress.route)("/:id/print"),
234
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Actions)),
241
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Actions)),
235
242
  _ts_metadata("design:type", Function),
236
243
  _ts_metadata("design:paramtypes", [
237
244
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -242,7 +249,7 @@ _ts_decorate([
242
249
  _ts_decorate([
243
250
  (0, _awilixexpress.GET)(),
244
251
  (0, _awilixexpress.route)("/:id/cache"),
245
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
252
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
246
253
  _ts_metadata("design:type", Function),
247
254
  _ts_metadata("design:paramtypes", [
248
255
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -253,7 +260,7 @@ _ts_decorate([
253
260
  _ts_decorate([
254
261
  (0, _awilixexpress.GET)(),
255
262
  (0, _awilixexpress.route)("/:id/download/:path"),
256
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
263
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
257
264
  _ts_metadata("design:type", Function),
258
265
  _ts_metadata("design:paramtypes", [
259
266
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -264,7 +271,7 @@ _ts_decorate([
264
271
  _ts_decorate([
265
272
  (0, _awilixexpress.DELETE)(),
266
273
  (0, _awilixexpress.route)("/:id"),
267
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Delete)),
274
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Delete)),
268
275
  _ts_metadata("design:type", Function),
269
276
  _ts_metadata("design:paramtypes", [
270
277
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -275,7 +282,7 @@ _ts_decorate([
275
282
  _ts_decorate([
276
283
  (0, _awilixexpress.DELETE)(),
277
284
  (0, _awilixexpress.route)("/:id/clear"),
278
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
285
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Clear)),
279
286
  _ts_metadata("design:type", Function),
280
287
  _ts_metadata("design:paramtypes", [
281
288
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -286,7 +293,7 @@ _ts_decorate([
286
293
  _ts_decorate([
287
294
  (0, _awilixexpress.GET)(),
288
295
  (0, _awilixexpress.route)("/:id/thumbnail"),
289
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
296
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Get)),
290
297
  _ts_metadata("design:type", Function),
291
298
  _ts_metadata("design:paramtypes", [
292
299
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -297,7 +304,7 @@ _ts_decorate([
297
304
  _ts_decorate([
298
305
  (0, _awilixexpress.POST)(),
299
306
  (0, _awilixexpress.route)("/:id/upload"),
300
- (0, _awilixexpress.before)((0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.PrinterFiles.Upload)),
307
+ (0, _awilixexpress.before)((0, _authenticate.permission)(_authorizationconstants.PERMS.PrinterFiles.Upload)),
301
308
  _ts_metadata("design:type", Function),
302
309
  _ts_metadata("design:paramtypes", [
303
310
  typeof _express.Request === "undefined" ? Object : _express.Request,
@@ -317,7 +324,14 @@ PrinterFilesController = _ts_decorate([
317
324
  ]),
318
325
  _ts_metadata("design:type", Function),
319
326
  _ts_metadata("design:paramtypes", [
320
- Object
327
+ typeof _loggerfactory.ILoggerFactory === "undefined" ? Object : _loggerfactory.ILoggerFactory,
328
+ typeof _printerapiinterface.IPrinterApi === "undefined" ? Object : _printerapiinterface.IPrinterApi,
329
+ typeof _logindto.LoginDto === "undefined" ? Object : _logindto.LoginDto,
330
+ typeof _printerfilesstore.PrinterFilesStore === "undefined" ? Object : _printerfilesstore.PrinterFilesStore,
331
+ typeof _printerfilecleantask.PrinterFileCleanTask === "undefined" ? Object : _printerfilecleantask.PrinterFileCleanTask,
332
+ typeof _settingsstore.SettingsStore === "undefined" ? Object : _settingsstore.SettingsStore,
333
+ typeof _multerservice.MulterService === "undefined" ? Object : _multerservice.MulterService,
334
+ typeof _printerthumbnailcache.PrinterThumbnailCache === "undefined" ? Object : _printerthumbnailcache.PrinterThumbnailCache
321
335
  ])
322
336
  ], PrinterFilesController);
323
337
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/printer-files.controller.ts"],"names":["PrinterFilesController","printerApi","printerLogin","printerThumbnailCache","printerFilesStore","settingsStore","batchCallService","multerService","printerFileCleanTask","logger","constructor","loggerFactory","name","purgeIndexedFiles","req","res","purgeFiles","send","getThumbnails","thumbnails","getAllValues","getFiles","currentPrinterId","getScopedPrinter","log","files","loadFiles","reloadThumbnail","filePath","validateInput","body","startPrintFileRules","isThumbnailSupportEnabled","loadPrinterThumbnailRemote","params","id","e","error","errorSummary","captureException","startPrintFile","encodedFilePath","encodeURIComponent","startPrint","getFilesCache","currentPrinter","downloadFile","path","downloadFileRules","response","setHeader","headers","length","data","pipe","deleteFileOrFolder","query","getFileRules","result","deleteFile","clearPrinterFiles","failedFiles","succeededFiles","nonRecursiveFiles","file","push","purgePrinterFiles","getPrinterThumbnail","printerThumbnail","getValue","toString","uploadPrinterFile","multerLoadFileAsync","AppConstants","defaultAcceptedGcodeExtensions","ValidationException","join","fileCleanEnabled","isPreUploadFileCleanEnabled","cleanPrinterFiles","uploadedFile","token","startTrackingSession","uploadFile","catch","clearUploadedFile","loadPrinterThumbnailLocal","PrinterFiles","Clear","Get","Actions","Delete","Upload","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR","printerResolveMiddleware"],"mappings":";;;;+BAwBaA;;;eAAAA;;;+BAxBoC;8BACiB;4BAClB;iCACnB;kDACwC;mCACjC;yBACK;wCACZ;yBAQK;sBAGD;4BACJ;;;;;;;;;;AAKtB,MAAMA;IACXC,WAAwB;IACxBC,aAAuB;IACvBC,sBAA6C;IAC7CC,kBAAqC;IACrCC,cAA6B;IAC7BC,iBAAmC;IACnCC,cAA6B;IAC7BC,qBAA2C;IAC3CC,OAAsB;IAEtBC,YAAY,EACVT,UAAU,EACVC,YAAY,EACZE,iBAAiB,EACjBE,gBAAgB,EAChBE,oBAAoB,EACpBH,aAAa,EACbM,aAAa,EACbJ,aAAa,EACbJ,qBAAqB,EAWtB,CAAE;QACD,IAAI,CAACF,UAAU,GAAGA;QAClB,IAAI,CAACC,YAAY,GAAGA;QACpB,IAAI,CAACE,iBAAiB,GAAGA;QACzB,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACG,oBAAoB,GAAGA;QAC5B,IAAI,CAACF,gBAAgB,GAAGA;QACxB,IAAI,CAACC,aAAa,GAAGA;QACrB,IAAI,CAACJ,qBAAqB,GAAGA;QAC7B,IAAI,CAACM,MAAM,GAAGE,cAAcX,uBAAuBY,IAAI;IACzD;IAEA,MAGMC,kBAAkBC,GAAY,EAAEC,GAAa,EAAE;QACnD,MAAM,IAAI,CAACX,iBAAiB,CAACY,UAAU;QACvCD,IAAIE,IAAI;IACV;IAEA,MAGMC,cAAcJ,GAAY,EAAEC,GAAa,EAAE;QAC/C,MAAMI,aAAa,MAAM,IAAI,CAAChB,qBAAqB,CAACiB,YAAY;QAChEL,IAAIE,IAAI,CAACE;IACX;IAEA,MAGME,SAASP,GAAY,EAAEC,GAAa,EAAE;QAC1C,MAAM,EAAEO,gBAAgB,EAAE,GAAGC,IAAAA,4BAAgB,EAACT;QAC9C,IAAI,CAACL,MAAM,CAACe,GAAG,CAAC;QAChB,MAAMC,QAAQ,MAAM,IAAI,CAACrB,iBAAiB,CAACsB,SAAS,CAACJ;QACrDP,IAAIE,IAAI,CAACQ;IACX;IAEA,MAGME,gBAAgBb,GAAY,EAAEC,GAAa,EAAE;QACjD,MAAM,EAAEa,QAAQ,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACf,IAAIgB,IAAI,EAAEC,qDAAmB;QAEtE,IAAI;YACF,IAAI,IAAI,CAAC1B,aAAa,CAAC2B,yBAAyB,IAAI;gBAClD,MAAM,IAAI,CAAC7B,qBAAqB,CAAC8B,0BAA0B,CAAC,IAAI,CAAC/B,YAAY,EAAEY,IAAIoB,MAAM,CAACC,EAAE,EAAEP;YAChG;QACF,EAAE,OAAOQ,GAAG;YACV,IAAI,CAAC3B,MAAM,CAAC4B,KAAK,CAAC,CAAC,sCAAsC,EAAEC,IAAAA,wBAAY,EAACF,IAAI;YAC5EG,IAAAA,sBAAgB,EAACH;QACnB;QAEArB,IAAIE,IAAI;IACV;IAEA,MAOMuB,eAAe1B,GAAY,EAAEC,GAAa,EAAE;QAChD,MAAM,EAAEa,QAAQ,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACf,IAAIgB,IAAI,EAAEC,qDAAmB;QACtE,MAAMU,kBAAkBC,mBAAmBd;QAC3C,MAAM,IAAI,CAAC3B,UAAU,CAAC0C,UAAU,CAACF;QAEjC,IAAI;YACF,IAAI,IAAI,CAACpC,aAAa,CAAC2B,yBAAyB,IAAI;gBAClD,MAAM,IAAI,CAAC7B,qBAAqB,CAAC8B,0BAA0B,CAAC,IAAI,CAAC/B,YAAY,EAAEY,IAAIoB,MAAM,CAACC,EAAE,EAAEM;YAChG;QACF,EAAE,OAAOL,GAAG;YACV,IAAI,CAAC3B,MAAM,CAAC4B,KAAK,CAAC,CAAC,sCAAsC,EAAEC,IAAAA,wBAAY,EAACF,IAAI;YAC5EG,IAAAA,sBAAgB,EAACH;QACnB;QAEArB,IAAIE,IAAI;IACV;IAEA,MAGM2B,cAAc9B,GAAY,EAAEC,GAAa,EAAE;QAC/C,MAAM,EAAE8B,cAAc,EAAE,GAAGtB,IAAAA,4BAAgB,EAACT;QAC5CC,IAAIE,IAAI,CAAC,IAAI,CAACb,iBAAiB,CAACiB,QAAQ,CAACwB,eAAeV,EAAE;IAC5D;IAEA,MAGMW,aAAahC,GAAY,EAAEC,GAAa,EAAE;QAC9C,IAAI,CAACN,MAAM,CAACe,GAAG,CAAC,CAAC,iBAAiB,EAAEV,IAAIoB,MAAM,CAACa,IAAI,EAAE;QACrD,MAAM,EAAEA,IAAI,EAAE,GAAG,MAAMlB,IAAAA,yBAAa,EAACf,IAAIoB,MAAM,EAAEc,mDAAiB;QAClE,MAAMP,kBAAkBC,mBAAmBK;QAE3C,MAAME,WAAW,MAAM,IAAI,CAAChD,UAAU,CAAC6C,YAAY,CAACL;QACpD1B,IAAImC,SAAS,CAAC,gBAAgBD,SAASE,OAAO,CAAC,eAAe;QAC9DpC,IAAImC,SAAS,CAAC,kBAAkBD,SAASE,OAAO,CAAC,iBAAiB;QAClEpC,IAAImC,SAAS,CAAC,uBAAuBD,SAASE,OAAO,CAAC,sBAAsB;QAC5E,IAAIF,SAASE,OAAO,CAAC,OAAO,EAAEC,QAAQ;YACpCrC,IAAImC,SAAS,CAAC,QAAQD,SAASE,OAAO,CAAC,OAAO;QAChD;QACAF,SAASI,IAAI,CAACC,IAAI,CAACvC;IACrB;IAEA,MAGMwC,mBAAmBzC,GAAY,EAAEC,GAAa,EAAE;QACpD,MAAM,EAAEO,gBAAgB,EAAE,GAAGC,IAAAA,4BAAgB,EAACT;QAC9C,MAAM,EAAEiC,IAAI,EAAE,GAAG,MAAMlB,IAAAA,yBAAa,EAACf,IAAI0C,KAAK,EAAEC,8CAAY;QAC5D,MAAMhB,kBAAkBC,mBAAmBK;QAE3C,MAAMW,SAAS,MAAM,IAAI,CAACzD,UAAU,CAAC0D,UAAU,CAAClB;QAChD,MAAM,IAAI,CAACrC,iBAAiB,CAACuD,UAAU,CAACrC,kBAAkByB;QAC1DhC,IAAIE,IAAI,CAACyC;IACX;IAEA,MAGME,kBAAkB9C,GAAY,EAAEC,GAAa,EAAE;QACnD,MAAM,EAAEO,gBAAgB,EAAE,GAAGC,IAAAA,4BAAgB,EAACT;QAE9C,MAAM+C,cAAc,EAAE;QACtB,MAAMC,iBAAiB,EAAE;QAEzB,MAAMC,oBAAoB,MAAM,IAAI,CAAC9D,UAAU,CAACoB,QAAQ;QACxD,KAAK,IAAI2C,QAAQD,kBAAmB;YAClC,IAAI;gBACF,MAAMtB,kBAAkBC,mBAAmBsB,KAAKjB,IAAI;gBACpD,MAAM,IAAI,CAAC9C,UAAU,CAAC0D,UAAU,CAAClB;gBACjCqB,eAAeG,IAAI,CAACD;YACtB,EAAE,OAAO5B,GAAG;gBACVyB,YAAYI,IAAI,CAACD;YACnB;QACF;QAEA,MAAM,IAAI,CAAC5D,iBAAiB,CAAC8D,iBAAiB,CAAC5C;QAE/CP,IAAIE,IAAI,CAAC;YACP4C;YACAC;QACF;IACF;IAEA,MAGMK,oBAAoBrD,GAAY,EAAEC,GAAa,EAAE;QACrD,MAAM,EAAEO,gBAAgB,EAAE,GAAGC,IAAAA,4BAAgB,EAACT;QAC9C,MAAMsD,mBAAmB,MAAM,IAAI,CAACjE,qBAAqB,CAACkE,QAAQ,CAAC/C,iBAAiBgD,QAAQ;QAC5FvD,IAAIE,IAAI,CAACmD;IACX;IAEA,MAGMG,kBAAkBzD,GAAY,EAAEC,GAAa,EAAE;QACnD,MAAM,EAAEO,gBAAgB,EAAE,GAAGC,IAAAA,4BAAgB,EAACT;QAE9C,MAAMW,QAAQ,MAAM,IAAI,CAAClB,aAAa,CAACiE,mBAAmB,CAAC1D,KAAKC,KAAK0D,6BAAY,CAACC,8BAA8B,EAAE;QAClH,IAAI,CAACjD,OAAO2B,QAAQ;YAClB,MAAM,IAAIuB,sCAAmB,CAAC;gBAC5BtC,OAAO,CAAC,qFAAqF,EAAEoC,6BAAY,CAACC,8BAA8B,CAACE,IAAI,CAC7I,MACA,CAAC,CAAC;YACN;QACF;QACA,IAAInD,MAAM2B,MAAM,GAAG,GAAG;YACpB,MAAM,IAAIuB,sCAAmB,CAAC;gBAC5BtC,OAAO;YACT;QACF;QAGA,MAAMwC,mBAAmB,IAAI,CAACxE,aAAa,CAACyE,2BAA2B;QACvE,IAAID,kBAAkB;YACpB,MAAM,IAAI,CAACrE,oBAAoB,CAACuE,iBAAiB,CAACzD;QACpD;QAEA,MAAM0D,eAAevD,KAAK,CAAC,EAAE;QAC7B,MAAMwD,QAAQ,IAAI,CAAC1E,aAAa,CAAC2E,oBAAoB,CAACF,cAAc1D;QAEpE,MAAM,IAAI,CAACrB,UAAU,CAACkF,UAAU,CAACH,cAAcC,OAAOG,KAAK,CAAC,CAAChD;YAC3D,IAAI;gBACF,IAAI,CAAC7B,aAAa,CAAC8E,iBAAiB,CAACL;YACvC,EAAE,OAAO5C,GAAG;gBACV,IAAI,CAAC3B,MAAM,CAAC4B,KAAK,CAAC,CAAC,sDAAsD,EAAEC,IAAAA,wBAAY,EAACF,IAAI;YAC9F;YACA,MAAMA;QACR;QACA,MAAM,IAAI,CAAChC,iBAAiB,CAACsB,SAAS,CAACJ;QAEvC,IAAI;YACF,IAAI,IAAI,CAACjB,aAAa,CAAC2B,yBAAyB,IAAI;gBAClD,MAAM,IAAI,CAAC7B,qBAAqB,CAACmF,yBAAyB,CAAChE,kBAAkBG,KAAK,CAAC,EAAE,CAACsB,IAAI;YAC5F;QACF,EAAE,OAAOX,GAAG;YACV,IAAI,CAAC3B,MAAM,CAAC4B,KAAK,CAAC,CAAC,sCAAsC,EAAEC,IAAAA,wBAAY,EAACF,IAAI;YAC5EG,IAAAA,sBAAgB,EAACH;QACnB;QAEA,IAAI;YACF,IAAI,CAAC7B,aAAa,CAAC8E,iBAAiB,CAACL;QACvC,EAAE,OAAO5C,GAAG;YACV,IAAI,CAAC3B,MAAM,CAAC4B,KAAK,CAAC,CAAC,sDAAsD,EAAEC,IAAAA,wBAAY,EAACF,IAAI;QAC9F;QAEArB,IAAIE,IAAI;IACV;AACF;;;;oGAtMoCsE,aAAaC;;;;;;;;;;;oGAQbD,aAAaE;;;;;;;;;;;oGAQbF,aAAaE;;;;;;;;;;;oGAUbF,aAAaG;;;;;;;;;;;;oGAsBbH,aAAaG;;;;;;;;;;;oGAoBbH,aAAaE;;;;;;;;;;;oGAQbF,aAAaE;;;;;;;;;;;oGAkBbF,aAAaI;;;;;;;;;;;oGAabJ,aAAaC;;;;;;;;;;;oGA4BbD,aAAaE;;;;;;;;;;;oGASbF,aAAaK;;;;;;;;;8BA/L1CnB,6BAAY,CAACoB,QAAQ,GAAG;;QACtBC,IAAAA,0BAAY;QAAIC,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;YAAED,6BAAK,CAACE,QAAQ;SAAC;QAAGC,IAAAA,iCAAwB"}
1
+ {"version":3,"sources":["../../src/controllers/printer-files.controller.ts"],"names":["PrinterFilesController","logger","constructor","loggerFactory","printerApi","printerLogin","printerFilesStore","printerFileCleanTask","settingsStore","multerService","printerThumbnailCache","name","purgeIndexedFiles","req","res","purgeFiles","send","getThumbnails","thumbnails","getAllValues","getFiles","currentPrinterId","getScopedPrinter","log","files","loadFiles","reloadThumbnail","filePath","validateInput","body","startPrintFileSchema","isThumbnailSupportEnabled","loadPrinterThumbnailRemote","params","id","e","error","errorSummary","captureException","startPrintFile","encodedFilePath","encodeURIComponent","startPrint","getFilesCache","currentPrinter","downloadFile","path","downloadFileSchema","response","setHeader","headers","length","data","pipe","deleteFileOrFolder","query","getFileSchema","result","deleteFile","clearPrinterFiles","failedFiles","succeededFiles","nonRecursiveFiles","file","push","purgePrinterFiles","getPrinterThumbnail","printerThumbnail","getValue","toString","uploadPrinterFile","multerLoadFileAsync","AppConstants","defaultAcceptedGcodeExtensions","ValidationException","join","fileCleanEnabled","isPreUploadFileCleanEnabled","cleanPrinterFiles","uploadedFile","token","startTrackingSession","uploadFile","catch","clearUploadedFile","loadPrinterThumbnailLocal","PrinterFiles","Clear","Get","Actions","Delete","Upload","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR","printerResolveMiddleware"],"mappings":"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"}