@fdm-monster/server 1.9.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/.env.template +8 -7
  2. package/.yarn/install-state.gz +0 -0
  3. package/CONTRIBUTING.md +5 -5
  4. package/README.md +9 -8
  5. package/RELEASE_NOTES.MD +52 -0
  6. package/SECURITY.md +1 -1
  7. package/biome.json +8 -5
  8. package/dist/consoles/download-github-releases.js +3 -3
  9. package/dist/consoles/launch-http-servers.js +4 -4
  10. package/dist/consoles/launch-http-servers.js.map +1 -1
  11. package/dist/consoles/mock-bambu.server.js +50 -30
  12. package/dist/consoles/mock-bambu.server.js.map +1 -1
  13. package/dist/consoles/mock-camera/default-image.js +13 -0
  14. package/dist/consoles/mock-camera/default-image.js.map +1 -0
  15. package/dist/consoles/mock-camera/mock-camera.server.js +160 -0
  16. package/dist/consoles/mock-camera/mock-camera.server.js.map +1 -0
  17. package/dist/consoles/mock-octoprint.server.js +281 -73
  18. package/dist/consoles/mock-octoprint.server.js.map +1 -1
  19. package/dist/consoles/mock-prusalink.server.js +17 -17
  20. package/dist/consoles/mock-prusalink.server.js.map +1 -1
  21. package/dist/consoles/typeorm-create.js +135 -0
  22. package/dist/consoles/typeorm-create.js.map +1 -0
  23. package/dist/consoles/typeorm-generate.js +8 -8
  24. package/dist/consoles/typeorm-generate.js.map +1 -1
  25. package/dist/consoles/utils/api-messages.js.map +1 -1
  26. package/dist/constants/authorization.constants.js +25 -31
  27. package/dist/constants/authorization.constants.js.map +1 -1
  28. package/dist/constants/event.constants.js.map +1 -1
  29. package/dist/constants/server-settings.constants.js +3 -19
  30. package/dist/constants/server-settings.constants.js.map +1 -1
  31. package/dist/container.js +43 -59
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.tokens.js +9 -6
  34. package/dist/container.tokens.js.map +1 -1
  35. package/dist/controllers/auth.controller.js +1 -1
  36. package/dist/controllers/auth.controller.js.map +1 -1
  37. package/dist/controllers/batch-call.controller.js +7 -25
  38. package/dist/controllers/batch-call.controller.js.map +1 -1
  39. package/dist/controllers/file-storage.controller.js +248 -0
  40. package/dist/controllers/file-storage.controller.js.map +1 -0
  41. package/dist/controllers/first-time-setup.controller.js +6 -5
  42. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  43. package/dist/controllers/floor.controller.js +12 -12
  44. package/dist/controllers/floor.controller.js.map +1 -1
  45. package/dist/controllers/metrics.controller.js.map +1 -1
  46. package/dist/controllers/print-job.controller.js +666 -0
  47. package/dist/controllers/print-job.controller.js.map +1 -0
  48. package/dist/controllers/print-queue.controller.js +375 -0
  49. package/dist/controllers/print-queue.controller.js.map +1 -0
  50. package/dist/controllers/printer-files.controller.js +88 -59
  51. package/dist/controllers/printer-files.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +0 -21
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/{printer-group.controller.js → printer-tag.controller.js} +51 -34
  55. package/dist/controllers/printer-tag.controller.js.map +1 -0
  56. package/dist/controllers/printer.controller.js +21 -7
  57. package/dist/controllers/printer.controller.js.map +1 -1
  58. package/dist/controllers/server-private.controller.js +2 -1
  59. package/dist/controllers/server-private.controller.js.map +1 -1
  60. package/dist/controllers/server-public.controller.js +11 -15
  61. package/dist/controllers/server-public.controller.js.map +1 -1
  62. package/dist/controllers/settings.controller.js +0 -68
  63. package/dist/controllers/settings.controller.js.map +1 -1
  64. package/dist/controllers/slicer-compat.controller.js +216 -0
  65. package/dist/controllers/slicer-compat.controller.js.map +1 -0
  66. package/dist/controllers/user.controller.js +8 -12
  67. package/dist/controllers/user.controller.js.map +1 -1
  68. package/dist/controllers/validation/batch-controller.validation.js +13 -13
  69. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  70. package/dist/controllers/validation/generic.validation.js +4 -8
  71. package/dist/controllers/validation/generic.validation.js.map +1 -1
  72. package/dist/controllers/validation/printer-files-controller.validation.js +2 -2
  73. package/dist/controllers/validation/user-controller.validation.js +14 -9
  74. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  75. package/dist/data-source.js +25 -12
  76. package/dist/data-source.js.map +1 -1
  77. package/dist/entities/camera-stream.entity.js +2 -1
  78. package/dist/entities/camera-stream.entity.js.map +1 -1
  79. package/dist/entities/floor.entity.js +3 -5
  80. package/dist/entities/floor.entity.js.map +1 -1
  81. package/dist/entities/index.js +15 -11
  82. package/dist/entities/index.js.map +1 -1
  83. package/dist/entities/print-job.entity.js +195 -0
  84. package/dist/entities/print-job.entity.js.map +1 -0
  85. package/dist/entities/{printer-group.entity.js → printer-tag.entity.js} +17 -17
  86. package/dist/entities/printer-tag.entity.js.map +1 -0
  87. package/dist/entities/printer.entity.js +4 -10
  88. package/dist/entities/printer.entity.js.map +1 -1
  89. package/dist/entities/settings.entity.js +3 -12
  90. package/dist/entities/settings.entity.js.map +1 -1
  91. package/dist/entities/{group.entity.js → tag.entity.js} +15 -8
  92. package/dist/entities/tag.entity.js.map +1 -0
  93. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  94. package/dist/handlers/logging/static.logger.js.map +1 -1
  95. package/dist/index.js +8 -2
  96. package/dist/index.js.map +1 -1
  97. package/dist/middleware/authenticate.js +4 -4
  98. package/dist/middleware/authenticate.js.map +1 -1
  99. package/dist/middleware/database.js +1 -1
  100. package/dist/middleware/exception.filter.js +114 -90
  101. package/dist/middleware/exception.filter.js.map +1 -1
  102. package/dist/middleware/global.middleware.js +10 -18
  103. package/dist/middleware/global.middleware.js.map +1 -1
  104. package/dist/middleware/param-converter.middleware.js +5 -13
  105. package/dist/middleware/param-converter.middleware.js.map +1 -1
  106. package/dist/middleware/passport.js +2 -2
  107. package/dist/middleware/passport.js.map +1 -1
  108. package/dist/middleware/printer-resolver.js.map +1 -1
  109. package/dist/middleware/printer.js +3 -2
  110. package/dist/middleware/printer.js.map +1 -1
  111. package/dist/middleware/socketio.middleware.js.map +1 -1
  112. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +1 -1
  113. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  114. package/dist/migrations/1766576698569-DropPermissions.js +28 -0
  115. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -0
  116. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +186 -0
  117. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -0
  118. package/dist/migrations/1767279607392-DropCustomGcode.js +31 -0
  119. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -0
  120. package/dist/migrations/1767291804417-DropPrintCompletions.js +37 -0
  121. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -0
  122. package/dist/migrations/1767352862576-DropSettingsFileClean.js +88 -0
  123. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -0
  124. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +107 -0
  125. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -0
  126. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +62 -0
  127. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -0
  128. package/dist/migrations/1767432108916-RenameGroupToTag.js +86 -0
  129. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -0
  130. package/dist/migrations/1767451444137-AddPrintJob.js +207 -0
  131. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -0
  132. package/dist/server.constants.js +9 -17
  133. package/dist/server.constants.js.map +1 -1
  134. package/dist/server.core.js +3 -7
  135. package/dist/server.core.js.map +1 -1
  136. package/dist/server.env.js +4 -49
  137. package/dist/server.env.js.map +1 -1
  138. package/dist/server.host.js +26 -44
  139. package/dist/server.host.js.map +1 -1
  140. package/dist/services/authentication/auth.service.js.map +1 -1
  141. package/dist/services/authentication/jwt.service.js.map +1 -1
  142. package/dist/services/bambu/bambu-ftp.adapter.js +3 -3
  143. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  144. package/dist/services/bambu/bambu-mqtt.adapter.js +74 -77
  145. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  146. package/dist/services/bambu/bambu.client.js.map +1 -1
  147. package/dist/services/bambu.api.js +11 -0
  148. package/dist/services/bambu.api.js.map +1 -1
  149. package/dist/services/core/batch-call.service.js +0 -25
  150. package/dist/services/core/batch-call.service.js.map +1 -1
  151. package/dist/services/core/multer.service.js +5 -9
  152. package/dist/services/core/multer.service.js.map +1 -1
  153. package/dist/services/core/yaml.service.js +219 -187
  154. package/dist/services/core/yaml.service.js.map +1 -1
  155. package/dist/services/file-analysis.service.js +146 -0
  156. package/dist/services/file-analysis.service.js.map +1 -0
  157. package/dist/services/file-storage.service.js +386 -0
  158. package/dist/services/file-storage.service.js.map +1 -0
  159. package/dist/services/interfaces/camera-stream.dto.js +2 -2
  160. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  161. package/dist/services/interfaces/floor.dto.js +3 -3
  162. package/dist/services/interfaces/floor.dto.js.map +1 -1
  163. package/dist/services/interfaces/{printer-group.dto.js → printer-tag.dto.js} +9 -8
  164. package/dist/services/interfaces/printer-tag.dto.js.map +1 -0
  165. package/dist/services/interfaces/{print-completion.interface.js → printer-tag.service.interface.js} +1 -1
  166. package/dist/services/interfaces/{printer-group.service.interface.js.map → printer-tag.service.interface.js.map} +1 -1
  167. package/dist/services/interfaces/printer.dto.js +2 -2
  168. package/dist/services/interfaces/printer.dto.js.map +1 -1
  169. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  170. package/dist/services/interfaces/role.dto.js.map +1 -1
  171. package/dist/services/interfaces/settings.dto.js +0 -1
  172. package/dist/services/interfaces/settings.dto.js.map +1 -1
  173. package/dist/services/interfaces/{group.dto.js → tag.dto.js} +1 -1
  174. package/dist/services/interfaces/tag.dto.js.map +1 -0
  175. package/dist/services/interfaces/user.dto.js.map +1 -1
  176. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  177. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  178. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  179. package/dist/services/moonraker.api.js +3 -0
  180. package/dist/services/moonraker.api.js.map +1 -1
  181. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +1 -0
  182. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  183. package/dist/services/octoprint/octoprint-api.routes.js +0 -7
  184. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  185. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  186. package/dist/services/octoprint/octoprint.client.js +0 -4
  187. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  188. package/dist/services/octoprint.api.js +3 -0
  189. package/dist/services/octoprint.api.js.map +1 -1
  190. package/dist/services/orm/base.service.js.map +1 -1
  191. package/dist/services/orm/camera-stream.service.js.map +1 -1
  192. package/dist/services/orm/floor-position.service.js.map +1 -1
  193. package/dist/services/orm/floor.service.js +12 -19
  194. package/dist/services/orm/floor.service.js.map +1 -1
  195. package/dist/services/orm/permission.service.js +3 -54
  196. package/dist/services/orm/permission.service.js.map +1 -1
  197. package/dist/services/orm/print-job.service.js +539 -0
  198. package/dist/services/orm/print-job.service.js.map +1 -0
  199. package/dist/services/orm/printer-tag.service.js +120 -0
  200. package/dist/services/orm/printer-tag.service.js.map +1 -0
  201. package/dist/services/orm/printer.service.js.map +1 -1
  202. package/dist/services/orm/refresh-token.service.js.map +1 -1
  203. package/dist/services/orm/role.service.js +25 -39
  204. package/dist/services/orm/role.service.js.map +1 -1
  205. package/dist/services/orm/settings.service.js +4 -15
  206. package/dist/services/orm/settings.service.js.map +1 -1
  207. package/dist/services/orm/user.service.js +17 -13
  208. package/dist/services/orm/user.service.js.map +1 -1
  209. package/dist/services/print-file-downloader.service.js +169 -0
  210. package/dist/services/print-file-downloader.service.js.map +1 -0
  211. package/dist/services/print-queue.service.js +268 -0
  212. package/dist/services/print-queue.service.js.map +1 -0
  213. package/dist/services/printer-api.factory.js +1 -1
  214. package/dist/services/printer-api.factory.js.map +1 -1
  215. package/dist/services/printer-api.interface.js.map +1 -1
  216. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  217. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +1 -3
  218. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  219. package/dist/services/prusa-link/prusa-link.api.js +4 -1
  220. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  221. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  222. package/dist/services/validators/floor-service.validation.js +25 -31
  223. package/dist/services/validators/floor-service.validation.js.map +1 -1
  224. package/dist/services/validators/print-job.validation.js +31 -0
  225. package/dist/services/validators/print-job.validation.js.map +1 -0
  226. package/dist/services/validators/settings-service.validation.js +0 -22
  227. package/dist/services/validators/settings-service.validation.js.map +1 -1
  228. package/dist/services/validators/user-service.validation.js +15 -10
  229. package/dist/services/validators/user-service.validation.js.map +1 -1
  230. package/dist/services/validators/yaml-service.validation.js +8 -14
  231. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  232. package/dist/shared/load-controllers.js +2 -1
  233. package/dist/shared/load-controllers.js.map +1 -1
  234. package/dist/shared/runtime-settings.migration.js +1 -11
  235. package/dist/shared/runtime-settings.migration.js.map +1 -1
  236. package/dist/shared/websocket-rpc-extended.adapter.js +13 -4
  237. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  238. package/dist/shared/websocket.adapter.js.map +1 -1
  239. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  240. package/dist/state/file.cache.js +6 -6
  241. package/dist/state/file.cache.js.map +1 -1
  242. package/dist/state/floor.store.js +3 -10
  243. package/dist/state/floor.store.js.map +1 -1
  244. package/dist/state/printer-events.cache.js +180 -20
  245. package/dist/state/printer-events.cache.js.map +1 -1
  246. package/dist/state/printer-files.store.js.map +1 -1
  247. package/dist/state/printer-socket.store.js +25 -20
  248. package/dist/state/printer-socket.store.js.map +1 -1
  249. package/dist/state/printer-thumbnail.cache.js +98 -188
  250. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  251. package/dist/state/printer.cache.js +3 -13
  252. package/dist/state/printer.cache.js.map +1 -1
  253. package/dist/state/settings.store.js +4 -42
  254. package/dist/state/settings.store.js.map +1 -1
  255. package/dist/state/socket-io.gateway.js +1 -1
  256. package/dist/state/socket-io.gateway.js.map +1 -1
  257. package/dist/state/test-printer-socket.store.js +6 -3
  258. package/dist/state/test-printer-socket.store.js.map +1 -1
  259. package/dist/tasks/boot.task.js +11 -91
  260. package/dist/tasks/boot.task.js.map +1 -1
  261. package/dist/tasks/print-job-analysis.task.js +116 -0
  262. package/dist/tasks/print-job-analysis.task.js.map +1 -0
  263. package/dist/tasks/printer-files-load.task.js +29 -0
  264. package/dist/tasks/printer-files-load.task.js.map +1 -0
  265. package/dist/tasks/socketio.task.js +1 -1
  266. package/dist/tasks/socketio.task.js.map +1 -1
  267. package/dist/tasks.js +3 -2
  268. package/dist/tasks.js.map +1 -1
  269. package/dist/utils/cache/key-diff.cache.js +20 -61
  270. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  271. package/dist/utils/parsers/3mf.parser.js +337 -0
  272. package/dist/utils/parsers/3mf.parser.js.map +1 -0
  273. package/dist/utils/parsers/bgcode.parser.js +223 -0
  274. package/dist/utils/parsers/bgcode.parser.js.map +1 -0
  275. package/dist/utils/parsers/gcode.parser.js +254 -0
  276. package/dist/utils/parsers/gcode.parser.js.map +1 -0
  277. package/dist/utils/swagger/decorators.js +39 -0
  278. package/dist/utils/swagger/decorators.js.map +1 -0
  279. package/dist/utils/swagger/generator.js +196 -0
  280. package/dist/utils/swagger/generator.js.map +1 -0
  281. package/dist/utils/swagger/swagger.js +93 -0
  282. package/dist/utils/swagger/swagger.js.map +1 -0
  283. package/package.json +24 -30
  284. package/dist/controllers/custom-gcode.controller.js +0 -150
  285. package/dist/controllers/custom-gcode.controller.js.map +0 -1
  286. package/dist/controllers/print-completion.controller.js +0 -118
  287. package/dist/controllers/print-completion.controller.js.map +0 -1
  288. package/dist/controllers/printer-group.controller.js.map +0 -1
  289. package/dist/entities/custom-gcode.entity.js +0 -49
  290. package/dist/entities/custom-gcode.entity.js.map +0 -1
  291. package/dist/entities/group.entity.js.map +0 -1
  292. package/dist/entities/permission.entity.js +0 -37
  293. package/dist/entities/permission.entity.js.map +0 -1
  294. package/dist/entities/print-completion.entity.js +0 -90
  295. package/dist/entities/print-completion.entity.js.map +0 -1
  296. package/dist/entities/printer-group.entity.js.map +0 -1
  297. package/dist/models/Auth/Permission.js +0 -20
  298. package/dist/models/Auth/Permission.js.map +0 -1
  299. package/dist/models/Auth/RefreshToken.js +0 -41
  300. package/dist/models/Auth/RefreshToken.js.map +0 -1
  301. package/dist/models/Auth/Role.js +0 -20
  302. package/dist/models/Auth/Role.js.map +0 -1
  303. package/dist/models/Auth/User.js +0 -49
  304. package/dist/models/Auth/User.js.map +0 -1
  305. package/dist/models/CameraStream.js +0 -49
  306. package/dist/models/CameraStream.js.map +0 -1
  307. package/dist/models/CustomGcode.js +0 -28
  308. package/dist/models/CustomGcode.js.map +0 -1
  309. package/dist/models/Floor.js +0 -33
  310. package/dist/models/Floor.js.map +0 -1
  311. package/dist/models/FloorPrinter.js +0 -38
  312. package/dist/models/FloorPrinter.js.map +0 -1
  313. package/dist/models/PrintCompletion.js +0 -40
  314. package/dist/models/PrintCompletion.js.map +0 -1
  315. package/dist/models/Printer.js +0 -78
  316. package/dist/models/Printer.js.map +0 -1
  317. package/dist/models/Settings.js +0 -150
  318. package/dist/models/Settings.js.map +0 -1
  319. package/dist/models/index.js +0 -54
  320. package/dist/models/index.js.map +0 -1
  321. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -45
  322. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +0 -1
  323. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -35
  324. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +0 -1
  325. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -35
  326. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +0 -1
  327. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +0 -60
  328. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +0 -1
  329. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +0 -30
  330. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +0 -1
  331. package/dist/mongo-migrations/20230716065316-user-remove-name.js +0 -30
  332. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +0 -1
  333. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -35
  334. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +0 -1
  335. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -41
  336. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +0 -1
  337. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +0 -41
  338. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +0 -1
  339. package/dist/services/interfaces/custom-gcode.dto.js +0 -18
  340. package/dist/services/interfaces/custom-gcode.dto.js.map +0 -1
  341. package/dist/services/interfaces/custom-gcode.service.interface.js +0 -6
  342. package/dist/services/interfaces/custom-gcode.service.interface.js.map +0 -1
  343. package/dist/services/interfaces/gcode-analysis.dto.js.map +0 -1
  344. package/dist/services/interfaces/group.dto.js.map +0 -1
  345. package/dist/services/interfaces/permission.dto.js +0 -16
  346. package/dist/services/interfaces/permission.dto.js.map +0 -1
  347. package/dist/services/interfaces/print-completion-context.dto.js +0 -6
  348. package/dist/services/interfaces/print-completion-context.dto.js.map +0 -1
  349. package/dist/services/interfaces/print-completion.dto.js +0 -38
  350. package/dist/services/interfaces/print-completion.dto.js.map +0 -1
  351. package/dist/services/interfaces/print-completion.interface.js.map +0 -1
  352. package/dist/services/interfaces/printer-group.dto.js.map +0 -1
  353. package/dist/services/interfaces/printer-group.service.interface.js +0 -6
  354. package/dist/services/mongoose/camera-stream.service.js +0 -67
  355. package/dist/services/mongoose/camera-stream.service.js.map +0 -1
  356. package/dist/services/mongoose/custom-gcode.service.js +0 -50
  357. package/dist/services/mongoose/custom-gcode.service.js.map +0 -1
  358. package/dist/services/mongoose/floor.service.js +0 -139
  359. package/dist/services/mongoose/floor.service.js.map +0 -1
  360. package/dist/services/mongoose/permission.service.js +0 -73
  361. package/dist/services/mongoose/permission.service.js.map +0 -1
  362. package/dist/services/mongoose/print-completion.service.js +0 -134
  363. package/dist/services/mongoose/print-completion.service.js.map +0 -1
  364. package/dist/services/mongoose/print-completion.shared.js +0 -59
  365. package/dist/services/mongoose/print-completion.shared.js.map +0 -1
  366. package/dist/services/mongoose/printer.service.js +0 -216
  367. package/dist/services/mongoose/printer.service.js.map +0 -1
  368. package/dist/services/mongoose/refresh-token.service.js +0 -104
  369. package/dist/services/mongoose/refresh-token.service.js.map +0 -1
  370. package/dist/services/mongoose/role.service.js +0 -132
  371. package/dist/services/mongoose/role.service.js.map +0 -1
  372. package/dist/services/mongoose/settings.service.js +0 -124
  373. package/dist/services/mongoose/settings.service.js.map +0 -1
  374. package/dist/services/mongoose/user.service.js +0 -180
  375. package/dist/services/mongoose/user.service.js.map +0 -1
  376. package/dist/services/orm/custom-gcode.service.js +0 -42
  377. package/dist/services/orm/custom-gcode.service.js.map +0 -1
  378. package/dist/services/orm/print-completion.service.js +0 -87
  379. package/dist/services/orm/print-completion.service.js.map +0 -1
  380. package/dist/services/orm/printer-group.service.js +0 -109
  381. package/dist/services/orm/printer-group.service.js.map +0 -1
  382. package/dist/services/validators/camera-service.validation.js +0 -19
  383. package/dist/services/validators/camera-service.validation.js.map +0 -1
  384. package/dist/services/validators/print-completion-service.validation.js +0 -33
  385. package/dist/services/validators/print-completion-service.validation.js.map +0 -1
  386. package/dist/shared.constants.js +0 -15
  387. package/dist/shared.constants.js.map +0 -1
  388. package/dist/tasks/print-completion.socketio.task.js +0 -91
  389. package/dist/tasks/print-completion.socketio.task.js.map +0 -1
  390. package/dist/tasks/printer-file-clean.task.js +0 -74
  391. package/dist/tasks/printer-file-clean.task.js.map +0 -1
  392. package/migrate-mongo-config.js +0 -45
  393. /package/dist/services/{interfaces → octoprint/dto/files}/gcode-analysis.dto.js +0 -0
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "RefreshTokenService", {
6
- enumerable: true,
7
- get: function() {
8
- return RefreshTokenService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _uuid = require("uuid");
13
- const _serverconstants = require("../../server.constants");
14
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
15
- const _authorizationconstants = require("../../constants/authorization.constants");
16
- class RefreshTokenService {
17
- settingsStore;
18
- logger;
19
- constructor(loggerFactory, settingsStore){
20
- this.settingsStore = settingsStore;
21
- this.logger = loggerFactory(RefreshTokenService.name);
22
- }
23
- toDto(entity) {
24
- return {
25
- id: entity.id,
26
- userId: entity.userId.toString(),
27
- expiresAt: entity.expiresAt,
28
- refreshAttemptsUsed: entity.refreshAttemptsUsed
29
- };
30
- }
31
- async getRefreshToken(refreshToken) {
32
- const userRefreshToken = await _models.RefreshToken.findOne({
33
- refreshToken
34
- });
35
- if (!userRefreshToken) {
36
- throw new _runtimeexceptions.AuthenticationError("The refresh token was not found", _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
37
- }
38
- return userRefreshToken;
39
- }
40
- async createRefreshTokenForUserId(userId) {
41
- const { refreshTokenExpiry } = await this.settingsStore.getCredentialSettings();
42
- const refreshToken = (0, _uuid.v4)();
43
- const timespan = refreshTokenExpiry ?? _serverconstants.AppConstants.DEFAULT_REFRESH_TOKEN_EXPIRY;
44
- if (!refreshTokenExpiry) {
45
- this.logger.warn(`Refresh token expiry not set in Settings:credentials, using default ${timespan} seconds}`);
46
- }
47
- await _models.RefreshToken.create({
48
- userId,
49
- expiresAt: Date.now() + timespan * 1000,
50
- refreshToken,
51
- refreshAttemptsUsed: 0
52
- });
53
- return refreshToken;
54
- }
55
- async updateRefreshTokenAttempts(refreshToken, refreshAttemptsUsed) {
56
- await this.getRefreshToken(refreshToken);
57
- await _models.RefreshToken.updateOne({
58
- refreshToken
59
- }, {
60
- refreshAttemptsUsed
61
- }, {
62
- new: true
63
- });
64
- }
65
- async purgeOutdatedRefreshTokensByUserId(userId) {
66
- const result = await _models.RefreshToken.deleteMany({
67
- userId,
68
- expiresAt: {
69
- $lt: Date.now()
70
- }
71
- });
72
- if (result.deletedCount) {
73
- this.logger.debug(`Removed ${result.deletedCount} outdated login refresh tokens for user ${userId}`);
74
- }
75
- }
76
- async purgeAllOutdatedRefreshTokens() {
77
- const result = await _models.RefreshToken.deleteMany({
78
- expiresAt: {
79
- $lt: Date.now()
80
- }
81
- });
82
- if (result.deletedCount) {
83
- this.logger.debug(`Removed ${result.deletedCount} outdated login refresh tokens`);
84
- }
85
- }
86
- async deleteRefreshTokenByUserId(userId) {
87
- const result = await _models.RefreshToken.deleteMany({
88
- userId
89
- });
90
- if (result.deletedCount) {
91
- this.logger.debug(`Removed ${result.deletedCount} login refresh tokens`);
92
- }
93
- }
94
- async deleteRefreshToken(refreshToken) {
95
- const result = await _models.RefreshToken.deleteOne({
96
- refreshToken
97
- });
98
- if (result.deletedCount) {
99
- this.logger.debug(`Removed ${result.deletedCount} login refresh tokens`);
100
- }
101
- }
102
- }
103
-
104
- //# sourceMappingURL=refresh-token.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/refresh-token.service.ts"],"names":["RefreshTokenService","logger","loggerFactory","settingsStore","name","toDto","entity","id","userId","toString","expiresAt","refreshAttemptsUsed","getRefreshToken","refreshToken","userRefreshToken","RefreshToken","findOne","AuthenticationError","AUTH_ERROR_REASON","InvalidOrExpiredRefreshToken","createRefreshTokenForUserId","refreshTokenExpiry","getCredentialSettings","uuidv4","timespan","AppConstants","DEFAULT_REFRESH_TOKEN_EXPIRY","warn","create","Date","now","updateRefreshTokenAttempts","updateOne","new","purgeOutdatedRefreshTokensByUserId","result","deleteMany","$lt","deletedCount","debug","purgeAllOutdatedRefreshTokens","deleteRefreshTokenByUserId","deleteRefreshToken","deleteOne"],"mappings":";;;;+BAaaA;;;eAAAA;;;wBAXgB;sBACA;iCACA;mCAIO;wCAEF;AAG3B,MAAMA;;IACHC,OAAsB;IAE9B,YACEC,aAA6B,EAC7B,AAAiBC,aAA4B,CAC7C;aADiBA,gBAAAA;QAEjB,IAAI,CAACF,MAAM,GAAGC,cAAcF,oBAAoBI,IAAI;IACtD;IAEAC,MAAMC,MAAqB,EAAgC;QACzD,OAAO;YACLC,IAAID,OAAOC,EAAE;YACbC,QAAQF,OAAOE,MAAM,CAACC,QAAQ;YAC9BC,WAAWJ,OAAOI,SAAS;YAG3BC,qBAAqBL,OAAOK,mBAAmB;QACjD;IACF;IAEA,MAAMC,gBAAgBC,YAAoB,EAA0B;QAClE,MAAMC,mBAAmB,MAAMC,oBAAY,CAACC,OAAO,CAAC;YAClDH;QACF;QACA,IAAI,CAACC,kBAAkB;YACrB,MAAM,IAAIG,sCAAmB,CAC3B,mCACAC,yCAAiB,CAACC,4BAA4B;QAElD;QACA,OAAOL;IACT;IAEA,MAAMM,4BAA4BZ,MAAmB,EAAmB;QACtE,MAAM,EAAEa,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAClB,aAAa,CAACmB,qBAAqB;QAC7E,MAAMT,eAAeU,IAAAA,QAAM;QAE3B,MAAMC,WAAWH,sBAAsBI,6BAAY,CAACC,4BAA4B;QAChF,IAAI,CAACL,oBAAoB;YACvB,IAAI,CAACpB,MAAM,CAAC0B,IAAI,CAAC,CAAC,oEAAoE,EAAEH,SAAS,SAAS,CAAC;QAC7G;QAEA,MAAMT,oBAAY,CAACa,MAAM,CAAC;YACxBpB;YACAE,WAAWmB,KAAKC,GAAG,KAAKN,WAAW;YACnCX;YACAF,qBAAqB;QACvB;QAEA,OAAOE;IACT;IAEA,MAAMkB,2BAA2BlB,YAAoB,EAAEF,mBAA2B,EAAE;QAClF,MAAM,IAAI,CAACC,eAAe,CAACC;QAE3B,MAAME,oBAAY,CAACiB,SAAS,CAC1B;YACEnB;QACF,GACA;YACEF;QACF,GACA;YACEsB,KAAK;QACP;IAEJ;IAEA,MAAMC,mCAAmC1B,MAAmB,EAAE;QAC5D,MAAM2B,SAAS,MAAMpB,oBAAY,CAACqB,UAAU,CAAC;YAC3C5B;YACAE,WAAW;gBACT2B,KAAKR,KAAKC,GAAG;YACf;QACF;QAEA,IAAIK,OAAOG,YAAY,EAAE;YACvB,IAAI,CAACrC,MAAM,CAACsC,KAAK,CAAC,CAAC,QAAQ,EAAEJ,OAAOG,YAAY,CAAC,wCAAwC,EAAE9B,QAAQ;QACrG;IACF;IAEA,MAAMgC,gCAAgC;QACpC,MAAML,SAAS,MAAMpB,oBAAY,CAACqB,UAAU,CAAC;YAC3C1B,WAAW;gBACT2B,KAAKR,KAAKC,GAAG;YACf;QACF;QAEA,IAAIK,OAAOG,YAAY,EAAE;YACvB,IAAI,CAACrC,MAAM,CAACsC,KAAK,CAAC,CAAC,QAAQ,EAAEJ,OAAOG,YAAY,CAAC,8BAA8B,CAAC;QAClF;IACF;IAEA,MAAMG,2BAA2BjC,MAAmB,EAAiB;QACnE,MAAM2B,SAAS,MAAMpB,oBAAY,CAACqB,UAAU,CAAC;YAC3C5B;QACF;QAEA,IAAI2B,OAAOG,YAAY,EAAE;YACvB,IAAI,CAACrC,MAAM,CAACsC,KAAK,CAAC,CAAC,QAAQ,EAAEJ,OAAOG,YAAY,CAAC,qBAAqB,CAAC;QACzE;IACF;IAEA,MAAMI,mBAAmB7B,YAAoB,EAAiB;QAC5D,MAAMsB,SAAS,MAAMpB,oBAAY,CAAC4B,SAAS,CAAC;YAC1C9B;QACF;QAGA,IAAIsB,OAAOG,YAAY,EAAE;YACvB,IAAI,CAACrC,MAAM,CAACsC,KAAK,CAAC,CAAC,QAAQ,EAAEJ,OAAOG,YAAY,CAAC,qBAAqB,CAAC;QACzE;IACF;AACF"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "RoleService", {
6
- enumerable: true,
7
- get: function() {
8
- return RoleService;
9
- }
10
- });
11
- const _lodash = require("lodash");
12
- const _authorizationconstants = require("../../constants/authorization.constants");
13
- const _models = require("../../models");
14
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
15
- class RoleService {
16
- appDefaultRole;
17
- appDefaultRoleNoLogin;
18
- settingsStore;
19
- logger;
20
- constructor(loggerFactory, appDefaultRole, appDefaultRoleNoLogin, settingsStore){
21
- this.appDefaultRole = appDefaultRole;
22
- this.appDefaultRoleNoLogin = appDefaultRoleNoLogin;
23
- this.settingsStore = settingsStore;
24
- this.logger = loggerFactory(RoleService.name);
25
- }
26
- _roles = [];
27
- get roles() {
28
- return this._roles;
29
- }
30
- toDto(role) {
31
- return {
32
- id: role.id,
33
- name: role.name
34
- };
35
- }
36
- async getAppDefaultRole() {
37
- if (await this.settingsStore.getLoginRequired()) {
38
- return this.appDefaultRole;
39
- }
40
- return this.appDefaultRoleNoLogin;
41
- }
42
- getRolesPermissions(roles) {
43
- let permissions = [];
44
- if (!roles?.length) return [];
45
- for (let role of roles){
46
- const normalizedRole = this.normalizeRoleIdOrName(role);
47
- const rolePermissions = this.getRolePermissions(normalizedRole);
48
- permissions = (0, _lodash.union)(permissions, rolePermissions);
49
- }
50
- return permissions;
51
- }
52
- getRolePermissions(role) {
53
- if (!role?.length) {
54
- return [];
55
- }
56
- const normalizedRole = this.normalizeRoleIdOrName(role);
57
- if (!normalizedRole?.length) {
58
- return [];
59
- }
60
- return _authorizationconstants.ROLE_PERMS[normalizedRole];
61
- }
62
- async getAppDefaultRoleIds() {
63
- if (!this._roles?.length) {
64
- await this.syncRoles();
65
- }
66
- const guestRole = this.getRoleByName(await this.getAppDefaultRole());
67
- return [
68
- guestRole.id
69
- ];
70
- }
71
- async getSynchronizedRoleByName(roleName) {
72
- if (!this._roles?.length) {
73
- await this.syncRoles();
74
- }
75
- return this.getRoleByName(roleName);
76
- }
77
- authorizeRole(requiredRole, assignedRoles) {
78
- return !!assignedRoles.find((ar)=>{
79
- const normalizedRole = this.normalizeRoleIdOrName(ar);
80
- if (!normalizedRole) return false;
81
- return normalizedRole === requiredRole;
82
- });
83
- }
84
- authorizeRoles(requiredRoles, assignedRoles, subset = true) {
85
- let isAuthorized = false;
86
- if (!requiredRoles?.length) return true;
87
- requiredRoles.forEach((rr)=>{
88
- const result = this.authorizeRole(rr, assignedRoles);
89
- isAuthorized = subset ? isAuthorized || result : isAuthorized && result;
90
- });
91
- return isAuthorized;
92
- }
93
- getRoleByName(roleName) {
94
- const role = this._roles.find((r)=>r.name === roleName);
95
- if (!role) throw new _runtimeexceptions.NotFoundException(`Role by provided name not found`);
96
- return role;
97
- }
98
- getManyRoles(roleIds) {
99
- return roleIds.map((roleId)=>this.getRole(roleId));
100
- }
101
- getRole(roleId) {
102
- const role = this._roles.find((r)=>r.id === roleId);
103
- if (!role) throw new _runtimeexceptions.NotFoundException(`Role by provided id not found`);
104
- return role;
105
- }
106
- async syncRoles() {
107
- this._roles = [];
108
- for (let roleName of Object.values(_authorizationconstants.ROLES)){
109
- const storedRole = await _models.Role.findOne({
110
- name: roleName
111
- });
112
- if (!storedRole) {
113
- const newRole = await _models.Role.create({
114
- name: roleName
115
- });
116
- this._roles.push(newRole);
117
- } else {
118
- this._roles.push(storedRole);
119
- }
120
- }
121
- }
122
- normalizeRoleIdOrName(assignedRole) {
123
- const roleInstance = this.roles.find((r)=>r.id === assignedRole || r.name === assignedRole);
124
- if (!roleInstance) {
125
- this.logger.warn(`The role by provided id was not found. Skipping.`);
126
- return;
127
- }
128
- return roleInstance.name;
129
- }
130
- }
131
-
132
- //# sourceMappingURL=role.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/role.service.ts"],"names":["RoleService","logger","loggerFactory","appDefaultRole","appDefaultRoleNoLogin","settingsStore","name","_roles","roles","toDto","role","id","getAppDefaultRole","getLoginRequired","getRolesPermissions","permissions","length","normalizedRole","normalizeRoleIdOrName","rolePermissions","getRolePermissions","union","ROLE_PERMS","getAppDefaultRoleIds","syncRoles","guestRole","getRoleByName","getSynchronizedRoleByName","roleName","authorizeRole","requiredRole","assignedRoles","find","ar","authorizeRoles","requiredRoles","subset","isAuthorized","forEach","rr","result","r","NotFoundException","getManyRoles","roleIds","map","roleId","getRole","Object","values","ROLES","storedRole","Role","findOne","newRole","create","push","assignedRole","roleInstance","warn"],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "SettingsService", {
6
- enumerable: true,
7
- get: function() {
8
- return SettingsService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _serversettingsconstants = require("../../constants/server-settings.constants");
13
- const _validators = require("../../handlers/validators");
14
- const _settingsservicevalidation = require("../validators/settings-service.validation");
15
- const _runtimesettingsmigration = require("../../shared/runtime-settings.migration");
16
- class SettingsService {
17
- toDto(entity) {
18
- return {
19
- [_serversettingsconstants.serverSettingsKey]: {
20
- ...entity[_serversettingsconstants.serverSettingsKey],
21
- experimentalTypeormSupport: false
22
- },
23
- [_serversettingsconstants.wizardSettingKey]: entity[_serversettingsconstants.wizardSettingKey],
24
- [_serversettingsconstants.frontendSettingKey]: entity[_serversettingsconstants.frontendSettingKey],
25
- [_serversettingsconstants.printerFileCleanSettingKey]: entity[_serversettingsconstants.printerFileCleanSettingKey],
26
- [_serversettingsconstants.timeoutSettingKey]: entity[_serversettingsconstants.timeoutSettingKey]
27
- };
28
- }
29
- async getOrCreate() {
30
- let settings = await this.getOptional();
31
- if (!settings) {
32
- const defaultSettings = new _models.Settings((0, _serversettingsconstants.getDefaultSettings)());
33
- await defaultSettings.save();
34
- return defaultSettings;
35
- } else {
36
- settings = (0, _runtimesettingsmigration.migrateSettingsRuntime)(settings);
37
- return await _models.Settings.findOneAndUpdate({
38
- _id: settings.id
39
- }, settings, {
40
- new: true
41
- });
42
- }
43
- }
44
- async updateFileCleanSettings(update) {
45
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.fileCleanSettingsUpdateSchema);
46
- const settingsDoc = await this.getOrCreate();
47
- settingsDoc[_serversettingsconstants.printerFileCleanSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.printerFileCleanSettingKey], validatedInput);
48
- return await _models.Settings.findOneAndUpdate({
49
- _id: settingsDoc.id
50
- }, settingsDoc, {
51
- new: true
52
- });
53
- }
54
- async updateWizardSettings(update) {
55
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.wizardUpdateSchema);
56
- const settingsDoc = await this.getOrCreate();
57
- settingsDoc[_serversettingsconstants.wizardSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.wizardSettingKey], validatedInput);
58
- return await _models.Settings.findOneAndUpdate({
59
- _id: settingsDoc.id
60
- }, settingsDoc, {
61
- new: true
62
- });
63
- }
64
- async updateFrontendSettings(update) {
65
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.frontendSettingsUpdateSchema);
66
- const settingsDoc = await this.getOrCreate();
67
- const frontendSettings = settingsDoc[_serversettingsconstants.frontendSettingKey];
68
- Object.assign(frontendSettings, validatedInput);
69
- return await _models.Settings.findOneAndUpdate({
70
- _id: settingsDoc.id
71
- }, settingsDoc, {
72
- new: true
73
- });
74
- }
75
- async updateJwtSecretCredentialSetting(update) {
76
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.jwtSecretCredentialSettingUpdateSchema);
77
- const settingsDoc = await this.getOrCreate();
78
- const credentialSettings = settingsDoc[_serversettingsconstants.credentialSettingsKey];
79
- Object.assign(credentialSettings, validatedInput);
80
- return await _models.Settings.findOneAndUpdate({
81
- _id: settingsDoc.id
82
- }, settingsDoc, {
83
- new: true
84
- });
85
- }
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);
99
- const settingsDoc = await this.getOrCreate();
100
- const serverSettings = settingsDoc[_serversettingsconstants.serverSettingsKey];
101
- Object.assign(serverSettings, validatedInput);
102
- return await _models.Settings.findOneAndUpdate({
103
- _id: settingsDoc.id
104
- }, settingsDoc, {
105
- new: true
106
- });
107
- }
108
- async updateTimeoutSettings(patchUpdate) {
109
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.timeoutSettingsUpdateSchema);
110
- const settingsDoc = await this.getOrCreate();
111
- const timeoutSettings = settingsDoc[_serversettingsconstants.timeoutSettingKey];
112
- Object.assign(timeoutSettings, validatedInput);
113
- return await _models.Settings.findOneAndUpdate({
114
- _id: settingsDoc.id
115
- }, settingsDoc, {
116
- new: true
117
- });
118
- }
119
- async getOptional() {
120
- return _models.Settings.findOne();
121
- }
122
- }
123
-
124
- //# sourceMappingURL=settings.service.js.map
@@ -1 +0,0 @@
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":"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"}
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "UserService", {
6
- enumerable: true,
7
- get: function() {
8
- return UserService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
13
- const _validators = require("../../handlers/validators");
14
- const _userservicevalidation = require("../validators/user-service.validation");
15
- const _authorizationconstants = require("../../constants/authorization.constants");
16
- const _cryptoutils = require("../../utils/crypto.utils");
17
- class UserService {
18
- roleService;
19
- constructor(roleService){
20
- this.roleService = roleService;
21
- }
22
- toDto(user) {
23
- return {
24
- id: user.id,
25
- createdAt: user.createdAt,
26
- isVerified: user.isVerified,
27
- isDemoUser: user.isDemoUser,
28
- isRootUser: user.isRootUser,
29
- username: user.username,
30
- needsPasswordChange: user.needsPasswordChange,
31
- roles: user.roles.map((r)=>r.toString())
32
- };
33
- }
34
- async listUsers(limit = 10) {
35
- return _models.User.find().limit(limit);
36
- }
37
- async findUsersByRoleId(roleId) {
38
- return _models.User.find({
39
- roles: {
40
- $in: [
41
- roleId
42
- ]
43
- }
44
- });
45
- }
46
- async findVerifiedUsers() {
47
- return _models.User.find({
48
- isVerified: true
49
- });
50
- }
51
- async isUserRootUser(userId) {
52
- const entity = await this.getUser(userId);
53
- return entity.isRootUser;
54
- }
55
- async findRootUsers() {
56
- return _models.User.find({
57
- isRootUser: true
58
- });
59
- }
60
- async getDemoUserId() {
61
- return (await _models.User.findOne({
62
- isDemoUser: true
63
- }))?.id;
64
- }
65
- async findRawByUsername(username) {
66
- return _models.User.findOne({
67
- username
68
- });
69
- }
70
- async getUser(userId) {
71
- const user = await _models.User.findById(userId);
72
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
73
- return user;
74
- }
75
- async getUserRoleIds(userId) {
76
- const user = await this.getUser(userId);
77
- return user.roles?.map((r)=>r.toString());
78
- }
79
- async setUserRoleIds(userId, roleIds) {
80
- const user = await _models.User.findById(userId);
81
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
82
- const roles = this.roleService.getManyRoles(roleIds);
83
- user.roles = roles.map((r)=>r.id);
84
- user.roles = Array.from(new Set(user.roles));
85
- return await user.save();
86
- }
87
- async deleteUser(userId) {
88
- const user = await this.getUser(userId);
89
- if (user.isRootUser) {
90
- throw new _runtimeexceptions.InternalServerException("Cannot delete a root user");
91
- }
92
- const role = this.roleService.getRoleByName(_authorizationconstants.ROLES.ADMIN);
93
- if (user.roles.includes(role.id)) {
94
- const administrators = await this.findUsersByRoleId(role.id);
95
- if (administrators?.length === 1 && administrators[0].id === userId) {
96
- throw new _runtimeexceptions.InternalServerException("Cannot delete the last user with ADMIN role");
97
- }
98
- }
99
- await _models.User.findByIdAndDelete(user.id);
100
- }
101
- async updateUsernameById(userId, newUsername) {
102
- const user = await _models.User.findById(userId);
103
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
104
- user.username = newUsername;
105
- return await user.save();
106
- }
107
- async updatePasswordById(userId, oldPassword, newPassword) {
108
- const user = await _models.User.findById(userId);
109
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
110
- if (!(0, _cryptoutils.comparePasswordHash)(oldPassword, user.passwordHash)) {
111
- throw new _runtimeexceptions.NotFoundException("User old password incorrect");
112
- }
113
- const { password } = await (0, _validators.validateInput)({
114
- password: newPassword
115
- }, _userservicevalidation.newPasswordSchema);
116
- user.passwordHash = (0, _cryptoutils.hashPassword)(password);
117
- user.needsPasswordChange = false;
118
- return await user.save();
119
- }
120
- async updatePasswordUnsafeByUsername(username, newPassword) {
121
- const { password } = await (0, _validators.validateInput)({
122
- password: newPassword
123
- }, _userservicevalidation.newPasswordSchema);
124
- const passwordHash = (0, _cryptoutils.hashPassword)(password);
125
- const user = await this.findRawByUsername(username);
126
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
127
- user.passwordHash = passwordHash;
128
- user.needsPasswordChange = false;
129
- return await user.save();
130
- }
131
- async updatePasswordHashUnsafeByUsername(username, passwordHash) {
132
- const user = await this.findRawByUsername(username);
133
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
134
- user.passwordHash = passwordHash;
135
- user.needsPasswordChange = false;
136
- return await user.save();
137
- }
138
- async setIsRootUserById(userId, isRootUser) {
139
- const user = await _models.User.findById(userId);
140
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
141
- if (!isRootUser) {
142
- const rootUsers = await this.findRootUsers();
143
- if (rootUsers.length === 1 && rootUsers[0].id === userId) {
144
- throw new _runtimeexceptions.InternalServerException("Cannot set the last root user to non-root user");
145
- }
146
- }
147
- user.isRootUser = isRootUser;
148
- await user.save();
149
- }
150
- async setVerifiedById(userId, isVerified) {
151
- const user = await _models.User.findById(userId);
152
- if (!user) throw new _runtimeexceptions.NotFoundException("User not found");
153
- if (!isVerified) {
154
- if (user.isRootUser) {
155
- throw new _runtimeexceptions.InternalServerException("Cannot set a owner (root user) to unverified");
156
- }
157
- const verifiedUsers = await this.findVerifiedUsers();
158
- if (verifiedUsers.length === 1) {
159
- throw new _runtimeexceptions.InternalServerException("Cannot set the last user to unverified");
160
- }
161
- }
162
- user.isVerified = isVerified;
163
- await user.save();
164
- }
165
- async register(input) {
166
- const { username, password, roles, isDemoUser, isRootUser, needsPasswordChange, isVerified } = await (0, _validators.validateInput)(input, (0, _userservicevalidation.registerUserSchema)(false));
167
- const passwordHash = (0, _cryptoutils.hashPassword)(password);
168
- return await _models.User.create({
169
- username,
170
- passwordHash,
171
- roles,
172
- isVerified: isVerified ?? false,
173
- isDemoUser: isDemoUser ?? false,
174
- isRootUser: isRootUser ?? false,
175
- needsPasswordChange: needsPasswordChange ?? true
176
- });
177
- }
178
- }
179
-
180
- //# sourceMappingURL=user.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/user.service.ts"],"names":["UserService","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","updatePasswordHashUnsafeByUsername","setIsRootUserById","rootUsers","setVerifiedById","verifiedUsers","register","input","registerUserSchema","create"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "CustomGcodeService", {
6
- enumerable: true,
7
- get: function() {
8
- return CustomGcodeService;
9
- }
10
- });
11
- const _entities = require("../../entities");
12
- const _customgcodedto = require("../interfaces/custom-gcode.dto");
13
- const _baseservice = require("./base.service");
14
- class CustomGcodeService extends (0, _baseservice.BaseService)(_entities.CustomGcode, _customgcodedto.CustomGcodeDto, _customgcodedto.CustomGcodeDto) {
15
- toDto(entity) {
16
- return {
17
- id: entity.id,
18
- name: entity.name,
19
- description: entity.description,
20
- gcode: [
21
- ...entity.gcode
22
- ]
23
- };
24
- }
25
- async create(gcodeScript) {
26
- return await super.create(gcodeScript);
27
- }
28
- async delete(gcodeScriptId) {
29
- await super.delete(gcodeScriptId);
30
- }
31
- async get(gcodeScriptId) {
32
- return await super.get(gcodeScriptId);
33
- }
34
- async list() {
35
- return await super.list();
36
- }
37
- async update(gcodeScriptId, updatedData) {
38
- return await super.update(gcodeScriptId, updatedData);
39
- }
40
- }
41
-
42
- //# sourceMappingURL=custom-gcode.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/orm/custom-gcode.service.ts"],"names":["CustomGcodeService","BaseService","CustomGcode","CustomGcodeDto","toDto","entity","id","name","description","gcode","create","gcodeScript","delete","gcodeScriptId","get","list","update","updatedData"],"mappings":";;;;+BAMaA;;;eAAAA;;;0BALe;gCAEG;6BACH;AAErB,MAAMA,2BACHC,IAAAA,wBAAW,EAACC,qBAAW,EAAEC,8BAAc,EAAgBA,8BAAc;IAG7EC,MAAMC,MAAmB,EAAgC;QACvD,OAAO;YACLC,IAAID,OAAOC,EAAE;YACbC,MAAMF,OAAOE,IAAI;YACjBC,aAAaH,OAAOG,WAAW;YAC/BC,OAAO;mBAAIJ,OAAOI,KAAK;aAAC;QAC1B;IACF;IAEA,MAAMC,OAAOC,WAAyC,EAAwB;QAC5E,OAAO,MAAM,KAAK,CAACD,OAAOC;IAC5B;IAEA,MAAMC,OAAOC,aAA2B,EAAE;QACxC,MAAM,KAAK,CAACD,OAAOC;IACrB;IAEA,MAAMC,IAAID,aAA2B,EAAwB;QAC3D,OAAO,MAAM,KAAK,CAACC,IAAID;IACzB;IAEA,MAAME,OAA+B;QACnC,OAAO,MAAM,KAAK,CAACA;IACrB;IAEA,MAAMC,OAAOH,aAA2B,EAAEI,WAAyC,EAAwB;QACzG,OAAO,MAAM,KAAK,CAACD,OAAOH,eAAeI;IAC3C;AACF"}