@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
package/package.json CHANGED
@@ -6,12 +6,12 @@
6
6
  },
7
7
  "author": "David Zwart",
8
8
  "license": "AGPL-3.0-or-later",
9
- "version": "1.9.4",
9
+ "version": "2.0.0",
10
10
  "bin": {
11
11
  "fdm-monster": "dist/index.js",
12
12
  "fdmm": "dist/index.js"
13
13
  },
14
- "description": "FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.",
14
+ "description": "FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.",
15
15
  "main": "dist/index.js",
16
16
  "scripts": {
17
17
  "build": "swc src -d dist --strip-leading-paths",
@@ -20,28 +20,25 @@
20
20
  "serve": "NODE_ENV=development node --enable-source-maps --watch-path=dist dist/index.js",
21
21
  "start:dev": "ts-node src/index.ts",
22
22
  "start": "cross-env NODE_ENV=production node dist/index.js",
23
- "console:http-file-servers": "node ./dist/consoles/http-file-receiver.console.js",
24
23
  "console:many-http-file-receivers": "node ./dist/consoles/launch-http-servers.js",
25
- "console:github-releases": "yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/download-github-releases.js",
26
- "console:generate": "yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/typeorm-generate.js",
27
- "console:migrate": "yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/typeorm-migrate.js",
28
- "console:upload": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/upload-test.js",
29
- "console:mock-bambu": "yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/mock-bambu.server.js",
30
- "migration:create": "migrate-mongo create printer-files-simpler",
31
- "migration:up": "migrate-mongo up",
32
- "migration:down": "migrate-mongo down",
33
- "migration:status": "migrate-mongo status",
24
+ "console:github-releases": "swc clean && yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/download-github-releases.js",
25
+ "console:create": "swc clean && yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/typeorm-create.js",
26
+ "console:generate": "swc clean && yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/typeorm-generate.js",
27
+ "console:migrate": "swc clean && yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/typeorm-migrate.js",
28
+ "console:upload": "swc clean && yarn build && cross-env NODE_ENV=development node ./dist/consoles/upload-test.js",
29
+ "console:mock-octoprint": "swc clean && yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/mock-octoprint.server.js",
30
+ "console:mock-bambu": "swc clean && yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/mock-bambu.server.js",
31
+ "console:mock-camera": "swc clean && yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/mock-camera/mock-camera.server.js",
34
32
  "format": "biome format --write src test",
35
33
  "swc": "swc",
36
34
  "tsc": "tsc --noEmit",
37
35
  "tsc:watch": "tsc --noEmit --watch",
38
- "test:mongodb": "cross-env MONGODB_MODE=true jest --forceExit --maxConcurrency=8 --runInBand ",
39
- "test:sqlite": "cross-env MONGODB_MODE=false jest --forceExit --maxConcurrency=8 --runInBand ",
40
- "test:cov-mongodb": "cross-env MONGODB_MODE=true jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
41
- "test:cov-sqlite": "cross-env MONGODB_MODE=false jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
36
+ "test": "jest --forceExit --maxConcurrency=8 --runInBand ",
37
+ "test:cov": "jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
42
38
  "cov:show": "./coverage/lcov-report/index.html",
43
39
  "torm": "ts-node --swc -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
44
- "typeorm:generate": "yarn torm migration:generate -d src/data-source.ts --pretty src/migrations/AddPrinterUsernamePassword",
40
+ "typeorm:create": "yarn torm migration:create src/migrations/DropPrintCompletion",
41
+ "typeorm:generate": "yarn torm migration:generate -d src/data-source.ts --pretty src/migrations/AddPrintJob",
45
42
  "typeorm:migrate": "yarn torm migration:run -d src/data-source.ts",
46
43
  "typeorm:revert": "yarn torm migration:revert -d src/data-source.ts"
47
44
  },
@@ -63,15 +60,14 @@
63
60
  "tr46": "6.0.0"
64
61
  },
65
62
  "dependencies": {
66
- "@fdm-monster/client": "1.12.3",
67
- "@fdm-monster/client-next": "0.0.26",
63
+ "@fdm-monster/client-next": "2.1.0",
68
64
  "@octokit/plugin-throttling": "8.2.0",
69
65
  "@sentry/node": "10.32.1",
70
66
  "adm-zip": "0.5.16",
71
67
  "awilix": "12.0.5",
72
68
  "awilix-express": "9.0.2",
73
69
  "axios": "1.13.2",
74
- "basic-ftp": "5.0.5",
70
+ "basic-ftp": "5.1.0",
75
71
  "bcryptjs": "3.0.3",
76
72
  "better-sqlite3": "12.5.0",
77
73
  "class-validator": "0.14.3",
@@ -88,8 +84,6 @@
88
84
  "jsonwebtoken": "9.0.3",
89
85
  "lodash": "4.17.21",
90
86
  "luxon": "3.7.2",
91
- "migrate-mongo": "11.0.0",
92
- "mongoose": "6.13.8",
93
87
  "mqtt": "5.14.1",
94
88
  "multer": "2.0.2",
95
89
  "octokit": "3.2.2",
@@ -109,11 +103,11 @@
109
103
  "zod": "3.25.76"
110
104
  },
111
105
  "devDependencies": {
112
- "@biomejs/biome": "2.3.10",
106
+ "@biomejs/biome": "2.3.11",
113
107
  "@lcov-viewer/cli": "1.3.0",
114
108
  "@lcov-viewer/istanbul-report": "1.4.0",
115
109
  "@swc/cli": "0.7.9",
116
- "@swc/core": "1.15.7",
110
+ "@swc/core": "1.15.8",
117
111
  "@swc/jest": "0.2.39",
118
112
  "@types/adm-zip": "0.5.7",
119
113
  "@types/connect-history-api-fallback": "1.5.4",
@@ -124,7 +118,6 @@
124
118
  "@types/js-yaml": "4.0.9",
125
119
  "@types/lodash": "4.17.21",
126
120
  "@types/luxon": "3.7.1",
127
- "@types/migrate-mongo": "10.0.6",
128
121
  "@types/multer": "2.0.0",
129
122
  "@types/node": "24.10.4",
130
123
  "@types/passport-anonymous": "1.0.5",
@@ -134,23 +127,24 @@
134
127
  "@types/uuid": "10.0.0",
135
128
  "@types/ws": "8.18.1",
136
129
  "chokidar": "5.0.0",
137
- "express-list-routes": "1.3.2",
138
130
  "ftp-srv": "4.6.3",
139
131
  "jest": "29.7.0",
140
132
  "jest-27-expect-message": "1.1.0",
141
- "mongodb-memory-server": "11.0.1",
142
133
  "nock": "13.5.6",
134
+ "openapi3-ts": "4.5.0",
143
135
  "selfsigned": "5.4.0",
144
136
  "supertest": "7.1.4",
137
+ "swagger-ui-dist": "5.31.0",
145
138
  "ts-node": "10.9.2",
139
+ "tsconfig-paths": "4.2.0",
146
140
  "typescript": "5.9.3"
147
141
  },
148
142
  "ignore-engines": false,
149
143
  "engine-strict": true,
150
144
  "engines": {
151
- "node": ">= 20.0.0",
152
- "npm": ">= 8.1.4",
153
- "yarn": ">= 4.8.0"
145
+ "node": ">= 22.0.0",
146
+ "npm": ">= 10.9.0",
147
+ "yarn": ">= 4.12.0"
154
148
  },
155
149
  "packageManager": "yarn@4.12.0"
156
150
  }
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "CustomGcodeController", {
6
- enumerable: true,
7
- get: function() {
8
- return CustomGcodeController;
9
- }
10
- });
11
- const _awilixexpress = require("awilix-express");
12
- const _authenticate = require("../middleware/authenticate");
13
- const _serverconstants = require("../server.constants");
14
- const _authorizationconstants = require("../constants/authorization.constants");
15
- const _printer = require("../middleware/printer");
16
- const _express = require("express");
17
- const _customgcodeserviceinterface = require("../services/interfaces/custom-gcode.service.interface");
18
- const _printerresolver = require("../middleware/printer-resolver");
19
- const _paramconvertermiddleware = require("../middleware/param-converter.middleware");
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
- }
29
- class CustomGcodeController {
30
- customGCodeService;
31
- isTypeormMode;
32
- constructor(customGCodeService, isTypeormMode){
33
- this.customGCodeService = customGCodeService;
34
- this.isTypeormMode = isTypeormMode;
35
- }
36
- async sendEmergencyM112(req, res) {
37
- const { printerApi } = (0, _printerresolver.getScopedPrinter)(req);
38
- await printerApi.quickStop();
39
- res.send();
40
- }
41
- async list(req, res) {
42
- const entities = await this.customGCodeService.list();
43
- res.send(entities.map((e)=>this.customGCodeService.toDto(e)));
44
- }
45
- async create(req, res) {
46
- const entity = await this.customGCodeService.create(req.body);
47
- res.send(this.customGCodeService.toDto(entity));
48
- }
49
- async get(req, res) {
50
- const entity = await this.customGCodeService.get(req.local.id);
51
- res.send(this.customGCodeService.toDto(entity));
52
- }
53
- async update(req, res) {
54
- const updatedScript = await this.customGCodeService.update(req.local.id, req.body);
55
- res.send(this.customGCodeService.toDto(updatedScript));
56
- }
57
- async delete(req, res) {
58
- await this.customGCodeService.delete(req.local.id);
59
- res.send();
60
- }
61
- }
62
- _ts_decorate([
63
- (0, _awilixexpress.POST)(),
64
- (0, _awilixexpress.route)("/send-emergency-m112/:printerId"),
65
- (0, _awilixexpress.before)([
66
- (0, _printer.printerResolveMiddleware)("printerId")
67
- ]),
68
- _ts_metadata("design:type", Function),
69
- _ts_metadata("design:paramtypes", [
70
- typeof _express.Request === "undefined" ? Object : _express.Request,
71
- typeof _express.Response === "undefined" ? Object : _express.Response
72
- ]),
73
- _ts_metadata("design:returntype", Promise)
74
- ], CustomGcodeController.prototype, "sendEmergencyM112", null);
75
- _ts_decorate([
76
- (0, _awilixexpress.GET)(),
77
- (0, _awilixexpress.route)("/"),
78
- _ts_metadata("design:type", Function),
79
- _ts_metadata("design:paramtypes", [
80
- typeof _express.Request === "undefined" ? Object : _express.Request,
81
- typeof _express.Response === "undefined" ? Object : _express.Response
82
- ]),
83
- _ts_metadata("design:returntype", Promise)
84
- ], CustomGcodeController.prototype, "list", null);
85
- _ts_decorate([
86
- (0, _awilixexpress.POST)(),
87
- (0, _awilixexpress.route)("/"),
88
- _ts_metadata("design:type", Function),
89
- _ts_metadata("design:paramtypes", [
90
- typeof _express.Request === "undefined" ? Object : _express.Request,
91
- typeof _express.Response === "undefined" ? Object : _express.Response
92
- ]),
93
- _ts_metadata("design:returntype", Promise)
94
- ], CustomGcodeController.prototype, "create", null);
95
- _ts_decorate([
96
- (0, _awilixexpress.GET)(),
97
- (0, _awilixexpress.route)("/:id"),
98
- (0, _awilixexpress.before)([
99
- (0, _paramconvertermiddleware.ParamId)("id")
100
- ]),
101
- _ts_metadata("design:type", Function),
102
- _ts_metadata("design:paramtypes", [
103
- typeof _express.Request === "undefined" ? Object : _express.Request,
104
- typeof _express.Response === "undefined" ? Object : _express.Response
105
- ]),
106
- _ts_metadata("design:returntype", Promise)
107
- ], CustomGcodeController.prototype, "get", null);
108
- _ts_decorate([
109
- (0, _awilixexpress.PUT)(),
110
- (0, _awilixexpress.route)("/:id"),
111
- (0, _awilixexpress.before)([
112
- (0, _paramconvertermiddleware.ParamId)("id")
113
- ]),
114
- _ts_metadata("design:type", Function),
115
- _ts_metadata("design:paramtypes", [
116
- typeof _express.Request === "undefined" ? Object : _express.Request,
117
- typeof _express.Response === "undefined" ? Object : _express.Response
118
- ]),
119
- _ts_metadata("design:returntype", Promise)
120
- ], CustomGcodeController.prototype, "update", null);
121
- _ts_decorate([
122
- (0, _awilixexpress.DELETE)(),
123
- (0, _awilixexpress.route)("/:id"),
124
- (0, _awilixexpress.before)([
125
- (0, _paramconvertermiddleware.ParamId)("id")
126
- ]),
127
- _ts_metadata("design:type", Function),
128
- _ts_metadata("design:paramtypes", [
129
- typeof _express.Request === "undefined" ? Object : _express.Request,
130
- typeof _express.Response === "undefined" ? Object : _express.Response
131
- ]),
132
- _ts_metadata("design:returntype", Promise)
133
- ], CustomGcodeController.prototype, "delete", null);
134
- CustomGcodeController = _ts_decorate([
135
- (0, _awilixexpress.route)(`${_serverconstants.AppConstants.apiRoute}/custom-gcode`),
136
- (0, _awilixexpress.before)([
137
- (0, _authenticate.authenticate)(),
138
- (0, _authenticate.authorizeRoles)([
139
- _authorizationconstants.ROLES.ADMIN,
140
- _authorizationconstants.ROLES.OPERATOR
141
- ])
142
- ]),
143
- _ts_metadata("design:type", Function),
144
- _ts_metadata("design:paramtypes", [
145
- typeof _customgcodeserviceinterface.ICustomGcodeService === "undefined" ? Object : _customgcodeserviceinterface.ICustomGcodeService,
146
- Boolean
147
- ])
148
- ], CustomGcodeController);
149
-
150
- //# sourceMappingURL=custom-gcode.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/controllers/custom-gcode.controller.ts"],"names":["CustomGcodeController","customGCodeService","isTypeormMode","sendEmergencyM112","req","res","printerApi","getScopedPrinter","quickStop","send","list","entities","map","e","toDto","create","entity","body","get","local","id","update","updatedScript","delete","printerResolveMiddleware","ParamId","AppConstants","apiRoute","authenticate","authorizeRoles","ROLES","ADMIN","OPERATOR"],"mappings":";;;;+BAYaA;;;eAAAA;;;+BAZyC;8BACT;iCAChB;wCACP;yBACmB;yBACP;6CACE;iCACH;0CACT;;;;;;;;;;AAIjB,MAAMA;;;IACX,YACE,AAAiBC,kBAAuC,EACxD,AAAiBC,aAAsB,CACvC;aAFiBD,qBAAAA;aACAC,gBAAAA;IAChB;IAIH,MAGMC,kBAAkBC,GAAY,EAAEC,GAAa,EAAE;QACnD,MAAM,EAAEC,UAAU,EAAE,GAAGC,IAAAA,iCAAgB,EAACH;QACxC,MAAME,WAAWE,SAAS;QAC1BH,IAAII,IAAI;IACV;IAEA,MAEMC,KAAKN,GAAY,EAAEC,GAAa,EAAE;QACtC,MAAMM,WAAW,MAAM,IAAI,CAACV,kBAAkB,CAACS,IAAI;QACnDL,IAAII,IAAI,CAACE,SAASC,GAAG,CAAC,CAACC,IAAM,IAAI,CAACZ,kBAAkB,CAACa,KAAK,CAACD;IAC7D;IAEA,MAEME,OAAOX,GAAY,EAAEC,GAAa,EAAE;QACxC,MAAMW,SAAS,MAAM,IAAI,CAACf,kBAAkB,CAACc,MAAM,CAACX,IAAIa,IAAI;QAC5DZ,IAAII,IAAI,CAAC,IAAI,CAACR,kBAAkB,CAACa,KAAK,CAACE;IACzC;IAEA,MAGME,IAAId,GAAY,EAAEC,GAAa,EAAE;QACrC,MAAMW,SAAS,MAAM,IAAI,CAACf,kBAAkB,CAACiB,GAAG,CAACd,IAAIe,KAAK,CAACC,EAAE;QAC7Df,IAAII,IAAI,CAAC,IAAI,CAACR,kBAAkB,CAACa,KAAK,CAACE;IACzC;IAEA,MAGMK,OAAOjB,GAAY,EAAEC,GAAa,EAAE;QACxC,MAAMiB,gBAAgB,MAAM,IAAI,CAACrB,kBAAkB,CAACoB,MAAM,CAACjB,IAAIe,KAAK,CAACC,EAAE,EAAEhB,IAAIa,IAAI;QACjFZ,IAAII,IAAI,CAAC,IAAI,CAACR,kBAAkB,CAACa,KAAK,CAACQ;IACzC;IAEA,MAGMC,OAAOnB,GAAY,EAAEC,GAAa,EAAE;QACxC,MAAM,IAAI,CAACJ,kBAAkB,CAACsB,MAAM,CAACnB,IAAIe,KAAK,CAACC,EAAE;QACjDf,IAAII,IAAI;IACV;AACF;;;;;QA5CWe,IAAAA,iCAAwB,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuBzBC,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;QAQRA,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;QAQRA,IAAAA,iCAAO,EAAC;;;;;;;;;;iCAnDTC,6BAAY,CAACC,QAAQ,CAAC,aAAa;;QACpCC,IAAAA,0BAAY;QAAIC,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;YAAED,6BAAK,CAACE,QAAQ;SAAC"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PrintCompletionController", {
6
- enumerable: true,
7
- get: function() {
8
- return PrintCompletionController;
9
- }
10
- });
11
- const _authenticate = require("../middleware/authenticate");
12
- const _awilixexpress = require("awilix-express");
13
- const _serverconstants = require("../server.constants");
14
- const _authorizationconstants = require("../constants/authorization.constants");
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
- }
29
- class PrintCompletionController {
30
- printCompletionService;
31
- printCompletionSocketIoTask;
32
- constructor(printCompletionService, printCompletionSocketIoTask){
33
- this.printCompletionService = printCompletionService;
34
- this.printCompletionSocketIoTask = printCompletionSocketIoTask;
35
- }
36
- async test(req, res) {
37
- const result = await this.printCompletionService.loadPrintContexts();
38
- res.send(result);
39
- }
40
- contexts(req, res) {
41
- const contexts = this.printCompletionSocketIoTask.contexts;
42
- res.send(contexts);
43
- }
44
- async findCorrelatedEntries(req, res) {
45
- const { correlationId } = await (0, _validators.validateInput)(req.params, _printercompletioncontrollervalidation.findPrinterCompletionSchema);
46
- const result = await this.printCompletionService.findPrintCompletion(correlationId);
47
- res.send(result);
48
- }
49
- async list(req, res) {
50
- const completions = await this.printCompletionService.listGroupByPrinterStatus();
51
- res.send(completions);
52
- }
53
- }
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);
117
-
118
- //# sourceMappingURL=print-completion.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/controllers/print-completion.controller.ts"],"names":["PrintCompletionController","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;;;IACX,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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/controllers/printer-group.controller.ts"],"names":["PrinterGroupController","printerGroupService","listGroups","req","res","send","getGroup","getGroupWithPrinters","local","id","createGroup","body","entity","updateGroupName","name","deleteGroup","addPrinterToGroup","printerId","toDto","removePrinterFromGroup","ParamId","AppConstants","apiRoute","authenticate","authorizeRoles","ROLES","OPERATOR","ADMIN"],"mappings":";;;;+BAUaA;;;eAAAA;;;8CAVwB;iCACR;8BACgB;wCACvB;yBACY;+BACsB;0CAChC;;;;;;;;;;AAIjB,MAAMA;;IACX,YAAY,AAAiBC,mBAAyC,CAAE;aAA3CA,sBAAAA;IAA4C;IAEzE,MAEMC,WAAWC,GAAY,EAAEC,GAAa,EAAE;QAC5CA,IAAIC,IAAI,CAAC,MAAM,IAAI,CAACJ,mBAAmB,CAACC,UAAU;IACpD;IAEA,MAGMI,SAASH,GAAY,EAAEC,GAAa,EAAE;QAC1CA,IAAIC,IAAI,CAAC,MAAM,IAAI,CAACJ,mBAAmB,CAACM,oBAAoB,CAACJ,IAAIK,KAAK,CAACC,EAAE;IAC3E;IAEA,MAEMC,YAAYP,GAAY,EAAEC,GAAa,EAAE;QAE7C,IAAID,IAAIQ,IAAI,CAACF,EAAE,EAAE;YACf,OAAON,IAAIQ,IAAI,CAACF,EAAE;QACpB;QACA,MAAMG,SAAS,MAAM,IAAI,CAACX,mBAAmB,CAACS,WAAW,CAACP,IAAIQ,IAAI;QAClEP,IAAIC,IAAI,CAACO;IACX;IAEA,MAGMC,gBAAgBV,GAAY,EAAEC,GAAa,EAAE;QACjD,MAAMQ,SAAS,MAAM,IAAI,CAACX,mBAAmB,CAACY,eAAe,CAACV,IAAIK,KAAK,CAACC,EAAE,EAAEN,IAAIQ,IAAI,CAACG,IAAI;QACzFV,IAAIC,IAAI,CAACO;IACX;IAEA,MAGMG,YAAYZ,GAAY,EAAEC,GAAa,EAAE;QAC7CA,IAAIC,IAAI,CAAC,MAAM,IAAI,CAACJ,mBAAmB,CAACc,WAAW,CAACZ,IAAIK,KAAK,CAACC,EAAE;IAClE;IAEA,MAGMO,kBAAkBb,GAAY,EAAEC,GAAa,EAAE;QACnD,MAAMQ,SAAS,MAAM,IAAI,CAACX,mBAAmB,CAACe,iBAAiB,CAACb,IAAIK,KAAK,CAACC,EAAE,EAAEN,IAAIQ,IAAI,CAACM,SAAS;QAChGb,IAAIC,IAAI,CAAC,IAAI,CAACJ,mBAAmB,CAACiB,KAAK,CAACN;IAC1C;IAEA,MAGMO,uBAAuBhB,GAAY,EAAEC,GAAa,EAAE;QACxDA,IAAIC,IAAI,CAAC,MAAM,IAAI,CAACJ,mBAAmB,CAACkB,sBAAsB,CAAChB,IAAIK,KAAK,CAACC,EAAE,EAAEN,IAAIQ,IAAI,CAACM,SAAS;IACjG;AACF;;;;;;;;;;;;;;;QA7CWG,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;QAkBRA,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;QAQRA,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;QAORA,IAAAA,iCAAO,EAAC;;;;;;;;;;;;;QAQRA,IAAAA,iCAAO,EAAC;;;;;;;;;;8BAtDZC,6BAAY,CAACC,QAAQ,GAAG;;QACtBC,IAAAA,0BAAY;QAAIC,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,QAAQ;YAAED,6BAAK,CAACE,KAAK;SAAC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "CustomGcode", {
6
- enumerable: true,
7
- get: function() {
8
- return CustomGcode;
9
- }
10
- });
11
- const _typeorm = require("typeorm");
12
- function _ts_decorate(decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- 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;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- }
18
- function _ts_metadata(k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- }
21
- class CustomGcode {
22
- id;
23
- name;
24
- description;
25
- gcode;
26
- }
27
- _ts_decorate([
28
- (0, _typeorm.PrimaryGeneratedColumn)(),
29
- _ts_metadata("design:type", Number)
30
- ], CustomGcode.prototype, "id", void 0);
31
- _ts_decorate([
32
- (0, _typeorm.Column)(),
33
- _ts_metadata("design:type", String)
34
- ], CustomGcode.prototype, "name", void 0);
35
- _ts_decorate([
36
- (0, _typeorm.Column)({
37
- nullable: true
38
- }),
39
- _ts_metadata("design:type", String)
40
- ], CustomGcode.prototype, "description", void 0);
41
- _ts_decorate([
42
- (0, _typeorm.Column)("simple-array"),
43
- _ts_metadata("design:type", Array)
44
- ], CustomGcode.prototype, "gcode", void 0);
45
- CustomGcode = _ts_decorate([
46
- (0, _typeorm.Entity)()
47
- ], CustomGcode);
48
-
49
- //# sourceMappingURL=custom-gcode.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/entities/custom-gcode.entity.ts"],"names":["CustomGcode","id","name","description","gcode","nullable"],"mappings":";;;;+BAGaA;;;eAAAA;;;yBAH0C;;;;;;;;;;AAGhD,MAAMA;IAEXC,GAAW;IAGXC,KAAa;IAGbC,YAAqB;IAGrBC,MAAgB;AAClB;;;;;;;;;;;QALYC,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/entities/group.entity.ts"],"names":["Group","id","name"],"mappings":";;;;+BAIaA;;;eAAAA;;;yBAJ0C;gCAChC;;;;;;;;;;AAGhB,MAAMA;IAEXC,GAAW;IAIXC,KAAa;AACf"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Permission", {
6
- enumerable: true,
7
- get: function() {
8
- return Permission;
9
- }
10
- });
11
- const _typeorm = require("typeorm");
12
- function _ts_decorate(decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- 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;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- }
18
- function _ts_metadata(k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- }
21
- class Permission {
22
- id;
23
- name;
24
- }
25
- _ts_decorate([
26
- (0, _typeorm.PrimaryGeneratedColumn)(),
27
- _ts_metadata("design:type", Number)
28
- ], Permission.prototype, "id", void 0);
29
- _ts_decorate([
30
- (0, _typeorm.Column)(),
31
- _ts_metadata("design:type", String)
32
- ], Permission.prototype, "name", void 0);
33
- Permission = _ts_decorate([
34
- (0, _typeorm.Entity)()
35
- ], Permission);
36
-
37
- //# sourceMappingURL=permission.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/entities/permission.entity.ts"],"names":["Permission","id","name"],"mappings":";;;;+BAIaA;;;eAAAA;;;yBAJ0C;;;;;;;;;;AAIhD,MAAMA;IAEXC,GAAW;IAGXC,KAAa;AACf"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PrintCompletion", {
6
- enumerable: true,
7
- get: function() {
8
- return PrintCompletion;
9
- }
10
- });
11
- const _typeorm = require("typeorm");
12
- const _printerentity = require("./printer.entity");
13
- const _printcompletioncontextdto = require("../services/interfaces/print-completion-context.dto");
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- class PrintCompletion {
24
- id;
25
- fileName;
26
- createdAt;
27
- status;
28
- printer;
29
- printerId;
30
- printerReference;
31
- completionLog;
32
- context;
33
- }
34
- _ts_decorate([
35
- (0, _typeorm.PrimaryGeneratedColumn)(),
36
- _ts_metadata("design:type", Number)
37
- ], PrintCompletion.prototype, "id", void 0);
38
- _ts_decorate([
39
- (0, _typeorm.Column)(),
40
- _ts_metadata("design:type", String)
41
- ], PrintCompletion.prototype, "fileName", void 0);
42
- _ts_decorate([
43
- (0, _typeorm.CreateDateColumn)({
44
- type: "int"
45
- }),
46
- _ts_metadata("design:type", Number)
47
- ], PrintCompletion.prototype, "createdAt", void 0);
48
- _ts_decorate([
49
- (0, _typeorm.Column)(),
50
- _ts_metadata("design:type", String)
51
- ], PrintCompletion.prototype, "status", void 0);
52
- _ts_decorate([
53
- (0, _typeorm.ManyToOne)(()=>_printerentity.Printer, (p)=>p.printCompletions, {
54
- onDelete: "CASCADE"
55
- }),
56
- (0, _typeorm.JoinColumn)({
57
- name: "printerId"
58
- }),
59
- _ts_metadata("design:type", typeof _typeorm.Relation === "undefined" ? Object : _typeorm.Relation)
60
- ], PrintCompletion.prototype, "printer", void 0);
61
- _ts_decorate([
62
- (0, _typeorm.Column)({
63
- nullable: false
64
- }),
65
- _ts_metadata("design:type", Number)
66
- ], PrintCompletion.prototype, "printerId", void 0);
67
- _ts_decorate([
68
- (0, _typeorm.Column)({
69
- nullable: true
70
- }),
71
- _ts_metadata("design:type", String)
72
- ], PrintCompletion.prototype, "printerReference", void 0);
73
- _ts_decorate([
74
- (0, _typeorm.Column)({
75
- nullable: true
76
- }),
77
- _ts_metadata("design:type", String)
78
- ], PrintCompletion.prototype, "completionLog", void 0);
79
- _ts_decorate([
80
- (0, _typeorm.Column)({
81
- type: "simple-json",
82
- nullable: true
83
- }),
84
- _ts_metadata("design:type", typeof _printcompletioncontextdto.PrintCompletionContextDto === "undefined" ? Object : _printcompletioncontextdto.PrintCompletionContextDto)
85
- ], PrintCompletion.prototype, "context", void 0);
86
- PrintCompletion = _ts_decorate([
87
- (0, _typeorm.Entity)()
88
- ], PrintCompletion);
89
-
90
- //# sourceMappingURL=print-completion.entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/entities/print-completion.entity.ts"],"names":["PrintCompletion","id","fileName","createdAt","status","printer","printerId","printerReference","completionLog","context","type","Printer","p","printCompletions","onDelete","name","nullable"],"mappings":";;;;+BAMaA;;;eAAAA;;;yBAN6F;+BAClF;2CACkB;;;;;;;;;;AAInC,MAAMA;IAEXC,GAAW;IAGXC,SAAiB;IAGjBC,UAAkB;IAGlBC,OAAe;IAQfC,QAA2B;IAG3BC,UAAkB;IAGlBC,iBAA0B;IAG1BC,cAAuB;IAGvBC,QAAmC;AACrC;;;;;;;;;;;QAzBsBC,MAAM;;;;;;;;;gCAOlBC,sBAAO,GACZC,IAAMA,EAAEC,gBAAgB;QACvBC,UAAU;;;QAEAC,MAAM;;;;;;QAGVC,UAAU;;;;;;QAGVA,UAAU;;;;;;QAGVA,UAAU;;;;;;QAGVN,MAAM;QAAeM,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/entities/printer-group.entity.ts"],"names":["PrinterGroup","id","printer","printerId","group","groupId","Printer","onDelete","nullable","name","Group"],"mappings":";;;;+BAMaA;;;eAAAA;;;yBANmF;+BACxE;6BACF;;;;;;;;;;AAIf,MAAMA;IAEXC,GAAW;IAIXC,QAA2B;IAG3BC,UAAkB;IAIlBC,MAAuB;IAGvBC,QAAgB;AAClB;;;;;;gCAbmBC,sBAAO;QAAIC,UAAU;QAAWC,UAAU;;;QAC7CC,MAAM;;;;;;;;;gCAMHC,kBAAK;QAAIH,UAAU;QAAWC,UAAU;;;QAC3CC,MAAM;;;;;;;;;;;QAbb;QAAa"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Permission", {
6
- enumerable: true,
7
- get: function() {
8
- return Permission;
9
- }
10
- });
11
- const _mongoose = require("mongoose");
12
- const PermissionSchema = new _mongoose.Schema({
13
- name: {
14
- type: String,
15
- required: true
16
- }
17
- });
18
- const Permission = (0, _mongoose.model)("Permission", PermissionSchema);
19
-
20
- //# sourceMappingURL=Permission.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/models/Auth/Permission.ts"],"names":["Permission","PermissionSchema","Schema","name","type","String","required","model"],"mappings":";;;;+BAeaA;;;eAAAA;;;0BAfiB;AAQ9B,MAAMC,mBAAmB,IAAIC,gBAAM,CAAc;IAC/CC,MAAM;QACJC,MAAMC;QACNC,UAAU;IACZ;AACF;AAEO,MAAMN,aAAaO,IAAAA,eAAK,EAAC,cAAcN"}