@fdm-monster/server 1.8.2 → 1.9.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +69 -7
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +11 -19
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +15 -24
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +4 -5
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +61 -50
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +76 -29
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +62 -197
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -113
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -31
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +40 -0
  197. package/dist/services/core/http-client.factory.js.map +1 -0
  198. package/dist/services/core/logs-manager.service.js +7 -6
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +79 -28
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/file-upload-tracker.interface.js +6 -0
  212. package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
  213. package/dist/services/interfaces/floor.dto.js +5 -47
  214. package/dist/services/interfaces/floor.dto.js.map +1 -1
  215. package/dist/services/interfaces/login.dto.js +2 -0
  216. package/dist/services/interfaces/login.dto.js.map +1 -1
  217. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer-group.dto.js +0 -14
  219. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  220. package/dist/services/interfaces/printer.dto.js +11 -5
  221. package/dist/services/interfaces/printer.dto.js.map +1 -1
  222. package/dist/services/interfaces/settings.dto.js.map +1 -1
  223. package/dist/services/interfaces/task.interfaces.js +6 -0
  224. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  225. package/dist/services/mongoose/camera-stream.service.js +17 -15
  226. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  227. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  228. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  229. package/dist/services/mongoose/floor.service.js +37 -30
  230. package/dist/services/mongoose/floor.service.js.map +1 -1
  231. package/dist/services/mongoose/permission.service.js +1 -1
  232. package/dist/services/mongoose/permission.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.service.js +2 -2
  234. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  235. package/dist/services/mongoose/print-completion.shared.js +2 -2
  236. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  237. package/dist/services/mongoose/printer.service.js +40 -45
  238. package/dist/services/mongoose/printer.service.js.map +1 -1
  239. package/dist/services/mongoose/refresh-token.service.js +5 -8
  240. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  241. package/dist/services/mongoose/role.service.js +14 -5
  242. package/dist/services/mongoose/role.service.js.map +1 -1
  243. package/dist/services/mongoose/settings.service.js +35 -62
  244. package/dist/services/mongoose/settings.service.js.map +1 -1
  245. package/dist/services/mongoose/user.service.js +8 -7
  246. package/dist/services/mongoose/user.service.js.map +1 -1
  247. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  248. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  249. package/dist/services/moonraker/moonraker-websocket.adapter.js +108 -96
  250. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  251. package/dist/services/moonraker/moonraker.client.js +212 -167
  252. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  253. package/dist/services/moonraker.api.js +3 -5
  254. package/dist/services/moonraker.api.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  256. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  257. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  258. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  259. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  260. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-api.routes.js +0 -98
  262. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  263. package/dist/services/octoprint/octoprint-websocket.adapter.js +72 -72
  264. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  265. package/dist/services/octoprint/octoprint.client.js +87 -343
  266. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  267. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
  268. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
  269. package/dist/services/octoprint.api.js +14 -18
  270. package/dist/services/octoprint.api.js.map +1 -1
  271. package/dist/services/orm/base.service.js +11 -12
  272. package/dist/services/orm/base.service.js.map +1 -1
  273. package/dist/services/orm/camera-stream.service.js +5 -1
  274. package/dist/services/orm/camera-stream.service.js.map +1 -1
  275. package/dist/services/orm/custom-gcode.service.js +2 -2
  276. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  277. package/dist/services/orm/floor-position.service.js +0 -5
  278. package/dist/services/orm/floor-position.service.js.map +1 -1
  279. package/dist/services/orm/floor.service.js +43 -39
  280. package/dist/services/orm/floor.service.js.map +1 -1
  281. package/dist/services/orm/permission.service.js +3 -4
  282. package/dist/services/orm/permission.service.js.map +1 -1
  283. package/dist/services/orm/print-completion.service.js +2 -4
  284. package/dist/services/orm/print-completion.service.js.map +1 -1
  285. package/dist/services/orm/printer-group.service.js +2 -7
  286. package/dist/services/orm/printer-group.service.js.map +1 -1
  287. package/dist/services/orm/printer.service.js +29 -39
  288. package/dist/services/orm/printer.service.js.map +1 -1
  289. package/dist/services/orm/refresh-token.service.js +5 -11
  290. package/dist/services/orm/refresh-token.service.js.map +1 -1
  291. package/dist/services/orm/role.service.js +11 -10
  292. package/dist/services/orm/role.service.js.map +1 -1
  293. package/dist/services/orm/settings.service.js +37 -133
  294. package/dist/services/orm/settings.service.js.map +1 -1
  295. package/dist/services/orm/user.service.js +13 -15
  296. package/dist/services/orm/user.service.js.map +1 -1
  297. package/dist/services/printer-api.factory.js +9 -6
  298. package/dist/services/printer-api.factory.js.map +1 -1
  299. package/dist/services/printer-api.interface.js +13 -6
  300. package/dist/services/printer-api.interface.js.map +1 -1
  301. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  302. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  303. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  304. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  305. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  306. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  307. package/dist/services/prusa-link/dto/file.dto.js +6 -0
  308. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  309. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  310. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  311. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  312. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  313. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  314. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  315. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  316. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  317. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  318. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  319. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  320. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  321. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  322. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  323. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  324. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  325. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  326. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  327. package/dist/services/socket.factory.js +9 -6
  328. package/dist/services/socket.factory.js.map +1 -1
  329. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  330. package/dist/services/task-manager.service.js.map +1 -0
  331. package/dist/services/validators/camera-service.validation.js +19 -0
  332. package/dist/services/validators/camera-service.validation.js.map +1 -0
  333. package/dist/services/validators/floor-service.validation.js +47 -36
  334. package/dist/services/validators/floor-service.validation.js.map +1 -1
  335. package/dist/services/validators/print-completion-service.validation.js +22 -9
  336. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  337. package/dist/services/validators/printer-service.validation.js +112 -29
  338. package/dist/services/validators/printer-service.validation.js.map +1 -1
  339. package/dist/services/validators/settings-service.validation.js +78 -66
  340. package/dist/services/validators/settings-service.validation.js.map +1 -1
  341. package/dist/services/validators/user-service.validation.js +17 -16
  342. package/dist/services/validators/user-service.validation.js.map +1 -1
  343. package/dist/services/validators/yaml-service.validation.js +94 -51
  344. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  345. package/dist/shared/default-http-client.builder.js +94 -0
  346. package/dist/shared/default-http-client.builder.js.map +1 -0
  347. package/dist/shared/load-controllers.js +20 -0
  348. package/dist/shared/load-controllers.js.map +1 -0
  349. package/dist/shared/runtime-settings.migration.js +46 -0
  350. package/dist/shared/runtime-settings.migration.js.map +1 -0
  351. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  352. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  353. package/dist/shared/websocket.adapter.js +4 -5
  354. package/dist/shared/websocket.adapter.js.map +1 -1
  355. package/dist/state/file-upload-tracker.cache.js +33 -42
  356. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  357. package/dist/state/file.cache.js +1 -1
  358. package/dist/state/file.cache.js.map +1 -1
  359. package/dist/state/floor.store.js +6 -6
  360. package/dist/state/floor.store.js.map +1 -1
  361. package/dist/state/printer-events.cache.js +21 -22
  362. package/dist/state/printer-events.cache.js.map +1 -1
  363. package/dist/state/printer-files.store.js +6 -8
  364. package/dist/state/printer-files.store.js.map +1 -1
  365. package/dist/state/printer-socket.store.js +27 -50
  366. package/dist/state/printer-socket.store.js.map +1 -1
  367. package/dist/state/printer-thumbnail.cache.js +5 -9
  368. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  369. package/dist/state/printer.cache.js +14 -12
  370. package/dist/state/printer.cache.js.map +1 -1
  371. package/dist/state/settings.store.js +78 -51
  372. package/dist/state/settings.store.js.map +1 -1
  373. package/dist/state/socket-io.gateway.js +39 -36
  374. package/dist/state/socket-io.gateway.js.map +1 -1
  375. package/dist/state/test-printer-socket.store.js +20 -15
  376. package/dist/state/test-printer-socket.store.js.map +1 -1
  377. package/dist/state/validation/create-test-printer.validation.js +13 -10
  378. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  379. package/dist/task.presets.js.map +1 -1
  380. package/dist/tasks/boot.task.js +14 -19
  381. package/dist/tasks/boot.task.js.map +1 -1
  382. package/dist/tasks/client-bundle.task.js +1 -3
  383. package/dist/tasks/client-bundle.task.js.map +1 -1
  384. package/dist/tasks/print-completion.socketio.task.js +27 -28
  385. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  386. package/dist/tasks/printer-file-clean.task.js +6 -10
  387. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  388. package/dist/tasks/printer-websocket-restore.task.js +4 -15
  389. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  390. package/dist/tasks/printer-websocket.task.js +2 -14
  391. package/dist/tasks/printer-websocket.task.js.map +1 -1
  392. package/dist/tasks/socketio.task.js +8 -35
  393. package/dist/tasks/socketio.task.js.map +1 -1
  394. package/dist/tasks/software-update.task.js +1 -1
  395. package/dist/tasks/software-update.task.js.map +1 -1
  396. package/dist/tasks.js +3 -3
  397. package/dist/tasks.js.map +1 -1
  398. package/dist/utils/array.util.js.map +1 -1
  399. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  400. package/dist/utils/env.utils.js +0 -2
  401. package/dist/utils/env.utils.js.map +1 -1
  402. package/dist/utils/normalize-url.js +6 -3
  403. package/dist/utils/normalize-url.js.map +1 -1
  404. package/dist/utils/pretty-print.utils.js +1 -1
  405. package/dist/utils/pretty-print.utils.js.map +1 -1
  406. package/dist/utils/printer-type.utils.js.map +1 -1
  407. package/dist/utils/time.utils.js +7 -17
  408. package/dist/utils/time.utils.js.map +1 -1
  409. package/dist/utils/url.utils.js +11 -14
  410. package/dist/utils/url.utils.js.map +1 -1
  411. package/package.json +53 -55
  412. package/tsconfig.json +2 -1
  413. package/.yarn/releases/yarn-4.6.0.cjs +0 -934
  414. package/dist/consoles/check-ports.js +0 -170
  415. package/dist/consoles/check-ports.js.map +0 -1
  416. package/dist/consoles/sqlite-torm.js +0 -31
  417. package/dist/consoles/sqlite-torm.js.map +0 -1
  418. package/dist/consoles/upload-test.js +0 -52
  419. package/dist/consoles/upload-test.js.map +0 -1
  420. package/dist/controllers/plugin-firmware-update.controller.js +0 -236
  421. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  422. package/dist/entities/base.entity.js +0 -29
  423. package/dist/entities/base.entity.js.map +0 -1
  424. package/dist/entities/printer-file.entity.js +0 -140
  425. package/dist/entities/printer-file.entity.js.map +0 -1
  426. package/dist/handlers/cache-manager.js +0 -18
  427. package/dist/handlers/cache-manager.js.map +0 -1
  428. package/dist/models/PrinterFile.js +0 -44
  429. package/dist/models/PrinterFile.js.map +0 -1
  430. package/dist/services/core/task-manager.service.js.map +0 -1
  431. package/dist/services/octoprint/plugin-base.service.js +0 -101
  432. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  433. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  434. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  435. package/dist/services/octoprint/plugin-repository.cache.js +0 -45
  436. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  437. package/dist/utils/benchmark.util.js +0 -39
  438. package/dist/utils/benchmark.util.js.map +0 -1
  439. package/dist/utils/is-docker.js +0 -40
  440. package/dist/utils/is-docker.js.map +0 -1
  441. package/dist/utils/metric.utils.js +0 -35
  442. package/dist/utils/metric.utils.js.map +0 -1
  443. package/requests/moonraker/api_job.http +0 -5
  444. package/requests/moonraker/api_printer.http +0 -5
  445. package/requests/moonraker/api_settings.http +0 -5
  446. package/requests/moonraker/printer_info.http +0 -5
  447. package/requests/moonraker/printer_objects_list.http +0 -6
  448. package/requests/moonraker/printer_objects_pause_resume.http +0 -6
  449. package/requests/moonraker/printer_objects_print_stats.http +0 -6
  450. package/requests/moonraker/printer_objects_webhooks.http +0 -6
  451. package/requests/moonraker/server_info.http +0 -5
  452. package/requests/octoprint/octoprint-api-printer-current.http +0 -7
  453. package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
  454. package/requests/printer-file/get-partial-file-moonraker.http +0 -5
  455. package/requests/printer-file/get-thumbnails.http +0 -5
  456. package/requests/printer-file/reload-printer-thumbnails.http +0 -10
  457. package/requests/printer-file/testfile.gcode +0 -5665
  458. package/requests/printer-file/upload-file.http +0 -11
  459. package/requests/printer-file/upload-slicer-file.http +0 -11
  460. package/requests/printers/list.http +0 -5
@@ -18,15 +18,10 @@ const _userservicevalidation = require("../validators/user-service.validation");
18
18
  const _cryptoutils = require("../../utils/crypto.utils");
19
19
  const _authorizationconstants = require("../../constants/authorization.constants");
20
20
  class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto.UserDto) {
21
- typeormService;
22
21
  userRoleService;
23
22
  roleService;
24
- constructor({ typeormService, userRoleService, roleService }){
25
- super({
26
- typeormService
27
- });
28
- this.userRoleService = userRoleService;
29
- this.roleService = roleService;
23
+ constructor(typeormService, userRoleService, roleService){
24
+ super(typeormService), this.userRoleService = userRoleService, this.roleService = roleService;
30
25
  }
31
26
  toDto(user) {
32
27
  return {
@@ -37,7 +32,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
37
32
  isRootUser: user.isRootUser,
38
33
  username: user.username,
39
34
  needsPasswordChange: user.needsPasswordChange,
40
- roles: user.roles?.map((r)=>r.roleId)
35
+ roles: (user.roles ?? []).map((r)=>r.roleId)
41
36
  };
42
37
  }
43
38
  listUsers(limit) {
@@ -45,8 +40,8 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
45
40
  take: limit
46
41
  });
47
42
  }
48
- getUser(userId) {
49
- return this.get(userId, true);
43
+ async getUser(userId) {
44
+ return this.get(userId);
50
45
  }
51
46
  async getUserRoleIds(userId) {
52
47
  const userRoles = await this.userRoleService.listUserRoles(userId);
@@ -78,6 +73,9 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
78
73
  if (user.isRootUser) {
79
74
  throw new _runtimeexceptions.InternalServerException("Cannot delete a root user");
80
75
  }
76
+ if (!user.roles?.length) {
77
+ throw new _runtimeexceptions.InternalServerException("User:roles relation not loaded, cannot perform deletion role check");
78
+ }
81
79
  const role = this.roleService.getRoleByName(_authorizationconstants.ROLES.ADMIN);
82
80
  if (user.roles.find((r)=>r.roleId == role.id)) {
83
81
  const administrators = await this.findUsersByRoleId(role.id);
@@ -85,7 +83,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
85
83
  throw new _runtimeexceptions.InternalServerException("Cannot delete the last user with ADMIN role");
86
84
  }
87
85
  }
88
- return await this.delete(userId);
86
+ await this.delete(userId);
89
87
  }
90
88
  findRawByUsername(username) {
91
89
  return this.repository.findOneBy({
@@ -112,7 +110,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
112
110
  }
113
111
  async setUserRoleIds(userId, roleIds) {
114
112
  await this.userRoleService.setUserRoles(userId, roleIds);
115
- return await this.get(userId, true);
113
+ return await this.get(userId);
116
114
  }
117
115
  async setVerifiedById(userId, isVerified) {
118
116
  const user = await this.getUser(userId);
@@ -138,7 +136,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
138
136
  }
139
137
  const { password } = await (0, _validators.validateInput)({
140
138
  password: newPassword
141
- }, _userservicevalidation.newPasswordRules);
139
+ }, _userservicevalidation.newPasswordSchema);
142
140
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
143
141
  return await this.update(userId, {
144
142
  passwordHash,
@@ -148,7 +146,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
148
146
  async updatePasswordUnsafeByUsername(username, newPassword) {
149
147
  const { password } = await (0, _validators.validateInput)({
150
148
  password: newPassword
151
- }, _userservicevalidation.newPasswordRules);
149
+ }, _userservicevalidation.newPasswordSchema);
152
150
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
153
151
  const user = await this.findRawByUsername(username);
154
152
  if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
@@ -163,7 +161,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
163
161
  });
164
162
  }
165
163
  async register(input) {
166
- const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserRules)(true));
164
+ const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserSchema)(true));
167
165
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
168
166
  const result = await this.create({
169
167
  username,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/orm/user.service.ts"],"names":["UserService","BaseService","User","UserDto","typeormService","userRoleService","roleService","constructor","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","roleId","listUsers","limit","list","take","getUser","userId","get","getUserRoleIds","userRoles","listUserRoles","ur","findRootUsers","repository","findBy","findUsersByRoleId","listByRoleId","ids","u","In","findVerifiedUsers","isUserRootUser","entity","deleteUser","InternalServerException","role","getRoleByName","ROLES","ADMIN","find","administrators","length","delete","findRawByUsername","findOneBy","getDemoUserId","setIsRootUserById","NotFoundException","rootUsers","update","setUserRoleIds","roleIds","setUserRoles","setVerifiedById","verifiedUsers","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordRules","hashPassword","updatePasswordUnsafeByUsername","updateUsernameById","newUsername","register","input","registerUserRules","result","create"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/orm/user.service.ts"],"names":["UserService","BaseService","User","UserDto","constructor","typeormService","userRoleService","roleService","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","roleId","listUsers","limit","list","take","getUser","userId","get","getUserRoleIds","userRoles","listUserRoles","ur","findRootUsers","repository","findBy","findUsersByRoleId","listByRoleId","ids","u","In","findVerifiedUsers","isUserRootUser","entity","deleteUser","InternalServerException","length","role","getRoleByName","ROLES","ADMIN","find","administrators","delete","findRawByUsername","findOneBy","getDemoUserId","setIsRootUserById","NotFoundException","rootUsers","update","setUserRoleIds","roleIds","setUserRoles","setVerifiedById","verifiedUsers","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordSchema","hashPassword","updatePasswordUnsafeByUsername","updateUsernameById","newUsername","register","input","registerUserSchema","result","create"],"mappings":"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"}
@@ -11,20 +11,23 @@ Object.defineProperty(exports, "PrinterApiFactory", {
11
11
  const _printerapiinterface = require("./printer-api.interface");
12
12
  const _containertokens = require("../container.tokens");
13
13
  class PrinterApiFactory {
14
- cradle;
15
- constructor(cradle){
16
- this.cradle = cradle;
14
+ cradleService;
15
+ constructor(cradleService){
16
+ this.cradleService = cradleService;
17
17
  }
18
18
  getById(id) {
19
- const login = this.cradle[_containertokens.DITokens.printerCache].getLoginDto(id);
19
+ const printerCache = this.cradleService.resolve(_containertokens.DITokens.printerCache);
20
+ const login = printerCache.getLoginDto(id);
20
21
  return this.getScopedPrinter(login);
21
22
  }
22
23
  getScopedPrinter(login) {
23
24
  let printerApi;
24
25
  if (login.printerType === _printerapiinterface.OctoprintType) {
25
- printerApi = this.cradle[_containertokens.DITokens.octoprintApi];
26
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.octoprintApi);
26
27
  } else if (login.printerType === _printerapiinterface.MoonrakerType) {
27
- printerApi = this.cradle[_containertokens.DITokens.moonrakerApi];
28
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.moonrakerApi);
29
+ } else if (login.printerType === _printerapiinterface.PrusaLinkType) {
30
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.prusaLinkApi);
28
31
  } else {
29
32
  throw new Error("PrinterType is unknown, cant pick the right socket adapter");
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer-api.factory.ts"],"names":["PrinterApiFactory","cradle","constructor","getById","id","login","DITokens","printerCache","getLoginDto","getScopedPrinter","printerApi","printerType","OctoprintType","octoprintApi","MoonrakerType","moonrakerApi","Error"],"mappings":";;;;+BAMaA;;;eAAAA;;;qCAN6C;iCACjC;AAKlB,MAAMA;IACXC,OAAY;IAEZC,YAAYD,MAAU,CAAE;QACtB,IAAI,CAACA,MAAM,GAAGA;IAChB;IAEAE,QAAQC,EAAU,EAAe;QAC/B,MAAMC,QAAQ,AAAC,IAAI,CAACJ,MAAM,CAACK,yBAAQ,CAACC,YAAY,CAAC,CAAkBC,WAAW,CAACJ;QAC/E,OAAO,IAAI,CAACK,gBAAgB,CAACJ;IAC/B;IAEAI,iBAAiBJ,KAAe,EAAe;QAC7C,IAAIK;QACJ,IAAIL,MAAMM,WAAW,KAAKC,kCAAa,EAAE;YACvCF,aAAa,IAAI,CAACT,MAAM,CAACK,yBAAQ,CAACO,YAAY,CAAC;QACjD,OAAO,IAAIR,MAAMM,WAAW,KAAKG,kCAAa,EAAE;YAC9CJ,aAAa,IAAI,CAACT,MAAM,CAACK,yBAAQ,CAACS,YAAY,CAAC;QACjD,OAAO;YACL,MAAM,IAAIC,MAAM;QAClB;QAEAN,WAAWL,KAAK,GAAGA;QACnB,OAAOK;IACT;AACF"}
1
+ {"version":3,"sources":["../../src/services/printer-api.factory.ts"],"names":["PrinterApiFactory","constructor","cradleService","getById","id","printerCache","resolve","DITokens","login","getLoginDto","getScopedPrinter","printerApi","printerType","OctoprintType","octoprintApi","MoonrakerType","moonrakerApi","PrusaLinkType","prusaLinkApi","Error"],"mappings":";;;;+BAOaA;;;eAAAA;;;qCAP4D;iCAChD;AAMlB,MAAMA;;IACXC,YACE,AAAiBC,aAA4B,CAC7C;aADiBA,gBAAAA;IAEnB;IAEAC,QAAQC,EAAU,EAAe;QAC/B,MAAMC,eAAe,IAAI,CAACH,aAAa,CAACI,OAAO,CAAeC,yBAAQ,CAACF,YAAY;QACnF,MAAMG,QAAQH,aAAaI,WAAW,CAACL;QACvC,OAAO,IAAI,CAACM,gBAAgB,CAACF;IAC/B;IAEAE,iBAAiBF,KAAe,EAAe;QAC7C,IAAIG;QACJ,IAAIH,MAAMI,WAAW,KAAKC,kCAAa,EAAE;YACvCF,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACO,YAAY;QAC5E,OAAO,IAAIN,MAAMI,WAAW,KAAKG,kCAAa,EAAE;YAC9CJ,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACS,YAAY;QAC5E,OAAO,IAAIR,MAAMI,WAAW,KAAKK,kCAAa,EAAE;YAC9CN,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACW,YAAY;QAC5E,OAAO;YACL,MAAM,IAAIC,MAAM;QAClB;QAEAR,WAAWH,KAAK,GAAGA;QACnB,OAAOG;IACT;AACF"}
@@ -15,18 +15,25 @@ _export(exports, {
15
15
  OctoprintType: function() {
16
16
  return OctoprintType;
17
17
  },
18
+ PrinterTypesEnum: function() {
19
+ return PrinterTypesEnum;
20
+ },
21
+ PrusaLinkType: function() {
22
+ return PrusaLinkType;
23
+ },
18
24
  ReprintState: function() {
19
25
  return ReprintState;
20
- },
21
- capabilities: function() {
22
- return capabilities;
23
26
  }
24
27
  });
25
28
  const OctoprintType = 0;
26
29
  const MoonrakerType = 1;
27
- const capabilities = {
28
- startPrint: "startPrint"
29
- };
30
+ const PrusaLinkType = 2;
31
+ var PrinterTypesEnum = /*#__PURE__*/ function(PrinterTypesEnum) {
32
+ PrinterTypesEnum[PrinterTypesEnum["Octoprint"] = 0] = "Octoprint";
33
+ PrinterTypesEnum[PrinterTypesEnum["Moonraker"] = 1] = "Moonraker";
34
+ PrinterTypesEnum[PrinterTypesEnum["PrusaLink"] = 2] = "PrusaLink";
35
+ return PrinterTypesEnum;
36
+ }({});
30
37
  var ReprintState = /*#__PURE__*/ function(ReprintState) {
31
38
  ReprintState[ReprintState["PrinterNotAvailable"] = 0] = "PrinterNotAvailable";
32
39
  ReprintState[ReprintState["NoLastPrint"] = 1] = "NoLastPrint";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["MoonrakerType","OctoprintType","ReprintState","capabilities","startPrint"],"mappings":";;;;;;;;;;;IAQaA,aAAa;eAAbA;;IADAC,aAAa;eAAbA;;IA2BDC,YAAY;eAAZA;;IAPCC,YAAY;eAAZA;;;AApBN,MAAMF,gBAAgB;AACtB,MAAMD,gBAAgB;AAmBtB,MAAMG,eAAe;IAE1BC,YAAY;AACd;AAIO,IAAA,AAAKF,sCAAAA;;;;WAAAA"}
1
+ {"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["MoonrakerType","OctoprintType","PrinterTypesEnum","PrusaLinkType","ReprintState"],"mappings":";;;;;;;;;;;IASaA,aAAa;eAAbA;;IADAC,aAAa;eAAbA;;IAIDC,gBAAgB;eAAhBA;;IAFCC,aAAa;eAAbA;;IA2CDC,YAAY;eAAZA;;;AA7CL,MAAMH,gBAAgB;AACtB,MAAMD,gBAAgB;AACtB,MAAMG,gBAAgB;AAEtB,IAAA,AAAKD,0CAAAA;;;;WAAAA;;AAyCL,IAAA,AAAKE,sCAAAA;;;;WAAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PrusaLinkEventDto", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrusaLinkEventDto;
9
+ }
10
+ });
11
+ class PrusaLinkEventDto {
12
+ event;
13
+ payload;
14
+ printerId;
15
+ printerType;
16
+ }
17
+
18
+ //# sourceMappingURL=prusalink-event.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/constants/prusalink-event.dto.ts"],"names":["PrusaLinkEventDto","event","payload","printerId","printerType"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACXC,MAAS;IACTC,QAAW;IACXC,UAAa;IACbC,YAAe;AACjB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "prusaLinkEvent", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return prusaLinkEvent;
9
+ }
10
+ });
11
+ const prusaLinkEvent = (event)=>`prusalink.${event}`;
12
+
13
+ //# sourceMappingURL=prusalink.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/constants/prusalink.constants.ts"],"names":["prusaLinkEvent","event"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,iBAAiB,CAACC,QAAkB,CAAC,UAAU,EAAEA,OAAO"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=file-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/file-response.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=file.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/file.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=job-state.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/job-state.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=printer-state.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/printer-state.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=status.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/status.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=version.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/prusa-link/dto/version.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PrusaLinkHttpPollingAdapter", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrusaLinkHttpPollingAdapter;
9
+ }
10
+ });
11
+ const _printerapiinterface = require("../printer-api.interface");
12
+ const _errorutils = require("../../utils/error.utils");
13
+ const _prusalinkconstants = require("./constants/prusalink.constants");
14
+ const defaultLog = {
15
+ adapter: "prusa-link"
16
+ };
17
+ class PrusaLinkHttpPollingAdapter {
18
+ prusaLinkApi;
19
+ eventEmitter2;
20
+ configService;
21
+ printerType;
22
+ printerId;
23
+ login;
24
+ socketState;
25
+ apiState;
26
+ lastMessageReceivedTimestamp;
27
+ refreshPrinterCurrentInterval;
28
+ eventEmittingAllowed;
29
+ constructor(loggerFactory, prusaLinkApi, eventEmitter2, configService){
30
+ this.prusaLinkApi = prusaLinkApi;
31
+ this.eventEmitter2 = eventEmitter2;
32
+ this.configService = configService;
33
+ this.printerType = _printerapiinterface.PrusaLinkType;
34
+ this.eventEmittingAllowed = true;
35
+ this.logger = loggerFactory(PrusaLinkHttpPollingAdapter.name);
36
+ }
37
+ allowEmittingEvents() {
38
+ this.eventEmittingAllowed = true;
39
+ }
40
+ disallowEmittingEvents() {
41
+ this.eventEmittingAllowed = false;
42
+ }
43
+ needsReopen() {
44
+ return !this.refreshPrinterCurrentInterval;
45
+ }
46
+ needsSetup() {
47
+ return !this.refreshPrinterCurrentInterval;
48
+ }
49
+ needsReauth() {
50
+ throw new Error("Method not implemented.");
51
+ }
52
+ isClosedOrAborted() {
53
+ throw new Error("Method not implemented.");
54
+ }
55
+ reauthSession() {
56
+ throw new Error("Method not implemented.");
57
+ }
58
+ registerCredentials(socketLogin) {
59
+ this.login = socketLogin.loginDto;
60
+ this.printerId = socketLogin.printerId;
61
+ }
62
+ open() {
63
+ this.startPolling();
64
+ }
65
+ close() {
66
+ this.logger.debug("Polling adapter attempting stoppage.", this.logMeta());
67
+ this.stopPolling();
68
+ }
69
+ setupSocketSession() {
70
+ this.logger.warn("SetupSocketSession", defaultLog);
71
+ return Promise.resolve();
72
+ }
73
+ resetSocketState() {
74
+ this.logger.warn("ResetSocketState", defaultLog);
75
+ }
76
+ startPolling() {
77
+ this.stopPolling();
78
+ this.logger.debug("Polling adapter starting, setting interval.", this.logMeta());
79
+ this.refreshPrinterCurrentInterval = setInterval(async ()=>{
80
+ if (!this.printerId) {
81
+ this.logger.warn("Printer ID is not set, skipping status check.", this.logMeta());
82
+ this.stopPolling();
83
+ return;
84
+ }
85
+ this.socketState = "opening";
86
+ try {
87
+ this.prusaLinkApi.login = {
88
+ printerURL: this.login.printerURL,
89
+ username: this.login.username,
90
+ password: this.login.password,
91
+ apiKey: "",
92
+ printerType: _printerapiinterface.PrusaLinkType
93
+ };
94
+ this.socketState = "authenticating";
95
+ const printerState = await this.prusaLinkApi.getPrinterState();
96
+ if (printerState.state.flags?.link_state && printerState.state.flags?.link_state !== "PRINTING") {
97
+ printerState.state.text = printerState.state.flags.link_state;
98
+ }
99
+ const jobState = await this.prusaLinkApi.getJobState();
100
+ this.socketState = "authenticated";
101
+ this.apiState = "responding";
102
+ await this.emitEvent("current", {
103
+ ...printerState,
104
+ job: jobState.job,
105
+ progress: {
106
+ printTime: jobState.progress?.printTime,
107
+ printTimeLeft: jobState.progress?.printTimeLeft,
108
+ completion: jobState.progress?.completion * 100
109
+ }
110
+ });
111
+ } catch (error) {
112
+ this.socketState = "error";
113
+ this.logger.error(`Failed to fetch PrusaLink status ${(0, _errorutils.errorSummary)(error)}`, this.logMeta());
114
+ }
115
+ }, 5000);
116
+ }
117
+ stopPolling() {
118
+ if (this.refreshPrinterCurrentInterval) {
119
+ this.logger.debug("Polling adapter stopping, clearing interval.", this.logMeta());
120
+ clearInterval(this.refreshPrinterCurrentInterval);
121
+ this.refreshPrinterCurrentInterval = undefined;
122
+ this.socketState = "closed";
123
+ }
124
+ }
125
+ async emitEvent(event, payload) {
126
+ if (!this.eventEmittingAllowed) {
127
+ return;
128
+ }
129
+ this.logger.debug(`Emitting event ${(0, _prusalinkconstants.prusaLinkEvent)(event)}`, this.logMeta());
130
+ await this.eventEmitter2.emitAsync((0, _prusalinkconstants.prusaLinkEvent)(event), {
131
+ event,
132
+ payload,
133
+ printerId: this.printerId,
134
+ printerType: _printerapiinterface.PrusaLinkType
135
+ });
136
+ }
137
+ logMeta() {
138
+ return defaultLog;
139
+ }
140
+ }
141
+
142
+ //# sourceMappingURL=prusa-link-http-polling.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/prusa-link/prusa-link-http-polling.adapter.ts"],"names":["PrusaLinkHttpPollingAdapter","defaultLog","adapter","printerType","printerId","login","socketState","apiState","lastMessageReceivedTimestamp","refreshPrinterCurrentInterval","eventEmittingAllowed","constructor","loggerFactory","prusaLinkApi","eventEmitter2","configService","PrusaLinkType","logger","name","allowEmittingEvents","disallowEmittingEvents","needsReopen","needsSetup","needsReauth","Error","isClosedOrAborted","reauthSession","registerCredentials","socketLogin","loginDto","open","startPolling","close","debug","logMeta","stopPolling","setupSocketSession","warn","Promise","resolve","resetSocketState","setInterval","printerURL","username","password","apiKey","printerState","getPrinterState","state","flags","link_state","text","jobState","getJobState","emitEvent","job","progress","printTime","printTimeLeft","completion","error","errorSummary","clearInterval","undefined","event","payload","prusaLinkEvent","emitAsync"],"mappings":"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"}