@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
@@ -13,12 +13,18 @@ const _serverconstants = require("../server.constants");
13
13
  const _authenticate = require("../middleware/authenticate");
14
14
  const _authorizationconstants = require("../constants/authorization.constants");
15
15
  const _validators = require("../handlers/validators");
16
- const _genericvalidation = require("./validation/generic.validation");
17
16
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
17
+ const _configservice = require("../services/core/config.service");
18
+ const _userserviceinterface = require("../services/interfaces/user-service.interface");
18
19
  const _demomiddleware = require("../middleware/demo.middleware");
20
+ const _roleserviceinterface = require("../services/interfaces/role-service.interface");
21
+ const _authserviceinterface = require("../services/interfaces/auth.service.interface");
22
+ const _loggerfactory = require("../handlers/logger-factory");
19
23
  const _errorutils = require("../utils/error.utils");
24
+ const _settingsstore = require("../state/settings.store");
20
25
  const _awilixexpress = require("awilix-express");
21
26
  const _usercontrollervalidation = require("./validation/user-controller.validation");
27
+ const _paramconvertermiddleware = require("../middleware/param-converter.middleware");
22
28
  function _ts_decorate(decorators, target, key, desc) {
23
29
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
30
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -30,13 +36,13 @@ function _ts_metadata(k, v) {
30
36
  }
31
37
  class UserController {
32
38
  userService;
33
- roleService;
34
39
  configService;
40
+ roleService;
35
41
  authService;
36
42
  settingsStore;
37
- logger;
38
43
  isTypeormMode;
39
- constructor({ userService, configService, roleService, settingsStore, authService, loggerFactory, isTypeormMode }){
44
+ logger;
45
+ constructor(loggerFactory, userService, configService, roleService, authService, settingsStore, isTypeormMode){
40
46
  this.userService = userService;
41
47
  this.configService = configService;
42
48
  this.roleService = roleService;
@@ -50,7 +56,7 @@ class UserController {
50
56
  res.send(users.map((u)=>this.userService.toDto(u)));
51
57
  }
52
58
  async create(req, res) {
53
- const { username, password, roleIds } = await (0, _validators.validateMiddleware)(req, (0, _usercontrollervalidation.registerUserWithRolesRules)(this.isTypeormMode));
59
+ const { username, password, roleIds } = await (0, _validators.validateMiddleware)(req, (0, _usercontrollervalidation.registerUserWithRolesSchema)(this.isTypeormMode));
54
60
  if (username.toLowerCase().includes("admin") || username.toLowerCase().includes("root") || username.toLowerCase() === "demo") {
55
61
  throw new _runtimeexceptions.BadRequestException("Username is not allowed");
56
62
  }
@@ -78,109 +84,100 @@ class UserController {
78
84
  res.send(this.userService.toDto(user));
79
85
  }
80
86
  async get(req, res) {
81
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
82
- const user = await this.userService.getUser(id);
87
+ const user = await this.userService.getUser(req.local.id);
83
88
  res.send(this.userService.toDto(user));
84
89
  }
85
90
  async delete(req, res) {
86
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
91
+ const deletedUserId = req.local.id;
87
92
  const ownUserId = req.user?.id;
88
- if (ownUserId == id) {
93
+ if (ownUserId == deletedUserId) {
89
94
  throw new _runtimeexceptions.ForbiddenError("Not allowed to delete own account");
90
95
  }
91
- const isRootUser = await this.userService.isUserRootUser(id);
96
+ const isRootUser = await this.userService.isUserRootUser(deletedUserId);
92
97
  if (isRootUser) {
93
98
  throw new _runtimeexceptions.ForbiddenError("Not allowed to delete root user");
94
99
  }
95
100
  if (this.configService.isDemoMode()) {
96
101
  const demoUserId = await this.userService.getDemoUserId();
97
- if (id === demoUserId) {
102
+ if (deletedUserId === demoUserId) {
98
103
  this.throwIfDemoMode();
99
104
  }
100
105
  }
101
- await this.userService.deleteUser(id);
106
+ await this.userService.deleteUser(deletedUserId);
102
107
  try {
103
- await this.authService.logoutUserId(id);
108
+ await this.authService.logoutUserId(deletedUserId);
104
109
  } catch (e) {
105
110
  this.logger.error((0, _errorutils.errorSummary)(e));
106
111
  }
107
112
  res.send();
108
113
  }
109
114
  async changeUsername(req, res) {
110
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
111
- if (req.user?.id != id && await this.settingsStore.getLoginRequired()) {
115
+ const changedUserId = req.local.id;
116
+ if (req.user?.id != changedUserId && await this.settingsStore.getLoginRequired()) {
112
117
  throw new _runtimeexceptions.ForbiddenError("Not allowed to change username of other users");
113
118
  }
114
- const { username } = await (0, _validators.validateInput)(req.body, {
115
- username: "required|string"
116
- });
117
- await this.userService.updateUsernameById(id, username);
119
+ const { username } = await (0, _validators.validateInput)(req.body, _usercontrollervalidation.usernameSchema);
120
+ await this.userService.updateUsernameById(changedUserId, username);
118
121
  res.send();
119
122
  }
120
123
  async changePassword(req, res) {
121
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
122
- if (req.user?.id != id && await this.settingsStore.getLoginRequired()) {
124
+ const changedUserId = req.local.id;
125
+ if (req.user?.id != changedUserId && await this.settingsStore.getLoginRequired()) {
123
126
  throw new _runtimeexceptions.ForbiddenError("Not allowed to change password of other users");
124
127
  }
125
- const { oldPassword, newPassword } = await (0, _validators.validateInput)(req.body, {
126
- oldPassword: "required|string",
127
- newPassword: "required|string"
128
- });
129
- await this.userService.updatePasswordById(id, oldPassword, newPassword);
128
+ const { oldPassword, newPassword } = await (0, _validators.validateInput)(req.body, _usercontrollervalidation.changePasswordSchema);
129
+ await this.userService.updatePasswordById(changedUserId, oldPassword, newPassword);
130
130
  res.send();
131
131
  }
132
132
  async setUserRoles(req, res) {
133
- const { id: currentUserId } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
133
+ const changedUserId = req.local.id;
134
134
  const ownUserId = req.user?.id;
135
+ if (!ownUserId) {
136
+ throw new _runtimeexceptions.ForbiddenError("Need to be logged in, in order to set user roles");
137
+ }
135
138
  const ownUser = await this.userService.getUser(ownUserId);
136
- const ownUserRoles = ownUser.roles;
139
+ const mappedUser = this.userService.toDto(ownUser);
140
+ const ownUserRoles = mappedUser.roles;
137
141
  const adminRole = await this.roleService.getSynchronizedRoleByName(_authorizationconstants.ROLES.ADMIN);
138
- if (ownUserId == currentUserId && !ownUserRoles.includes(adminRole.id) && !ownUser.isRootUser) {
142
+ if (ownUserId == changedUserId && !ownUserRoles.includes(adminRole.id) && !mappedUser.isRootUser) {
139
143
  throw new _runtimeexceptions.ForbiddenError("Only an ADMIN or OWNER user is allowed to change its own roles");
140
144
  }
141
- const { roleIds } = await (0, _validators.validateInput)(req.body, {
142
- roleIds: "array",
143
- "roleIds.*": "alphaNumeric"
144
- });
145
- if (ownUserId == currentUserId && !roleIds.includes(adminRole.id)) {
146
- if (ownUser.isRootUser) {
145
+ const { roleIds } = await (0, _validators.validateInput)(req.body, (0, _usercontrollervalidation.setUserRolesSchema)(this.isTypeormMode));
146
+ if (ownUserId == changedUserId && !roleIds.includes(adminRole.id)) {
147
+ if (mappedUser.isRootUser) {
147
148
  throw new _runtimeexceptions.BadRequestException("It does not make sense to remove ADMIN role from an OWNER user.");
148
149
  } else {
149
150
  throw new _runtimeexceptions.BadRequestException("An ADMIN user cannot remove its ADMIN role.");
150
151
  }
151
152
  }
152
- await this.userService.setUserRoleIds(currentUserId, roleIds);
153
+ await this.userService.setUserRoleIds(changedUserId, roleIds);
153
154
  res.send();
154
155
  }
155
156
  async setVerified(req, res) {
156
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
157
+ const changedUserId = req.local.id;
157
158
  const ownUserId = req.user?.id;
158
- if (ownUserId == id) {
159
+ if (ownUserId == changedUserId) {
159
160
  throw new _runtimeexceptions.ForbiddenError("Not allowed to change own verified status");
160
161
  }
161
- const isRootUser = await this.userService.isUserRootUser(id);
162
+ const isRootUser = await this.userService.isUserRootUser(changedUserId);
162
163
  if (isRootUser) {
163
164
  throw new _runtimeexceptions.ForbiddenError("Not allowed to change root user to unverified");
164
165
  }
165
- const { isVerified } = await (0, _validators.validateInput)(req.body, {
166
- isVerified: "required|boolean"
167
- });
168
- await this.userService.setVerifiedById(id, isVerified);
166
+ const { isVerified } = await (0, _validators.validateInput)(req.body, _usercontrollervalidation.isVerifiedSchema);
167
+ await this.userService.setVerifiedById(changedUserId, isVerified);
169
168
  res.send();
170
169
  }
171
170
  async setRootUser(req, res) {
172
- const { id } = await (0, _validators.validateInput)(req.params, (0, _genericvalidation.idRulesV2)(this.isTypeormMode));
171
+ const changedUserId = req.local.id;
173
172
  const userId = req.user?.id;
174
- if (req.user?.id) {
173
+ if (userId) {
175
174
  const isRootUser = await this.userService.isUserRootUser(userId);
176
175
  if (!isRootUser) {
177
176
  throw new _runtimeexceptions.ForbiddenError("Not allowed to change owner without being owner yourself");
178
177
  }
179
178
  }
180
- const { isRootUser } = await (0, _validators.validateInput)(req.body, {
181
- isRootUser: "required|boolean"
182
- });
183
- await this.userService.setIsRootUserById(id, isRootUser);
179
+ const { isRootUser } = await (0, _validators.validateInput)(req.body, _usercontrollervalidation.isRootUserSchema);
180
+ await this.userService.setIsRootUserById(changedUserId, isRootUser);
184
181
  res.send();
185
182
  }
186
183
  throwIfDemoMode() {
@@ -246,7 +243,8 @@ _ts_decorate([
246
243
  (0, _awilixexpress.before)([
247
244
  (0, _authenticate.authorizeRoles)([
248
245
  _authorizationconstants.ROLES.ADMIN
249
- ])
246
+ ]),
247
+ (0, _paramconvertermiddleware.ParamId)("id")
250
248
  ]),
251
249
  _ts_metadata("design:type", Function),
252
250
  _ts_metadata("design:paramtypes", [
@@ -262,7 +260,8 @@ _ts_decorate([
262
260
  (0, _authenticate.authorizeRoles)([
263
261
  _authorizationconstants.ROLES.ADMIN
264
262
  ]),
265
- _demomiddleware.demoUserNotAllowed
263
+ _demomiddleware.demoUserNotAllowed,
264
+ (0, _paramconvertermiddleware.ParamId)("id")
266
265
  ]),
267
266
  _ts_metadata("design:type", Function),
268
267
  _ts_metadata("design:paramtypes", [
@@ -275,7 +274,8 @@ _ts_decorate([
275
274
  (0, _awilixexpress.POST)(),
276
275
  (0, _awilixexpress.route)("/:id/change-username"),
277
276
  (0, _awilixexpress.before)([
278
- _demomiddleware.demoUserNotAllowed
277
+ _demomiddleware.demoUserNotAllowed,
278
+ (0, _paramconvertermiddleware.ParamId)("id")
279
279
  ]),
280
280
  _ts_metadata("design:type", Function),
281
281
  _ts_metadata("design:paramtypes", [
@@ -288,7 +288,8 @@ _ts_decorate([
288
288
  (0, _awilixexpress.POST)(),
289
289
  (0, _awilixexpress.route)("/:id/change-password"),
290
290
  (0, _awilixexpress.before)([
291
- _demomiddleware.demoUserNotAllowed
291
+ _demomiddleware.demoUserNotAllowed,
292
+ (0, _paramconvertermiddleware.ParamId)("id")
292
293
  ]),
293
294
  _ts_metadata("design:type", Function),
294
295
  _ts_metadata("design:paramtypes", [
@@ -304,7 +305,8 @@ _ts_decorate([
304
305
  (0, _authenticate.authorizeRoles)([
305
306
  _authorizationconstants.ROLES.ADMIN
306
307
  ]),
307
- _demomiddleware.demoUserNotAllowed
308
+ _demomiddleware.demoUserNotAllowed,
309
+ (0, _paramconvertermiddleware.ParamId)("id")
308
310
  ]),
309
311
  _ts_metadata("design:type", Function),
310
312
  _ts_metadata("design:paramtypes", [
@@ -320,7 +322,8 @@ _ts_decorate([
320
322
  (0, _authenticate.authorizeRoles)([
321
323
  _authorizationconstants.ROLES.ADMIN
322
324
  ]),
323
- _demomiddleware.demoUserNotAllowed
325
+ _demomiddleware.demoUserNotAllowed,
326
+ (0, _paramconvertermiddleware.ParamId)("id")
324
327
  ]),
325
328
  _ts_metadata("design:type", Function),
326
329
  _ts_metadata("design:paramtypes", [
@@ -333,7 +336,8 @@ _ts_decorate([
333
336
  (0, _awilixexpress.POST)(),
334
337
  (0, _awilixexpress.route)("/:id/set-root-user"),
335
338
  (0, _awilixexpress.before)([
336
- _demomiddleware.demoUserNotAllowed
339
+ _demomiddleware.demoUserNotAllowed,
340
+ (0, _paramconvertermiddleware.ParamId)("id")
337
341
  ]),
338
342
  _ts_metadata("design:type", Function),
339
343
  _ts_metadata("design:paramtypes", [
@@ -349,7 +353,13 @@ UserController = _ts_decorate([
349
353
  ]),
350
354
  _ts_metadata("design:type", Function),
351
355
  _ts_metadata("design:paramtypes", [
352
- Object
356
+ typeof _loggerfactory.ILoggerFactory === "undefined" ? Object : _loggerfactory.ILoggerFactory,
357
+ typeof _userserviceinterface.IUserService === "undefined" ? Object : _userserviceinterface.IUserService,
358
+ typeof _configservice.IConfigService === "undefined" ? Object : _configservice.IConfigService,
359
+ typeof _roleserviceinterface.IRoleService === "undefined" ? Object : _roleserviceinterface.IRoleService,
360
+ typeof _authserviceinterface.IAuthService === "undefined" ? Object : _authserviceinterface.IAuthService,
361
+ typeof _settingsstore.SettingsStore === "undefined" ? Object : _settingsstore.SettingsStore,
362
+ Boolean
353
363
  ])
354
364
  ], UserController);
355
365
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","userService","roleService","configService","authService","settingsStore","logger","isTypeormMode","constructor","loggerFactory","name","list","req","res","users","listUsers","send","map","u","toDto","create","username","password","roleIds","validateMiddleware","registerUserWithRolesRules","toLowerCase","includes","BadRequestException","register","roles","needsPasswordChange","isDemoUser","isRootUser","isVerified","listRoles","roleDtos","r","profile","user","id","getUser","get","validateInput","params","idRulesV2","delete","ownUserId","ForbiddenError","isUserRootUser","isDemoMode","demoUserId","getDemoUserId","throwIfDemoMode","deleteUser","logoutUserId","e","error","errorSummary","changeUsername","getLoginRequired","body","updateUsernameById","changePassword","oldPassword","newPassword","updatePasswordById","setUserRoles","currentUserId","ownUser","ownUserRoles","adminRole","getSynchronizedRoleByName","ROLES","ADMIN","setUserRoleIds","setVerified","setVerifiedById","setRootUser","userId","setIsRootUserById","authorizeRoles","demoUserNotAllowed","AppConstants","apiRoute","authenticate"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","logger","constructor","loggerFactory","userService","configService","roleService","authService","settingsStore","isTypeormMode","name","list","req","res","users","listUsers","send","map","u","toDto","create","username","password","roleIds","validateMiddleware","registerUserWithRolesSchema","toLowerCase","includes","BadRequestException","register","roles","needsPasswordChange","isDemoUser","isRootUser","isVerified","listRoles","roleDtos","r","profile","user","id","getUser","get","local","delete","deletedUserId","ownUserId","ForbiddenError","isUserRootUser","isDemoMode","demoUserId","getDemoUserId","throwIfDemoMode","deleteUser","logoutUserId","e","error","errorSummary","changeUsername","changedUserId","getLoginRequired","validateInput","body","usernameSchema","updateUsernameById","changePassword","oldPassword","newPassword","changePasswordSchema","updatePasswordById","setUserRoles","ownUser","mappedUser","ownUserRoles","adminRole","getSynchronizedRoleByName","ROLES","ADMIN","setUserRolesSchema","setUserRoleIds","setVerified","isVerifiedSchema","setVerifiedById","setRootUser","userId","isRootUserSchema","setIsRootUserById","authorizeRoles","ParamId","demoUserNotAllowed","AppConstants","apiRoute","authenticate"],"mappings":"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"}
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "refreshTokenRules", {
5
+ Object.defineProperty(exports, "refreshTokenSchema", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return refreshTokenRules;
8
+ return refreshTokenSchema;
9
9
  }
10
10
  });
11
- const refreshTokenRules = {
12
- refreshToken: "required|string"
13
- };
11
+ const _zod = require("zod");
12
+ const refreshTokenSchema = _zod.z.object({
13
+ refreshToken: _zod.z.string().min(1)
14
+ });
14
15
 
15
16
  //# sourceMappingURL=auth-controller.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controllers/validation/auth-controller.validation.ts"],"names":["refreshTokenRules","refreshToken"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB;IAC/BC,cAAc;AAChB"}
1
+ {"version":3,"sources":["../../../src/controllers/validation/auth-controller.validation.ts"],"names":["refreshTokenSchema","z","object","refreshToken","string","min"],"mappings":";;;;+BAEaA;;;eAAAA;;;qBAFK;AAEX,MAAMA,qBAAqBC,MAAC,CAACC,MAAM,CAAC;IACzCC,cAAcF,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAC/B"}
@@ -9,31 +9,30 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- batchPrinterRules: function() {
13
- return batchPrinterRules;
12
+ batchPrinterSchema: function() {
13
+ return batchPrinterSchema;
14
14
  },
15
- batchPrintersEnabledRules: function() {
16
- return batchPrintersEnabledRules;
15
+ batchPrintersEnabledSchema: function() {
16
+ return batchPrintersEnabledSchema;
17
17
  },
18
- executeBatchRePrinterRule: function() {
19
- return executeBatchRePrinterRule;
18
+ executeBatchRePrinterSchema: function() {
19
+ return executeBatchRePrinterSchema;
20
20
  }
21
21
  });
22
+ const _zod = require("zod");
22
23
  const _genericvalidation = require("./generic.validation");
23
- const batchPrinterRules = (isSqlite)=>({
24
- printerIds: "required|array",
25
- "printerIds.*": (0, _genericvalidation.idRuleV2)(isSqlite)
24
+ const batchPrinterSchema = (isSqlite)=>_zod.z.object({
25
+ printerIds: _zod.z.array((0, _genericvalidation.idRuleV2)(isSqlite))
26
26
  });
27
- const executeBatchRePrinterRule = (isSqlite)=>({
28
- prints: "required|array",
29
- "prints.*": "required",
30
- "prints.*.printerId": (0, _genericvalidation.idRuleV2)(isSqlite),
31
- "prints.*.path": "required|string"
27
+ const executeBatchRePrinterSchema = (isSqlite)=>_zod.z.object({
28
+ prints: _zod.z.array(_zod.z.object({
29
+ printerId: (0, _genericvalidation.idRuleV2)(isSqlite),
30
+ path: _zod.z.string()
31
+ }))
32
32
  });
33
- const batchPrintersEnabledRules = (isSqlite)=>({
34
- printerIds: "required|array",
35
- "printerIds.*": (0, _genericvalidation.idRuleV2)(isSqlite),
36
- enabled: "required|boolean"
33
+ const batchPrintersEnabledSchema = (isSqlite)=>_zod.z.object({
34
+ printerIds: _zod.z.array((0, _genericvalidation.idRuleV2)(isSqlite)),
35
+ enabled: _zod.z.boolean()
37
36
  });
38
37
 
39
38
  //# sourceMappingURL=batch-controller.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterRules","batchPrintersEnabledRules","executeBatchRePrinterRule","isSqlite","printerIds","idRuleV2","prints","enabled"],"mappings":";;;;;;;;;;;IAEaA,iBAAiB;eAAjBA;;IAYAC,yBAAyB;eAAzBA;;IAPAC,yBAAyB;eAAzBA;;;mCAPY;AAElB,MAAMF,oBAAoB,CAACG,WAAuB,CAAA;QACvDC,YAAY;QACZ,gBAAgBC,IAAAA,2BAAQ,EAACF;IAC3B,CAAA;AAEO,MAAMD,4BAA4B,CAACC,WAAuB,CAAA;QAC/DG,QAAQ;QACR,YAAY;QACZ,sBAAsBD,IAAAA,2BAAQ,EAACF;QAC/B,iBAAiB;IACnB,CAAA;AAEO,MAAMF,4BAA4B,CAACE,WAAuB,CAAA;QAC/DC,YAAY;QACZ,gBAAgBC,IAAAA,2BAAQ,EAACF;QACzBI,SAAS;IACX,CAAA"}
1
+ {"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterSchema","batchPrintersEnabledSchema","executeBatchRePrinterSchema","isSqlite","z","object","printerIds","array","idRuleV2","prints","printerId","path","string","enabled","boolean"],"mappings":";;;;;;;;;;;IAGaA,kBAAkB;eAAlBA;;IAeAC,0BAA0B;eAA1BA;;IAVAC,2BAA2B;eAA3BA;;;qBARK;mCACO;AAElB,MAAMF,qBAAqB,CAACG,WACjCC,MAAC,CAACC,MAAM,CAAC;QACPC,YAAYF,MAAC,CAACG,KAAK,CAACC,IAAAA,2BAAQ,EAACL;IAC/B;AAEK,MAAMD,8BAA8B,CAACC,WAC1CC,MAAC,CAACC,MAAM,CAAC;QACPI,QAAQL,MAAC,CAACG,KAAK,CACbH,MAAC,CAACC,MAAM,CAAC;YACPK,WAAWF,IAAAA,2BAAQ,EAACL;YACpBQ,MAAMP,MAAC,CAACQ,MAAM;QAChB;IAEJ;AAEK,MAAMX,6BAA6B,CAACE,WACzCC,MAAC,CAACC,MAAM,CAAC;QACPC,YAAYF,MAAC,CAACG,KAAK,CAACC,IAAAA,2BAAQ,EAACL;QAC7BU,SAAST,MAAC,CAACU,OAAO;IACpB"}
@@ -16,9 +16,14 @@ _export(exports, {
16
16
  return idRulesV2;
17
17
  }
18
18
  });
19
- const idRuleV2 = (isSqlite)=>`required|${isSqlite ? "integer|min:1" : "mongoId"}`;
20
- const idRulesV2 = (isSqlite)=>({
21
- id: idRuleV2(isSqlite)
19
+ const _zod = require("zod");
20
+ const isHexadecimal = (str)=>/^[a-fA-F0-9]+$/.test(str);
21
+ const isMongoId = (str)=>isHexadecimal(str) && str.length === 24;
22
+ const idRuleV2 = (isSqlite)=>isSqlite ? _zod.z.number().min(1) : _zod.z.string().refine(isMongoId, {
23
+ message: "Invalid MongoDB ObjectId"
22
24
  });
25
+ const idRulesV2 = (isSqlite)=>_zod.z.object({
26
+ id: idRuleV2(isSqlite)
27
+ }).strict();
23
28
 
24
29
  //# sourceMappingURL=generic.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRuleV2","idRulesV2","isSqlite","id"],"mappings":";;;;;;;;;;;IAAaA,QAAQ;eAARA;;IAEAC,SAAS;eAATA;;;AAFN,MAAMD,WAAW,CAACE,WAAsB,CAAC,SAAS,EAAEA,WAAW,kBAAkB,WAAW;AAE5F,MAAMD,YAAY,CAACC,WAAuB,CAAA;QAC/CC,IAAIH,SAASE;IACf,CAAA"}
1
+ {"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRuleV2","idRulesV2","isHexadecimal","str","test","isMongoId","length","isSqlite","z","number","min","string","refine","message","object","id","strict"],"mappings":";;;;;;;;;;;IAMaA,QAAQ;eAARA;;IAOAC,SAAS;eAATA;;;qBAbK;AAElB,MAAMC,gBAAgB,CAACC,MAAgB,iBAAiBC,IAAI,CAACD;AAE7D,MAAME,YAAY,CAACF,MAAgBD,cAAcC,QAAQA,IAAIG,MAAM,KAAK;AAEjE,MAAMN,WAAW,CAACO,WACvBA,WACIC,MAAC,CAACC,MAAM,GAAGC,GAAG,CAAC,KACfF,MAAC,CAACG,MAAM,GAAGC,MAAM,CAACP,WAAW;QAC3BQ,SAAS;IACX;AAEC,MAAMZ,YAAY,CAACM,WACxBC,MAAC,CACEM,MAAM,CAAC;QACNC,IAAIf,SAASO;IACf,GACCS,MAAM"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "findPrinterCompletionSchema", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return findPrinterCompletionSchema;
9
+ }
10
+ });
11
+ const _zod = require("zod");
12
+ const findPrinterCompletionSchema = _zod.z.object({
13
+ correlationId: _zod.z.string().min(1)
14
+ });
15
+
16
+ //# sourceMappingURL=printer-completion-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-completion-controller.validation.ts"],"names":["findPrinterCompletionSchema","z","object","correlationId","string","min"],"mappings":";;;;+BAEaA;;;eAAAA;;;qBAFK;AAEX,MAAMA,8BAA8BC,MAAC,CAACC,MAAM,CAAC;IAClDC,eAAeF,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAChC"}
@@ -9,61 +9,42 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- createOctoPrintBackupRules: function() {
13
- return createOctoPrintBackupRules;
12
+ feedRateSchema: function() {
13
+ return feedRateSchema;
14
14
  },
15
- feedRateRules: function() {
16
- return feedRateRules;
15
+ flowRateSchema: function() {
16
+ return flowRateSchema;
17
17
  },
18
- flowRateRules: function() {
19
- return flowRateRules;
18
+ testPrinterApiSchema: function() {
19
+ return testPrinterApiSchema;
20
20
  },
21
- getOctoPrintBackupRules: function() {
22
- return getOctoPrintBackupRules;
21
+ updatePrinterDisabledReasonSchema: function() {
22
+ return updatePrinterDisabledReasonSchema;
23
23
  },
24
- testPrinterApiRules: function() {
25
- return testPrinterApiRules;
26
- },
27
- updatePrinterConnectionSettingRules: function() {
28
- return updatePrinterConnectionSettingRules;
29
- },
30
- updatePrinterDisabledReasonRules: function() {
31
- return updatePrinterDisabledReasonRules;
32
- },
33
- updatePrinterEnabledRule: function() {
34
- return updatePrinterEnabledRule;
24
+ updatePrinterEnabledSchema: function() {
25
+ return updatePrinterEnabledSchema;
35
26
  }
36
27
  });
37
- const _serviceconstants = require("../../constants/service.constants");
38
- const _printerapiinterface = require("../../services/printer-api.interface");
39
- const flowRateRules = {
40
- flowRate: "required|between:75,125|integer"
41
- };
42
- const feedRateRules = {
43
- feedRate: "required|between:10,200|integer"
44
- };
45
- const testPrinterApiRules = {
46
- printerType: `required|integer|in:${_printerapiinterface.OctoprintType},${_printerapiinterface.MoonrakerType}`,
47
- apiKey: `requiredIf:printerType,${_printerapiinterface.OctoprintType}|length:${_serviceconstants.apiKeyLengthMaxDefault},${_serviceconstants.apiKeyLengthMinDefault}|alphaDash`,
48
- printerURL: "required|httpurl"
49
- };
50
- const updatePrinterDisabledReasonRules = {
51
- disabledReason: "string"
52
- };
53
- const updatePrinterEnabledRule = {
54
- enabled: "required|boolean"
55
- };
56
- const updatePrinterConnectionSettingRules = {
57
- printerType: `required|integer|in:${_printerapiinterface.OctoprintType},${_printerapiinterface.MoonrakerType}`,
58
- printerURL: "required|httpurl",
59
- apiKey: `requiredIf:printerType,${_printerapiinterface.OctoprintType}|length:${_serviceconstants.apiKeyLengthMaxDefault},${_serviceconstants.apiKeyLengthMinDefault}|alphaDash`
60
- };
61
- const createOctoPrintBackupRules = {
62
- exclude: "array",
63
- "exclude.*": "string"
64
- };
65
- const getOctoPrintBackupRules = {
66
- fileName: "required|string"
67
- };
28
+ const _zod = require("zod");
29
+ const _printerservicevalidation = require("../../services/validators/printer-service.validation");
30
+ const flowRateSchema = _zod.z.object({
31
+ flowRate: _zod.z.number().int().min(75).max(125).nonnegative()
32
+ });
33
+ const feedRateSchema = _zod.z.object({
34
+ feedRate: _zod.z.number().int().min(10).max(200).nonnegative()
35
+ });
36
+ const testPrinterApiSchema = _zod.z.object({
37
+ printerURL: _printerservicevalidation.printerUrlValidator,
38
+ printerType: _printerservicevalidation.printerTypeValidator,
39
+ apiKey: _printerservicevalidation.printerApiKeyValidator,
40
+ username: _printerservicevalidation.printerUsernameValidator.optional(),
41
+ password: _printerservicevalidation.printerPasswordValidator.optional()
42
+ }).superRefine(_printerservicevalidation.refineApiKeyValidator);
43
+ const updatePrinterDisabledReasonSchema = _zod.z.object({
44
+ disabledReason: _printerservicevalidation.printerDisabledReasonValidator
45
+ });
46
+ const updatePrinterEnabledSchema = _zod.z.object({
47
+ enabled: _printerservicevalidation.printerEnabledValidator
48
+ });
68
49
 
69
50
  //# sourceMappingURL=printer-controller.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controllers/validation/printer-controller.validation.ts"],"names":["createOctoPrintBackupRules","feedRateRules","flowRateRules","getOctoPrintBackupRules","testPrinterApiRules","updatePrinterConnectionSettingRules","updatePrinterDisabledReasonRules","updatePrinterEnabledRule","flowRate","feedRate","printerType","OctoprintType","MoonrakerType","apiKey","apiKeyLengthMaxDefault","apiKeyLengthMinDefault","printerURL","disabledReason","enabled","exclude","fileName"],"mappings":";;;;;;;;;;;IA+BaA,0BAA0B;eAA1BA;;IAxBAC,aAAa;eAAbA;;IAJAC,aAAa;eAAbA;;IAiCAC,uBAAuB;eAAvBA;;IAzBAC,mBAAmB;eAAnBA;;IAcAC,mCAAmC;eAAnCA;;IARAC,gCAAgC;eAAhCA;;IAIAC,wBAAwB;eAAxBA;;;kCArBkD;qCAClB;AAEtC,MAAML,gBAAgB;IAC3BM,UAAU;AACZ;AAEO,MAAMP,gBAAgB;IAC3BQ,UAAU;AACZ;AAEO,MAAML,sBAAsB;IACjCM,aAAa,CAAC,oBAAoB,EAAEC,kCAAa,CAAC,CAAC,EAAEC,kCAAa,EAAE;IACpEC,QAAQ,CAAC,uBAAuB,EAAEF,kCAAa,CAAC,QAAQ,EAAEG,wCAAsB,CAAC,CAAC,EAAEC,wCAAsB,CAAC,UAAU,CAAC;IACtHC,YAAY;AACd;AAEO,MAAMV,mCAAmC;IAC9CW,gBAAgB;AAClB;AAEO,MAAMV,2BAA2B;IACtCW,SAAS;AACX;AAEO,MAAMb,sCAAsC;IACjDK,aAAa,CAAC,oBAAoB,EAAEC,kCAAa,CAAC,CAAC,EAAEC,kCAAa,EAAE;IACpEI,YAAY;IACZH,QAAQ,CAAC,uBAAuB,EAAEF,kCAAa,CAAC,QAAQ,EAAEG,wCAAsB,CAAC,CAAC,EAAEC,wCAAsB,CAAC,UAAU,CAAC;AACxH;AAEO,MAAMf,6BAA6B;IACxCmB,SAAS;IACT,aAAa;AACf;AAEO,MAAMhB,0BAA0B;IACrCiB,UAAU;AACZ"}
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-controller.validation.ts"],"names":["feedRateSchema","flowRateSchema","testPrinterApiSchema","updatePrinterDisabledReasonSchema","updatePrinterEnabledSchema","z","object","flowRate","number","int","min","max","nonnegative","feedRate","printerURL","printerUrlValidator","printerType","printerTypeValidator","apiKey","printerApiKeyValidator","username","printerUsernameValidator","optional","password","printerPasswordValidator","superRefine","refineApiKeyValidator","disabledReason","printerDisabledReasonValidator","enabled","printerEnabledValidator"],"mappings":";;;;;;;;;;;IAgBaA,cAAc;eAAdA;;IAJAC,cAAc;eAAdA;;IAQAC,oBAAoB;eAApBA;;IAUAC,iCAAiC;eAAjCA;;IAIAC,0BAA0B;eAA1BA;;;qBAlCK;0CAUX;AAEA,MAAMH,iBAAiBI,MAAC,CAACC,MAAM,CAAC;IACrCC,UAAUF,MAAC,CAACG,MAAM,GAAGC,GAAG,GAAGC,GAAG,CAAC,IAAIC,GAAG,CAAC,KAAKC,WAAW;AACzD;AAEO,MAAMZ,iBAAiBK,MAAC,CAACC,MAAM,CAAC;IACrCO,UAAUR,MAAC,CAACG,MAAM,GAAGC,GAAG,GAAGC,GAAG,CAAC,IAAIC,GAAG,CAAC,KAAKC,WAAW;AACzD;AAEO,MAAMV,uBAAuBG,MAAC,CAClCC,MAAM,CAAC;IACNQ,YAAYC,6CAAmB;IAC/BC,aAAaC,8CAAoB;IACjCC,QAAQC,gDAAsB;IAC9BC,UAAUC,kDAAwB,CAACC,QAAQ;IAC3CC,UAAUC,kDAAwB,CAACF,QAAQ;AAC7C,GACCG,WAAW,CAACC,+CAAqB;AAE7B,MAAMvB,oCAAoCE,MAAC,CAACC,MAAM,CAAC;IACxDqB,gBAAgBC,wDAA8B;AAChD;AAEO,MAAMxB,6BAA6BC,MAAC,CAACC,MAAM,CAAC;IACjDuB,SAASC,iDAAuB;AAClC"}
@@ -9,24 +9,25 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- downloadFileRules: function() {
13
- return downloadFileRules;
12
+ downloadFileSchema: function() {
13
+ return downloadFileSchema;
14
14
  },
15
- getFileRules: function() {
16
- return getFileRules;
15
+ getFileSchema: function() {
16
+ return getFileSchema;
17
17
  },
18
- startPrintFileRules: function() {
19
- return startPrintFileRules;
18
+ startPrintFileSchema: function() {
19
+ return startPrintFileSchema;
20
20
  }
21
21
  });
22
- const getFileRules = {
23
- path: "required|string"
24
- };
25
- const downloadFileRules = {
26
- path: "required|string"
27
- };
28
- const startPrintFileRules = {
29
- filePath: "required|string"
30
- };
22
+ const _zod = require("zod");
23
+ const startPrintFileSchema = _zod.z.object({
24
+ filePath: _zod.z.string().min(1)
25
+ });
26
+ const downloadFileSchema = _zod.z.object({
27
+ path: _zod.z.string().min(1)
28
+ });
29
+ const getFileSchema = _zod.z.object({
30
+ path: _zod.z.string().min(1)
31
+ });
31
32
 
32
33
  //# sourceMappingURL=printer-files-controller.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controllers/validation/printer-files-controller.validation.ts"],"names":["downloadFileRules","getFileRules","startPrintFileRules","path","filePath"],"mappings":";;;;;;;;;;;IAIaA,iBAAiB;eAAjBA;;IAJAC,YAAY;eAAZA;;IAQAC,mBAAmB;eAAnBA;;;AARN,MAAMD,eAAe;IAC1BE,MAAM;AACR;AAEO,MAAMH,oBAAoB;IAC/BG,MAAM;AACR;AAEO,MAAMD,sBAAsB;IACjCE,UAAU;AACZ"}
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-files-controller.validation.ts"],"names":["downloadFileSchema","getFileSchema","startPrintFileSchema","z","object","filePath","string","min","path"],"mappings":";;;;;;;;;;;IAMaA,kBAAkB;eAAlBA;;IAIAC,aAAa;eAAbA;;IARAC,oBAAoB;eAApBA;;;qBAFK;AAEX,MAAMA,uBAAuBC,MAAC,CAACC,MAAM,CAAC;IAC3CC,UAAUF,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAC3B;AAEO,MAAMP,qBAAqBG,MAAC,CAACC,MAAM,CAAC;IACzCI,MAAML,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AACvB;AAEO,MAAMN,gBAAgBE,MAAC,CAACC,MAAM,CAAC;IACpCI,MAAML,MAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AACvB"}