@fdm-monster/server 1.8.3 → 1.9.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +50 -1
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +5 -21
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +13 -14
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +3 -4
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +42 -28
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +73 -26
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +57 -198
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -116
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -33
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +1 -1
  197. package/dist/services/core/http-client.factory.js.map +1 -1
  198. package/dist/services/core/logs-manager.service.js +3 -3
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +8 -7
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/floor.dto.js +5 -47
  212. package/dist/services/interfaces/floor.dto.js.map +1 -1
  213. package/dist/services/interfaces/login.dto.js +2 -0
  214. package/dist/services/interfaces/login.dto.js.map +1 -1
  215. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  216. package/dist/services/interfaces/printer-group.dto.js +0 -14
  217. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer.dto.js +11 -11
  219. package/dist/services/interfaces/printer.dto.js.map +1 -1
  220. package/dist/services/interfaces/settings.dto.js.map +1 -1
  221. package/dist/services/interfaces/task.interfaces.js +6 -0
  222. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  223. package/dist/services/mongoose/camera-stream.service.js +17 -15
  224. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  225. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  226. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  227. package/dist/services/mongoose/floor.service.js +37 -30
  228. package/dist/services/mongoose/floor.service.js.map +1 -1
  229. package/dist/services/mongoose/permission.service.js +1 -1
  230. package/dist/services/mongoose/permission.service.js.map +1 -1
  231. package/dist/services/mongoose/print-completion.service.js +2 -2
  232. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.shared.js +2 -2
  234. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  235. package/dist/services/mongoose/printer.service.js +33 -45
  236. package/dist/services/mongoose/printer.service.js.map +1 -1
  237. package/dist/services/mongoose/refresh-token.service.js +5 -8
  238. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  239. package/dist/services/mongoose/role.service.js +14 -5
  240. package/dist/services/mongoose/role.service.js.map +1 -1
  241. package/dist/services/mongoose/settings.service.js +35 -62
  242. package/dist/services/mongoose/settings.service.js.map +1 -1
  243. package/dist/services/mongoose/user.service.js +8 -7
  244. package/dist/services/mongoose/user.service.js.map +1 -1
  245. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  246. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  247. package/dist/services/moonraker/moonraker-websocket.adapter.js +102 -94
  248. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  249. package/dist/services/moonraker/moonraker.client.js +19 -14
  250. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  251. package/dist/services/moonraker.api.js +3 -5
  252. package/dist/services/moonraker.api.js.map +1 -1
  253. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  254. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  256. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  257. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  258. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  259. package/dist/services/octoprint/octoprint-api.routes.js +0 -37
  260. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
  262. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  263. package/dist/services/octoprint/octoprint.client.js +12 -185
  264. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  265. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  266. package/dist/services/octoprint.api.js +8 -14
  267. package/dist/services/octoprint.api.js.map +1 -1
  268. package/dist/services/orm/base.service.js +11 -12
  269. package/dist/services/orm/base.service.js.map +1 -1
  270. package/dist/services/orm/camera-stream.service.js +5 -1
  271. package/dist/services/orm/camera-stream.service.js.map +1 -1
  272. package/dist/services/orm/custom-gcode.service.js +2 -2
  273. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  274. package/dist/services/orm/floor-position.service.js +0 -5
  275. package/dist/services/orm/floor-position.service.js.map +1 -1
  276. package/dist/services/orm/floor.service.js +43 -39
  277. package/dist/services/orm/floor.service.js.map +1 -1
  278. package/dist/services/orm/permission.service.js +3 -4
  279. package/dist/services/orm/permission.service.js.map +1 -1
  280. package/dist/services/orm/print-completion.service.js +2 -4
  281. package/dist/services/orm/print-completion.service.js.map +1 -1
  282. package/dist/services/orm/printer-group.service.js +2 -7
  283. package/dist/services/orm/printer-group.service.js.map +1 -1
  284. package/dist/services/orm/printer.service.js +21 -36
  285. package/dist/services/orm/printer.service.js.map +1 -1
  286. package/dist/services/orm/refresh-token.service.js +5 -11
  287. package/dist/services/orm/refresh-token.service.js.map +1 -1
  288. package/dist/services/orm/role.service.js +11 -10
  289. package/dist/services/orm/role.service.js.map +1 -1
  290. package/dist/services/orm/settings.service.js +37 -133
  291. package/dist/services/orm/settings.service.js.map +1 -1
  292. package/dist/services/orm/user.service.js +13 -15
  293. package/dist/services/orm/user.service.js.map +1 -1
  294. package/dist/services/printer-api.factory.js +9 -6
  295. package/dist/services/printer-api.factory.js.map +1 -1
  296. package/dist/services/printer-api.interface.js +13 -6
  297. package/dist/services/printer-api.interface.js.map +1 -1
  298. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  299. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  300. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  301. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  302. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  303. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  304. package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
  305. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  306. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  307. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  308. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  309. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  310. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  311. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  312. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  313. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  314. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  315. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  316. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  317. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  318. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  319. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  320. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  321. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  322. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  323. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  324. package/dist/services/socket.factory.js +9 -6
  325. package/dist/services/socket.factory.js.map +1 -1
  326. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  327. package/dist/services/task-manager.service.js.map +1 -0
  328. package/dist/services/validators/camera-service.validation.js +19 -0
  329. package/dist/services/validators/camera-service.validation.js.map +1 -0
  330. package/dist/services/validators/floor-service.validation.js +47 -36
  331. package/dist/services/validators/floor-service.validation.js.map +1 -1
  332. package/dist/services/validators/print-completion-service.validation.js +22 -9
  333. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  334. package/dist/services/validators/printer-service.validation.js +112 -29
  335. package/dist/services/validators/printer-service.validation.js.map +1 -1
  336. package/dist/services/validators/settings-service.validation.js +78 -66
  337. package/dist/services/validators/settings-service.validation.js.map +1 -1
  338. package/dist/services/validators/user-service.validation.js +17 -16
  339. package/dist/services/validators/user-service.validation.js.map +1 -1
  340. package/dist/services/validators/yaml-service.validation.js +94 -51
  341. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  342. package/dist/shared/default-http-client.builder.js.map +1 -1
  343. package/dist/shared/load-controllers.js +20 -0
  344. package/dist/shared/load-controllers.js.map +1 -0
  345. package/dist/shared/runtime-settings.migration.js +46 -0
  346. package/dist/shared/runtime-settings.migration.js.map +1 -0
  347. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  348. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  349. package/dist/shared/websocket.adapter.js +4 -5
  350. package/dist/shared/websocket.adapter.js.map +1 -1
  351. package/dist/state/file-upload-tracker.cache.js +5 -4
  352. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  353. package/dist/state/file.cache.js +1 -1
  354. package/dist/state/file.cache.js.map +1 -1
  355. package/dist/state/floor.store.js +6 -6
  356. package/dist/state/floor.store.js.map +1 -1
  357. package/dist/state/printer-events.cache.js +21 -22
  358. package/dist/state/printer-events.cache.js.map +1 -1
  359. package/dist/state/printer-files.store.js +6 -8
  360. package/dist/state/printer-files.store.js.map +1 -1
  361. package/dist/state/printer-socket.store.js +27 -50
  362. package/dist/state/printer-socket.store.js.map +1 -1
  363. package/dist/state/printer-thumbnail.cache.js +5 -9
  364. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  365. package/dist/state/printer.cache.js +14 -12
  366. package/dist/state/printer.cache.js.map +1 -1
  367. package/dist/state/settings.store.js +74 -50
  368. package/dist/state/settings.store.js.map +1 -1
  369. package/dist/state/socket-io.gateway.js +39 -36
  370. package/dist/state/socket-io.gateway.js.map +1 -1
  371. package/dist/state/test-printer-socket.store.js +20 -15
  372. package/dist/state/test-printer-socket.store.js.map +1 -1
  373. package/dist/state/validation/create-test-printer.validation.js +13 -11
  374. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  375. package/dist/task.presets.js.map +1 -1
  376. package/dist/tasks/boot.task.js +14 -19
  377. package/dist/tasks/boot.task.js.map +1 -1
  378. package/dist/tasks/client-bundle.task.js +1 -3
  379. package/dist/tasks/client-bundle.task.js.map +1 -1
  380. package/dist/tasks/print-completion.socketio.task.js +27 -28
  381. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  382. package/dist/tasks/printer-file-clean.task.js +6 -10
  383. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  384. package/dist/tasks/printer-websocket-restore.task.js +3 -14
  385. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  386. package/dist/tasks/printer-websocket.task.js +2 -14
  387. package/dist/tasks/printer-websocket.task.js.map +1 -1
  388. package/dist/tasks/socketio.task.js +6 -33
  389. package/dist/tasks/socketio.task.js.map +1 -1
  390. package/dist/tasks/software-update.task.js +1 -1
  391. package/dist/tasks/software-update.task.js.map +1 -1
  392. package/dist/tasks.js +3 -3
  393. package/dist/tasks.js.map +1 -1
  394. package/dist/utils/array.util.js.map +1 -1
  395. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  396. package/dist/utils/env.utils.js +0 -2
  397. package/dist/utils/env.utils.js.map +1 -1
  398. package/dist/utils/normalize-url.js +3 -2
  399. package/dist/utils/normalize-url.js.map +1 -1
  400. package/dist/utils/printer-type.utils.js.map +1 -1
  401. package/dist/utils/time.utils.js +7 -17
  402. package/dist/utils/time.utils.js.map +1 -1
  403. package/dist/utils/url.utils.js +3 -4
  404. package/dist/utils/url.utils.js.map +1 -1
  405. package/package.json +44 -47
  406. package/tsconfig.json +2 -1
  407. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  408. package/dist/consoles/check-ports.js +0 -170
  409. package/dist/consoles/check-ports.js.map +0 -1
  410. package/dist/consoles/http-file-receiver.console.js +0 -81
  411. package/dist/consoles/http-file-receiver.console.js.map +0 -1
  412. package/dist/consoles/sqlite-torm.js +0 -31
  413. package/dist/consoles/sqlite-torm.js.map +0 -1
  414. package/dist/consoles/upload-test.js +0 -52
  415. package/dist/consoles/upload-test.js.map +0 -1
  416. package/dist/controllers/plugin-firmware-update.controller.js +0 -234
  417. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  418. package/dist/entities/base.entity.js +0 -29
  419. package/dist/entities/base.entity.js.map +0 -1
  420. package/dist/entities/printer-file.entity.js +0 -140
  421. package/dist/entities/printer-file.entity.js.map +0 -1
  422. package/dist/handlers/cache-manager.js +0 -18
  423. package/dist/handlers/cache-manager.js.map +0 -1
  424. package/dist/models/PrinterFile.js +0 -44
  425. package/dist/models/PrinterFile.js.map +0 -1
  426. package/dist/services/core/task-manager.service.js.map +0 -1
  427. package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
  428. package/dist/services/octoprint/plugin-base.service.js +0 -101
  429. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  430. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  431. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  432. package/dist/services/octoprint/plugin-repository.cache.js +0 -46
  433. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  434. package/dist/utils/benchmark.util.js +0 -39
  435. package/dist/utils/benchmark.util.js.map +0 -1
  436. package/dist/utils/is-docker.js +0 -40
  437. package/dist/utils/is-docker.js.map +0 -1
  438. package/dist/utils/metric.utils.js +0 -35
  439. package/dist/utils/metric.utils.js.map +0 -1
@@ -12,11 +12,8 @@ const _models = require("../../models");
12
12
  const _serversettingsconstants = require("../../constants/server-settings.constants");
13
13
  const _validators = require("../../handlers/validators");
14
14
  const _settingsservicevalidation = require("../validators/settings-service.validation");
15
+ const _runtimesettingsmigration = require("../../shared/runtime-settings.migration");
15
16
  class SettingsService {
16
- configService;
17
- constructor({ configService }){
18
- this.configService = configService;
19
- }
20
17
  toDto(entity) {
21
18
  return {
22
19
  [_serversettingsconstants.serverSettingsKey]: {
@@ -30,122 +27,98 @@ class SettingsService {
30
27
  };
31
28
  }
32
29
  async getOrCreate() {
33
- let settings = await _models.Settings.findOne();
30
+ let settings = await this.getOptional();
34
31
  if (!settings) {
35
32
  const defaultSettings = new _models.Settings((0, _serversettingsconstants.getDefaultSettings)());
36
33
  await defaultSettings.save();
37
34
  return defaultSettings;
38
35
  } else {
39
- settings = this.migrateSettingsRuntime(settings);
40
- return _models.Settings.findOneAndUpdate({
36
+ settings = (0, _runtimesettingsmigration.migrateSettingsRuntime)(settings);
37
+ return await _models.Settings.findOneAndUpdate({
41
38
  _id: settings.id
42
39
  }, settings, {
43
40
  new: true
44
41
  });
45
42
  }
46
43
  }
47
- migrateSettingsRuntime(knownSettings) {
48
- const doc = knownSettings;
49
- if (!doc[_serversettingsconstants.printerFileCleanSettingKey]) {
50
- doc[_serversettingsconstants.printerFileCleanSettingKey] = (0, _serversettingsconstants.getDefaultFileCleanSettings)();
51
- } else {
52
- doc[_serversettingsconstants.printerFileCleanSettingKey] = {
53
- autoRemoveOldFilesBeforeUpload: doc[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesBeforeUpload,
54
- autoRemoveOldFilesAtBoot: doc[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesBeforeUpload,
55
- autoRemoveOldFilesCriteriumDays: doc[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesCriteriumDays
56
- };
57
- }
58
- if (!doc[_serversettingsconstants.wizardSettingKey]) {
59
- doc[_serversettingsconstants.wizardSettingKey] = (0, _serversettingsconstants.getDefaultWizardSettings)();
60
- }
61
- if (!doc[_serversettingsconstants.timeoutSettingKey]) {
62
- doc[_serversettingsconstants.timeoutSettingKey] = (0, _serversettingsconstants.getDefaultTimeout)();
63
- }
64
- if (!doc[_serversettingsconstants.serverSettingsKey]) {
65
- doc[_serversettingsconstants.serverSettingsKey] = (0, _serversettingsconstants.getDefaultServerSettings)();
66
- } else {
67
- doc[_serversettingsconstants.serverSettingsKey] = {
68
- debugSettings: doc[_serversettingsconstants.serverSettingsKey].debugSettings,
69
- loginRequired: doc[_serversettingsconstants.serverSettingsKey].loginRequired,
70
- registration: doc[_serversettingsconstants.serverSettingsKey].registration,
71
- experimentalClientSupport: doc[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
72
- experimentalMoonrakerSupport: doc[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
73
- sentryDiagnosticsEnabled: doc[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled,
74
- experimentalThumbnailSupport: doc[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport
75
- };
76
- }
77
- if (!doc[_serversettingsconstants.credentialSettingsKey]) {
78
- doc[_serversettingsconstants.credentialSettingsKey] = (0, _serversettingsconstants.getDefaultCredentialSettings)();
79
- }
80
- if (!doc[_serversettingsconstants.frontendSettingKey]) {
81
- doc[_serversettingsconstants.frontendSettingKey] = (0, _serversettingsconstants.getDefaultFrontendSettings)();
82
- }
83
- return knownSettings;
84
- }
85
- async patchFileCleanSettings(patchUpdate) {
86
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.fileCleanSettingsUpdateRules);
44
+ async updateFileCleanSettings(update) {
45
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.fileCleanSettingsUpdateSchema);
87
46
  const settingsDoc = await this.getOrCreate();
88
47
  settingsDoc[_serversettingsconstants.printerFileCleanSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.printerFileCleanSettingKey], validatedInput);
89
- return _models.Settings.findOneAndUpdate({
48
+ return await _models.Settings.findOneAndUpdate({
90
49
  _id: settingsDoc.id
91
50
  }, settingsDoc, {
92
51
  new: true
93
52
  });
94
53
  }
95
- async patchWizardSettings(patchUpdate) {
96
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.wizardUpdateRules);
54
+ async updateWizardSettings(update) {
55
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.wizardUpdateSchema);
97
56
  const settingsDoc = await this.getOrCreate();
98
57
  settingsDoc[_serversettingsconstants.wizardSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.wizardSettingKey], validatedInput);
99
- return _models.Settings.findOneAndUpdate({
58
+ return await _models.Settings.findOneAndUpdate({
100
59
  _id: settingsDoc.id
101
60
  }, settingsDoc, {
102
61
  new: true
103
62
  });
104
63
  }
105
- async updateFrontendSettings(patchUpdate) {
106
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.frontendSettingsUpdateRules);
64
+ async updateFrontendSettings(update) {
65
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.frontendSettingsUpdateSchema);
107
66
  const settingsDoc = await this.getOrCreate();
108
67
  const frontendSettings = settingsDoc[_serversettingsconstants.frontendSettingKey];
109
68
  Object.assign(frontendSettings, validatedInput);
110
- return _models.Settings.findOneAndUpdate({
69
+ return await _models.Settings.findOneAndUpdate({
111
70
  _id: settingsDoc.id
112
71
  }, settingsDoc, {
113
72
  new: true
114
73
  });
115
74
  }
116
- async patchCredentialSettings(patchUpdate) {
117
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.credentialSettingPatchRules);
75
+ async updateJwtSecretCredentialSetting(update) {
76
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.jwtSecretCredentialSettingUpdateSchema);
118
77
  const settingsDoc = await this.getOrCreate();
119
78
  const credentialSettings = settingsDoc[_serversettingsconstants.credentialSettingsKey];
120
79
  Object.assign(credentialSettings, validatedInput);
121
- return _models.Settings.findOneAndUpdate({
80
+ return await _models.Settings.findOneAndUpdate({
122
81
  _id: settingsDoc.id
123
82
  }, settingsDoc, {
124
83
  new: true
125
84
  });
126
85
  }
127
- async patchServerSettings(patchUpdate) {
128
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.serverSettingsUpdateRules);
86
+ async updateCredentialSettings(patchUpdate) {
87
+ const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.credentialSettingUpdateSchema);
88
+ const settingsDoc = await this.getOrCreate();
89
+ const credentialSettings = settingsDoc[_serversettingsconstants.credentialSettingsKey];
90
+ Object.assign(credentialSettings, validatedInput);
91
+ return await _models.Settings.findOneAndUpdate({
92
+ _id: settingsDoc.id
93
+ }, settingsDoc, {
94
+ new: true
95
+ });
96
+ }
97
+ async updateServerSettings(update) {
98
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.serverSettingsUpdateSchema);
129
99
  const settingsDoc = await this.getOrCreate();
130
100
  const serverSettings = settingsDoc[_serversettingsconstants.serverSettingsKey];
131
101
  Object.assign(serverSettings, validatedInput);
132
- return _models.Settings.findOneAndUpdate({
102
+ return await _models.Settings.findOneAndUpdate({
133
103
  _id: settingsDoc.id
134
104
  }, settingsDoc, {
135
105
  new: true
136
106
  });
137
107
  }
138
108
  async updateTimeoutSettings(patchUpdate) {
139
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.timeoutSettingsUpdateRules);
109
+ const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.timeoutSettingsUpdateSchema);
140
110
  const settingsDoc = await this.getOrCreate();
141
111
  const timeoutSettings = settingsDoc[_serversettingsconstants.timeoutSettingKey];
142
112
  Object.assign(timeoutSettings, validatedInput);
143
- return _models.Settings.findOneAndUpdate({
113
+ return await _models.Settings.findOneAndUpdate({
144
114
  _id: settingsDoc.id
145
115
  }, settingsDoc, {
146
116
  new: true
147
117
  });
148
118
  }
119
+ async getOptional() {
120
+ return _models.Settings.findOne();
121
+ }
149
122
  }
150
123
 
151
124
  //# sourceMappingURL=settings.service.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/settings.service.ts"],"names":["SettingsService","configService","constructor","toDto","entity","serverSettingsKey","experimentalTypeormSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","Settings","findOne","defaultSettings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","knownSettings","doc","getDefaultFileCleanSettings","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","getDefaultWizardSettings","getDefaultTimeout","getDefaultServerSettings","debugSettings","loginRequired","registration","experimentalClientSupport","experimentalMoonrakerSupport","sentryDiagnosticsEnabled","experimentalThumbnailSupport","credentialSettingsKey","getDefaultCredentialSettings","getDefaultFrontendSettings","patchFileCleanSettings","patchUpdate","validatedInput","validateInput","fileCleanSettingsUpdateRules","settingsDoc","Object","assign","patchWizardSettings","wizardUpdateRules","updateFrontendSettings","frontendSettingsUpdateRules","frontendSettings","patchCredentialSettings","credentialSettingPatchRules","credentialSettings","patchServerSettings","serverSettingsUpdateRules","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","timeoutSettings"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/mongoose/settings.service.ts"],"names":["SettingsService","toDto","entity","serverSettingsKey","experimentalTypeormSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","getOptional","defaultSettings","Settings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","updateFileCleanSettings","update","validatedInput","validateInput","fileCleanSettingsUpdateSchema","settingsDoc","Object","assign","updateWizardSettings","wizardUpdateSchema","updateFrontendSettings","frontendSettingsUpdateSchema","frontendSettings","updateJwtSecretCredentialSetting","jwtSecretCredentialSettingUpdateSchema","credentialSettings","credentialSettingsKey","updateCredentialSettings","patchUpdate","credentialSettingUpdateSchema","updateServerSettings","serverSettingsUpdateSchema","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateSchema","timeoutSettings","findOne"],"mappings":";;;;+BA2BaA;;;eAAAA;;;wBA3BY;yCASlB;4BACuB;2CASvB;0CAMgC;AAEhC,MAAMA;IACXC,MAAMC,MAAiB,EAAe;QACpC,OAAO;YAEL,CAACC,0CAAiB,CAAC,EAAE;gBACnB,GAAGD,MAAM,CAACC,0CAAiB,CAAC;gBAC5BC,4BAA4B;YAC9B;YACA,CAACC,yCAAgB,CAAC,EAAEH,MAAM,CAACG,yCAAgB,CAAC;YAC5C,CAACC,2CAAkB,CAAC,EAAEJ,MAAM,CAACI,2CAAkB,CAAC;YAChD,CAACC,mDAA0B,CAAC,EAAEL,MAAM,CAACK,mDAA0B,CAAC;YAChE,CAACC,0CAAiB,CAAC,EAAEN,MAAM,CAACM,0CAAiB,CAAC;QAChD;IACF;IAEA,MAAMC,cAAc;QAClB,IAAIC,WAA6B,MAAM,IAAI,CAACC,WAAW;QACvD,IAAI,CAACD,UAAU;YACb,MAAME,kBAAkB,IAAIC,gBAAQ,CAACC,IAAAA,2CAAkB;YACvD,MAAMF,gBAAgBG,IAAI;YAG1B,OAAOH;QACT,OAAO;YAELF,WAAWM,IAAAA,gDAAsB,EAACN;YAElC,OAAQ,MAAMG,gBAAQ,CAACI,gBAAgB,CAAC;gBAAEC,KAAKR,SAASS,EAAE;YAAC,GAAGT,UAAU;gBAAEU,KAAK;YAAK;QACtF;IACF;IAEA,MAAMC,wBAAwBC,MAAqD,EAAE;QACnF,MAAMC,iBAAiB,MAAMC,IAAAA,yBAAa,EAACF,QAAQG,wDAA6B;QAEhF,MAAMC,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1CiB,WAAW,CAACnB,mDAA0B,CAAC,GAAGoB,OAAOC,MAAM,CAACF,WAAW,CAACnB,mDAA0B,CAAC,EAAEgB;QACjG,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMS,qBAAqBP,MAA0C,EAAE;QACrE,MAAMC,iBAAiB,MAAMC,IAAAA,yBAAa,EAACF,QAAQQ,6CAAkB;QAErE,MAAMJ,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1CiB,WAAW,CAACrB,yCAAgB,CAAC,GAAGsB,OAAOC,MAAM,CAACF,WAAW,CAACrB,yCAAgB,CAAC,EAAEkB;QAC7E,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMW,uBAAuBT,MAAoD,EAAE;QACjF,MAAMC,iBAAiB,MAAMC,IAAAA,yBAAa,EAACF,QAAQU,uDAA4B;QAE/E,MAAMN,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1C,MAAMwB,mBAAmBP,WAAW,CAACpB,2CAAkB,CAAC;QACxDqB,OAAOC,MAAM,CAACK,kBAAkBV;QAChC,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMc,iCAAiCZ,MAA8D,EAAE;QACrG,MAAMC,iBAAiB,MAAMC,IAAAA,yBAAa,EAACF,QAAQa,iEAAsC;QAEzF,MAAMT,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1C,MAAM2B,qBAAqBV,WAAW,CAACW,8CAAqB,CAAC;QAC7DV,OAAOC,MAAM,CAACQ,oBAAoBb;QAClC,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMkB,yBAAyBC,WAA0D,EAAE;QACzF,MAAMhB,iBAAiB,MAAMC,IAAAA,yBAAa,EAACe,aAAaC,wDAA6B;QAErF,MAAMd,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1C,MAAM2B,qBAAqBV,WAAW,CAACW,8CAAqB,CAAC;QAC7DV,OAAOC,MAAM,CAACQ,oBAAoBb;QAClC,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMqB,qBAAqBnB,MAAkD,EAAE;QAC7E,MAAMC,iBAAiB,MAAMC,IAAAA,yBAAa,EAACF,QAAQoB,qDAA0B;QAE7E,MAAMhB,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1C,MAAMkC,iBAAiBjB,WAAW,CAACvB,0CAAiB,CAAC;QACrDwB,OAAOC,MAAM,CAACe,gBAAgBpB;QAC9B,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAMwB,sBAAsBL,WAAwD,EAAE;QACpF,MAAMhB,iBAAiB,MAAMC,IAAAA,yBAAa,EAACe,aAAaM,sDAA2B;QAEnF,MAAMnB,cAAc,MAAM,IAAI,CAACjB,WAAW;QAC1C,MAAMqC,kBAAkBpB,WAAW,CAAClB,0CAAiB,CAAC;QACtDmB,OAAOC,MAAM,CAACkB,iBAAiBvB;QAC/B,OAAQ,MAAMV,gBAAQ,CAACI,gBAAgB,CAAC;YAAEC,KAAKQ,YAAYP,EAAE;QAAC,GAAGO,aAAa;YAC5EN,KAAK;QACP;IACF;IAEA,MAAcT,cAAyC;QACrD,OAAOE,gBAAQ,CAACkC,OAAO;IACzB;AACF"}
@@ -16,7 +16,7 @@ const _authorizationconstants = require("../../constants/authorization.constants
16
16
  const _cryptoutils = require("../../utils/crypto.utils");
17
17
  class UserService {
18
18
  roleService;
19
- constructor({ roleService }){
19
+ constructor(roleService){
20
20
  this.roleService = roleService;
21
21
  }
22
22
  toDto(user) {
@@ -49,7 +49,8 @@ class UserService {
49
49
  });
50
50
  }
51
51
  async isUserRootUser(userId) {
52
- return (await _models.User.findById(userId))?.isRootUser;
52
+ const entity = await this.getUser(userId);
53
+ return entity.isRootUser;
53
54
  }
54
55
  async findRootUsers() {
55
56
  return _models.User.find({
@@ -66,9 +67,9 @@ class UserService {
66
67
  username
67
68
  });
68
69
  }
69
- async getUser(userId, throwNotFoundError = true) {
70
+ async getUser(userId) {
70
71
  const user = await _models.User.findById(userId);
71
- if (!user && throwNotFoundError) throw new _runtimeexceptions.NotFoundException("User not found");
72
+ if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
72
73
  return user;
73
74
  }
74
75
  async getUserRoleIds(userId) {
@@ -111,7 +112,7 @@ class UserService {
111
112
  }
112
113
  const { password } = await (0, _validators.validateInput)({
113
114
  password: newPassword
114
- }, _userservicevalidation.newPasswordRules);
115
+ }, _userservicevalidation.newPasswordSchema);
115
116
  user.passwordHash = (0, _cryptoutils.hashPassword)(password);
116
117
  user.needsPasswordChange = false;
117
118
  return await user.save();
@@ -119,7 +120,7 @@ class UserService {
119
120
  async updatePasswordUnsafeByUsername(username, newPassword) {
120
121
  const { password } = await (0, _validators.validateInput)({
121
122
  password: newPassword
122
- }, _userservicevalidation.newPasswordRules);
123
+ }, _userservicevalidation.newPasswordSchema);
123
124
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
124
125
  const user = await this.findRawByUsername(username);
125
126
  if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
@@ -155,7 +156,7 @@ class UserService {
155
156
  await user.save();
156
157
  }
157
158
  async register(input) {
158
- const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserRules)(false));
159
+ const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserSchema)(false));
159
160
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
160
161
  return await _models.User.create({
161
162
  username,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/user.service.ts"],"names":["UserService","roleService","constructor","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","toString","listUsers","limit","User","find","findUsersByRoleId","roleId","$in","findVerifiedUsers","isUserRootUser","userId","findById","findRootUsers","getDemoUserId","findOne","findRawByUsername","getUser","throwNotFoundError","NotFoundException","getUserRoleIds","setUserRoleIds","roleIds","getManyRoles","Array","from","Set","save","deleteUser","InternalServerException","role","getRoleByName","ROLES","ADMIN","includes","administrators","length","findByIdAndDelete","updateUsernameById","newUsername","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordRules","hashPassword","updatePasswordUnsafeByUsername","setIsRootUserById","rootUsers","setVerifiedById","verifiedUsers","register","input","registerUserRules","create"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/mongoose/user.service.ts"],"names":["UserService","constructor","roleService","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","toString","listUsers","limit","User","find","findUsersByRoleId","roleId","$in","findVerifiedUsers","isUserRootUser","userId","entity","getUser","findRootUsers","getDemoUserId","findOne","findRawByUsername","findById","NotFoundException","getUserRoleIds","setUserRoleIds","roleIds","getManyRoles","Array","from","Set","save","deleteUser","InternalServerException","role","getRoleByName","ROLES","ADMIN","includes","administrators","length","findByIdAndDelete","updateUsernameById","newUsername","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordSchema","hashPassword","updatePasswordUnsafeByUsername","setIsRootUserById","rootUsers","setVerifiedById","verifiedUsers","register","input","registerUserSchema","create"],"mappings":"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"}
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "moonrakerEvent", {
10
10
  });
11
11
  const moonrakerEvent = (event)=>`moonraker.${event}`;
12
12
 
13
- //# sourceMappingURL=websocket.constants.js.map
13
+ //# sourceMappingURL=moonraker.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/moonraker/constants/websocket.constants.ts"],"names":["moonrakerEvent","event"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,iBAAiB,CAACC,QAAkB,CAAC,UAAU,EAAEA,OAAO"}
1
+ {"version":3,"sources":["../../../../src/services/moonraker/constants/moonraker.constants.ts"],"names":["moonrakerEvent","event"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,iBAAiB,CAACC,QAAkB,CAAC,UAAU,EAAEA,OAAO"}
@@ -11,13 +11,13 @@ Object.defineProperty(exports, "MoonrakerWebsocketAdapter", {
11
11
  const _serverconstants = require("../../server.constants");
12
12
  const _urlutils = require("../../utils/url.utils");
13
13
  const _octoprintwebsocketadapter = require("../octoprint/octoprint-websocket.adapter");
14
- const _websocketconstants = require("./constants/websocket.constants");
14
+ const _moonrakerconstants = require("./constants/moonraker.constants");
15
15
  const _socketstatetype = require("../../shared/dtos/socket-state.type");
16
16
  const _apistatetype = require("../../shared/dtos/api-state.type");
17
17
  const _prettyprintutils = require("../../utils/pretty-print.utils");
18
18
  const _lodash = /*#__PURE__*/ _interop_require_default(require("lodash"));
19
- const _websocketrpcextendedadapter = require("../../shared/websocket-rpc-extended.adapter");
20
19
  const _printerapiinterface = require("../printer-api.interface");
20
+ const _websocketrpcextendedadapter = require("../../shared/websocket-rpc-extended.adapter");
21
21
  const _normalizeurl = require("../../utils/normalize-url");
22
22
  function _interop_require_default(obj) {
23
23
  return obj && obj.__esModule ? obj : {
@@ -25,22 +25,34 @@ function _interop_require_default(obj) {
25
25
  };
26
26
  }
27
27
  class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRpcExtendedAdapter {
28
- printerType = 1;
29
- client;
30
- eventEmitter;
28
+ eventEmitter2;
31
29
  configService;
32
- socketState = _socketstatetype.SOCKET_STATE.unopened;
33
- lastMessageReceivedTimestamp = null;
34
- stateUpdated = false;
35
- stateUpdateTimestamp = null;
36
- apiStateUpdated = false;
37
- apiStateUpdateTimestamp = null;
38
- apiState = _apistatetype.API_STATE.unset;
30
+ serverVersion;
31
+ printerType;
32
+ socketState;
33
+ lastMessageReceivedTimestamp;
34
+ stateUpdated;
35
+ stateUpdateTimestamp;
36
+ apiStateUpdated;
37
+ apiStateUpdateTimestamp;
38
+ apiState;
39
39
  login;
40
- socketURL;
41
40
  printerId;
42
- serverVersion;
43
41
  refreshPrinterObjectsInterval;
42
+ printerObjects;
43
+ client;
44
+ socketURL;
45
+ constructor(loggerFactory, moonrakerClient, eventEmitter2, configService, serverVersion){
46
+ super(loggerFactory), this.eventEmitter2 = eventEmitter2, this.configService = configService, this.serverVersion = serverVersion, this.printerType = 1, this.socketState = _socketstatetype.SOCKET_STATE.unopened, this.lastMessageReceivedTimestamp = null, this.stateUpdated = false, this.stateUpdateTimestamp = null, this.apiStateUpdated = false, this.apiStateUpdateTimestamp = null, this.apiState = _apistatetype.API_STATE.unset, this.printerObjects = {
47
+ eventtime: null,
48
+ status: null
49
+ };
50
+ this.logger = loggerFactory(MoonrakerWebsocketAdapter.name);
51
+ this.client = moonrakerClient;
52
+ }
53
+ get _debugMode() {
54
+ return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
55
+ }
44
56
  get subscriptionObjects() {
45
57
  return {
46
58
  pause_resume: [],
@@ -59,23 +71,6 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
59
71
  system_stats: []
60
72
  };
61
73
  }
62
- printerObjects = {
63
- eventtime: null,
64
- status: null
65
- };
66
- constructor({ moonrakerClient, loggerFactory, eventEmitter2, configService, serverVersion }){
67
- super({
68
- loggerFactory
69
- });
70
- this.client = moonrakerClient;
71
- this.logger = loggerFactory(MoonrakerWebsocketAdapter.name);
72
- this.eventEmitter = eventEmitter2;
73
- this.configService = configService;
74
- this.serverVersion = serverVersion;
75
- }
76
- get _debugMode() {
77
- return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
78
- }
79
74
  needsReopen() {
80
75
  return false;
81
76
  }
@@ -85,7 +80,7 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
85
80
  needsReauth() {
86
81
  return false;
87
82
  }
88
- reauthSession() {}
83
+ async reauthSession() {}
89
84
  registerCredentials(socketLogin) {
90
85
  const { printerId, loginDto } = socketLogin;
91
86
  this.printerId = printerId;
@@ -118,28 +113,22 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
118
113
  await this.updateCurrentStateSafely();
119
114
  }, 15000);
120
115
  }
121
- async updateCurrentStateSafely() {
122
- try {
123
- const query = this.subscriptionObjects;
124
- const objects = await this.client.getPrinterObjectsQuery(this.login, query);
125
- this.printerObjects = objects.data.result;
126
- this.setApiState(_apistatetype.API_STATE.responding);
127
- return await this.emitCurrentEvent(this.printerObjects);
128
- } catch (e) {
129
- const castError = e;
130
- if (castError.isAxiosError) {
131
- if (castError?.response?.status == 503) {
132
- this.printerObjects.status = {};
133
- this.printerObjects.eventtime = Date.now();
134
- return await this.emitCurrentEvent(this.printerObjects);
135
- }
136
- this.logger.error("Could not update Moonraker printer objects due to a request error");
137
- this.setApiState(_apistatetype.API_STATE.noResponse);
138
- return;
139
- }
140
- this.logger.error(`Could not update Moonraker current due to an unknown error`);
141
- this.setApiState(_apistatetype.API_STATE.noResponse);
116
+ emitEventSync(event, payload) {
117
+ if (!this.eventEmittingAllowed) {
118
+ return;
142
119
  }
120
+ this.eventEmitter2.emit((0, _moonrakerconstants.moonrakerEvent)(event), {
121
+ event,
122
+ payload,
123
+ printerId: this.printerId
124
+ });
125
+ }
126
+ resetSocketState() {
127
+ this.setSocketState("unopened");
128
+ this.setApiState("unset");
129
+ }
130
+ isClosedOrAborted() {
131
+ return this.socketState === _socketstatetype.SOCKET_STATE.closed || this.socketState === _socketstatetype.SOCKET_STATE.aborted;
143
132
  }
144
133
  async afterOpened(_) {
145
134
  this.setSocketState(_socketstatetype.SOCKET_STATE.opened);
@@ -162,9 +151,9 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
162
151
  } catch (e) {
163
152
  const ae = e;
164
153
  if (ae.isAxiosError) {
165
- if (ae.response.status === 503) {
154
+ if (ae.response?.status === 503) {
166
155
  this.logger.warn(`Klipper host issue ${(0, _prettyprintutils.PP)(ae.response.data?.error?.message)}`);
167
- } else if (ae.response.status === 404) {
156
+ } else if (ae.response?.status === 404) {
168
157
  this.logger.error("Error while afterOpened (404) - usually this means Moonraker is still starting");
169
158
  }
170
159
  this.setApiState(_apistatetype.API_STATE.noResponse);
@@ -185,6 +174,10 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
185
174
  }
186
175
  const payload = event.params?.length ? event.params[0] : undefined;
187
176
  if (eventName === "notify_service_state_changed") {
177
+ if (!event.params) {
178
+ this.logger.error("Received 'notify_service_state_changed' but service indicators params were undefined");
179
+ return;
180
+ }
188
181
  const serviceChanged = event.params[0];
189
182
  if (serviceChanged.klipper?.active_state || serviceChanged.klipper_mcu?.active_state || serviceChanged.moonraker?.active_state) {
190
183
  this.logger.log("Received notify_service_state_changed, reloading Moonraker printer objects");
@@ -205,36 +198,23 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
205
198
  return await this.setupSocketSession();
206
199
  }
207
200
  if (eventName === "notify_status_update") {
201
+ if (!event.params) {
202
+ this.logger.error("Received 'notify_status_update' but service indicators params were undefined");
203
+ return;
204
+ }
208
205
  const [data, eventtime] = event.params;
209
- const substate = Object.keys(data)[0];
210
- if (Object.keys(this.printerObjects.status).includes(substate)) {
206
+ const subState = Object.keys(data)[0];
207
+ if (Object.keys(this.printerObjects.status).includes(subState)) {
211
208
  this.printerObjects.status = _lodash.default.merge(this.printerObjects.status, data);
212
209
  this.printerObjects.eventtime = eventtime;
213
210
  await this.emitCurrentEvent(this.printerObjects);
214
211
  } else {
215
- this.logger.warn(`Substate ${substate} unknown`);
212
+ this.logger.warn(`Substate ${subState} unknown`);
216
213
  }
217
214
  return;
218
215
  }
219
216
  await this.emitEvent(eventName, payload);
220
217
  }
221
- emitEventSync(event, payload) {
222
- if (!this.eventEmittingAllowed) {
223
- return;
224
- }
225
- this.eventEmitter.emit((0, _websocketconstants.moonrakerEvent)(event), {
226
- event,
227
- payload,
228
- printerId: this.printerId
229
- });
230
- }
231
- resetSocketState() {
232
- this.setSocketState("unopened");
233
- this.setApiState("unset");
234
- }
235
- isClosedOrAborted() {
236
- return this.socketState === _socketstatetype.SOCKET_STATE.closed || this.socketState === _socketstatetype.SOCKET_STATE.aborted;
237
- }
238
218
  async afterClosed(event) {
239
219
  this.setSocketState("closed");
240
220
  delete this.socket;
@@ -244,6 +224,29 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
244
224
  this.setSocketState("error");
245
225
  await this.emitEvent(_octoprintwebsocketadapter.WsMessage.WS_ERROR, error?.length ? error : "connection error");
246
226
  }
227
+ async updateCurrentStateSafely() {
228
+ try {
229
+ const query = this.subscriptionObjects;
230
+ const objects = await this.client.getPrinterObjectsQuery(this.login, query);
231
+ this.printerObjects = objects.data.result;
232
+ this.setApiState(_apistatetype.API_STATE.responding);
233
+ return await this.emitCurrentEvent(this.printerObjects);
234
+ } catch (e) {
235
+ const castError = e;
236
+ if (castError.isAxiosError) {
237
+ if (castError?.response?.status == 503) {
238
+ this.printerObjects.status = null;
239
+ this.printerObjects.eventtime = Date.now();
240
+ return await this.emitCurrentEvent(this.printerObjects);
241
+ }
242
+ this.logger.error("Could not update Moonraker printer objects due to a request error");
243
+ this.setApiState(_apistatetype.API_STATE.noResponse);
244
+ return;
245
+ }
246
+ this.logger.error(`Could not update Moonraker current due to an unknown error`);
247
+ this.setApiState(_apistatetype.API_STATE.noResponse);
248
+ }
249
+ }
247
250
  async emitCurrentEvent(printerObject) {
248
251
  const originalKlipperObjects = printerObject.status;
249
252
  const flags = {
@@ -261,29 +264,34 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
261
264
  };
262
265
  let filename = "";
263
266
  let printTime = null;
264
- let stateText = originalKlipperObjects.display_status?.message ?? "Error";
267
+ let stateText = "Unset";
265
268
  let error = "";
266
- if (originalKlipperObjects.print_stats?.state?.length) {
267
- const systemState = originalKlipperObjects.webhooks;
268
- const printState = originalKlipperObjects.print_stats.state;
269
- const idleState = originalKlipperObjects.idle_timeout?.state;
270
- filename = originalKlipperObjects.print_stats.filename;
271
- printTime = originalKlipperObjects.print_stats.print_duration;
272
- flags.operational = systemState.state === "ready";
273
- if (flags.operational) {
274
- flags.printing = printState === "printing";
275
- flags.paused = printState === "paused";
276
- flags.ready = printState === "standby" && idleState !== "Printing";
277
- flags.sdReady = true;
278
- } else {
279
- flags.error = true;
280
- stateText = "Klipper reports: " + (systemState.state ?? "unknown")?.toUpperCase();
269
+ let completion = null;
270
+ if (originalKlipperObjects != null) {
271
+ stateText = originalKlipperObjects.display_status?.message;
272
+ if (originalKlipperObjects.print_stats?.state?.length) {
273
+ const systemState = originalKlipperObjects.webhooks;
274
+ const printState = originalKlipperObjects.print_stats.state;
275
+ const idleState = originalKlipperObjects.idle_timeout?.state;
276
+ filename = originalKlipperObjects.print_stats.filename;
277
+ printTime = originalKlipperObjects.print_stats.print_duration;
278
+ flags.operational = systemState.state === "ready";
279
+ if (flags.operational) {
280
+ flags.printing = printState === "printing";
281
+ flags.paused = printState === "paused";
282
+ flags.ready = printState === "standby" && idleState !== "Printing";
283
+ flags.sdReady = true;
284
+ } else {
285
+ flags.error = true;
286
+ stateText = "Klipper reports: " + (systemState.state ?? "unknown")?.toUpperCase();
287
+ }
281
288
  }
289
+ completion = (originalKlipperObjects.display_status?.progress ?? 0) * 100.0;
282
290
  }
283
291
  const currentMessage = {
284
292
  progress: {
285
- printTime: printTime,
286
- completion: (originalKlipperObjects.display_status?.progress ?? 0) * 100.0
293
+ printTime,
294
+ completion
287
295
  },
288
296
  state: {
289
297
  text: stateText,
@@ -304,7 +312,7 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
304
312
  if (!this.eventEmittingAllowed) {
305
313
  return;
306
314
  }
307
- await this.eventEmitter.emitAsync((0, _websocketconstants.moonrakerEvent)(event), {
315
+ await this.eventEmitter2.emitAsync((0, _moonrakerconstants.moonrakerEvent)(event), {
308
316
  event,
309
317
  payload,
310
318
  printerId: this.printerId,