@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
@@ -19,11 +19,8 @@ const _authorizationconstants = require("../../constants/authorization.constants
19
19
  class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.RefreshToken, _refreshtokendto.RefreshTokenDto) {
20
20
  settingsStore;
21
21
  logger;
22
- constructor({ typeormService, settingsStore, loggerFactory }){
23
- super({
24
- typeormService
25
- });
26
- this.settingsStore = settingsStore;
22
+ constructor(settingsStore, loggerFactory, typeormService){
23
+ super(typeormService), this.settingsStore = settingsStore;
27
24
  this.logger = loggerFactory(RefreshTokenService.name);
28
25
  }
29
26
  toDto(entity) {
@@ -34,15 +31,12 @@ class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.Refres
34
31
  refreshAttemptsUsed: entity.refreshAttemptsUsed
35
32
  };
36
33
  }
37
- async getRefreshToken(refreshToken, throwNotFoundError = true) {
34
+ async getRefreshToken(refreshToken) {
38
35
  const entity = await this.repository.findOneBy({
39
36
  refreshToken
40
37
  });
41
38
  if (!entity) {
42
- if (throwNotFoundError) {
43
- throw new _runtimeexceptions.AuthenticationError(`The entity ${_entities.RefreshToken.name} by provided refresh token is not found`, _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
44
- }
45
- return null;
39
+ throw new _runtimeexceptions.AuthenticationError(`The entity ${_entities.RefreshToken.name} by provided refresh token is not found`, _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
46
40
  }
47
41
  return entity;
48
42
  }
@@ -62,7 +56,7 @@ class RefreshTokenService extends (0, _baseservice.BaseService)(_entities.Refres
62
56
  return refreshToken;
63
57
  }
64
58
  async updateRefreshTokenAttempts(refreshToken, refreshAttemptsUsed) {
65
- await this.getRefreshToken(refreshToken, true);
59
+ await this.getRefreshToken(refreshToken);
66
60
  await this.repository.update({
67
61
  refreshToken
68
62
  }, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/orm/refresh-token.service.ts"],"names":["RefreshTokenService","BaseService","RefreshToken","RefreshTokenDto","settingsStore","logger","constructor","typeormService","loggerFactory","name","toDto","entity","id","userId","expiresAt","refreshAttemptsUsed","getRefreshToken","refreshToken","throwNotFoundError","repository","findOneBy","AuthenticationError","AUTH_ERROR_REASON","InvalidOrExpiredRefreshToken","createRefreshTokenForUserId","refreshTokenExpiry","getCredentialSettings","uuidv4","timespan","AppConstants","DEFAULT_REFRESH_TOKEN_EXPIRY","warn","create","Date","now","updateRefreshTokenAttempts","update","purgeAllOutdatedRefreshTokens","result","delete","LessThan","affected","debug","deleteRefreshTokenByUserId","deleteRefreshToken","purgeOutdatedRefreshTokensByUserId"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/orm/refresh-token.service.ts"],"names":["RefreshTokenService","BaseService","RefreshToken","RefreshTokenDto","logger","constructor","settingsStore","loggerFactory","typeormService","name","toDto","entity","id","userId","expiresAt","refreshAttemptsUsed","getRefreshToken","refreshToken","repository","findOneBy","AuthenticationError","AUTH_ERROR_REASON","InvalidOrExpiredRefreshToken","createRefreshTokenForUserId","refreshTokenExpiry","getCredentialSettings","uuidv4","timespan","AppConstants","DEFAULT_REFRESH_TOKEN_EXPIRY","warn","create","Date","now","updateRefreshTokenAttempts","update","purgeAllOutdatedRefreshTokens","result","delete","LessThan","affected","debug","deleteRefreshTokenByUserId","deleteRefreshToken","purgeOutdatedRefreshTokensByUserId"],"mappings":"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"}
@@ -15,20 +15,15 @@ const _lodash = require("lodash");
15
15
  const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
16
16
  const _authorizationconstants = require("../../constants/authorization.constants");
17
17
  class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto.RoleDto) {
18
- settingsStore;
19
18
  appDefaultRole;
20
19
  appDefaultRoleNoLogin;
20
+ settingsStore;
21
21
  logger;
22
- constructor({ loggerFactory, appDefaultRole, appDefaultRoleNoLogin, settingsStore, typeormService }){
23
- super({
24
- typeormService
25
- });
22
+ constructor(typeormService, loggerFactory, appDefaultRole, appDefaultRoleNoLogin, settingsStore){
23
+ super(typeormService), this.appDefaultRole = appDefaultRole, this.appDefaultRoleNoLogin = appDefaultRoleNoLogin, this.settingsStore = settingsStore, this._roles = [];
26
24
  this.logger = loggerFactory(RoleService.name);
27
- this.settingsStore = settingsStore;
28
- this.appDefaultRole = appDefaultRole;
29
- this.appDefaultRoleNoLogin = appDefaultRoleNoLogin;
30
25
  }
31
- _roles = [];
26
+ _roles;
32
27
  get roles() {
33
28
  return this._roles;
34
29
  }
@@ -93,7 +88,13 @@ class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto
93
88
  return role;
94
89
  }
95
90
  getRolePermissions(role) {
91
+ if (!role || !role?.length) {
92
+ return [];
93
+ }
96
94
  const normalizedRole = this.normalizeRoleIdOrName(role);
95
+ if (!normalizedRole?.length) {
96
+ return [];
97
+ }
97
98
  return _authorizationconstants.ROLE_PERMS[normalizedRole];
98
99
  }
99
100
  async getSynchronizedRoleByName(roleName) {
@@ -121,7 +122,7 @@ class RoleService extends (0, _baseservice.BaseService)(_entities.Role, _roledto
121
122
  normalizeRoleIdOrName(assignedRole) {
122
123
  const roleInstance = this.roles.find((r)=>r.id === assignedRole || r.name === assignedRole);
123
124
  if (!roleInstance) {
124
- console.warn(`The role by provided id was not found. Skipping.`);
125
+ this.logger.warn(`The role by provided id was not found. Skipping.`);
125
126
  return;
126
127
  }
127
128
  return roleInstance.name;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/orm/role.service.ts"],"names":["RoleService","BaseService","Role","RoleDto","settingsStore","appDefaultRole","appDefaultRoleNoLogin","logger","constructor","loggerFactory","typeormService","name","_roles","roles","getAppDefaultRole","getLoginRequired","getAppDefaultRoleIds","length","syncRoles","guestRole","getRoleByName","id","toDto","role","getRolesPermissions","permissions","normalizedRole","normalizeRoleIdOrName","rolePermissions","getRolePermissions","union","authorizeRoles","requiredRoles","assignedRoles","subset","isAuthorized","forEach","rr","result","authorizeRole","requiredRole","find","ar","getManyRoles","roleIds","map","roleId","getRole","r","NotFoundException","roleName","ROLE_PERMS","getSynchronizedRoleByName","Object","values","ROLES","storedRole","repository","findOneBy","newRole","create","push","assignedRole","roleInstance","console","warn"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/orm/role.service.ts"],"names":["RoleService","BaseService","Role","RoleDto","logger","constructor","typeormService","loggerFactory","appDefaultRole","appDefaultRoleNoLogin","settingsStore","_roles","name","roles","getAppDefaultRole","getLoginRequired","getAppDefaultRoleIds","length","syncRoles","guestRole","getRoleByName","id","toDto","role","getRolesPermissions","permissions","normalizedRole","normalizeRoleIdOrName","rolePermissions","getRolePermissions","union","authorizeRoles","requiredRoles","assignedRoles","subset","isAuthorized","forEach","rr","result","authorizeRole","requiredRole","find","ar","getManyRoles","roleIds","map","roleId","getRole","r","NotFoundException","roleName","ROLE_PERMS","getSynchronizedRoleByName","Object","values","ROLES","storedRole","repository","findOneBy","newRole","create","push","assignedRole","roleInstance","warn"],"mappings":"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"}
@@ -2,24 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "SettingsService2", {
5
+ Object.defineProperty(exports, "SettingsService", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return SettingsService2;
8
+ return SettingsService;
9
9
  }
10
10
  });
11
11
  const _entities = require("../../entities");
12
12
  const _serversettingsconstants = require("../../constants/server-settings.constants");
13
13
  const _baseservice = require("./base.service");
14
14
  const _settingsdto = require("../interfaces/settings.dto");
15
- class SettingsService2 extends (0, _baseservice.BaseService)(_entities.Settings, _settingsdto.SettingsDto) {
16
- configService;
17
- constructor({ configService, typeormService }){
18
- super({
19
- typeormService
20
- });
21
- this.configService = configService;
22
- }
15
+ const _settingsservicevalidation = require("../validators/settings-service.validation");
16
+ const _runtimesettingsmigration = require("../../shared/runtime-settings.migration");
17
+ const _validators = require("../../handlers/validators");
18
+ class SettingsService extends (0, _baseservice.BaseService)(_entities.Settings, _settingsdto.SettingsDto) {
23
19
  toDto(entity) {
24
20
  return {
25
21
  [_serversettingsconstants.serverSettingsKey]: {
@@ -33,168 +29,76 @@ class SettingsService2 extends (0, _baseservice.BaseService)(_entities.Settings,
33
29
  };
34
30
  }
35
31
  async getOrCreate() {
36
- let settings = await this.get();
32
+ let settings = await this.getOptional();
37
33
  if (!settings) {
38
- const settings = await this.create({
39
- [_serversettingsconstants.serverSettingsKey]: (0, _serversettingsconstants.getDefaultServerSettings)(),
40
- [_serversettingsconstants.credentialSettingsKey]: (0, _serversettingsconstants.getDefaultCredentialSettings)(),
41
- [_serversettingsconstants.wizardSettingKey]: (0, _serversettingsconstants.getDefaultWizardSettings)(),
42
- [_serversettingsconstants.printerFileCleanSettingKey]: (0, _serversettingsconstants.getDefaultFileCleanSettings)(),
43
- [_serversettingsconstants.frontendSettingKey]: (0, _serversettingsconstants.getDefaultFrontendSettings)(),
44
- [_serversettingsconstants.timeoutSettingKey]: (0, _serversettingsconstants.getDefaultTimeout)()
45
- });
46
- return settings;
34
+ return await this.create((0, _serversettingsconstants.getDefaultSettings)());
47
35
  } else {
48
- settings = this.migrateSettingsRuntime(settings);
36
+ settings = (0, _runtimesettingsmigration.migrateSettingsRuntime)(settings);
37
+ const settingsId = settings.id;
38
+ return await this.update(settingsId, settings);
49
39
  }
50
- return settings;
51
40
  }
52
41
  async getServerSettings() {
53
42
  const settings = await this.getOrCreate();
54
43
  return settings[_serversettingsconstants.serverSettingsKey];
55
44
  }
56
- async patchServerSettings(serverSettingsPartial) {
57
- const entity = await this.getOrCreate();
58
- if (!entity[_serversettingsconstants.serverSettingsKey]) {
59
- throw new Error("No existing server settings found, cant patch");
60
- }
61
- const newServerSettings = {
62
- ...entity[_serversettingsconstants.serverSettingsKey],
63
- ...serverSettingsPartial
64
- };
65
- return await this.updateServerSettings(newServerSettings);
66
- }
67
- async updateServerSettings(serverSettings) {
45
+ async updateServerSettings(update) {
46
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.serverSettingsUpdateSchema);
68
47
  const entity = await this.getOrCreate();
69
- entity[_serversettingsconstants.serverSettingsKey] = serverSettings;
48
+ entity[_serversettingsconstants.serverSettingsKey] = validatedInput;
70
49
  await this.update(entity.id, entity);
71
50
  return entity;
72
51
  }
73
- async updateCredentialSettings(credentialSettings) {
52
+ async updateJwtSecretCredentialSetting(update) {
53
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.jwtSecretCredentialSettingUpdateSchema);
74
54
  const entity = await this.getOrCreate();
75
- entity[_serversettingsconstants.credentialSettingsKey] = credentialSettings;
55
+ entity[_serversettingsconstants.credentialSettingsKey].jwtSecret = validatedInput.jwtSecret;
76
56
  await this.update(entity.id, entity);
77
57
  return entity;
78
58
  }
79
- async updateFileCleanSettings(fileCleanSettings) {
59
+ async updateCredentialSettings(update) {
60
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.credentialSettingUpdateSchema);
80
61
  const entity = await this.getOrCreate();
81
- entity[_serversettingsconstants.printerFileCleanSettingKey] = fileCleanSettings;
62
+ entity[_serversettingsconstants.credentialSettingsKey].refreshTokenExpiry = validatedInput.refreshTokenExpiry;
63
+ entity[_serversettingsconstants.credentialSettingsKey].refreshTokenAttempts = validatedInput.refreshTokenAttempts;
64
+ entity[_serversettingsconstants.credentialSettingsKey].jwtExpiresIn = validatedInput.jwtExpiresIn;
82
65
  await this.update(entity.id, entity);
83
66
  return entity;
84
67
  }
85
- async updateFrontendSettings(frontendSettings) {
68
+ async updateFileCleanSettings(update) {
69
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.fileCleanSettingsUpdateSchema);
86
70
  const entity = await this.getOrCreate();
87
- entity[_serversettingsconstants.frontendSettingKey] = frontendSettings;
71
+ entity[_serversettingsconstants.printerFileCleanSettingKey] = validatedInput;
88
72
  await this.update(entity.id, entity);
89
73
  return entity;
90
74
  }
91
- async updateTimeoutSettings(timeoutSettings) {
75
+ async updateFrontendSettings(update) {
76
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.frontendSettingsUpdateSchema);
92
77
  const entity = await this.getOrCreate();
93
- entity[_serversettingsconstants.timeoutSettingKey] = timeoutSettings;
78
+ entity[_serversettingsconstants.frontendSettingKey] = validatedInput;
94
79
  await this.update(entity.id, entity);
95
80
  return entity;
96
81
  }
97
- async patchWizardSettings(wizardSettingsPartial) {
82
+ async updateTimeoutSettings(update) {
83
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.timeoutSettingsUpdateSchema);
98
84
  const entity = await this.getOrCreate();
99
- if (!entity[_serversettingsconstants.wizardSettingKey]) {
100
- throw new Error("No existing wizard settings found, cant patch");
101
- }
102
- const newWizardSettings = {
103
- ...entity[_serversettingsconstants.wizardSettingKey],
104
- ...wizardSettingsPartial
105
- };
106
- return await this.updateWizardSettings(newWizardSettings);
85
+ entity[_serversettingsconstants.timeoutSettingKey] = validatedInput;
86
+ await this.update(entity.id, entity);
87
+ return entity;
107
88
  }
108
- async updateWizardSettings(wizardSettings) {
89
+ async updateWizardSettings(update) {
90
+ const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.wizardUpdateSchema);
109
91
  const entity = await this.getOrCreate();
110
- entity[_serversettingsconstants.wizardSettingKey] = wizardSettings;
92
+ entity[_serversettingsconstants.wizardSettingKey] = validatedInput;
111
93
  await this.update(entity.id, entity);
112
94
  return entity;
113
95
  }
114
- async get() {
96
+ async getOptional() {
115
97
  const settingsList = await this.repository.find({
116
98
  take: 1
117
99
  });
118
100
  return settingsList?.length ? settingsList[0] : null;
119
101
  }
120
- migrateSettingsRuntime(knownSettings) {
121
- const entity = knownSettings;
122
- if (!entity[_serversettingsconstants.printerFileCleanSettingKey]) {
123
- entity[_serversettingsconstants.printerFileCleanSettingKey] = (0, _serversettingsconstants.getDefaultFileCleanSettings)();
124
- } else {
125
- entity[_serversettingsconstants.printerFileCleanSettingKey] = {
126
- autoRemoveOldFilesBeforeUpload: entity[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesBeforeUpload,
127
- autoRemoveOldFilesAtBoot: entity[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesBeforeUpload,
128
- autoRemoveOldFilesCriteriumDays: entity[_serversettingsconstants.printerFileCleanSettingKey].autoRemoveOldFilesCriteriumDays
129
- };
130
- }
131
- if (!entity[_serversettingsconstants.wizardSettingKey]) {
132
- entity[_serversettingsconstants.wizardSettingKey] = (0, _serversettingsconstants.getDefaultWizardSettings)();
133
- }
134
- if (!entity[_serversettingsconstants.timeoutSettingKey]) {
135
- entity[_serversettingsconstants.timeoutSettingKey] = (0, _serversettingsconstants.getDefaultTimeout)();
136
- }
137
- if (!entity[_serversettingsconstants.serverSettingsKey]) {
138
- entity[_serversettingsconstants.serverSettingsKey] = (0, _serversettingsconstants.getDefaultServerSettings)();
139
- } else {
140
- entity[_serversettingsconstants.serverSettingsKey] = {
141
- debugSettings: entity[_serversettingsconstants.serverSettingsKey].debugSettings,
142
- loginRequired: entity[_serversettingsconstants.serverSettingsKey].loginRequired,
143
- registration: entity[_serversettingsconstants.serverSettingsKey].registration,
144
- experimentalClientSupport: entity[_serversettingsconstants.serverSettingsKey].experimentalClientSupport,
145
- experimentalMoonrakerSupport: entity[_serversettingsconstants.serverSettingsKey].experimentalMoonrakerSupport,
146
- sentryDiagnosticsEnabled: entity[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled,
147
- experimentalThumbnailSupport: entity[_serversettingsconstants.serverSettingsKey].experimentalThumbnailSupport || false
148
- };
149
- }
150
- if (!entity[_serversettingsconstants.credentialSettingsKey]) {
151
- entity[_serversettingsconstants.credentialSettingsKey] = (0, _serversettingsconstants.getDefaultCredentialSettings)();
152
- }
153
- if (!entity[_serversettingsconstants.frontendSettingKey]) {
154
- entity[_serversettingsconstants.frontendSettingKey] = (0, _serversettingsconstants.getDefaultFrontendSettings)();
155
- }
156
- return entity;
157
- }
158
- async patchCredentialSettings(patchUpdate) {
159
- const entity = await this.getOrCreate();
160
- if (!entity[_serversettingsconstants.credentialSettingsKey]) {
161
- throw new Error("No existing wizard settings found, cant patch");
162
- }
163
- const newCredentialSettings = {
164
- ...entity[_serversettingsconstants.credentialSettingsKey],
165
- ...patchUpdate
166
- };
167
- return await this.updateCredentialSettings(newCredentialSettings);
168
- }
169
- async patchFileCleanSettings(patchUpdate) {
170
- const entity = await this.getOrCreate();
171
- if (!entity[_serversettingsconstants.printerFileCleanSettingKey]) {
172
- throw new Error("No existing wizard settings found, cant patch");
173
- }
174
- const newFileCleanSettings = {
175
- ...entity[_serversettingsconstants.printerFileCleanSettingKey],
176
- ...patchUpdate
177
- };
178
- return await this.updateFileCleanSettings(newFileCleanSettings);
179
- }
180
- async setLoginRequired(enabled) {
181
- const entity = await this.getOrCreate();
182
- entity[_serversettingsconstants.serverSettingsKey].loginRequired = enabled;
183
- await this.update(entity.id, entity);
184
- return entity;
185
- }
186
- async setRegistrationEnabled(enabled) {
187
- const entity = await this.getOrCreate();
188
- entity[_serversettingsconstants.serverSettingsKey].registration = enabled;
189
- await this.update(entity.id, entity);
190
- return entity;
191
- }
192
- async setSentryDiagnosticsEnabled(enabled) {
193
- const entity = await this.getOrCreate();
194
- entity[_serversettingsconstants.serverSettingsKey].sentryDiagnosticsEnabled = enabled;
195
- await this.update(entity.id, entity);
196
- return entity;
197
- }
198
102
  }
199
103
 
200
104
  //# sourceMappingURL=settings.service.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/orm/settings.service.ts"],"names":["SettingsService2","BaseService","Settings","SettingsDto","configService","constructor","typeormService","toDto","entity","serverSettingsKey","experimentalTypeormSupport","frontendSettingKey","printerFileCleanSettingKey","wizardSettingKey","timeoutSettingKey","getOrCreate","settings","get","create","getDefaultServerSettings","credentialSettingsKey","getDefaultCredentialSettings","getDefaultWizardSettings","getDefaultFileCleanSettings","getDefaultFrontendSettings","getDefaultTimeout","migrateSettingsRuntime","getServerSettings","patchServerSettings","serverSettingsPartial","Error","newServerSettings","updateServerSettings","serverSettings","update","id","updateCredentialSettings","credentialSettings","updateFileCleanSettings","fileCleanSettings","updateFrontendSettings","frontendSettings","updateTimeoutSettings","timeoutSettings","patchWizardSettings","wizardSettingsPartial","newWizardSettings","updateWizardSettings","wizardSettings","settingsList","repository","find","take","length","knownSettings","autoRemoveOldFilesBeforeUpload","autoRemoveOldFilesAtBoot","autoRemoveOldFilesCriteriumDays","debugSettings","loginRequired","registration","experimentalClientSupport","experimentalMoonrakerSupport","sentryDiagnosticsEnabled","experimentalThumbnailSupport","patchCredentialSettings","patchUpdate","newCredentialSettings","patchFileCleanSettings","newFileCleanSettings","setLoginRequired","enabled","setRegistrationEnabled","setSentryDiagnosticsEnabled"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/orm/settings.service.ts"],"names":["SettingsService","BaseService","Settings","SettingsDto","toDto","entity","serverSettingsKey","experimentalTypeormSupport","frontendSettingKey","printerFileCleanSettingKey","wizardSettingKey","timeoutSettingKey","getOrCreate","settings","getOptional","create","getDefaultSettings","migrateSettingsRuntime","settingsId","id","update","getServerSettings","updateServerSettings","validatedInput","validateInput","serverSettingsUpdateSchema","updateJwtSecretCredentialSetting","jwtSecretCredentialSettingUpdateSchema","credentialSettingsKey","jwtSecret","updateCredentialSettings","credentialSettingUpdateSchema","refreshTokenExpiry","refreshTokenAttempts","jwtExpiresIn","updateFileCleanSettings","fileCleanSettingsUpdateSchema","updateFrontendSettings","frontendSettingsUpdateSchema","updateTimeoutSettings","timeoutSettingsUpdateSchema","updateWizardSettings","wizardUpdateSchema","settingsList","repository","find","take","length"],"mappings":"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"}
@@ -18,15 +18,10 @@ const _userservicevalidation = require("../validators/user-service.validation");
18
18
  const _cryptoutils = require("../../utils/crypto.utils");
19
19
  const _authorizationconstants = require("../../constants/authorization.constants");
20
20
  class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto.UserDto) {
21
- typeormService;
22
21
  userRoleService;
23
22
  roleService;
24
- constructor({ typeormService, userRoleService, roleService }){
25
- super({
26
- typeormService
27
- });
28
- this.userRoleService = userRoleService;
29
- this.roleService = roleService;
23
+ constructor(typeormService, userRoleService, roleService){
24
+ super(typeormService), this.userRoleService = userRoleService, this.roleService = roleService;
30
25
  }
31
26
  toDto(user) {
32
27
  return {
@@ -37,7 +32,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
37
32
  isRootUser: user.isRootUser,
38
33
  username: user.username,
39
34
  needsPasswordChange: user.needsPasswordChange,
40
- roles: user.roles?.map((r)=>r.roleId)
35
+ roles: (user.roles ?? []).map((r)=>r.roleId)
41
36
  };
42
37
  }
43
38
  listUsers(limit) {
@@ -45,8 +40,8 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
45
40
  take: limit
46
41
  });
47
42
  }
48
- getUser(userId) {
49
- return this.get(userId, true);
43
+ async getUser(userId) {
44
+ return this.get(userId);
50
45
  }
51
46
  async getUserRoleIds(userId) {
52
47
  const userRoles = await this.userRoleService.listUserRoles(userId);
@@ -78,6 +73,9 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
78
73
  if (user.isRootUser) {
79
74
  throw new _runtimeexceptions.InternalServerException("Cannot delete a root user");
80
75
  }
76
+ if (!user.roles?.length) {
77
+ throw new _runtimeexceptions.InternalServerException("User:roles relation not loaded, cannot perform deletion role check");
78
+ }
81
79
  const role = this.roleService.getRoleByName(_authorizationconstants.ROLES.ADMIN);
82
80
  if (user.roles.find((r)=>r.roleId == role.id)) {
83
81
  const administrators = await this.findUsersByRoleId(role.id);
@@ -85,7 +83,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
85
83
  throw new _runtimeexceptions.InternalServerException("Cannot delete the last user with ADMIN role");
86
84
  }
87
85
  }
88
- return await this.delete(userId);
86
+ await this.delete(userId);
89
87
  }
90
88
  findRawByUsername(username) {
91
89
  return this.repository.findOneBy({
@@ -112,7 +110,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
112
110
  }
113
111
  async setUserRoleIds(userId, roleIds) {
114
112
  await this.userRoleService.setUserRoles(userId, roleIds);
115
- return await this.get(userId, true);
113
+ return await this.get(userId);
116
114
  }
117
115
  async setVerifiedById(userId, isVerified) {
118
116
  const user = await this.getUser(userId);
@@ -138,7 +136,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
138
136
  }
139
137
  const { password } = await (0, _validators.validateInput)({
140
138
  password: newPassword
141
- }, _userservicevalidation.newPasswordRules);
139
+ }, _userservicevalidation.newPasswordSchema);
142
140
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
143
141
  return await this.update(userId, {
144
142
  passwordHash,
@@ -148,7 +146,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
148
146
  async updatePasswordUnsafeByUsername(username, newPassword) {
149
147
  const { password } = await (0, _validators.validateInput)({
150
148
  password: newPassword
151
- }, _userservicevalidation.newPasswordRules);
149
+ }, _userservicevalidation.newPasswordSchema);
152
150
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
153
151
  const user = await this.findRawByUsername(username);
154
152
  if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
@@ -163,7 +161,7 @@ class UserService extends (0, _baseservice.BaseService)(_entities.User, _userdto
163
161
  });
164
162
  }
165
163
  async register(input) {
166
- const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserRules)(true));
164
+ const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserSchema)(true));
167
165
  const passwordHash = (0, _cryptoutils.hashPassword)(password);
168
166
  const result = await this.create({
169
167
  username,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/orm/user.service.ts"],"names":["UserService","BaseService","User","UserDto","typeormService","userRoleService","roleService","constructor","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","roleId","listUsers","limit","list","take","getUser","userId","get","getUserRoleIds","userRoles","listUserRoles","ur","findRootUsers","repository","findBy","findUsersByRoleId","listByRoleId","ids","u","In","findVerifiedUsers","isUserRootUser","entity","deleteUser","InternalServerException","role","getRoleByName","ROLES","ADMIN","find","administrators","length","delete","findRawByUsername","findOneBy","getDemoUserId","setIsRootUserById","NotFoundException","rootUsers","update","setUserRoleIds","roleIds","setUserRoles","setVerifiedById","verifiedUsers","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordRules","hashPassword","updatePasswordUnsafeByUsername","updateUsernameById","newUsername","register","input","registerUserRules","result","create"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/orm/user.service.ts"],"names":["UserService","BaseService","User","UserDto","constructor","typeormService","userRoleService","roleService","toDto","user","id","createdAt","isVerified","isDemoUser","isRootUser","username","needsPasswordChange","roles","map","r","roleId","listUsers","limit","list","take","getUser","userId","get","getUserRoleIds","userRoles","listUserRoles","ur","findRootUsers","repository","findBy","findUsersByRoleId","listByRoleId","ids","u","In","findVerifiedUsers","isUserRootUser","entity","deleteUser","InternalServerException","length","role","getRoleByName","ROLES","ADMIN","find","administrators","delete","findRawByUsername","findOneBy","getDemoUserId","setIsRootUserById","NotFoundException","rootUsers","update","setUserRoleIds","roleIds","setUserRoles","setVerifiedById","verifiedUsers","updatePasswordById","oldPassword","newPassword","comparePasswordHash","passwordHash","password","validateInput","newPasswordSchema","hashPassword","updatePasswordUnsafeByUsername","updateUsernameById","newUsername","register","input","registerUserSchema","result","create"],"mappings":"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"}
@@ -11,20 +11,23 @@ Object.defineProperty(exports, "PrinterApiFactory", {
11
11
  const _printerapiinterface = require("./printer-api.interface");
12
12
  const _containertokens = require("../container.tokens");
13
13
  class PrinterApiFactory {
14
- cradle;
15
- constructor(cradle){
16
- this.cradle = cradle;
14
+ cradleService;
15
+ constructor(cradleService){
16
+ this.cradleService = cradleService;
17
17
  }
18
18
  getById(id) {
19
- const login = this.cradle[_containertokens.DITokens.printerCache].getLoginDto(id);
19
+ const printerCache = this.cradleService.resolve(_containertokens.DITokens.printerCache);
20
+ const login = printerCache.getLoginDto(id);
20
21
  return this.getScopedPrinter(login);
21
22
  }
22
23
  getScopedPrinter(login) {
23
24
  let printerApi;
24
25
  if (login.printerType === _printerapiinterface.OctoprintType) {
25
- printerApi = this.cradle[_containertokens.DITokens.octoprintApi];
26
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.octoprintApi);
26
27
  } else if (login.printerType === _printerapiinterface.MoonrakerType) {
27
- printerApi = this.cradle[_containertokens.DITokens.moonrakerApi];
28
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.moonrakerApi);
29
+ } else if (login.printerType === _printerapiinterface.PrusaLinkType) {
30
+ printerApi = this.cradleService.resolve(_containertokens.DITokens.prusaLinkApi);
28
31
  } else {
29
32
  throw new Error("PrinterType is unknown, cant pick the right socket adapter");
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer-api.factory.ts"],"names":["PrinterApiFactory","cradle","constructor","getById","id","login","DITokens","printerCache","getLoginDto","getScopedPrinter","printerApi","printerType","OctoprintType","octoprintApi","MoonrakerType","moonrakerApi","Error"],"mappings":";;;;+BAMaA;;;eAAAA;;;qCAN6C;iCACjC;AAKlB,MAAMA;IACXC,OAAY;IAEZC,YAAYD,MAAU,CAAE;QACtB,IAAI,CAACA,MAAM,GAAGA;IAChB;IAEAE,QAAQC,EAAU,EAAe;QAC/B,MAAMC,QAAQ,AAAC,IAAI,CAACJ,MAAM,CAACK,yBAAQ,CAACC,YAAY,CAAC,CAAkBC,WAAW,CAACJ;QAC/E,OAAO,IAAI,CAACK,gBAAgB,CAACJ;IAC/B;IAEAI,iBAAiBJ,KAAe,EAAe;QAC7C,IAAIK;QACJ,IAAIL,MAAMM,WAAW,KAAKC,kCAAa,EAAE;YACvCF,aAAa,IAAI,CAACT,MAAM,CAACK,yBAAQ,CAACO,YAAY,CAAC;QACjD,OAAO,IAAIR,MAAMM,WAAW,KAAKG,kCAAa,EAAE;YAC9CJ,aAAa,IAAI,CAACT,MAAM,CAACK,yBAAQ,CAACS,YAAY,CAAC;QACjD,OAAO;YACL,MAAM,IAAIC,MAAM;QAClB;QAEAN,WAAWL,KAAK,GAAGA;QACnB,OAAOK;IACT;AACF"}
1
+ {"version":3,"sources":["../../src/services/printer-api.factory.ts"],"names":["PrinterApiFactory","constructor","cradleService","getById","id","printerCache","resolve","DITokens","login","getLoginDto","getScopedPrinter","printerApi","printerType","OctoprintType","octoprintApi","MoonrakerType","moonrakerApi","PrusaLinkType","prusaLinkApi","Error"],"mappings":";;;;+BAOaA;;;eAAAA;;;qCAP4D;iCAChD;AAMlB,MAAMA;;IACXC,YACE,AAAiBC,aAA4B,CAC7C;aADiBA,gBAAAA;IAEnB;IAEAC,QAAQC,EAAU,EAAe;QAC/B,MAAMC,eAAe,IAAI,CAACH,aAAa,CAACI,OAAO,CAAeC,yBAAQ,CAACF,YAAY;QACnF,MAAMG,QAAQH,aAAaI,WAAW,CAACL;QACvC,OAAO,IAAI,CAACM,gBAAgB,CAACF;IAC/B;IAEAE,iBAAiBF,KAAe,EAAe;QAC7C,IAAIG;QACJ,IAAIH,MAAMI,WAAW,KAAKC,kCAAa,EAAE;YACvCF,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACO,YAAY;QAC5E,OAAO,IAAIN,MAAMI,WAAW,KAAKG,kCAAa,EAAE;YAC9CJ,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACS,YAAY;QAC5E,OAAO,IAAIR,MAAMI,WAAW,KAAKK,kCAAa,EAAE;YAC9CN,aAAa,IAAI,CAACT,aAAa,CAACI,OAAO,CAAcC,yBAAQ,CAACW,YAAY;QAC5E,OAAO;YACL,MAAM,IAAIC,MAAM;QAClB;QAEAR,WAAWH,KAAK,GAAGA;QACnB,OAAOG;IACT;AACF"}
@@ -15,18 +15,25 @@ _export(exports, {
15
15
  OctoprintType: function() {
16
16
  return OctoprintType;
17
17
  },
18
+ PrinterTypesEnum: function() {
19
+ return PrinterTypesEnum;
20
+ },
21
+ PrusaLinkType: function() {
22
+ return PrusaLinkType;
23
+ },
18
24
  ReprintState: function() {
19
25
  return ReprintState;
20
- },
21
- capabilities: function() {
22
- return capabilities;
23
26
  }
24
27
  });
25
28
  const OctoprintType = 0;
26
29
  const MoonrakerType = 1;
27
- const capabilities = {
28
- startPrint: "startPrint"
29
- };
30
+ const PrusaLinkType = 2;
31
+ var PrinterTypesEnum = /*#__PURE__*/ function(PrinterTypesEnum) {
32
+ PrinterTypesEnum[PrinterTypesEnum["Octoprint"] = 0] = "Octoprint";
33
+ PrinterTypesEnum[PrinterTypesEnum["Moonraker"] = 1] = "Moonraker";
34
+ PrinterTypesEnum[PrinterTypesEnum["PrusaLink"] = 2] = "PrusaLink";
35
+ return PrinterTypesEnum;
36
+ }({});
30
37
  var ReprintState = /*#__PURE__*/ function(ReprintState) {
31
38
  ReprintState[ReprintState["PrinterNotAvailable"] = 0] = "PrinterNotAvailable";
32
39
  ReprintState[ReprintState["NoLastPrint"] = 1] = "NoLastPrint";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["MoonrakerType","OctoprintType","ReprintState","capabilities","startPrint"],"mappings":";;;;;;;;;;;IAQaA,aAAa;eAAbA;;IADAC,aAAa;eAAbA;;IA2BDC,YAAY;eAAZA;;IAPCC,YAAY;eAAZA;;;AApBN,MAAMF,gBAAgB;AACtB,MAAMD,gBAAgB;AAmBtB,MAAMG,eAAe;IAE1BC,YAAY;AACd;AAIO,IAAA,AAAKF,sCAAAA;;;;WAAAA"}
1
+ {"version":3,"sources":["../../src/services/printer-api.interface.ts"],"names":["MoonrakerType","OctoprintType","PrinterTypesEnum","PrusaLinkType","ReprintState"],"mappings":";;;;;;;;;;;IASaA,aAAa;eAAbA;;IADAC,aAAa;eAAbA;;IAIDC,gBAAgB;eAAhBA;;IAFCC,aAAa;eAAbA;;IA2CDC,YAAY;eAAZA;;;AA7CL,MAAMH,gBAAgB;AACtB,MAAMD,gBAAgB;AACtB,MAAMG,gBAAgB;AAEtB,IAAA,AAAKD,0CAAAA;;;;WAAAA;;AAyCL,IAAA,AAAKE,sCAAAA;;;;WAAAA"}