@fdm-monster/server 1.9.4 → 2.0.0

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 (393) hide show
  1. package/.env.template +8 -7
  2. package/.yarn/install-state.gz +0 -0
  3. package/CONTRIBUTING.md +5 -5
  4. package/README.md +9 -8
  5. package/RELEASE_NOTES.MD +52 -0
  6. package/SECURITY.md +1 -1
  7. package/biome.json +8 -5
  8. package/dist/consoles/download-github-releases.js +3 -3
  9. package/dist/consoles/launch-http-servers.js +4 -4
  10. package/dist/consoles/launch-http-servers.js.map +1 -1
  11. package/dist/consoles/mock-bambu.server.js +50 -30
  12. package/dist/consoles/mock-bambu.server.js.map +1 -1
  13. package/dist/consoles/mock-camera/default-image.js +13 -0
  14. package/dist/consoles/mock-camera/default-image.js.map +1 -0
  15. package/dist/consoles/mock-camera/mock-camera.server.js +160 -0
  16. package/dist/consoles/mock-camera/mock-camera.server.js.map +1 -0
  17. package/dist/consoles/mock-octoprint.server.js +281 -73
  18. package/dist/consoles/mock-octoprint.server.js.map +1 -1
  19. package/dist/consoles/mock-prusalink.server.js +17 -17
  20. package/dist/consoles/mock-prusalink.server.js.map +1 -1
  21. package/dist/consoles/typeorm-create.js +135 -0
  22. package/dist/consoles/typeorm-create.js.map +1 -0
  23. package/dist/consoles/typeorm-generate.js +8 -8
  24. package/dist/consoles/typeorm-generate.js.map +1 -1
  25. package/dist/consoles/utils/api-messages.js.map +1 -1
  26. package/dist/constants/authorization.constants.js +25 -31
  27. package/dist/constants/authorization.constants.js.map +1 -1
  28. package/dist/constants/event.constants.js.map +1 -1
  29. package/dist/constants/server-settings.constants.js +3 -19
  30. package/dist/constants/server-settings.constants.js.map +1 -1
  31. package/dist/container.js +43 -59
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.tokens.js +9 -6
  34. package/dist/container.tokens.js.map +1 -1
  35. package/dist/controllers/auth.controller.js +1 -1
  36. package/dist/controllers/auth.controller.js.map +1 -1
  37. package/dist/controllers/batch-call.controller.js +7 -25
  38. package/dist/controllers/batch-call.controller.js.map +1 -1
  39. package/dist/controllers/file-storage.controller.js +248 -0
  40. package/dist/controllers/file-storage.controller.js.map +1 -0
  41. package/dist/controllers/first-time-setup.controller.js +6 -5
  42. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  43. package/dist/controllers/floor.controller.js +12 -12
  44. package/dist/controllers/floor.controller.js.map +1 -1
  45. package/dist/controllers/metrics.controller.js.map +1 -1
  46. package/dist/controllers/print-job.controller.js +666 -0
  47. package/dist/controllers/print-job.controller.js.map +1 -0
  48. package/dist/controllers/print-queue.controller.js +375 -0
  49. package/dist/controllers/print-queue.controller.js.map +1 -0
  50. package/dist/controllers/printer-files.controller.js +88 -59
  51. package/dist/controllers/printer-files.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +0 -21
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/{printer-group.controller.js → printer-tag.controller.js} +51 -34
  55. package/dist/controllers/printer-tag.controller.js.map +1 -0
  56. package/dist/controllers/printer.controller.js +21 -7
  57. package/dist/controllers/printer.controller.js.map +1 -1
  58. package/dist/controllers/server-private.controller.js +2 -1
  59. package/dist/controllers/server-private.controller.js.map +1 -1
  60. package/dist/controllers/server-public.controller.js +11 -15
  61. package/dist/controllers/server-public.controller.js.map +1 -1
  62. package/dist/controllers/settings.controller.js +0 -68
  63. package/dist/controllers/settings.controller.js.map +1 -1
  64. package/dist/controllers/slicer-compat.controller.js +216 -0
  65. package/dist/controllers/slicer-compat.controller.js.map +1 -0
  66. package/dist/controllers/user.controller.js +8 -12
  67. package/dist/controllers/user.controller.js.map +1 -1
  68. package/dist/controllers/validation/batch-controller.validation.js +13 -13
  69. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  70. package/dist/controllers/validation/generic.validation.js +4 -8
  71. package/dist/controllers/validation/generic.validation.js.map +1 -1
  72. package/dist/controllers/validation/printer-files-controller.validation.js +2 -2
  73. package/dist/controllers/validation/user-controller.validation.js +14 -9
  74. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  75. package/dist/data-source.js +25 -12
  76. package/dist/data-source.js.map +1 -1
  77. package/dist/entities/camera-stream.entity.js +2 -1
  78. package/dist/entities/camera-stream.entity.js.map +1 -1
  79. package/dist/entities/floor.entity.js +3 -5
  80. package/dist/entities/floor.entity.js.map +1 -1
  81. package/dist/entities/index.js +15 -11
  82. package/dist/entities/index.js.map +1 -1
  83. package/dist/entities/print-job.entity.js +195 -0
  84. package/dist/entities/print-job.entity.js.map +1 -0
  85. package/dist/entities/{printer-group.entity.js → printer-tag.entity.js} +17 -17
  86. package/dist/entities/printer-tag.entity.js.map +1 -0
  87. package/dist/entities/printer.entity.js +4 -10
  88. package/dist/entities/printer.entity.js.map +1 -1
  89. package/dist/entities/settings.entity.js +3 -12
  90. package/dist/entities/settings.entity.js.map +1 -1
  91. package/dist/entities/{group.entity.js → tag.entity.js} +15 -8
  92. package/dist/entities/tag.entity.js.map +1 -0
  93. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  94. package/dist/handlers/logging/static.logger.js.map +1 -1
  95. package/dist/index.js +8 -2
  96. package/dist/index.js.map +1 -1
  97. package/dist/middleware/authenticate.js +4 -4
  98. package/dist/middleware/authenticate.js.map +1 -1
  99. package/dist/middleware/database.js +1 -1
  100. package/dist/middleware/exception.filter.js +114 -90
  101. package/dist/middleware/exception.filter.js.map +1 -1
  102. package/dist/middleware/global.middleware.js +10 -18
  103. package/dist/middleware/global.middleware.js.map +1 -1
  104. package/dist/middleware/param-converter.middleware.js +5 -13
  105. package/dist/middleware/param-converter.middleware.js.map +1 -1
  106. package/dist/middleware/passport.js +2 -2
  107. package/dist/middleware/passport.js.map +1 -1
  108. package/dist/middleware/printer-resolver.js.map +1 -1
  109. package/dist/middleware/printer.js +3 -2
  110. package/dist/middleware/printer.js.map +1 -1
  111. package/dist/middleware/socketio.middleware.js.map +1 -1
  112. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +1 -1
  113. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  114. package/dist/migrations/1766576698569-DropPermissions.js +28 -0
  115. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -0
  116. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +186 -0
  117. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -0
  118. package/dist/migrations/1767279607392-DropCustomGcode.js +31 -0
  119. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -0
  120. package/dist/migrations/1767291804417-DropPrintCompletions.js +37 -0
  121. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -0
  122. package/dist/migrations/1767352862576-DropSettingsFileClean.js +88 -0
  123. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -0
  124. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +107 -0
  125. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -0
  126. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +62 -0
  127. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -0
  128. package/dist/migrations/1767432108916-RenameGroupToTag.js +86 -0
  129. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -0
  130. package/dist/migrations/1767451444137-AddPrintJob.js +207 -0
  131. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -0
  132. package/dist/server.constants.js +9 -17
  133. package/dist/server.constants.js.map +1 -1
  134. package/dist/server.core.js +3 -7
  135. package/dist/server.core.js.map +1 -1
  136. package/dist/server.env.js +4 -49
  137. package/dist/server.env.js.map +1 -1
  138. package/dist/server.host.js +26 -44
  139. package/dist/server.host.js.map +1 -1
  140. package/dist/services/authentication/auth.service.js.map +1 -1
  141. package/dist/services/authentication/jwt.service.js.map +1 -1
  142. package/dist/services/bambu/bambu-ftp.adapter.js +3 -3
  143. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  144. package/dist/services/bambu/bambu-mqtt.adapter.js +74 -77
  145. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  146. package/dist/services/bambu/bambu.client.js.map +1 -1
  147. package/dist/services/bambu.api.js +11 -0
  148. package/dist/services/bambu.api.js.map +1 -1
  149. package/dist/services/core/batch-call.service.js +0 -25
  150. package/dist/services/core/batch-call.service.js.map +1 -1
  151. package/dist/services/core/multer.service.js +5 -9
  152. package/dist/services/core/multer.service.js.map +1 -1
  153. package/dist/services/core/yaml.service.js +219 -187
  154. package/dist/services/core/yaml.service.js.map +1 -1
  155. package/dist/services/file-analysis.service.js +146 -0
  156. package/dist/services/file-analysis.service.js.map +1 -0
  157. package/dist/services/file-storage.service.js +386 -0
  158. package/dist/services/file-storage.service.js.map +1 -0
  159. package/dist/services/interfaces/camera-stream.dto.js +2 -2
  160. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  161. package/dist/services/interfaces/floor.dto.js +3 -3
  162. package/dist/services/interfaces/floor.dto.js.map +1 -1
  163. package/dist/services/interfaces/{printer-group.dto.js → printer-tag.dto.js} +9 -8
  164. package/dist/services/interfaces/printer-tag.dto.js.map +1 -0
  165. package/dist/services/interfaces/{print-completion.interface.js → printer-tag.service.interface.js} +1 -1
  166. package/dist/services/interfaces/{printer-group.service.interface.js.map → printer-tag.service.interface.js.map} +1 -1
  167. package/dist/services/interfaces/printer.dto.js +2 -2
  168. package/dist/services/interfaces/printer.dto.js.map +1 -1
  169. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  170. package/dist/services/interfaces/role.dto.js.map +1 -1
  171. package/dist/services/interfaces/settings.dto.js +0 -1
  172. package/dist/services/interfaces/settings.dto.js.map +1 -1
  173. package/dist/services/interfaces/{group.dto.js → tag.dto.js} +1 -1
  174. package/dist/services/interfaces/tag.dto.js.map +1 -0
  175. package/dist/services/interfaces/user.dto.js.map +1 -1
  176. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  177. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  178. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  179. package/dist/services/moonraker.api.js +3 -0
  180. package/dist/services/moonraker.api.js.map +1 -1
  181. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +1 -0
  182. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  183. package/dist/services/octoprint/octoprint-api.routes.js +0 -7
  184. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  185. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  186. package/dist/services/octoprint/octoprint.client.js +0 -4
  187. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  188. package/dist/services/octoprint.api.js +3 -0
  189. package/dist/services/octoprint.api.js.map +1 -1
  190. package/dist/services/orm/base.service.js.map +1 -1
  191. package/dist/services/orm/camera-stream.service.js.map +1 -1
  192. package/dist/services/orm/floor-position.service.js.map +1 -1
  193. package/dist/services/orm/floor.service.js +12 -19
  194. package/dist/services/orm/floor.service.js.map +1 -1
  195. package/dist/services/orm/permission.service.js +3 -54
  196. package/dist/services/orm/permission.service.js.map +1 -1
  197. package/dist/services/orm/print-job.service.js +539 -0
  198. package/dist/services/orm/print-job.service.js.map +1 -0
  199. package/dist/services/orm/printer-tag.service.js +120 -0
  200. package/dist/services/orm/printer-tag.service.js.map +1 -0
  201. package/dist/services/orm/printer.service.js.map +1 -1
  202. package/dist/services/orm/refresh-token.service.js.map +1 -1
  203. package/dist/services/orm/role.service.js +25 -39
  204. package/dist/services/orm/role.service.js.map +1 -1
  205. package/dist/services/orm/settings.service.js +4 -15
  206. package/dist/services/orm/settings.service.js.map +1 -1
  207. package/dist/services/orm/user.service.js +17 -13
  208. package/dist/services/orm/user.service.js.map +1 -1
  209. package/dist/services/print-file-downloader.service.js +169 -0
  210. package/dist/services/print-file-downloader.service.js.map +1 -0
  211. package/dist/services/print-queue.service.js +268 -0
  212. package/dist/services/print-queue.service.js.map +1 -0
  213. package/dist/services/printer-api.factory.js +1 -1
  214. package/dist/services/printer-api.factory.js.map +1 -1
  215. package/dist/services/printer-api.interface.js.map +1 -1
  216. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  217. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +1 -3
  218. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  219. package/dist/services/prusa-link/prusa-link.api.js +4 -1
  220. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  221. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  222. package/dist/services/validators/floor-service.validation.js +25 -31
  223. package/dist/services/validators/floor-service.validation.js.map +1 -1
  224. package/dist/services/validators/print-job.validation.js +31 -0
  225. package/dist/services/validators/print-job.validation.js.map +1 -0
  226. package/dist/services/validators/settings-service.validation.js +0 -22
  227. package/dist/services/validators/settings-service.validation.js.map +1 -1
  228. package/dist/services/validators/user-service.validation.js +15 -10
  229. package/dist/services/validators/user-service.validation.js.map +1 -1
  230. package/dist/services/validators/yaml-service.validation.js +8 -14
  231. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  232. package/dist/shared/load-controllers.js +2 -1
  233. package/dist/shared/load-controllers.js.map +1 -1
  234. package/dist/shared/runtime-settings.migration.js +1 -11
  235. package/dist/shared/runtime-settings.migration.js.map +1 -1
  236. package/dist/shared/websocket-rpc-extended.adapter.js +13 -4
  237. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  238. package/dist/shared/websocket.adapter.js.map +1 -1
  239. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  240. package/dist/state/file.cache.js +6 -6
  241. package/dist/state/file.cache.js.map +1 -1
  242. package/dist/state/floor.store.js +3 -10
  243. package/dist/state/floor.store.js.map +1 -1
  244. package/dist/state/printer-events.cache.js +180 -20
  245. package/dist/state/printer-events.cache.js.map +1 -1
  246. package/dist/state/printer-files.store.js.map +1 -1
  247. package/dist/state/printer-socket.store.js +25 -20
  248. package/dist/state/printer-socket.store.js.map +1 -1
  249. package/dist/state/printer-thumbnail.cache.js +98 -188
  250. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  251. package/dist/state/printer.cache.js +3 -13
  252. package/dist/state/printer.cache.js.map +1 -1
  253. package/dist/state/settings.store.js +4 -42
  254. package/dist/state/settings.store.js.map +1 -1
  255. package/dist/state/socket-io.gateway.js +1 -1
  256. package/dist/state/socket-io.gateway.js.map +1 -1
  257. package/dist/state/test-printer-socket.store.js +6 -3
  258. package/dist/state/test-printer-socket.store.js.map +1 -1
  259. package/dist/tasks/boot.task.js +11 -91
  260. package/dist/tasks/boot.task.js.map +1 -1
  261. package/dist/tasks/print-job-analysis.task.js +116 -0
  262. package/dist/tasks/print-job-analysis.task.js.map +1 -0
  263. package/dist/tasks/printer-files-load.task.js +29 -0
  264. package/dist/tasks/printer-files-load.task.js.map +1 -0
  265. package/dist/tasks/socketio.task.js +1 -1
  266. package/dist/tasks/socketio.task.js.map +1 -1
  267. package/dist/tasks.js +3 -2
  268. package/dist/tasks.js.map +1 -1
  269. package/dist/utils/cache/key-diff.cache.js +20 -61
  270. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  271. package/dist/utils/parsers/3mf.parser.js +337 -0
  272. package/dist/utils/parsers/3mf.parser.js.map +1 -0
  273. package/dist/utils/parsers/bgcode.parser.js +223 -0
  274. package/dist/utils/parsers/bgcode.parser.js.map +1 -0
  275. package/dist/utils/parsers/gcode.parser.js +254 -0
  276. package/dist/utils/parsers/gcode.parser.js.map +1 -0
  277. package/dist/utils/swagger/decorators.js +39 -0
  278. package/dist/utils/swagger/decorators.js.map +1 -0
  279. package/dist/utils/swagger/generator.js +196 -0
  280. package/dist/utils/swagger/generator.js.map +1 -0
  281. package/dist/utils/swagger/swagger.js +93 -0
  282. package/dist/utils/swagger/swagger.js.map +1 -0
  283. package/package.json +24 -30
  284. package/dist/controllers/custom-gcode.controller.js +0 -150
  285. package/dist/controllers/custom-gcode.controller.js.map +0 -1
  286. package/dist/controllers/print-completion.controller.js +0 -118
  287. package/dist/controllers/print-completion.controller.js.map +0 -1
  288. package/dist/controllers/printer-group.controller.js.map +0 -1
  289. package/dist/entities/custom-gcode.entity.js +0 -49
  290. package/dist/entities/custom-gcode.entity.js.map +0 -1
  291. package/dist/entities/group.entity.js.map +0 -1
  292. package/dist/entities/permission.entity.js +0 -37
  293. package/dist/entities/permission.entity.js.map +0 -1
  294. package/dist/entities/print-completion.entity.js +0 -90
  295. package/dist/entities/print-completion.entity.js.map +0 -1
  296. package/dist/entities/printer-group.entity.js.map +0 -1
  297. package/dist/models/Auth/Permission.js +0 -20
  298. package/dist/models/Auth/Permission.js.map +0 -1
  299. package/dist/models/Auth/RefreshToken.js +0 -41
  300. package/dist/models/Auth/RefreshToken.js.map +0 -1
  301. package/dist/models/Auth/Role.js +0 -20
  302. package/dist/models/Auth/Role.js.map +0 -1
  303. package/dist/models/Auth/User.js +0 -49
  304. package/dist/models/Auth/User.js.map +0 -1
  305. package/dist/models/CameraStream.js +0 -49
  306. package/dist/models/CameraStream.js.map +0 -1
  307. package/dist/models/CustomGcode.js +0 -28
  308. package/dist/models/CustomGcode.js.map +0 -1
  309. package/dist/models/Floor.js +0 -33
  310. package/dist/models/Floor.js.map +0 -1
  311. package/dist/models/FloorPrinter.js +0 -38
  312. package/dist/models/FloorPrinter.js.map +0 -1
  313. package/dist/models/PrintCompletion.js +0 -40
  314. package/dist/models/PrintCompletion.js.map +0 -1
  315. package/dist/models/Printer.js +0 -78
  316. package/dist/models/Printer.js.map +0 -1
  317. package/dist/models/Settings.js +0 -150
  318. package/dist/models/Settings.js.map +0 -1
  319. package/dist/models/index.js +0 -54
  320. package/dist/models/index.js.map +0 -1
  321. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -45
  322. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +0 -1
  323. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -35
  324. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +0 -1
  325. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -35
  326. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +0 -1
  327. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +0 -60
  328. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +0 -1
  329. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +0 -30
  330. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +0 -1
  331. package/dist/mongo-migrations/20230716065316-user-remove-name.js +0 -30
  332. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +0 -1
  333. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -35
  334. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +0 -1
  335. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -41
  336. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +0 -1
  337. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +0 -41
  338. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +0 -1
  339. package/dist/services/interfaces/custom-gcode.dto.js +0 -18
  340. package/dist/services/interfaces/custom-gcode.dto.js.map +0 -1
  341. package/dist/services/interfaces/custom-gcode.service.interface.js +0 -6
  342. package/dist/services/interfaces/custom-gcode.service.interface.js.map +0 -1
  343. package/dist/services/interfaces/gcode-analysis.dto.js.map +0 -1
  344. package/dist/services/interfaces/group.dto.js.map +0 -1
  345. package/dist/services/interfaces/permission.dto.js +0 -16
  346. package/dist/services/interfaces/permission.dto.js.map +0 -1
  347. package/dist/services/interfaces/print-completion-context.dto.js +0 -6
  348. package/dist/services/interfaces/print-completion-context.dto.js.map +0 -1
  349. package/dist/services/interfaces/print-completion.dto.js +0 -38
  350. package/dist/services/interfaces/print-completion.dto.js.map +0 -1
  351. package/dist/services/interfaces/print-completion.interface.js.map +0 -1
  352. package/dist/services/interfaces/printer-group.dto.js.map +0 -1
  353. package/dist/services/interfaces/printer-group.service.interface.js +0 -6
  354. package/dist/services/mongoose/camera-stream.service.js +0 -67
  355. package/dist/services/mongoose/camera-stream.service.js.map +0 -1
  356. package/dist/services/mongoose/custom-gcode.service.js +0 -50
  357. package/dist/services/mongoose/custom-gcode.service.js.map +0 -1
  358. package/dist/services/mongoose/floor.service.js +0 -139
  359. package/dist/services/mongoose/floor.service.js.map +0 -1
  360. package/dist/services/mongoose/permission.service.js +0 -73
  361. package/dist/services/mongoose/permission.service.js.map +0 -1
  362. package/dist/services/mongoose/print-completion.service.js +0 -134
  363. package/dist/services/mongoose/print-completion.service.js.map +0 -1
  364. package/dist/services/mongoose/print-completion.shared.js +0 -59
  365. package/dist/services/mongoose/print-completion.shared.js.map +0 -1
  366. package/dist/services/mongoose/printer.service.js +0 -216
  367. package/dist/services/mongoose/printer.service.js.map +0 -1
  368. package/dist/services/mongoose/refresh-token.service.js +0 -104
  369. package/dist/services/mongoose/refresh-token.service.js.map +0 -1
  370. package/dist/services/mongoose/role.service.js +0 -132
  371. package/dist/services/mongoose/role.service.js.map +0 -1
  372. package/dist/services/mongoose/settings.service.js +0 -124
  373. package/dist/services/mongoose/settings.service.js.map +0 -1
  374. package/dist/services/mongoose/user.service.js +0 -180
  375. package/dist/services/mongoose/user.service.js.map +0 -1
  376. package/dist/services/orm/custom-gcode.service.js +0 -42
  377. package/dist/services/orm/custom-gcode.service.js.map +0 -1
  378. package/dist/services/orm/print-completion.service.js +0 -87
  379. package/dist/services/orm/print-completion.service.js.map +0 -1
  380. package/dist/services/orm/printer-group.service.js +0 -109
  381. package/dist/services/orm/printer-group.service.js.map +0 -1
  382. package/dist/services/validators/camera-service.validation.js +0 -19
  383. package/dist/services/validators/camera-service.validation.js.map +0 -1
  384. package/dist/services/validators/print-completion-service.validation.js +0 -33
  385. package/dist/services/validators/print-completion-service.validation.js.map +0 -1
  386. package/dist/shared.constants.js +0 -15
  387. package/dist/shared.constants.js.map +0 -1
  388. package/dist/tasks/print-completion.socketio.task.js +0 -91
  389. package/dist/tasks/print-completion.socketio.task.js.map +0 -1
  390. package/dist/tasks/printer-file-clean.task.js +0 -74
  391. package/dist/tasks/printer-file-clean.task.js.map +0 -1
  392. package/migrate-mongo-config.js +0 -45
  393. /package/dist/services/{interfaces → octoprint/dto/files}/gcode-analysis.dto.js +0 -0
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "FloorService", {
6
- enumerable: true,
7
- get: function() {
8
- return FloorService;
9
- }
10
- });
11
- const _Floor = require("../../models/Floor");
12
- const _validators = require("../../handlers/validators");
13
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
14
- const _floorservicevalidation = require("../validators/floor-service.validation");
15
- class FloorService {
16
- printerCache;
17
- constructor(printerCache){
18
- this.printerCache = printerCache;
19
- }
20
- toDto(floor) {
21
- return {
22
- id: floor.id,
23
- name: floor.name,
24
- floor: floor.floor,
25
- printers: floor.printers?.map((p)=>({
26
- x: p.x,
27
- y: p.y,
28
- printerId: p.printerId.toString(),
29
- floorId: floor.id
30
- }))
31
- };
32
- }
33
- async list() {
34
- return _Floor.Floor.find({});
35
- }
36
- async get(floorId) {
37
- const floor = await _Floor.Floor.findOne({
38
- _id: floorId
39
- });
40
- if (!floor) {
41
- throw new _runtimeexceptions.NotFoundException(`Floor with provided id does not exist`);
42
- }
43
- return floor;
44
- }
45
- async createDefaultFloor() {
46
- return await this.create({
47
- name: "Default Floor",
48
- floor: 1,
49
- printers: []
50
- });
51
- }
52
- async create(floor) {
53
- const validatedInput = await (0, _validators.validateInput)(floor, (0, _floorservicevalidation.createOrUpdateFloorSchema)(false));
54
- return _Floor.Floor.create(validatedInput);
55
- }
56
- async update(floorId, update) {
57
- const existingFloor = await this.get(floorId);
58
- if (update.printers) {
59
- for (const position of update.printers){
60
- position.floorId = existingFloor.id;
61
- }
62
- }
63
- const floorUpdate = {
64
- ...existingFloor,
65
- name: update.name,
66
- printers: update.printers,
67
- floor: update.floor
68
- };
69
- const input = await (0, _validators.validateInput)(floorUpdate, (0, _floorservicevalidation.createOrUpdateFloorSchema)(false));
70
- existingFloor.name = input.name;
71
- existingFloor.floor = input.floor;
72
- existingFloor.printers = input.printers;
73
- return await existingFloor.save();
74
- }
75
- async updateName(floorId, floorName) {
76
- const { name } = await (0, _validators.validateInput)({
77
- name: floorName
78
- }, _floorservicevalidation.updateFloorNameSchema);
79
- const floor = await this.get(floorId);
80
- floor.name = name;
81
- return await floor.save();
82
- }
83
- async updateLevel(floorId, level) {
84
- const { floor: validLevel } = await (0, _validators.validateInput)({
85
- floor: level
86
- }, _floorservicevalidation.updateFloorLevelSchema);
87
- const floor = await this.get(floorId);
88
- floor.floor = validLevel;
89
- return await floor.save();
90
- }
91
- async deletePrinterFromAnyFloor(printerId) {
92
- await _Floor.Floor.updateMany({}, {
93
- $pull: {
94
- printers: {
95
- printerId: {
96
- $in: [
97
- printerId
98
- ]
99
- }
100
- }
101
- }
102
- });
103
- }
104
- async addOrUpdatePrinter(floorId, updatedPosition) {
105
- const floor = await this.get(floorId);
106
- updatedPosition.floorId = floor.id;
107
- const validInput = await (0, _validators.validateInput)(updatedPosition, (0, _floorservicevalidation.printerInFloorSchema)(false));
108
- await this.printerCache.getCachedPrinterOrThrowAsync(validInput.printerId);
109
- floor.printers = floor.printers.filter((position)=>!(position.x === validInput.x && position.y === validInput.y));
110
- const positionIndex = floor.printers.findIndex((position)=>position.printerId.toString() === validInput.printerId.toString());
111
- if (positionIndex !== -1) {
112
- floor.printers[positionIndex] = validInput;
113
- } else {
114
- floor.printers.push(validInput);
115
- }
116
- await floor.save();
117
- return floor;
118
- }
119
- async removePrinter(floorId, printerId) {
120
- const floor = await this.get(floorId);
121
- const validInput = await (0, _validators.validateInput)({
122
- printerId
123
- }, (0, _floorservicevalidation.removePrinterInFloorSchema)(false));
124
- await this.printerCache.getCachedPrinterOrThrowAsync(validInput.printerId);
125
- const foundPrinterInFloorIndex = floor.printers.findIndex((pif)=>pif.printerId.toString() === validInput.printerId.toString());
126
- if (foundPrinterInFloorIndex === -1) return floor;
127
- floor.printers.splice(foundPrinterInFloorIndex, 1);
128
- await floor.save();
129
- return floor;
130
- }
131
- async delete(floorId) {
132
- await this.get(floorId);
133
- await _Floor.Floor.deleteOne({
134
- _id: floorId
135
- });
136
- }
137
- }
138
-
139
- //# sourceMappingURL=floor.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/floor.service.ts"],"names":["FloorService","printerCache","toDto","floor","id","name","printers","map","p","x","y","printerId","toString","floorId","list","Floor","find","get","findOne","_id","NotFoundException","createDefaultFloor","create","validatedInput","validateInput","createOrUpdateFloorSchema","update","existingFloor","position","floorUpdate","input","save","updateName","floorName","updateFloorNameSchema","updateLevel","level","validLevel","updateFloorLevelSchema","deletePrinterFromAnyFloor","updateMany","$pull","$in","addOrUpdatePrinter","updatedPosition","validInput","printerInFloorSchema","getCachedPrinterOrThrowAsync","filter","positionIndex","findIndex","push","removePrinter","removePrinterInFloorSchema","foundPrinterInFloorIndex","pif","splice","delete","deleteOne"],"mappings":";;;;+BAgBaA;;;eAAAA;;;uBAhBiB;4BACA;mCACI;wCAO3B;AAOA,MAAMA;;IACX,YAAY,AAAiBC,YAA0B,CAAE;aAA5BA,eAAAA;IAA6B;IAE1DC,MAAMC,KAAa,EAAyB;QAC1C,OAAO;YACLC,IAAID,MAAMC,EAAE;YACZC,MAAMF,MAAME,IAAI;YAChBF,OAAOA,MAAMA,KAAK;YAClBG,UAAUH,MAAMG,QAAQ,EAAEC,IAAI,CAACC,IAAO,CAAA;oBACpCC,GAAGD,EAAEC,CAAC;oBACNC,GAAGF,EAAEE,CAAC;oBACNC,WAAWH,EAAEG,SAAS,CAACC,QAAQ;oBAC/BC,SAASV,MAAMC,EAAE;gBACnB,CAAA;QACF;IACF;IAEA,MAAMU,OAAO;QACX,OAAOC,YAAK,CAACC,IAAI,CAAC,CAAC;IACrB;IAEA,MAAMC,IAAIJ,OAAoB,EAAE;QAC9B,MAAMV,QAAQ,MAAMY,YAAK,CAACG,OAAO,CAAC;YAAEC,KAAKN;QAAQ;QACjD,IAAI,CAACV,OAAO;YACV,MAAM,IAAIiB,oCAAiB,CAAC,CAAC,qCAAqC,CAAC;QACrE;QAEA,OAAOjB;IACT;IAEA,MAAMkB,qBAAqB;QACzB,OAAO,MAAM,IAAI,CAACC,MAAM,CAAC;YACvBjB,MAAM;YACNF,OAAO;YACPG,UAAU,EAAE;QACd;IACF;IAEA,MAAMgB,OAAOnB,KAAkC,EAAE;QAC/C,MAAMoB,iBAAiB,MAAMC,IAAAA,yBAAa,EAACrB,OAAOsB,IAAAA,iDAAyB,EAAC;QAE5E,OAAOV,YAAK,CAACO,MAAM,CAACC;IACtB;IAEA,MAAMG,OAAOb,OAAoB,EAAEa,MAAmC,EAAE;QACtE,MAAMC,gBAAgB,MAAM,IAAI,CAACV,GAAG,CAACJ;QAErC,IAAIa,OAAOpB,QAAQ,EAAE;YACnB,KAAK,MAAMsB,YAAYF,OAAOpB,QAAQ,CAAE;gBACtCsB,SAASf,OAAO,GAAGc,cAAcvB,EAAE;YACrC;QACF;QAEA,MAAMyB,cAAc;YAClB,GAAGF,aAAa;YAChBtB,MAAMqB,OAAOrB,IAAI;YACjBC,UAAUoB,OAAOpB,QAAQ;YACzBH,OAAOuB,OAAOvB,KAAK;QACrB;QACA,MAAM2B,QAAQ,MAAMN,IAAAA,yBAAa,EAACK,aAAaJ,IAAAA,iDAAyB,EAAC;QAEzEE,cAActB,IAAI,GAAGyB,MAAMzB,IAAI;QAC/BsB,cAAcxB,KAAK,GAAG2B,MAAM3B,KAAK;QACjCwB,cAAcrB,QAAQ,GAAGwB,MAAMxB,QAAQ;QACvC,OAAO,MAAMqB,cAAcI,IAAI;IACjC;IAEA,MAAMC,WAAWnB,OAAoB,EAAEoB,SAAiB,EAAE;QACxD,MAAM,EAAE5B,IAAI,EAAE,GAAG,MAAMmB,IAAAA,yBAAa,EAAC;YAAEnB,MAAM4B;QAAU,GAAGC,6CAAqB;QAE/E,MAAM/B,QAAQ,MAAM,IAAI,CAACc,GAAG,CAACJ;QAC7BV,MAAME,IAAI,GAAGA;QACb,OAAO,MAAMF,MAAM4B,IAAI;IACzB;IAEA,MAAMI,YAAYtB,OAAoB,EAAEuB,KAAa,EAAE;QACrD,MAAM,EAAEjC,OAAOkC,UAAU,EAAE,GAAG,MAAMb,IAAAA,yBAAa,EAAC;YAAErB,OAAOiC;QAAM,GAAGE,8CAAsB;QAE1F,MAAMnC,QAAQ,MAAM,IAAI,CAACc,GAAG,CAACJ;QAC7BV,MAAMA,KAAK,GAAGkC;QACd,OAAO,MAAMlC,MAAM4B,IAAI;IACzB;IAEA,MAAMQ,0BAA0B5B,SAAsB,EAAE;QACtD,MAAMI,YAAK,CAACyB,UAAU,CACpB,CAAC,GACD;YACEC,OAAO;gBACLnC,UAAU;oBACRK,WAAW;wBACT+B,KAAK;4BAAC/B;yBAAU;oBAClB;gBACF;YACF;QACF;IAEJ;IAEA,MAAMgC,mBAAmB9B,OAAoB,EAAE+B,eAAyC,EAAE;QACxF,MAAMzC,QAAQ,MAAM,IAAI,CAACc,GAAG,CAACJ;QAE7B+B,gBAAgB/B,OAAO,GAAGV,MAAMC,EAAE;QAClC,MAAMyC,aAAa,MAAMrB,IAAAA,yBAAa,EAACoB,iBAAiBE,IAAAA,4CAAoB,EAAC;QAG7E,MAAM,IAAI,CAAC7C,YAAY,CAAC8C,4BAA4B,CAACF,WAAWlC,SAAS;QAGzER,MAAMG,QAAQ,GAAGH,MAAMG,QAAQ,CAAC0C,MAAM,CAAC,CAACpB,WAAa,CAAEA,CAAAA,SAASnB,CAAC,KAAKoC,WAAWpC,CAAC,IAAImB,SAASlB,CAAC,KAAKmC,WAAWnC,CAAC,AAADA;QAEhH,MAAMuC,gBAAgB9C,MAAMG,QAAQ,CAAC4C,SAAS,CAC5C,CAACtB,WAAaA,SAASjB,SAAS,CAACC,QAAQ,OAAOiC,WAAWlC,SAAS,CAACC,QAAQ;QAE/E,IAAIqC,kBAAkB,CAAC,GAAG;YACxB9C,MAAMG,QAAQ,CAAC2C,cAAc,GAAGJ;QAClC,OAAO;YACL1C,MAAMG,QAAQ,CAAC6C,IAAI,CAACN;QACtB;QAEA,MAAM1C,MAAM4B,IAAI;QAChB,OAAO5B;IACT;IAEA,MAAMiD,cAAcvC,OAAoB,EAAEF,SAAsB,EAAE;QAChE,MAAMR,QAAQ,MAAM,IAAI,CAACc,GAAG,CAACJ;QAC7B,MAAMgC,aAAa,MAAMrB,IAAAA,yBAAa,EAAC;YAAEb;QAAU,GAAG0C,IAAAA,kDAA0B,EAAC;QAGjF,MAAM,IAAI,CAACpD,YAAY,CAAC8C,4BAA4B,CAACF,WAAWlC,SAAS;QAEzE,MAAM2C,2BAA2BnD,MAAMG,QAAQ,CAAC4C,SAAS,CACvD,CAACK,MAAQA,IAAI5C,SAAS,CAACC,QAAQ,OAAOiC,WAAWlC,SAAS,CAACC,QAAQ;QAErE,IAAI0C,6BAA6B,CAAC,GAAG,OAAOnD;QAC5CA,MAAMG,QAAQ,CAACkD,MAAM,CAACF,0BAA0B;QAChD,MAAMnD,MAAM4B,IAAI;QAChB,OAAO5B;IACT;IAEA,MAAMsD,OAAO5C,OAAoB,EAAE;QACjC,MAAM,IAAI,CAACI,GAAG,CAACJ;QACf,MAAME,YAAK,CAAC2C,SAAS,CAAC;YAAEvC,KAAKN;QAAQ;IACvC;AACF"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PermissionService", {
6
- enumerable: true,
7
- get: function() {
8
- return PermissionService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _authorizationconstants = require("../../constants/authorization.constants");
13
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
14
- class PermissionService {
15
- logger;
16
- constructor(loggerFactory){
17
- this.logger = loggerFactory(PermissionService.name);
18
- }
19
- _permissions = [];
20
- get permissions() {
21
- return this._permissions;
22
- }
23
- toDto(permission) {
24
- return {
25
- id: permission.id,
26
- name: permission.name
27
- };
28
- }
29
- authorizePermission(requiredPermission, assignedPermissions) {
30
- return !!assignedPermissions.find((assignedPermission)=>{
31
- const normalizePermission = this.normalizePermission(assignedPermission);
32
- if (!normalizePermission) return false;
33
- return normalizePermission === requiredPermission;
34
- });
35
- }
36
- async getPermissionByName(permissionName) {
37
- const permission = this.permissions.find((r)=>r.name === permissionName);
38
- if (!permission) throw new _runtimeexceptions.NotFoundException("Permission not found");
39
- return permission;
40
- }
41
- async getPermission(permissionId) {
42
- const permission = this.permissions.find((r)=>r.id === permissionId);
43
- if (!permission) throw new _runtimeexceptions.NotFoundException(`Permission by provided id not found`);
44
- return permission;
45
- }
46
- async syncPermissions() {
47
- this._permissions = [];
48
- const permissionDefinition = (0, _authorizationconstants.flattenPermissionDefinition)();
49
- for (let permission of permissionDefinition){
50
- const storedPermission = await _models.Permission.findOne({
51
- name: permission
52
- });
53
- if (!storedPermission) {
54
- const newPermission = await _models.Permission.create({
55
- name: permission
56
- });
57
- this._permissions.push(newPermission);
58
- } else {
59
- this._permissions.push(storedPermission);
60
- }
61
- }
62
- }
63
- normalizePermission(assignedPermission) {
64
- const permissionInstance = this.permissions.find((r)=>r.id === assignedPermission || r.name === assignedPermission);
65
- if (!permissionInstance) {
66
- this.logger.warn("The permission by by provided id did not exist. Skipping");
67
- return;
68
- }
69
- return permissionInstance.name;
70
- }
71
- }
72
-
73
- //# sourceMappingURL=permission.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/permission.service.ts"],"names":["PermissionService","logger","loggerFactory","name","_permissions","permissions","toDto","permission","id","authorizePermission","requiredPermission","assignedPermissions","find","assignedPermission","normalizePermission","getPermissionByName","permissionName","r","NotFoundException","getPermission","permissionId","syncPermissions","permissionDefinition","flattenPermissionDefinition","storedPermission","Permission","findOne","newPermission","create","push","permissionInstance","warn"],"mappings":";;;;+BASaA;;;eAAAA;;;wBATc;wCACiB;mCACV;AAO3B,MAAMA;IACMC,OAAsB;IAEvC,YAAYC,aAA6B,CAAE;QACzC,IAAI,CAACD,MAAM,GAAGC,cAAcF,kBAAkBG,IAAI;IACpD;IAEQC,eAA8B,EAAE,CAAC;IAEzC,IAAIC,cAAc;QAChB,OAAO,IAAI,CAACD,YAAY;IAC1B;IAEAE,MAAMC,UAAuB,EAAE;QAC7B,OAAO;YACLC,IAAID,WAAWC,EAAE;YACjBL,MAAMI,WAAWJ,IAAI;QACvB;IACF;IAEAM,oBAAoBC,kBAA0B,EAAEC,mBAA6B,EAAE;QAC7E,OAAO,CAAC,CAACA,oBAAoBC,IAAI,CAAC,CAACC;YACjC,MAAMC,sBAAsB,IAAI,CAACA,mBAAmB,CAACD;YACrD,IAAI,CAACC,qBAAqB,OAAO;YACjC,OAAOA,wBAAwBJ;QACjC;IACF;IAEA,MAAMK,oBAAoBC,cAAsB,EAAE;QAChD,MAAMT,aAAa,IAAI,CAACF,WAAW,CAACO,IAAI,CAAC,CAACK,IAAMA,EAAEd,IAAI,KAAKa;QAC3D,IAAI,CAACT,YAAY,MAAM,IAAIW,oCAAiB,CAAC;QAC7C,OAAOX;IACT;IAEA,MAAMY,cAAcC,YAAyB,EAAE;QAC7C,MAAMb,aAAa,IAAI,CAACF,WAAW,CAACO,IAAI,CAAC,CAACK,IAAMA,EAAET,EAAE,KAAKY;QACzD,IAAI,CAACb,YAAY,MAAM,IAAIW,oCAAiB,CAAC,CAAC,mCAAmC,CAAC;QAElF,OAAOX;IACT;IAEA,MAAMc,kBAAkB;QACtB,IAAI,CAACjB,YAAY,GAAG,EAAE;QAEtB,MAAMkB,uBAAuBC,IAAAA,mDAA2B;QACxD,KAAK,IAAIhB,cAAce,qBAAsB;YAC3C,MAAME,mBAAmB,MAAMC,kBAAU,CAACC,OAAO,CAAC;gBAAEvB,MAAMI;YAAW;YACrE,IAAI,CAACiB,kBAAkB;gBACrB,MAAMG,gBAAgB,MAAMF,kBAAU,CAACG,MAAM,CAAC;oBAC5CzB,MAAMI;gBACR;gBACA,IAAI,CAACH,YAAY,CAACyB,IAAI,CAACF;YACzB,OAAO;gBACL,IAAI,CAACvB,YAAY,CAACyB,IAAI,CAACL;YACzB;QACF;IACF;IAEAV,oBAAoBD,kBAA0B,EAAE;QAC9C,MAAMiB,qBAAqB,IAAI,CAACzB,WAAW,CAACO,IAAI,CAC9C,CAACK,IAAMA,EAAET,EAAE,KAAKK,sBAAsBI,EAAEd,IAAI,KAAKU;QAEnD,IAAI,CAACiB,oBAAoB;YACvB,IAAI,CAAC7B,MAAM,CAAC8B,IAAI,CAAC;YACjB;QACF;QACA,OAAOD,mBAAmB3B,IAAI;IAChC;AACF"}
@@ -1,134 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PrintCompletionService", {
6
- enumerable: true,
7
- get: function() {
8
- return PrintCompletionService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _printcompletionservicevalidation = require("../validators/print-completion-service.validation");
13
- const _validators = require("../../handlers/validators");
14
- const _octoprintwebsocketconstants = require("../octoprint/constants/octoprint-websocket.constants");
15
- const _printcompletionshared = require("./print-completion.shared");
16
- class PrintCompletionService {
17
- logger;
18
- constructor(loggerFactory){
19
- this.logger = loggerFactory(PrintCompletionService.name);
20
- }
21
- toDto(entity) {
22
- return {
23
- id: entity.id,
24
- completionLog: entity.completionLog,
25
- context: entity.context,
26
- fileName: entity.fileName,
27
- createdAt: entity.createdAt,
28
- status: entity.status,
29
- printerId: entity.printerId.toString()
30
- };
31
- }
32
- async create(input) {
33
- const { printerId, fileName, completionLog, status, context } = await (0, _validators.validateInput)(input, (0, _printcompletionservicevalidation.createPrintCompletionSchema)(false));
34
- return _models.PrintCompletion.create({
35
- printerId,
36
- fileName,
37
- completionLog,
38
- status,
39
- createdAt: Date.now(),
40
- context
41
- });
42
- }
43
- async list() {
44
- return _models.PrintCompletion.find({});
45
- }
46
- async findPrintCompletion(correlationId) {
47
- return _models.PrintCompletion.find({
48
- "context.correlationId": correlationId
49
- });
50
- }
51
- async updateContext(correlationId, context) {
52
- if (!correlationId?.length) {
53
- this.logger.warn("Ignoring undefined correlationId, cant update print completion context");
54
- return;
55
- }
56
- const completionEntry = await _models.PrintCompletion.findOne({
57
- "context.correlationId": correlationId,
58
- status: _octoprintwebsocketconstants.EVENT_TYPES.PrintStarted
59
- });
60
- if (!completionEntry) {
61
- this.logger.warn(`Print with correlationId ${correlationId} could not be updated with new context as it was not found`);
62
- return;
63
- }
64
- completionEntry.context = context;
65
- await completionEntry.save();
66
- }
67
- async loadPrintContexts() {
68
- const contexts = await _models.PrintCompletion.aggregate([
69
- {
70
- $sort: {
71
- printerId: 1,
72
- createdAt: -1
73
- }
74
- },
75
- {
76
- $group: {
77
- _id: "$printerId",
78
- createdAt: {
79
- $first: "$createdAt"
80
- },
81
- context: {
82
- $first: "$context"
83
- },
84
- status: {
85
- $first: "$status"
86
- },
87
- fileName: {
88
- $first: "$fileName"
89
- }
90
- }
91
- },
92
- {
93
- $match: {
94
- status: {
95
- $nin: [
96
- _octoprintwebsocketconstants.EVENT_TYPES.PrintDone,
97
- _octoprintwebsocketconstants.EVENT_TYPES.PrintFailed
98
- ]
99
- }
100
- }
101
- }
102
- ]);
103
- return Object.fromEntries(contexts.map((c)=>{
104
- c.printerId = c._id;
105
- delete c._id;
106
- return [
107
- c.printerId,
108
- c
109
- ];
110
- }));
111
- }
112
- async listGroupByPrinterStatus() {
113
- const printCompletionsAggr = await _models.PrintCompletion.aggregate([
114
- {
115
- $group: {
116
- _id: "$printerId",
117
- printEvents: {
118
- $push: {
119
- printerId: "$printerId",
120
- context: "$context",
121
- completionLog: "$completionLog",
122
- fileName: "$fileName",
123
- status: "$status",
124
- createdAt: "$createdAt"
125
- }
126
- }
127
- }
128
- }
129
- ]);
130
- return (0, _printcompletionshared.processCompletions)(printCompletionsAggr);
131
- }
132
- }
133
-
134
- //# sourceMappingURL=print-completion.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/print-completion.service.ts"],"names":["PrintCompletionService","logger","loggerFactory","name","toDto","entity","id","completionLog","context","fileName","createdAt","status","printerId","toString","create","input","validateInput","createPrintCompletionSchema","PrintCompletion","Date","now","list","find","findPrintCompletion","correlationId","updateContext","length","warn","completionEntry","findOne","EVENT_TYPES","PrintStarted","save","loadPrintContexts","contexts","aggregate","$sort","$group","_id","$first","$match","$nin","PrintDone","PrintFailed","Object","fromEntries","map","c","listGroupByPrinterStatus","printCompletionsAggr","printEvents","$push","processCompletions"],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "processCompletions", {
6
- enumerable: true,
7
- get: function() {
8
- return processCompletions;
9
- }
10
- });
11
- const _arrayutil = require("../../utils/array.util");
12
- const _octoprintwebsocketconstants = require("../octoprint/constants/octoprint-websocket.constants");
13
- const durationDayMSec = 24 * 60 * 60 * 1000;
14
- function processCompletions(completions) {
15
- return completions.map((pc)=>{
16
- pc.printerId = pc.printerId ?? pc._id;
17
- delete pc._id;
18
- const jobs = (0, _arrayutil.groupArrayBy)(pc.printEvents.filter((e)=>e.context?.correlationId), (e)=>e.context?.correlationId);
19
- pc.printJobs = Object.entries(jobs).map(([id, events])=>{
20
- const eventMap = events.map(({ status, createdAt, fileName, completionLog })=>({
21
- status,
22
- createdAt,
23
- fileName,
24
- completionLog
25
- }));
26
- return {
27
- correlationId: id,
28
- events: eventMap,
29
- lastEvent: eventMap.reduce((e1, e2)=>e1.createdAt > e2.createdAt ? e1 : e2)
30
- };
31
- });
32
- pc.correlationIds = pc.printJobs.map((j)=>j.correlationId);
33
- pc.printCount = pc.correlationIds?.length;
34
- pc.eventCount = pc.printEvents.length;
35
- const mappedEvents = pc.printEvents.map(({ status, createdAt, fileName, context, completionLog })=>({
36
- status,
37
- createdAt,
38
- fileName,
39
- context,
40
- completionLog
41
- }));
42
- const failureEvents = mappedEvents.filter((e)=>e.status === _octoprintwebsocketconstants.EVENT_TYPES.PrintFailed);
43
- pc.failureCount = failureEvents?.length;
44
- pc.lastFailure = failureEvents?.length ? failureEvents.reduce((j1, j2)=>j1.createdAt > j2.createdAt ? j1 : j2) : null;
45
- pc.failureEventsLastWeek = failureEvents.filter((e)=>e.createdAt > Date.now() - 7 * durationDayMSec)?.length;
46
- pc.failureEventsLast48H = failureEvents.filter((e)=>e.createdAt > Date.now() - 2 * durationDayMSec)?.length;
47
- pc.failureEventsLast24H = failureEvents.filter((e)=>e.createdAt > Date.now() - durationDayMSec)?.length;
48
- const successEvents = mappedEvents.filter((e)=>e.status === _octoprintwebsocketconstants.EVENT_TYPES.PrintDone);
49
- pc.successCount = successEvents?.length;
50
- pc.lastSuccess = successEvents?.length ? successEvents?.reduce((j1, j2)=>j1.createdAt > j2.createdAt ? j1 : j2) : null;
51
- pc.successEventsLastWeek = successEvents.filter((e)=>e.createdAt > Date.now() - 7 * durationDayMSec)?.length;
52
- pc.successEventsLast48H = successEvents.filter((e)=>e.createdAt > Date.now() - 2 * durationDayMSec)?.length;
53
- pc.successEventsLast24H = successEvents.filter((e)=>e.createdAt > Date.now() - durationDayMSec)?.length;
54
- pc.printEvents = [];
55
- return pc;
56
- });
57
- }
58
-
59
- //# sourceMappingURL=print-completion.shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/print-completion.shared.ts"],"names":["processCompletions","durationDayMSec","completions","map","pc","printerId","_id","jobs","groupArrayBy","printEvents","filter","e","context","correlationId","printJobs","Object","entries","id","events","eventMap","status","createdAt","fileName","completionLog","lastEvent","reduce","e1","e2","correlationIds","j","printCount","length","eventCount","mappedEvents","failureEvents","EVENT_TYPES","PrintFailed","failureCount","lastFailure","j1","j2","failureEventsLastWeek","Date","now","failureEventsLast48H","failureEventsLast24H","successEvents","PrintDone","successCount","lastSuccess","successEventsLastWeek","successEventsLast48H","successEventsLast24H"],"mappings":"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"}
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PrinterService", {
6
- enumerable: true,
7
- get: function() {
8
- return PrinterService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
13
- const _validators = require("../../handlers/validators");
14
- const _printerservicevalidation = require("../validators/printer-service.validation");
15
- const _eventconstants = require("../../constants/event.constants");
16
- const _normalizeurl = require("../../utils/normalize-url");
17
- const _urlutils = require("../../utils/url.utils");
18
- class PrinterService {
19
- eventEmitter2;
20
- logger;
21
- constructor(eventEmitter2, loggerFactory){
22
- this.eventEmitter2 = eventEmitter2;
23
- this.logger = loggerFactory(PrinterService.name);
24
- }
25
- toDto(entity) {
26
- return {
27
- id: entity.id,
28
- name: entity.name,
29
- enabled: entity.enabled,
30
- disabledReason: entity.disabledReason,
31
- dateAdded: entity.dateAdded,
32
- apiKey: entity.apiKey,
33
- username: entity.username,
34
- password: entity.password,
35
- printerURL: entity.printerURL,
36
- printerType: entity.printerType
37
- };
38
- }
39
- async list() {
40
- return _models.Printer.find({}, null, {
41
- sort: {
42
- dateAdded: 1
43
- }
44
- });
45
- }
46
- async get(printerId) {
47
- const filter = {
48
- _id: printerId
49
- };
50
- const printer = await _models.Printer.findOne(filter);
51
- if (!printer) {
52
- throw new _runtimeexceptions.NotFoundException(`The printer with provided id was not found`);
53
- }
54
- return printer;
55
- }
56
- async create(newPrinter, emitEvent = true) {
57
- if (!newPrinter) throw new Error("Missing printer to create");
58
- const mergedPrinter = await this.validateAndDefault(newPrinter);
59
- mergedPrinter.dateAdded = Date.now();
60
- const printer = await _models.Printer.create(mergedPrinter);
61
- if (emitEvent) {
62
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerCreated, {
63
- printer
64
- });
65
- }
66
- return printer;
67
- }
68
- async update(printerId, updateData) {
69
- const printer = await this.get(printerId);
70
- updateData.printerURL = (0, _normalizeurl.normalizeUrl)(updateData.printerURL, {
71
- defaultProtocol: _urlutils.defaultHttpProtocol
72
- });
73
- const { printerURL, apiKey, username, password, enabled, name, printerType } = await (0, _validators.validateInput)(updateData, _printerservicevalidation.createPrinterSchema);
74
- printer.printerURL = printerURL;
75
- printer.apiKey = apiKey;
76
- printer.username = username;
77
- printer.password = password;
78
- if (enabled !== undefined) {
79
- printer.enabled = enabled;
80
- }
81
- printer.name = name;
82
- printer.printerType = printerType;
83
- await printer.save();
84
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
85
- printer
86
- });
87
- return printer;
88
- }
89
- async deleteMany(printerIds, emitEvent = true) {
90
- await _models.Printer.deleteMany({
91
- _id: {
92
- $in: printerIds
93
- }
94
- });
95
- if (emitEvent) {
96
- this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
97
- printerIds
98
- });
99
- }
100
- }
101
- async delete(printerId, emitEvent = true) {
102
- const filter = {
103
- _id: printerId
104
- };
105
- await _models.Printer.findOneAndDelete(filter);
106
- if (emitEvent) {
107
- this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
108
- printerIds: [
109
- printerId
110
- ]
111
- });
112
- }
113
- }
114
- async batchImport(printers) {
115
- if (!printers?.length) return [];
116
- for (let printer of printers){
117
- await this.validateAndDefault(printer);
118
- }
119
- this.logger.log("Validation passed");
120
- const newPrinters = [];
121
- for (let printer of printers){
122
- const createdPrinter = await this.create(printer, false);
123
- newPrinters.push(createdPrinter);
124
- }
125
- this.logger.log("Batch create succeeded");
126
- this.eventEmitter2.emit(_eventconstants.printerEvents.batchPrinterCreated, {
127
- printers: newPrinters
128
- });
129
- return newPrinters;
130
- }
131
- async updateFlowRate(printerId, flowRate) {
132
- const update = {
133
- flowRate
134
- };
135
- await this.get(printerId);
136
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
137
- new: true,
138
- useFindAndModify: false
139
- });
140
- if (printer) {
141
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
142
- printer
143
- });
144
- }
145
- return printer;
146
- }
147
- async updateFeedRate(printerId, feedRate) {
148
- const update = {
149
- feedRate
150
- };
151
- await this.get(printerId);
152
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
153
- new: true,
154
- useFindAndModify: false
155
- });
156
- if (printer) {
157
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
158
- printer
159
- });
160
- }
161
- return printer;
162
- }
163
- async updateEnabled(printerId, enabled) {
164
- const update = enabled ? {
165
- enabled,
166
- disabledReason: null
167
- } : {
168
- enabled
169
- };
170
- await (0, _validators.validateInput)(update, _printerservicevalidation.updatePrinterEnabledSchema);
171
- await this.get(printerId);
172
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
173
- new: true,
174
- useFindAndModify: false
175
- });
176
- if (printer) {
177
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
178
- printer
179
- });
180
- }
181
- return printer;
182
- }
183
- async updateDisabledReason(printerId, disabledReason) {
184
- const enabled = !disabledReason?.length;
185
- const update = {
186
- disabledReason,
187
- enabled
188
- };
189
- await (0, _validators.validateInput)(update, _printerservicevalidation.updatePrinterDisabledReasonSchema);
190
- await this.get(printerId);
191
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
192
- new: true,
193
- useFindAndModify: false
194
- });
195
- if (printer) {
196
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
197
- printer
198
- });
199
- }
200
- return printer;
201
- }
202
- async validateAndDefault(printer) {
203
- const mergedPrinter = {
204
- enabled: true,
205
- ...printer
206
- };
207
- if (mergedPrinter.printerURL?.length) {
208
- mergedPrinter.printerURL = (0, _normalizeurl.normalizeUrl)(mergedPrinter.printerURL, {
209
- defaultProtocol: _urlutils.defaultHttpProtocol
210
- });
211
- }
212
- return await (0, _validators.validateInput)(mergedPrinter, _printerservicevalidation.createPrinterSchema);
213
- }
214
- }
215
-
216
- //# sourceMappingURL=printer.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/printer.service.ts"],"names":["PrinterService","logger","eventEmitter2","loggerFactory","name","toDto","entity","id","enabled","disabledReason","dateAdded","apiKey","username","password","printerURL","printerType","list","Printer","find","sort","get","printerId","filter","_id","printer","findOne","NotFoundException","create","newPrinter","emitEvent","Error","mergedPrinter","validateAndDefault","Date","now","emit","printerEvents","printerCreated","update","updateData","normalizeUrl","defaultProtocol","defaultHttpProtocol","validateInput","createPrinterSchema","undefined","save","printerUpdated","deleteMany","printerIds","$in","printersDeleted","delete","findOneAndDelete","batchImport","printers","length","log","newPrinters","createdPrinter","push","batchPrinterCreated","updateFlowRate","flowRate","findByIdAndUpdate","new","useFindAndModify","updateFeedRate","feedRate","updateEnabled","updatePrinterEnabledSchema","updateDisabledReason","updatePrinterDisabledReasonSchema"],"mappings":"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"}