@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
@@ -13,27 +13,25 @@ const _errorutils = require("../utils/error.utils");
13
13
  const _eventconstants = require("../constants/event.constants");
14
14
  const _printerapiinterface = require("../services/printer-api.interface");
15
15
  class PrinterSocketStore {
16
- socketIoGateway;
17
16
  socketFactory;
18
17
  eventEmitter2;
19
18
  printerCache;
20
- printerSocketAdaptersById = {};
19
+ printerSocketAdaptersById;
21
20
  logger;
22
- configService;
23
- settingsStore;
24
- constructor({ socketFactory, socketIoGateway, settingsStore, eventEmitter2, printerCache, loggerFactory, configService }){
25
- this.printerCache = printerCache;
26
- this.socketIoGateway = socketIoGateway;
21
+ constructor(loggerFactory, socketFactory, eventEmitter2, printerCache){
27
22
  this.socketFactory = socketFactory;
28
23
  this.eventEmitter2 = eventEmitter2;
29
- this.settingsStore = settingsStore;
24
+ this.printerCache = printerCache;
25
+ this.printerSocketAdaptersById = {};
30
26
  this.logger = loggerFactory(PrinterSocketStore.name);
31
- this.configService = configService;
32
27
  this.subscribeToEvents();
33
28
  }
34
29
  getSocketStatesById() {
35
30
  const socketStatesById = {};
36
31
  Object.values(this.printerSocketAdaptersById).forEach((s)=>{
32
+ if (!s.printerId) {
33
+ return;
34
+ }
37
35
  socketStatesById[s.printerId] = {
38
36
  printerId: s.printerId,
39
37
  printerType: s.printerType,
@@ -45,24 +43,24 @@ class PrinterSocketStore {
45
43
  }
46
44
  async loadPrinterSockets() {
47
45
  await this.printerCache.loadCache();
48
- const printerDocs = await this.printerCache.listCachedPrinters(false);
46
+ const printerDtoList = await this.printerCache.listCachedPrinters(false);
49
47
  this.printerSocketAdaptersById = {};
50
- for (const doc of printerDocs){
48
+ for (const printerDto of printerDtoList){
51
49
  try {
52
- await this.handlePrinterCreated({
53
- printer: doc
50
+ this.handlePrinterCreated({
51
+ printer: printerDto
54
52
  });
55
53
  } catch (e) {
56
54
  (0, _node.captureException)(e);
57
- this.logger.error("PrinterSocketStore failed to construct new OctoPrint socket.", (0, _errorutils.errorSummary)(e));
55
+ this.logger.error("PrinterSocketStore failed to construct new socket.", (0, _errorutils.errorSummary)(e));
58
56
  }
59
57
  }
60
- this.logger.log(`Loaded ${Object.keys(this.printerSocketAdaptersById).length} printer OctoPrint sockets`);
58
+ this.logger.log(`Loaded ${Object.keys(this.printerSocketAdaptersById).length} printer sockets`);
61
59
  }
62
60
  listPrinterSockets() {
63
61
  return Object.values(this.printerSocketAdaptersById);
64
62
  }
65
- reconnectOctoPrint(id) {
63
+ reconnectPrinterAdapter(id) {
66
64
  const socket = this.getPrinterSocket(id);
67
65
  if (!socket) return;
68
66
  socket.close();
@@ -77,44 +75,29 @@ class PrinterSocketStore {
77
75
  const socketStates = {};
78
76
  const apiStates = {};
79
77
  const promisesReauth = [];
80
- const failedSocketsReauth = [];
81
78
  for (const socket of Object.values(this.printerSocketAdaptersById)){
82
79
  try {
83
80
  if (socket.printerType === _printerapiinterface.OctoprintType && socket.needsReauth()) {
84
81
  reauthRequested++;
85
- const promise = socket.reauthSession().catch((_)=>{
86
- failedSocketsReauth.push(socket.printerId);
87
- });
82
+ const promise = socket.reauthSession().catch();
88
83
  promisesReauth.push(promise);
89
84
  }
90
85
  } catch (e) {
91
- if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
92
- this.logger.log("Failed to reauth printer socket", (0, _errorutils.errorSummary)(e));
93
- }
94
86
  (0, _node.captureException)(e);
95
87
  }
96
88
  }
97
89
  await Promise.all(promisesReauth);
98
90
  const promisesOpenSocket = [];
99
- const failedSocketReopened = [];
100
91
  for (const socket of Object.values(this.printerSocketAdaptersById)){
101
92
  try {
102
93
  if (socket.needsSetup() || socket.needsReopen()) {
103
- if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
104
- this.logger.log(`Reopening socket for printerId '${socket.printerId}' (setup: ${socket.needsSetup()}, reopen: ${socket.needsReopen()})`);
105
- }
106
94
  socketSetupRequested++;
107
95
  const promise = socket.setupSocketSession().then(()=>{
108
96
  socket.open();
109
- }).catch((_)=>{
110
- failedSocketReopened.push(socket.printerId);
111
- });
97
+ }).catch();
112
98
  promisesOpenSocket.push(promise);
113
99
  }
114
100
  } catch (e) {
115
- if (this.settingsStore.getDebugSettingsSensitive()?.debugSocketSetup) {
116
- this.logger.log(`Failed to setup printer socket ${(0, _errorutils.errorSummary)(e)}`);
117
- }
118
101
  (0, _node.captureException)(e);
119
102
  }
120
103
  const keySocket = socket.socketState;
@@ -125,14 +108,6 @@ class PrinterSocketStore {
125
108
  apiStates[keyApi] = valApi ? valApi + 1 : 1;
126
109
  }
127
110
  await Promise.all(promisesOpenSocket);
128
- return {
129
- reauth: reauthRequested,
130
- failedSocketReopened,
131
- failedSocketsReauth,
132
- socketSetup: socketSetupRequested,
133
- socket: socketStates,
134
- api: apiStates
135
- };
136
111
  }
137
112
  createOrUpdateSocket(printer) {
138
113
  const { enabled, id } = printer;
@@ -153,28 +128,30 @@ class PrinterSocketStore {
153
128
  printerId: printer.id.toString(),
154
129
  loginDto: {
155
130
  apiKey: printer.apiKey,
131
+ username: printer.username,
132
+ password: printer.password,
156
133
  printerURL: printer.printerURL,
157
134
  printerType: printer.printerType
158
135
  }
159
136
  });
160
137
  foundAdapter.resetSocketState();
161
138
  }
162
- handleBatchPrinterCreated({ printers }) {
163
- for (const p of printers){
139
+ handleBatchPrinterCreated(event) {
140
+ for (const printer of event.printers){
164
141
  this.handlePrinterCreated({
165
- printer: p
142
+ printer
166
143
  });
167
144
  }
168
145
  }
169
- handlePrinterCreated({ printer }) {
170
- this.createOrUpdateSocket(printer);
146
+ handlePrinterCreated(event) {
147
+ this.createOrUpdateSocket(event.printer);
171
148
  }
172
- handlePrinterUpdated({ printer }) {
149
+ handlePrinterUpdated(event) {
173
150
  this.logger.log(`Printer updated. Updating socket`);
174
- this.createOrUpdateSocket(printer);
151
+ this.createOrUpdateSocket(event.printer);
175
152
  }
176
- handlePrintersDeleted({ printerIds }) {
177
- printerIds.forEach((id)=>{
153
+ handlePrintersDeleted(event) {
154
+ event.printerIds.forEach((id)=>{
178
155
  this.deleteSocket(id);
179
156
  });
180
157
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","socketIoGateway","socketFactory","eventEmitter2","printerCache","printerSocketAdaptersById","logger","configService","settingsStore","constructor","loggerFactory","name","subscribeToEvents","getSocketStatesById","socketStatesById","Object","values","forEach","s","printerId","printerType","socket","socketState","api","apiState","loadPrinterSockets","loadCache","printerDocs","listCachedPrinters","doc","handlePrinterCreated","printer","e","captureException","error","errorSummary","log","keys","length","listPrinterSockets","reconnectOctoPrint","id","getPrinterSocket","close","resetSocketState","reconnectPrinterSockets","reauthRequested","socketSetupRequested","socketStates","apiStates","promisesReauth","failedSocketsReauth","OctoprintType","needsReauth","promise","reauthSession","catch","_","push","getDebugSettingsSensitive","debugSocketSetup","Promise","all","promisesOpenSocket","failedSocketReopened","needsSetup","needsReopen","setupSocketSession","then","open","keySocket","valSocket","keyApi","valApi","reauth","socketSetup","createOrUpdateSocket","enabled","foundAdapter","toString","deleteSocket","createInstance","registerCredentials","loginDto","apiKey","printerURL","handleBatchPrinterCreated","printers","p","handlePrinterUpdated","handlePrintersDeleted","printerIds","on","printerEvents","printerCreated","bind","printersDeleted","printerUpdated","batchPrinterCreated","disallowEmittingEvents"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/state/printer-socket.store.ts"],"names":["PrinterSocketStore","printerSocketAdaptersById","logger","constructor","loggerFactory","socketFactory","eventEmitter2","printerCache","name","subscribeToEvents","getSocketStatesById","socketStatesById","Object","values","forEach","s","printerId","printerType","socket","socketState","api","apiState","loadPrinterSockets","loadCache","printerDtoList","listCachedPrinters","printerDto","handlePrinterCreated","printer","e","captureException","error","errorSummary","log","keys","length","listPrinterSockets","reconnectPrinterAdapter","id","getPrinterSocket","close","resetSocketState","reconnectPrinterSockets","reauthRequested","socketSetupRequested","socketStates","apiStates","promisesReauth","OctoprintType","needsReauth","promise","reauthSession","catch","push","Promise","all","promisesOpenSocket","needsSetup","needsReopen","setupSocketSession","then","open","keySocket","valSocket","keyApi","valApi","createOrUpdateSocket","enabled","foundAdapter","toString","deleteSocket","createInstance","registerCredentials","loginDto","apiKey","username","password","printerURL","handleBatchPrinterCreated","event","printers","handlePrinterUpdated","handlePrintersDeleted","printerIds","on","printerEvents","printerCreated","bind","printersDeleted","printerUpdated","batchPrinterCreated","disallowEmittingEvents"],"mappings":"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"}
@@ -31,16 +31,12 @@ const gcodeMaxLinesToRead = 10000;
31
31
  class PrinterThumbnailCache extends _keydiffcache.KeyDiffCache {
32
32
  printerCache;
33
33
  printerApiFactory;
34
- logger;
35
34
  eventEmitter2;
36
35
  settingsStore;
37
- constructor({ printerCache, printerApiFactory, loggerFactory, eventEmitter2, settingsStore }){
38
- super();
39
- this.printerCache = printerCache;
40
- this.printerApiFactory = printerApiFactory;
36
+ logger;
37
+ constructor(loggerFactory, printerCache, printerApiFactory, eventEmitter2, settingsStore){
38
+ super(), this.printerCache = printerCache, this.printerApiFactory = printerApiFactory, this.eventEmitter2 = eventEmitter2, this.settingsStore = settingsStore;
41
39
  this.logger = loggerFactory(PrinterThumbnailCache.name);
42
- this.eventEmitter2 = eventEmitter2;
43
- this.settingsStore = settingsStore;
44
40
  this.eventEmitter2.on(_eventconstants.printerEvents.printersDeleted, this.handlePrintersDeleted.bind(this));
45
41
  }
46
42
  async resetCache() {
@@ -64,9 +60,9 @@ class PrinterThumbnailCache extends _keydiffcache.KeyDiffCache {
64
60
  }
65
61
  }
66
62
  }
67
- async handlePrintersDeleted({ printerIds }) {
63
+ async handlePrintersDeleted(event) {
68
64
  if (!this.settingsStore.isThumbnailSupportEnabled()) return;
69
- for (const printerId of printerIds){
65
+ for (const printerId of event.printerIds){
70
66
  await this.removeThumbnailFile(printerId);
71
67
  await this.unsetPrinterThumbnail(printerId);
72
68
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/state/printer-thumbnail.cache.ts"],"names":["PrinterThumbnailCache","gcodeMaxLinesToRead","KeyDiffCache","printerCache","printerApiFactory","logger","eventEmitter2","settingsStore","constructor","loggerFactory","name","on","printerEvents","printersDeleted","handlePrintersDeleted","bind","resetCache","keys","Object","keyValueStore","deleteKeysBatch","loadCache","isThumbnailSupportEnabled","printers","listCachedPrinters","baseFolder","join","superRootPath","AppConstants","defaultPrinterThumbnailsStorage","resetDiffs","forEach","key","printer","printerIdStr","id","toString","thumbnailFile","existsSync","data","readFileSync","setPrinterThumbnail","printerIds","printerId","removeThumbnailFile","unsetPrinterThumbnail","imageData","setKeyValue","thumbnailBase64","deleteKeyValue","loadPrinterThumbnailRemote","login","file","thumbnailData","extractRemoteThumbnailBase64","writeThumbnailFile","e","error","captureException","loadPrinterThumbnailLocal","extractThumbnailBase64","length","thumbnailPath","ensureDirExists","writeFile","rmSync","lines","readRemoteGcodeLines","Error","collecting","currentThumbnailBase64","index","line","startsWith","includes","trim","replace","numberOfLines","fromEnd","endCondition","getScopedPrinter","fileData","getFile","fileSize","size","position","iterationsLeft","bytesToRead","Math","min","gcodeScanningChunkSize","start","end","remoteChunk","getFileChunk","chunkLines","split","concat","endIndex","findIndex","slice","gcodePath","fileStream","createReadStream","rl","createInterface","input","crlfDelay","Infinity","close","Buffer","from"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/state/printer-thumbnail.cache.ts"],"names":["PrinterThumbnailCache","gcodeMaxLinesToRead","KeyDiffCache","logger","constructor","loggerFactory","printerCache","printerApiFactory","eventEmitter2","settingsStore","name","on","printerEvents","printersDeleted","handlePrintersDeleted","bind","resetCache","keys","Object","keyValueStore","deleteKeysBatch","loadCache","isThumbnailSupportEnabled","printers","listCachedPrinters","baseFolder","join","superRootPath","AppConstants","defaultPrinterThumbnailsStorage","resetDiffs","forEach","key","printer","printerIdStr","id","toString","thumbnailFile","existsSync","data","readFileSync","setPrinterThumbnail","event","printerId","printerIds","removeThumbnailFile","unsetPrinterThumbnail","imageData","setKeyValue","thumbnailBase64","deleteKeyValue","loadPrinterThumbnailRemote","login","file","thumbnailData","extractRemoteThumbnailBase64","writeThumbnailFile","e","error","captureException","loadPrinterThumbnailLocal","extractThumbnailBase64","length","thumbnailPath","ensureDirExists","writeFile","rmSync","lines","readRemoteGcodeLines","Error","collecting","currentThumbnailBase64","index","line","startsWith","includes","trim","replace","numberOfLines","fromEnd","endCondition","getScopedPrinter","fileData","getFile","fileSize","size","position","iterationsLeft","bytesToRead","Math","min","gcodeScanningChunkSize","start","end","remoteChunk","getFileChunk","chunkLines","split","concat","endIndex","findIndex","slice","gcodePath","fileStream","createReadStream","rl","createInterface","input","crlfDelay","Infinity","close","Buffer","from"],"mappings":"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"}
@@ -14,10 +14,8 @@ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
14
14
  class PrinterCache extends _keydiffcache.KeyDiffCache {
15
15
  printerService;
16
16
  eventEmitter2;
17
- constructor({ printerService, eventEmitter2 }){
18
- super();
19
- this.printerService = printerService;
20
- this.eventEmitter2 = eventEmitter2;
17
+ constructor(printerService, eventEmitter2){
18
+ super(), this.printerService = printerService, this.eventEmitter2 = eventEmitter2;
21
19
  this.eventEmitter2.on(_eventconstants.printerEvents.batchPrinterCreated, this.handleBatchPrinterCreated.bind(this));
22
20
  this.eventEmitter2.on(_eventconstants.printerEvents.printerCreated, this.handlePrinterCreatedOrUpdated.bind(this));
23
21
  this.eventEmitter2.on(_eventconstants.printerEvents.printerUpdated, this.handlePrinterCreatedOrUpdated.bind(this));
@@ -70,6 +68,8 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
70
68
  return {
71
69
  printerURL: printer.printerURL,
72
70
  apiKey: printer.apiKey,
71
+ username: printer.username,
72
+ password: printer.password,
73
73
  printerType: printer.printerType
74
74
  };
75
75
  }
@@ -78,23 +78,25 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
78
78
  return {
79
79
  printerURL: printer.printerURL,
80
80
  apiKey: printer.apiKey,
81
- printerType: printer.printerType
81
+ printerType: printer.printerType,
82
+ username: printer.username,
83
+ password: printer.password
82
84
  };
83
85
  }
84
- async handleBatchPrinterCreated({ printers }) {
85
- const mappedPrinters = this.mapArray(printers);
86
+ async handleBatchPrinterCreated(event) {
87
+ const mappedPrinters = this.mapArray(event.printers);
86
88
  const keyValues = mappedPrinters.map((p)=>({
87
89
  key: this.getId(p),
88
90
  value: p
89
91
  }));
90
92
  await this.setKeyValuesBatch(keyValues, true);
91
93
  }
92
- async handlePrinterCreatedOrUpdated({ printer }) {
93
- const printerDto = this.map(printer);
94
+ async handlePrinterCreatedOrUpdated(event) {
95
+ const printerDto = this.map(event.printer);
94
96
  await this.setKeyValue(printerDto.id, printerDto, true);
95
97
  }
96
- async handlePrintersDeleted({ printerIds }) {
97
- await this.deleteKeysBatch(printerIds, true);
98
+ async handlePrintersDeleted(event) {
99
+ await this.deleteKeysBatch(event.printerIds, true);
98
100
  }
99
101
  getId(value) {
100
102
  return value.id.toString();
@@ -105,7 +107,7 @@ class PrinterCache extends _keydiffcache.KeyDiffCache {
105
107
  });
106
108
  }
107
109
  map(entity) {
108
- return this.printerService.toUnsafeDto(entity);
110
+ return this.printerService.toDto(entity);
109
111
  }
110
112
  }
111
113
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","printerService","eventEmitter2","constructor","on","printerEvents","batchPrinterCreated","handleBatchPrinterCreated","bind","printerCreated","handlePrinterCreatedOrUpdated","printerUpdated","printersDeleted","handlePrintersDeleted","loadCache","printerDocs","list","dtos","mapArray","keyValues","map","p","key","getId","value","setKeyValuesBatch","countDisabledPrinters","getAllValues","filter","enabled","length","listCachedPrinters","includeDisabled","printers","getCachedPrinterOrThrowAsync","id","printer","getValue","NotFoundException","getCachedPrinterOrThrow","keyValueStore","getNameAsync","name","getName","getLoginDtoAsync","printerURL","apiKey","printerType","getLoginDto","mappedPrinters","printerDto","setKeyValue","printerIds","deleteKeysBatch","toString","entities","entity","toUnsafeDto"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/state/printer.cache.ts"],"names":["PrinterCache","KeyDiffCache","constructor","printerService","eventEmitter2","on","printerEvents","batchPrinterCreated","handleBatchPrinterCreated","bind","printerCreated","handlePrinterCreatedOrUpdated","printerUpdated","printersDeleted","handlePrintersDeleted","loadCache","printerDocs","list","dtos","mapArray","keyValues","map","p","key","getId","value","setKeyValuesBatch","countDisabledPrinters","getAllValues","filter","enabled","length","listCachedPrinters","includeDisabled","printers","getCachedPrinterOrThrowAsync","id","printer","getValue","NotFoundException","getCachedPrinterOrThrow","keyValueStore","getNameAsync","name","getName","getLoginDtoAsync","printerURL","apiKey","username","password","printerType","getLoginDto","event","mappedPrinters","printerDto","setKeyValue","deleteKeysBatch","printerIds","toString","entities","entity","toDto"],"mappings":"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"}
@@ -14,25 +14,27 @@ const _node = require("@sentry/node");
14
14
  const _envutils = require("../utils/env.utils");
15
15
  const _serverconstants = require("../server.constants");
16
16
  class SettingsStore {
17
- isTypeOrmMode;
18
17
  settingsService;
18
+ isTypeormMode;
19
19
  logger;
20
- settings = null;
21
- constructor({ settingsService, loggerFactory, isTypeormMode }){
20
+ settings;
21
+ constructor(loggerFactory, settingsService, isTypeormMode){
22
22
  this.settingsService = settingsService;
23
+ this.isTypeormMode = isTypeormMode;
24
+ this.settings = null;
23
25
  this.logger = loggerFactory(SettingsStore.name);
24
- this.isTypeOrmMode = isTypeormMode;
25
26
  }
26
27
  getSettings() {
28
+ this.throwIfSettingsUnset();
27
29
  const settings = this.settings;
28
- if (!settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
29
30
  return Object.freeze({
30
31
  [_serversettingsconstants.serverSettingsKey]: {
31
32
  loginRequired: settings[_serversettingsconstants.serverSettingsKey].loginRequired,
32
33
  registration: settings[_serversettingsconstants.serverSettingsKey].registration,
33
34
  sentryDiagnosticsEnabled: settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled,
34
35
  experimentalMoonrakerSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
35
- experimentalTypeormSupport: this.isTypeOrmMode,
36
+ experimentalPrusaLinkSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalPrusaLinkSupport,
37
+ experimentalTypeormSupport: this.isTypeormMode,
36
38
  experimentalClientSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
37
39
  experimentalThumbnailSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport
38
40
  },
@@ -43,8 +45,8 @@ class SettingsStore {
43
45
  });
44
46
  }
45
47
  getSettingsSensitive() {
48
+ this.throwIfSettingsUnset();
46
49
  const settings = this.settings;
47
- if (!settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
48
50
  return Object.freeze({
49
51
  [_serversettingsconstants.credentialSettingsKey]: {
50
52
  jwtExpiresIn: settings[_serversettingsconstants.credentialSettingsKey].jwtExpiresIn,
@@ -52,63 +54,74 @@ class SettingsStore {
52
54
  refreshTokenExpiry: settings[_serversettingsconstants.credentialSettingsKey].refreshTokenExpiry
53
55
  },
54
56
  [_serversettingsconstants.serverSettingsKey]: {
55
- debugSettings: settings[_serversettingsconstants.serverSettingsKey].debugSettings,
56
57
  experimentalMoonrakerSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
57
- experimentalTypeormSupport: this.isTypeOrmMode,
58
+ experimentalTypeormSupport: this.isTypeormMode,
58
59
  experimentalClientSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
59
60
  experimentalThumbnailSupport: settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport
60
61
  }
61
62
  });
62
63
  }
63
- getDebugSettingsSensitive() {
64
- return this.getSettingsSensitive()[_serversettingsconstants.serverSettingsKey].debugSettings;
65
- }
66
64
  async loadSettings() {
67
65
  this.settings = await this.settingsService.getOrCreate();
68
66
  await this.processSentryEnabled();
69
67
  }
70
68
  async getCredentialSettings() {
69
+ this.throwIfSettingsUnset();
71
70
  return this.settings[_serversettingsconstants.credentialSettingsKey];
72
71
  }
73
72
  async getAnonymousDiagnosticsEnabled() {
73
+ this.throwIfSettingsUnset();
74
74
  return this.settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled;
75
75
  }
76
76
  async persistOptionalCredentialSettings(overrideJwtSecret, overrideJwtExpiresIn) {
77
- if (overrideJwtSecret) {
78
- await this.updateCredentialSettings({
77
+ this.throwIfSettingsUnset();
78
+ const credentialSettings = await this.getCredentialSettings();
79
+ if (overrideJwtSecret?.length) {
80
+ await this.settingsService.updateJwtSecretCredentialSetting({
79
81
  jwtSecret: overrideJwtSecret
80
82
  });
81
83
  }
82
- if (overrideJwtExpiresIn) {
84
+ if (overrideJwtExpiresIn?.length) {
83
85
  await this.updateCredentialSettings({
86
+ refreshTokenExpiry: credentialSettings.refreshTokenExpiry,
87
+ refreshTokenAttempts: credentialSettings.refreshTokenAttempts,
84
88
  jwtExpiresIn: parseInt(overrideJwtExpiresIn)
85
89
  });
86
90
  }
91
+ this.settings[_serversettingsconstants.credentialSettingsKey] = await this.getCredentialSettings();
87
92
  }
88
93
  getWizardState() {
94
+ this.throwIfSettingsUnset();
95
+ const settings = this.settings;
89
96
  return {
90
- wizardCompleted: this.settings[_serversettingsconstants.wizardSettingKey].wizardCompleted,
91
- wizardVersion: this.settings[_serversettingsconstants.wizardSettingKey].wizardVersion,
97
+ wizardCompleted: settings[_serversettingsconstants.wizardSettingKey].wizardCompleted,
98
+ wizardVersion: settings[_serversettingsconstants.wizardSettingKey].wizardVersion,
92
99
  latestWizardVersion: _serverconstants.AppConstants.currentWizardVersion
93
100
  };
94
101
  }
95
102
  isWizardCompleted() {
96
- return this.settings[_serversettingsconstants.wizardSettingKey].wizardCompleted && this.settings[_serversettingsconstants.wizardSettingKey].wizardVersion === _serverconstants.AppConstants.currentWizardVersion;
103
+ this.throwIfSettingsUnset();
104
+ const settings = this.settings;
105
+ return settings[_serversettingsconstants.wizardSettingKey].wizardCompleted && settings[_serversettingsconstants.wizardSettingKey].wizardVersion === _serverconstants.AppConstants.currentWizardVersion;
97
106
  }
98
107
  getWizardSettings() {
108
+ this.throwIfSettingsUnset();
99
109
  return this.settings[_serversettingsconstants.wizardSettingKey];
100
110
  }
101
111
  isRegistrationEnabled() {
102
- if (!this.settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
112
+ this.throwIfSettingsUnset();
103
113
  return this.settings[_serversettingsconstants.serverSettingsKey].registration;
104
114
  }
105
115
  isThumbnailSupportEnabled() {
106
- if (!this.settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded");
116
+ this.throwIfSettingsUnset();
107
117
  return this.settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport;
108
118
  }
109
119
  getServerSettings() {
110
120
  return this.getSettings()[_serversettingsconstants.serverSettingsKey];
111
121
  }
122
+ getTimeoutSettings() {
123
+ return this.getSettings()[_serversettingsconstants.timeoutSettingKey];
124
+ }
112
125
  getFrontendSettings() {
113
126
  return this.getSettings()[_serversettingsconstants.frontendSettingKey];
114
127
  }
@@ -119,73 +132,87 @@ class SettingsStore {
119
132
  return this.getSettings()[_serversettingsconstants.printerFileCleanSettingKey]?.autoRemoveOldFilesBeforeUpload;
120
133
  }
121
134
  async setWizardCompleted(version) {
122
- this.settings = await this.settingsService.patchWizardSettings({
135
+ this.settings = await this.settingsService.updateWizardSettings({
123
136
  wizardCompleted: true,
124
137
  wizardCompletedAt: new Date(),
125
138
  wizardVersion: version
126
139
  });
127
140
  return this.getSettings();
128
141
  }
129
- async setRegistrationEnabled(registration = true) {
130
- this.settings = await this.settingsService.patchServerSettings({
131
- registration
132
- });
133
- return this.getSettings();
134
- }
135
142
  async getLoginRequired() {
136
143
  return this.getServerSettings().loginRequired;
137
144
  }
138
145
  async setLoginRequired(loginRequired = true) {
139
- this.settings = await this.settingsService.patchServerSettings({
140
- loginRequired
141
- });
146
+ this.throwIfSettingsUnset();
147
+ this.settings[_serversettingsconstants.serverSettingsKey].loginRequired = loginRequired;
148
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
149
+ return this.getSettings();
150
+ }
151
+ async setRegistrationEnabled(registration = true) {
152
+ this.throwIfSettingsUnset();
153
+ this.settings[_serversettingsconstants.serverSettingsKey].registration = registration;
154
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
142
155
  return this.getSettings();
143
156
  }
144
157
  async updateServerSettings(serverSettings) {
145
- this.settings = await this.settingsService.patchServerSettings(serverSettings);
158
+ this.settings = await this.settingsService.updateServerSettings(serverSettings);
146
159
  return this.getSettings();
147
160
  }
148
161
  async updateTimeoutSettings(timeoutSettings) {
149
162
  this.settings = await this.settingsService.updateTimeoutSettings(timeoutSettings);
150
163
  return this.getSettings();
151
164
  }
152
- async patchFileCleanSettings(fileClean) {
153
- this.settings = await this.settingsService.patchFileCleanSettings(fileClean);
165
+ async updateFileCleanSettings(fileClean) {
166
+ this.settings = await this.settingsService.updateFileCleanSettings(fileClean);
154
167
  return this.getSettings();
155
168
  }
156
169
  async updateCredentialSettings(credentialSettings) {
157
- this.settings = await this.settingsService.patchCredentialSettings(credentialSettings);
158
- return this.getSettings();
170
+ this.settings = await this.settingsService.updateCredentialSettings(credentialSettings);
171
+ }
172
+ async setRefreshTokenSettings({ refreshTokenAttempts, refreshTokenExpiry }) {
173
+ this.throwIfSettingsUnset();
174
+ this.settings[_serversettingsconstants.credentialSettingsKey].refreshTokenAttempts = refreshTokenAttempts;
175
+ this.settings[_serversettingsconstants.credentialSettingsKey].refreshTokenExpiry = refreshTokenExpiry;
176
+ await this.updateCredentialSettings(this.settings[_serversettingsconstants.credentialSettingsKey]);
159
177
  }
160
178
  async setSentryDiagnosticsEnabled(sentryDiagnosticsEnabled) {
161
- this.settings = await this.settingsService.patchServerSettings({
162
- sentryDiagnosticsEnabled
163
- });
179
+ this.throwIfSettingsUnset();
180
+ this.settings[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled = sentryDiagnosticsEnabled;
181
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
164
182
  await this.processSentryEnabled();
165
183
  return this.getSettings();
166
184
  }
167
- async setExperimentalMoonrakerSupport(moonrakerEnabled) {
168
- this.settings = await this.settingsService.patchServerSettings({
169
- experimentalMoonrakerSupport: moonrakerEnabled
170
- });
185
+ async setExperimentalMoonrakerSupport(experimentalMoonrakerSupport) {
186
+ this.throwIfSettingsUnset();
187
+ this.settings[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport = experimentalMoonrakerSupport;
188
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
171
189
  return this.getSettings();
172
190
  }
173
- async setExperimentalThumbnailSupport(thumbnailsEnabled) {
174
- this.settings = await this.settingsService.patchServerSettings({
175
- experimentalThumbnailSupport: thumbnailsEnabled
176
- });
191
+ async setExperimentalThumbnailSupport(experimentalThumbnailSupport) {
192
+ this.throwIfSettingsUnset();
193
+ this.settings[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport = experimentalThumbnailSupport;
194
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
177
195
  return this.getSettings();
178
196
  }
179
- async setExperimentalClientSupport(experimentalClientEnabled) {
180
- this.settings = await this.settingsService.patchServerSettings({
181
- experimentalClientSupport: experimentalClientEnabled
182
- });
197
+ async setExperimentalPrusaLinkSupport(experimentalPrusaLinkSupport) {
198
+ this.throwIfSettingsUnset();
199
+ this.settings[_serversettingsconstants.serverSettingsKey].experimentalPrusaLinkSupport = experimentalPrusaLinkSupport;
200
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
201
+ return this.getSettings();
202
+ }
203
+ async setExperimentalClientSupport(experimentalClientSupport) {
204
+ this.throwIfSettingsUnset();
205
+ this.settings[_serversettingsconstants.serverSettingsKey].experimentalClientSupport = experimentalClientSupport;
206
+ this.settings = await this.settingsService.updateServerSettings(this.settings[_serversettingsconstants.serverSettingsKey]);
183
207
  return this.getSettings();
184
208
  }
185
209
  async updateFrontendSettings(frontendSettings) {
186
210
  this.settings = await this.settingsService.updateFrontendSettings(frontendSettings);
187
211
  return this.getSettings();
188
212
  }
213
+ throwIfSettingsUnset() {
214
+ if (!this.settings) throw new _runtimeexceptions.InternalServerException("Could not check server settings (server settings not loaded)");
215
+ }
189
216
  async processSentryEnabled() {
190
217
  const sentryEnabled = await this.getAnonymousDiagnosticsEnabled();
191
218
  if (sentryEnabled) {
@@ -194,7 +221,7 @@ class SettingsStore {
194
221
  this.logger.log("Disabling Sentry for remote diagnostics");
195
222
  }
196
223
  if ((0, _envutils.isTestEnvironment)()) return;
197
- const client = (0, _node.getCurrentHub)().getClient();
224
+ const client = (0, _node.getClient)();
198
225
  if (!client) {
199
226
  this.logger.warn("Could not apply Sentry. Was the SDK initialized?");
200
227
  return;