@fdm-monster/server 1.8.2 → 1.9.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +69 -7
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +11 -19
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +15 -24
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +4 -5
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +61 -50
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +76 -29
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +62 -197
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -113
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -31
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +40 -0
  197. package/dist/services/core/http-client.factory.js.map +1 -0
  198. package/dist/services/core/logs-manager.service.js +7 -6
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +79 -28
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/file-upload-tracker.interface.js +6 -0
  212. package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
  213. package/dist/services/interfaces/floor.dto.js +5 -47
  214. package/dist/services/interfaces/floor.dto.js.map +1 -1
  215. package/dist/services/interfaces/login.dto.js +2 -0
  216. package/dist/services/interfaces/login.dto.js.map +1 -1
  217. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer-group.dto.js +0 -14
  219. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  220. package/dist/services/interfaces/printer.dto.js +11 -5
  221. package/dist/services/interfaces/printer.dto.js.map +1 -1
  222. package/dist/services/interfaces/settings.dto.js.map +1 -1
  223. package/dist/services/interfaces/task.interfaces.js +6 -0
  224. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  225. package/dist/services/mongoose/camera-stream.service.js +17 -15
  226. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  227. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  228. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  229. package/dist/services/mongoose/floor.service.js +37 -30
  230. package/dist/services/mongoose/floor.service.js.map +1 -1
  231. package/dist/services/mongoose/permission.service.js +1 -1
  232. package/dist/services/mongoose/permission.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.service.js +2 -2
  234. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  235. package/dist/services/mongoose/print-completion.shared.js +2 -2
  236. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  237. package/dist/services/mongoose/printer.service.js +40 -45
  238. package/dist/services/mongoose/printer.service.js.map +1 -1
  239. package/dist/services/mongoose/refresh-token.service.js +5 -8
  240. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  241. package/dist/services/mongoose/role.service.js +14 -5
  242. package/dist/services/mongoose/role.service.js.map +1 -1
  243. package/dist/services/mongoose/settings.service.js +35 -62
  244. package/dist/services/mongoose/settings.service.js.map +1 -1
  245. package/dist/services/mongoose/user.service.js +8 -7
  246. package/dist/services/mongoose/user.service.js.map +1 -1
  247. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  248. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  249. package/dist/services/moonraker/moonraker-websocket.adapter.js +108 -96
  250. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  251. package/dist/services/moonraker/moonraker.client.js +212 -167
  252. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  253. package/dist/services/moonraker.api.js +3 -5
  254. package/dist/services/moonraker.api.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  256. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  257. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  258. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  259. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  260. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-api.routes.js +0 -98
  262. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  263. package/dist/services/octoprint/octoprint-websocket.adapter.js +72 -72
  264. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  265. package/dist/services/octoprint/octoprint.client.js +87 -343
  266. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  267. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
  268. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
  269. package/dist/services/octoprint.api.js +14 -18
  270. package/dist/services/octoprint.api.js.map +1 -1
  271. package/dist/services/orm/base.service.js +11 -12
  272. package/dist/services/orm/base.service.js.map +1 -1
  273. package/dist/services/orm/camera-stream.service.js +5 -1
  274. package/dist/services/orm/camera-stream.service.js.map +1 -1
  275. package/dist/services/orm/custom-gcode.service.js +2 -2
  276. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  277. package/dist/services/orm/floor-position.service.js +0 -5
  278. package/dist/services/orm/floor-position.service.js.map +1 -1
  279. package/dist/services/orm/floor.service.js +43 -39
  280. package/dist/services/orm/floor.service.js.map +1 -1
  281. package/dist/services/orm/permission.service.js +3 -4
  282. package/dist/services/orm/permission.service.js.map +1 -1
  283. package/dist/services/orm/print-completion.service.js +2 -4
  284. package/dist/services/orm/print-completion.service.js.map +1 -1
  285. package/dist/services/orm/printer-group.service.js +2 -7
  286. package/dist/services/orm/printer-group.service.js.map +1 -1
  287. package/dist/services/orm/printer.service.js +29 -39
  288. package/dist/services/orm/printer.service.js.map +1 -1
  289. package/dist/services/orm/refresh-token.service.js +5 -11
  290. package/dist/services/orm/refresh-token.service.js.map +1 -1
  291. package/dist/services/orm/role.service.js +11 -10
  292. package/dist/services/orm/role.service.js.map +1 -1
  293. package/dist/services/orm/settings.service.js +37 -133
  294. package/dist/services/orm/settings.service.js.map +1 -1
  295. package/dist/services/orm/user.service.js +13 -15
  296. package/dist/services/orm/user.service.js.map +1 -1
  297. package/dist/services/printer-api.factory.js +9 -6
  298. package/dist/services/printer-api.factory.js.map +1 -1
  299. package/dist/services/printer-api.interface.js +13 -6
  300. package/dist/services/printer-api.interface.js.map +1 -1
  301. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  302. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  303. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  304. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  305. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  306. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  307. package/dist/services/prusa-link/dto/file.dto.js +6 -0
  308. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  309. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  310. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  311. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  312. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  313. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  314. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  315. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  316. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  317. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  318. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  319. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  320. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  321. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  322. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  323. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  324. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  325. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  326. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  327. package/dist/services/socket.factory.js +9 -6
  328. package/dist/services/socket.factory.js.map +1 -1
  329. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  330. package/dist/services/task-manager.service.js.map +1 -0
  331. package/dist/services/validators/camera-service.validation.js +19 -0
  332. package/dist/services/validators/camera-service.validation.js.map +1 -0
  333. package/dist/services/validators/floor-service.validation.js +47 -36
  334. package/dist/services/validators/floor-service.validation.js.map +1 -1
  335. package/dist/services/validators/print-completion-service.validation.js +22 -9
  336. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  337. package/dist/services/validators/printer-service.validation.js +112 -29
  338. package/dist/services/validators/printer-service.validation.js.map +1 -1
  339. package/dist/services/validators/settings-service.validation.js +78 -66
  340. package/dist/services/validators/settings-service.validation.js.map +1 -1
  341. package/dist/services/validators/user-service.validation.js +17 -16
  342. package/dist/services/validators/user-service.validation.js.map +1 -1
  343. package/dist/services/validators/yaml-service.validation.js +94 -51
  344. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  345. package/dist/shared/default-http-client.builder.js +94 -0
  346. package/dist/shared/default-http-client.builder.js.map +1 -0
  347. package/dist/shared/load-controllers.js +20 -0
  348. package/dist/shared/load-controllers.js.map +1 -0
  349. package/dist/shared/runtime-settings.migration.js +46 -0
  350. package/dist/shared/runtime-settings.migration.js.map +1 -0
  351. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  352. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  353. package/dist/shared/websocket.adapter.js +4 -5
  354. package/dist/shared/websocket.adapter.js.map +1 -1
  355. package/dist/state/file-upload-tracker.cache.js +33 -42
  356. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  357. package/dist/state/file.cache.js +1 -1
  358. package/dist/state/file.cache.js.map +1 -1
  359. package/dist/state/floor.store.js +6 -6
  360. package/dist/state/floor.store.js.map +1 -1
  361. package/dist/state/printer-events.cache.js +21 -22
  362. package/dist/state/printer-events.cache.js.map +1 -1
  363. package/dist/state/printer-files.store.js +6 -8
  364. package/dist/state/printer-files.store.js.map +1 -1
  365. package/dist/state/printer-socket.store.js +27 -50
  366. package/dist/state/printer-socket.store.js.map +1 -1
  367. package/dist/state/printer-thumbnail.cache.js +5 -9
  368. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  369. package/dist/state/printer.cache.js +14 -12
  370. package/dist/state/printer.cache.js.map +1 -1
  371. package/dist/state/settings.store.js +78 -51
  372. package/dist/state/settings.store.js.map +1 -1
  373. package/dist/state/socket-io.gateway.js +39 -36
  374. package/dist/state/socket-io.gateway.js.map +1 -1
  375. package/dist/state/test-printer-socket.store.js +20 -15
  376. package/dist/state/test-printer-socket.store.js.map +1 -1
  377. package/dist/state/validation/create-test-printer.validation.js +13 -10
  378. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  379. package/dist/task.presets.js.map +1 -1
  380. package/dist/tasks/boot.task.js +14 -19
  381. package/dist/tasks/boot.task.js.map +1 -1
  382. package/dist/tasks/client-bundle.task.js +1 -3
  383. package/dist/tasks/client-bundle.task.js.map +1 -1
  384. package/dist/tasks/print-completion.socketio.task.js +27 -28
  385. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  386. package/dist/tasks/printer-file-clean.task.js +6 -10
  387. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  388. package/dist/tasks/printer-websocket-restore.task.js +4 -15
  389. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  390. package/dist/tasks/printer-websocket.task.js +2 -14
  391. package/dist/tasks/printer-websocket.task.js.map +1 -1
  392. package/dist/tasks/socketio.task.js +8 -35
  393. package/dist/tasks/socketio.task.js.map +1 -1
  394. package/dist/tasks/software-update.task.js +1 -1
  395. package/dist/tasks/software-update.task.js.map +1 -1
  396. package/dist/tasks.js +3 -3
  397. package/dist/tasks.js.map +1 -1
  398. package/dist/utils/array.util.js.map +1 -1
  399. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  400. package/dist/utils/env.utils.js +0 -2
  401. package/dist/utils/env.utils.js.map +1 -1
  402. package/dist/utils/normalize-url.js +6 -3
  403. package/dist/utils/normalize-url.js.map +1 -1
  404. package/dist/utils/pretty-print.utils.js +1 -1
  405. package/dist/utils/pretty-print.utils.js.map +1 -1
  406. package/dist/utils/printer-type.utils.js.map +1 -1
  407. package/dist/utils/time.utils.js +7 -17
  408. package/dist/utils/time.utils.js.map +1 -1
  409. package/dist/utils/url.utils.js +11 -14
  410. package/dist/utils/url.utils.js.map +1 -1
  411. package/package.json +53 -55
  412. package/tsconfig.json +2 -1
  413. package/.yarn/releases/yarn-4.6.0.cjs +0 -934
  414. package/dist/consoles/check-ports.js +0 -170
  415. package/dist/consoles/check-ports.js.map +0 -1
  416. package/dist/consoles/sqlite-torm.js +0 -31
  417. package/dist/consoles/sqlite-torm.js.map +0 -1
  418. package/dist/consoles/upload-test.js +0 -52
  419. package/dist/consoles/upload-test.js.map +0 -1
  420. package/dist/controllers/plugin-firmware-update.controller.js +0 -236
  421. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  422. package/dist/entities/base.entity.js +0 -29
  423. package/dist/entities/base.entity.js.map +0 -1
  424. package/dist/entities/printer-file.entity.js +0 -140
  425. package/dist/entities/printer-file.entity.js.map +0 -1
  426. package/dist/handlers/cache-manager.js +0 -18
  427. package/dist/handlers/cache-manager.js.map +0 -1
  428. package/dist/models/PrinterFile.js +0 -44
  429. package/dist/models/PrinterFile.js.map +0 -1
  430. package/dist/services/core/task-manager.service.js.map +0 -1
  431. package/dist/services/octoprint/plugin-base.service.js +0 -101
  432. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  433. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  434. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  435. package/dist/services/octoprint/plugin-repository.cache.js +0 -45
  436. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  437. package/dist/utils/benchmark.util.js +0 -39
  438. package/dist/utils/benchmark.util.js.map +0 -1
  439. package/dist/utils/is-docker.js +0 -40
  440. package/dist/utils/is-docker.js.map +0 -1
  441. package/dist/utils/metric.utils.js +0 -35
  442. package/dist/utils/metric.utils.js.map +0 -1
  443. package/requests/moonraker/api_job.http +0 -5
  444. package/requests/moonraker/api_printer.http +0 -5
  445. package/requests/moonraker/api_settings.http +0 -5
  446. package/requests/moonraker/printer_info.http +0 -5
  447. package/requests/moonraker/printer_objects_list.http +0 -6
  448. package/requests/moonraker/printer_objects_pause_resume.http +0 -6
  449. package/requests/moonraker/printer_objects_print_stats.http +0 -6
  450. package/requests/moonraker/printer_objects_webhooks.http +0 -6
  451. package/requests/moonraker/server_info.http +0 -5
  452. package/requests/octoprint/octoprint-api-printer-current.http +0 -7
  453. package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
  454. package/requests/printer-file/get-partial-file-moonraker.http +0 -5
  455. package/requests/printer-file/get-thumbnails.http +0 -5
  456. package/requests/printer-file/reload-printer-thumbnails.http +0 -10
  457. package/requests/printer-file/testfile.gcode +0 -5665
  458. package/requests/printer-file/upload-file.http +0 -11
  459. package/requests/printer-file/upload-slicer-file.http +0 -11
  460. package/requests/printers/list.http +0 -5
@@ -10,95 +10,95 @@ Object.defineProperty(exports, "exceptionFilter", {
10
10
  });
11
11
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
12
12
  const _serverconstants = require("../server.constants");
13
- const _httpstatuscodesconstants = require("../constants/http-status-codes.constants");
14
13
  const _typeorm = require("typeorm");
15
14
  const _faileddependencyexception = require("../exceptions/failed-dependency.exception");
16
- function exceptionFilter(err, req, res, next) {
15
+ function exceptionFilter(err, _req, res, next) {
17
16
  const isTest = process.env.NODE_ENV === _serverconstants.AppConstants.defaultTestEnv;
18
17
  if (!isTest) {
19
18
  console.error("[API Exception Handler]", err.stack || err?.response?.data);
20
19
  }
21
20
  if (err.isAxiosError) {
22
21
  const code = err.response?.status || 500;
23
- return res.status(code).send({
22
+ res.status(code).send({
24
23
  error: "External API call failed",
25
24
  type: "axios-error",
26
25
  data: err.response?.data?._readableState ? null : err.response?.data
27
26
  });
27
+ return;
28
28
  }
29
29
  if (err instanceof _runtimeexceptions.AuthenticationError) {
30
- const code = err.statusCode || 401;
31
- return res.status(code).send({
30
+ res.status(401).send({
32
31
  error: err.message,
33
32
  reasonCode: err.reasonCode
34
33
  });
34
+ return;
35
35
  }
36
36
  if (err instanceof _runtimeexceptions.AuthorizationError) {
37
- const code = err.statusCode || _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN;
38
37
  const permissions = err.permissions;
39
38
  const roles = err.roles;
40
39
  const error = err.message || "You lack permission to this resource";
41
40
  const reason = err.reason;
42
- return res.status(code).send({
41
+ res.status(403).send({
43
42
  error,
44
43
  reason,
45
44
  permissions,
46
45
  roles
47
46
  });
47
+ return;
48
48
  }
49
49
  if (err instanceof _runtimeexceptions.ForbiddenError) {
50
- const code = err.statusCode || _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN;
51
- return res.status(code).send({
50
+ res.status(403).send({
52
51
  error: err.message
53
52
  });
53
+ return;
54
54
  }
55
55
  if (err instanceof _runtimeexceptions.NotFoundException || err instanceof _typeorm.EntityNotFoundError) {
56
- const code = err.statusCode || 404;
57
- return res.status(code).send({
56
+ res.status(404).send({
58
57
  error: err.message
59
58
  });
59
+ return;
60
60
  }
61
61
  if (err instanceof _runtimeexceptions.BadRequestException) {
62
- const code = err.statusCode || 400;
63
- return res.status(code).send({
62
+ res.status(400).send({
64
63
  error: err.message
65
64
  });
65
+ return;
66
66
  }
67
67
  if (err instanceof _runtimeexceptions.ValidationException) {
68
- const code = err.statusCode || 400;
69
- return res.status(code).send({
68
+ res.status(400).send({
70
69
  error: "API could not accept this input",
71
70
  type: err.name,
72
71
  errors: err.errors
73
72
  });
73
+ return;
74
74
  }
75
75
  if (err instanceof _faileddependencyexception.FailedDependencyException) {
76
- const code = 424;
77
- return res.status(code).send({
76
+ res.status(424).send({
78
77
  error: err.message,
79
78
  serviceCode: err.serviceCode,
80
79
  type: err.name
81
80
  });
81
+ return;
82
82
  }
83
83
  if (err instanceof _runtimeexceptions.InternalServerException) {
84
- const code = err.statusCode || 500;
85
- return res.status(code).send({
84
+ res.status(500).send({
86
85
  error: err.message,
87
86
  type: err.name,
88
87
  stack: err.stack
89
88
  });
89
+ return;
90
90
  }
91
91
  if (err instanceof _runtimeexceptions.ExternalServiceError) {
92
- const code = err.error.statusCode || 500;
93
- return res.status(code).send(err.error);
92
+ res.status(500).send(err.error);
93
+ return;
94
94
  }
95
95
  if (!!err) {
96
- const code = err.statusCode || 500;
97
- return res.status(code).send({
96
+ res.status(500).send({
98
97
  error: "Server experienced an internal error",
99
98
  type: err.name,
100
99
  stack: err.stack
101
100
  });
101
+ return;
102
102
  }
103
103
  next();
104
104
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/exception.filter.ts"],"names":["exceptionFilter","err","req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","console","error","stack","response","data","isAxiosError","code","status","send","type","_readableState","AuthenticationError","statusCode","message","reasonCode","AuthorizationError","HttpStatusCode","FORBIDDEN","permissions","roles","reason","ForbiddenError","NotFoundException","EntityNotFoundError","BadRequestException","ValidationException","name","errors","FailedDependencyException","serviceCode","InternalServerException","ExternalServiceError"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/middleware/exception.filter.ts"],"names":["exceptionFilter","err","_req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","console","error","stack","response","data","isAxiosError","code","status","send","type","_readableState","AuthenticationError","message","reasonCode","AuthorizationError","permissions","roles","reason","ForbiddenError","NotFoundException","EntityNotFoundError","BadRequestException","ValidationException","name","errors","FailedDependencyException","serviceCode","InternalServerException","ExternalServiceError"],"mappings":";;;;+BAgBgBA;;;eAAAA;;;mCAPT;iCACsB;yBAGO;2CACM;AAEnC,SAASA,gBAAgBC,GAAqB,EAAEC,IAAmB,EAAEC,GAAa,EAAEC,IAAkB;IAC3G,MAAMC,SAASC,QAAQC,GAAG,CAACC,QAAQ,KAAKC,6BAAY,CAACC,cAAc;IACnE,IAAI,CAACL,QAAQ;QACXM,QAAQC,KAAK,CAAC,2BAA2BX,IAAIY,KAAK,IAAIZ,KAAKa,UAAUC;IACvE;IACA,IAAId,IAAIe,YAAY,EAAE;QACpB,MAAMC,OAAOhB,IAAIa,QAAQ,EAAEI,UAAU;QACrCf,IAAIe,MAAM,CAACD,MAAME,IAAI,CAAC;YACpBP,OAAO;YACPQ,MAAM;YACNL,MAAMd,IAAIa,QAAQ,EAAEC,MAAMM,iBAAiB,OAAOpB,IAAIa,QAAQ,EAAEC;QAClE;QACA;IACF;IACA,IAAId,eAAeqB,sCAAmB,EAAE;QACtCnB,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YAAEP,OAAOX,IAAIsB,OAAO;YAAEC,YAAYvB,IAAIuB,UAAU;QAAC;QACtE;IACF;IACA,IAAIvB,eAAewB,qCAAkB,EAAE;QACrC,MAAMC,cAAczB,IAAIyB,WAAW;QACnC,MAAMC,QAAQ1B,IAAI0B,KAAK;QACvB,MAAMf,QAAQX,IAAIsB,OAAO,IAAI;QAC7B,MAAMK,SAAS3B,IAAI2B,MAAM;QACzBzB,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YAAEP;YAAOgB;YAAQF;YAAaC;QAAM;QACzD;IACF;IACA,IAAI1B,eAAe4B,iCAAc,EAAE;QACjC1B,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YAAEP,OAAOX,IAAIsB,OAAO;QAAC;QAC1C;IACF;IACA,IAAItB,eAAe6B,oCAAiB,IAAI7B,eAAe8B,4BAAmB,EAAE;QAC1E5B,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YAAEP,OAAOX,IAAIsB,OAAO;QAAC;QAC1C;IACF;IACA,IAAItB,eAAe+B,sCAAmB,EAAE;QACtC7B,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YAAEP,OAAOX,IAAIsB,OAAO;QAAC;QAC1C;IACF;IACA,IAAItB,eAAegC,sCAAmB,EAAE;QACtC9B,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YACnBP,OAAO;YACPQ,MAAMnB,IAAIiC,IAAI;YACdC,QAAQlC,IAAIkC,MAAM;QACpB;QACA;IACF;IACA,IAAIlC,eAAemC,oDAAyB,EAAE;QAC5CjC,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YACnBP,OAAOX,IAAIsB,OAAO;YAClBc,aAAapC,IAAIoC,WAAW;YAC5BjB,MAAMnB,IAAIiC,IAAI;QAChB;QACA;IACF;IACA,IAAIjC,eAAeqC,0CAAuB,EAAE;QAC1CnC,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YACnBP,OAAOX,IAAIsB,OAAO;YAClBH,MAAMnB,IAAIiC,IAAI;YACdrB,OAAOZ,IAAIY,KAAK;QAClB;QACA;IACF;IACA,IAAIZ,eAAesC,uCAAoB,EAAE;QACvCpC,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAClB,IAAIW,KAAK;QAC9B;IACF;IACA,IAAI,CAAC,CAACX,KAAK;QACTE,IAAIe,MAAM,CAAC,KAAKC,IAAI,CAAC;YACnBP,OAAO;YACPQ,MAAMnB,IAAIiC,IAAI;YACdrB,OAAOZ,IAAIY,KAAK;QAClB;QACA;IACF;IAGAT;AACF"}
@@ -18,7 +18,7 @@ _export(exports, {
18
18
  });
19
19
  const _awilixexpress = require("awilix-express");
20
20
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
21
- const validateWizardCompleted = (0, _awilixexpress.inject)(({ configService, settingsStore, loggerFactory })=>async (req, res, next)=>{
21
+ const validateWizardCompleted = (0, _awilixexpress.inject)((configService, settingsStore, loggerFactory)=>async (req, res, next)=>{
22
22
  const logger = loggerFactory(validateWizardCompleted.name);
23
23
  const isDemoMode = configService.isDemoMode();
24
24
  if (isDemoMode || !!settingsStore.getWizardSettings()?.wizardCompleted) {
@@ -39,10 +39,10 @@ const validateWizardCompleted = (0, _awilixexpress.inject)(({ configService, set
39
39
  throw new _runtimeexceptions.ForbiddenError(`First-time-setup not completed, these api paths are enabled: ${allowedPaths.join(", ")}`);
40
40
  }
41
41
  });
42
- const interceptRoles = (0, _awilixexpress.inject)(({ settingsStore, roleService, isTypeormMode })=>async (req, res, next)=>{
43
- const serverSettings = await settingsStore.getSettings();
42
+ const interceptRoles = (0, _awilixexpress.inject)((settingsStore, roleService, isTypeormMode)=>async (req, res, next)=>{
43
+ const serverSettings = settingsStore.getSettings();
44
44
  if (isTypeormMode) {
45
- req.roles = req.user?.roles.map((r)=>r.roleId);
45
+ req.roles = (req.user?.roles ?? []).map((r)=>r.roleId);
46
46
  } else {
47
47
  req.roles = req.user?.roles;
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","validateWizardCompleted","inject","configService","settingsStore","loggerFactory","req","res","next","logger","name","isDemoMode","getWizardSettings","wizardCompleted","allowedPaths","includes","path","startsWith","error","ForbiddenError","join","roleService","isTypeormMode","serverSettings","getSettings","roles","user","map","r","roleId","roleName","getAppDefaultRole"],"mappings":";;;;;;;;;;;IA0CaA,cAAc;eAAdA;;IAlCAC,uBAAuB;eAAvBA;;;+BARU;mCAEQ;AAMxB,MAAMA,0BAA0BC,IAAAA,qBAAM,EAC3C,CAAC,EACGC,aAAa,EACbC,aAAa,EACbC,aAAa,EAKd,GACD,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAcJ,wBAAwBS,IAAI;QACzD,MAAMC,aAAaR,cAAcQ,UAAU;QAC3C,IAAIA,cAAc,CAAC,CAACP,cAAcQ,iBAAiB,IAAIC,iBAAiB;YACtEL;YACA;QACF;QAEA,MAAMM,eAAe;YACnB;YACA;YACA;YACA;SACD;QACD,IAAIA,aAAaC,QAAQ,CAACT,IAAIU,IAAI,KAAK,CAACV,IAAIU,IAAI,CAACC,UAAU,CAAC,SAAS;YACnET;YACA;QACF,OAAO;YACLC,OAAOS,KAAK,CAAC,wBAAwBZ,IAAIU,IAAI;YAC7C,MAAM,IAAIG,iCAAc,CAAC,CAAC,6DAA6D,EAAEL,aAAaM,IAAI,CAAC,OAAO;QACpH;IACF;AAGG,MAAMpB,iBAAiBE,IAAAA,qBAAM,EAClC,CAAC,EAAEE,aAAa,EAAEiB,WAAW,EAAEC,aAAa,EAAE,GAC5C,OAAOhB,KAAcC,KAAeC;QAClC,MAAMe,iBAAiB,MAAMnB,cAAcoB,WAAW;QAEtD,IAAIF,eAAe;YACjBhB,IAAImB,KAAK,GAAGnB,IAAIoB,IAAI,EAAED,MAAME,IAAI,CAACC,IAAMA,EAAEC,MAAM;QACjD,OAAO;YACLvB,IAAImB,KAAK,GAAGnB,IAAIoB,IAAI,EAAED;QACxB;QAGA,IAAIF,kBAAkB,CAACjB,IAAIoB,IAAI,EAAE;YAC/B,MAAMI,WAAW,MAAMT,YAAYU,iBAAiB;YACpDzB,IAAImB,KAAK,GAAG;gBAACK;aAAS;QACxB;QAEAtB;IACF"}
1
+ {"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","validateWizardCompleted","inject","configService","settingsStore","loggerFactory","req","res","next","logger","name","isDemoMode","getWizardSettings","wizardCompleted","allowedPaths","includes","path","startsWith","error","ForbiddenError","join","roleService","isTypeormMode","serverSettings","getSettings","roles","user","map","r","roleId","roleName","getAppDefaultRole"],"mappings":";;;;;;;;;;;IAsCaA,cAAc;eAAdA;;IA5BAC,uBAAuB;eAAvBA;;;+BAVU;mCACQ;AASxB,MAAMA,0BAA0BC,IAAAA,qBAAM,EAC3C,CAACC,eAA+BC,eAA8BC,gBAC5D,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAcJ,wBAAwBS,IAAI;QACzD,MAAMC,aAAaR,cAAcQ,UAAU;QAC3C,IAAIA,cAAc,CAAC,CAACP,cAAcQ,iBAAiB,IAAIC,iBAAiB;YACtEL;YACA;QACF;QAEA,MAAMM,eAAe;YACnB;YACA;YACA;YACA;SACD;QACD,IAAIA,aAAaC,QAAQ,CAACT,IAAIU,IAAI,KAAK,CAACV,IAAIU,IAAI,CAACC,UAAU,CAAC,SAAS;YACnET;YACA;QACF,OAAO;YACLC,OAAOS,KAAK,CAAC,wBAAwBZ,IAAIU,IAAI;YAC7C,MAAM,IAAIG,iCAAc,CACtB,CAAC,6DAA6D,EAAEL,aAAaM,IAAI,CAAC,OAAO;QAE7F;IACF;AAGG,MAAMpB,iBAAiBE,IAAAA,qBAAM,EAClC,CAACE,eAA8BiB,aAA2BC,gBACxD,OAAOhB,KAAcC,KAAeC;QAClC,MAAMe,iBAAiBnB,cAAcoB,WAAW;QAEhD,IAAIF,eAAe;YACjBhB,IAAImB,KAAK,GAAG,AAACnB,CAAAA,IAAIoB,IAAI,EAAED,SAAuB,EAAE,AAAD,EAAGE,GAAG,CAAC,CAACC,IAAgBA,EAAEC,MAAM;QACjF,OAAO;YACLvB,IAAImB,KAAK,GAAGnB,IAAIoB,IAAI,EAAED;QACxB;QAGA,IAAIF,kBAAkB,CAACjB,IAAIoB,IAAI,EAAE;YAC/B,MAAMI,WAAW,MAAMT,YAAYU,iBAAiB;YACpDzB,IAAImB,KAAK,GAAG;gBAACK;aAAS;QACxB;QAEAtB;IACF"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ ParamBool: function() {
13
+ return ParamBool;
14
+ },
15
+ ParamId: function() {
16
+ return ParamId;
17
+ },
18
+ ParamInt: function() {
19
+ return ParamInt;
20
+ },
21
+ ParamString: function() {
22
+ return ParamString;
23
+ }
24
+ });
25
+ const _containertokens = require("../container.tokens");
26
+ const _validators = require("../handlers/validators");
27
+ const _genericvalidation = require("../controllers/validation/generic.validation");
28
+ const _lodash = require("lodash");
29
+ const ParamInt = (paramName)=>createParamDecorator(paramName, Number);
30
+ const ParamBool = (paramName)=>createParamDecorator(paramName, Boolean);
31
+ const ParamString = (paramName)=>createParamDecorator(paramName, String);
32
+ const ParamId = (paramName)=>createParamDecorator(paramName, "id");
33
+ function createParamDecorator(paramName, type) {
34
+ return async (req, res, next)=>{
35
+ const paramValue = req.params[paramName];
36
+ if (paramValue === undefined) {
37
+ return res.status(400).send(`Missing parameter: ${paramName}`);
38
+ }
39
+ let convertedValue;
40
+ const isTypeormMode = req.container?.resolve(_containertokens.DITokens.isTypeormMode);
41
+ let validateIdAsType = null;
42
+ if (type === "id") {
43
+ validateIdAsType = isTypeormMode ? Number : String;
44
+ }
45
+ if (type === Boolean) {
46
+ if (paramValue.toLowerCase() === "true") {
47
+ convertedValue = true;
48
+ } else if (paramValue.toLowerCase() === "false") {
49
+ convertedValue = false;
50
+ } else {
51
+ return res.status(400).send(`Invalid boolean: ${paramName}`);
52
+ }
53
+ } else if (type === Number || validateIdAsType === Number) {
54
+ convertedValue = parseInt(paramValue, 10);
55
+ if (isNaN(convertedValue)) {
56
+ return res.status(400).send(`Invalid number: ${paramName}`);
57
+ }
58
+ } else if (type === String || validateIdAsType === String) {
59
+ convertedValue = paramValue;
60
+ if (!(0, _lodash.isString)(convertedValue)) {
61
+ return res.status(400).send(`Invalid string: ${paramName}`);
62
+ }
63
+ } else {
64
+ return res.status(400).send(`Unknown type of: ${paramName}`);
65
+ }
66
+ if (validateIdAsType === String || validateIdAsType === Number) {
67
+ try {
68
+ await (0, _validators.validateInput)({
69
+ id: convertedValue
70
+ }, (0, _genericvalidation.idRulesV2)(isTypeormMode));
71
+ } catch (e) {
72
+ return next(e);
73
+ }
74
+ }
75
+ req.local = req.local || {};
76
+ req.local[paramName] = convertedValue;
77
+ next();
78
+ };
79
+ }
80
+
81
+ //# sourceMappingURL=param-converter.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/param-converter.middleware.ts"],"names":["ParamBool","ParamId","ParamInt","ParamString","paramName","createParamDecorator","Number","Boolean","String","type","req","res","next","paramValue","params","undefined","status","send","convertedValue","isTypeormMode","container","resolve","DITokens","validateIdAsType","toLowerCase","parseInt","isNaN","isString","validateInput","id","idRulesV2","e","local"],"mappings":";;;;;;;;;;;IAOaA,SAAS;eAATA;;IAEAC,OAAO;eAAPA;;IAHAC,QAAQ;eAARA;;IAEAC,WAAW;eAAXA;;;iCAPY;4BACK;mCACJ;wBACD;AAElB,MAAMD,WAAW,CAACE,YAAsBC,qBAAqBD,WAAWE;AACxE,MAAMN,YAAY,CAACI,YAAsBC,qBAAqBD,WAAWG;AACzE,MAAMJ,cAAc,CAACC,YAAsBC,qBAAqBD,WAAWI;AAC3E,MAAMP,UAAU,CAACG,YAAsBC,qBAAqBD,WAAW;AAE9E,SAASC,qBACPD,SAAiB,EACjBK,IAAuE;IAEvE,OAAO,OAAOC,KAAgDC,KAAeC;QAC3E,MAAMC,aAAaH,IAAII,MAAM,CAACV,UAAU;QAExC,IAAIS,eAAeE,WAAW;YAC5B,OAAOJ,IAAIK,MAAM,CAAC,KAAKC,IAAI,CAAC,CAAC,mBAAmB,EAAEb,WAAW;QAC/D;QAEA,IAAIc;QAGJ,MAAMC,gBAAgBT,IAAIU,SAAS,EAAEC,QAAQC,yBAAQ,CAACH,aAAa;QACnE,IAAII,mBAAmB;QACvB,IAAId,SAAS,MAAM;YACjBc,mBAAmBJ,gBAAgBb,SAASE;QAC9C;QAEA,IAAIC,SAASF,SAAS;YACpB,IAAIM,WAAWW,WAAW,OAAO,QAAQ;gBACvCN,iBAAiB;YACnB,OAAO,IAAIL,WAAWW,WAAW,OAAO,SAAS;gBAC/CN,iBAAiB;YACnB,OAAO;gBACL,OAAOP,IAAIK,MAAM,CAAC,KAAKC,IAAI,CAAC,CAAC,iBAAiB,EAAEb,WAAW;YAC7D;QACF,OAAO,IAAIK,SAASH,UAAUiB,qBAAqBjB,QAAQ;YACzDY,iBAAiBO,SAASZ,YAAY;YACtC,IAAIa,MAAMR,iBAAiB;gBACzB,OAAOP,IAAIK,MAAM,CAAC,KAAKC,IAAI,CAAC,CAAC,gBAAgB,EAAEb,WAAW;YAC5D;QACF,OAAO,IAAIK,SAASD,UAAUe,qBAAqBf,QAAQ;YACzDU,iBAAiBL;YACjB,IAAI,CAACc,IAAAA,gBAAQ,EAACT,iBAAiB;gBAC7B,OAAOP,IAAIK,MAAM,CAAC,KAAKC,IAAI,CAAC,CAAC,gBAAgB,EAAEb,WAAW;YAC5D;QACF,OAAO;YAEL,OAAOO,IAAIK,MAAM,CAAC,KAAKC,IAAI,CAAC,CAAC,iBAAiB,EAAEb,WAAW;QAC7D;QAGA,IAAImB,qBAAqBf,UAAUe,qBAAqBjB,QAAQ;YAC9D,IAAI;gBACF,MAAMsB,IAAAA,yBAAa,EAAC;oBAAEC,IAAIX;gBAAe,GAAGY,IAAAA,4BAAS,EAACX;YACxD,EAAE,OAAOY,GAAG;gBACV,OAAOnB,KAAKmB;YACd;QACF;QAEArB,IAAIsB,KAAK,GAAGtB,IAAIsB,KAAK,IAAI,CAAC;QAC1BtB,IAAIsB,KAAK,CAAC5B,UAAU,GAAGc;QAEvBN;IACF;AACF"}
@@ -28,7 +28,7 @@ const _authorizationconstants = require("../constants/authorization.constants");
28
28
  function getPassportJwtOptions(settingsStore, configService, jwtFromRequest = _passportjwt.ExtractJwt.fromAuthHeaderAsBearerToken()) {
29
29
  return {
30
30
  jwtFromRequest: jwtFromRequest,
31
- secretOrKeyProvider: async (req, token, done)=>{
31
+ secretOrKeyProvider: async (_req, _token, done)=>{
32
32
  const { jwtSecret } = await settingsStore.getCredentialSettings();
33
33
  return done(null, jwtSecret);
34
34
  },
@@ -42,12 +42,10 @@ function verifyUserCallback(userService) {
42
42
  if (user && user.isVerified && !user.needsPasswordChange) {
43
43
  return done(null, user);
44
44
  }
45
- if (user && user.needsPasswordChange) {
46
- console.log("Needs password change");
45
+ if (user?.needsPasswordChange) {
47
46
  return done(new _runtimeexceptions.AuthenticationError("Password change required", _authorizationconstants.AUTH_ERROR_REASON.PasswordChangeRequired), false);
48
47
  }
49
- if (user && !user?.isVerified) {
50
- console.log("Needs password change");
48
+ if (!user?.isVerified) {
51
49
  return done(new _runtimeexceptions.AuthenticationError("User not verified", _authorizationconstants.AUTH_ERROR_REASON.AccountNotVerified), false);
52
50
  }
53
51
  return done(null, false);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/passport.ts"],"names":["getPassportJwtOptions","initializePassportStrategies","verifyUserCallback","settingsStore","configService","jwtFromRequest","ExtractJwt","fromAuthHeaderAsBearerToken","secretOrKeyProvider","req","token","done","jwtSecret","getCredentialSettings","audience","get","AppConstants","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","issuer","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","userService","jwt_payload","getUser","userId","then","user","isVerified","needsPasswordChange","console","log","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","AccountNotVerified","catch","err","passport","container","resolve","DITokens","opts","use","JwtStrategy","AnonymousStrategy"],"mappings":";;;;;;;;;;;IAmBgBA,qBAAqB;eAArBA;;IA2CAC,4BAA4B;eAA5BA;;IA3BAC,kBAAkB;eAAlBA;;;6BAnC+F;mCACjE;iCACrB;iCACI;mCAQO;wCACF;AAO3B,SAASF,sBACdG,aAA4B,EAC5BC,aAA4B,EAC5BC,iBAAiEC,uBAAU,CAACC,2BAA2B,EAAE;IAEzG,OAAO;QACLF,gBAAgBA;QAChBG,qBAAqB,OAAOC,KAAKC,OAAeC;YAC9C,MAAM,EAAEC,SAAS,EAAE,GAAG,MAAMT,cAAcU,qBAAqB;YAC/D,OAAOF,KAAK,MAAMC;QACpB;QACAE,UAAUV,cAAcW,GAAG,CAACC,6BAAY,CAACC,qBAAqB,EAAED,6BAAY,CAACE,oBAAoB;QACjGC,QAAQf,cAAcW,GAAG,CAACC,6BAAY,CAACI,mBAAmB,EAAEJ,6BAAY,CAACK,kBAAkB;IAC7F;AACF;AAEO,SAASnB,mBAAmBoB,WAAyB;IAC1D,OAAO,SAAUC,WAAgB,EAAEZ,IAAsB;QACvDW,YACGE,OAAO,CAACD,YAAYE,MAAM,EAC1BC,IAAI,CAAC,CAACC;YACL,IAAIA,QAAQA,KAAKC,UAAU,IAAI,CAACD,KAAKE,mBAAmB,EAAE;gBACxD,OAAOlB,KAAK,MAAMgB;YACpB;YACA,IAAIA,QAAQA,KAAKE,mBAAmB,EAAE;gBACpCC,QAAQC,GAAG,CAAC;gBACZ,OAAOpB,KAAK,IAAIqB,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB,GAAG;YAC7G;YACA,IAAIP,QAAQ,CAACA,MAAMC,YAAY;gBAC7BE,QAAQC,GAAG,CAAC;gBACZ,OAAOpB,KAAK,IAAIqB,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACE,kBAAkB,GAAG;YAClG;YAEA,OAAOxB,KAAK,MAAM;QACpB,GACCyB,KAAK,CAAC,CAACC;YACN,IAAIA,KAAK;gBACP,OAAO1B,KAAK0B,KAAK;YACnB;QACF;IACJ;AACF;AAEO,SAASpC,6BAA6BqC,QAAwB,EAAEC,SAA+B;IACpG,MAAMpC,gBAAgBoC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACtC,aAAa;IAC7E,MAAMC,gBAAgBmC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACrC,aAAa;IAC7E,MAAMkB,cAAciB,UAAUC,OAAO,CAAeC,yBAAQ,CAACnB,WAAW;IAExE,MAAMoB,OAAO1C,sBAAsBG,eAAeC,eAAeE,uBAAU,CAACC,2BAA2B;IAEvG+B,SAASK,GAAG,CACV,IAAIC,qBAAW,CAACF,MAAM,SAAUnB,WAAW,EAAEZ,IAAI;QAC/CT,mBAAmBoB,aAAaC,aAAaZ;IAC/C;IAEF2B,SAASK,GAAG,CAAC,IAAIE,2BAAiB;IAClC,OAAOP;AACT"}
1
+ {"version":3,"sources":["../../src/middleware/passport.ts"],"names":["getPassportJwtOptions","initializePassportStrategies","verifyUserCallback","settingsStore","configService","jwtFromRequest","ExtractJwt","fromAuthHeaderAsBearerToken","secretOrKeyProvider","_req","_token","done","jwtSecret","getCredentialSettings","audience","get","AppConstants","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","issuer","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","userService","jwt_payload","getUser","userId","then","user","isVerified","needsPasswordChange","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","AccountNotVerified","catch","err","passport","container","resolve","DITokens","opts","use","JwtStrategy","AnonymousStrategy"],"mappings":";;;;;;;;;;;IAuBgBA,qBAAqB;eAArBA;;IA4CAC,4BAA4B;eAA5BA;;IA5BAC,kBAAkB;eAAlBA;;;6BAjCT;mCACuC;iCACrB;iCACI;mCAQO;wCACF;AAK3B,SAASF,sBACdG,aAA4B,EAC5BC,aAA4B,EAC5BC,iBAAiEC,uBAAU,CAACC,2BAA2B,EAAE;IAEzG,OAAO;QACLF,gBAAgBA;QAChBG,qBAAqB,OAAOC,MAAMC,QAAgBC;YAChD,MAAM,EAAEC,SAAS,EAAE,GAAG,MAAMT,cAAcU,qBAAqB;YAC/D,OAAOF,KAAK,MAAMC;QACpB;QACAE,UAAUV,cAAcW,GAAG,CAACC,6BAAY,CAACC,qBAAqB,EAAED,6BAAY,CAACE,oBAAoB;QACjGC,QAAQf,cAAcW,GAAG,CAACC,6BAAY,CAACI,mBAAmB,EAAEJ,6BAAY,CAACK,kBAAkB;IAC7F;AACF;AAEO,SAASnB,mBAAmBoB,WAAyB;IAC1D,OAAO,SAAUC,WAAgB,EAAEZ,IAAsB;QACvDW,YACGE,OAAO,CAACD,YAAYE,MAAM,EAC1BC,IAAI,CAAC,CAACC;YACL,IAAIA,QAAQA,KAAKC,UAAU,IAAI,CAACD,KAAKE,mBAAmB,EAAE;gBACxD,OAAOlB,KAAK,MAAMgB;YACpB;YACA,IAAIA,MAAME,qBAAqB;gBAC7B,OAAOlB,KACL,IAAImB,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB,GAC5F;YAEJ;YACA,IAAI,CAACL,MAAMC,YAAY;gBACrB,OAAOjB,KAAK,IAAImB,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACE,kBAAkB,GAAG;YAClG;YAEA,OAAOtB,KAAK,MAAM;QACpB,GACCuB,KAAK,CAAC,CAACC;YACN,IAAIA,KAAK;gBACP,OAAOxB,KAAKwB,KAAK;YACnB;QACF;IACJ;AACF;AAEO,SAASlC,6BAA6BmC,QAAwB,EAAEC,SAA0B;IAC/F,MAAMlC,gBAAgBkC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACpC,aAAa;IAC7E,MAAMC,gBAAgBiC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACnC,aAAa;IAC7E,MAAMkB,cAAce,UAAUC,OAAO,CAAeC,yBAAQ,CAACjB,WAAW;IAExE,MAAMkB,OAAOxC,sBAAsBG,eAAeC,eAAeE,uBAAU,CAACC,2BAA2B;IAEvG6B,SAASK,GAAG,CACV,IAAIC,qBAAW,CAACF,MAAM,SAAUjB,WAAgB,EAAEZ,IAAsB;QACtET,mBAAmBoB,aAAaC,aAAaZ;IAC/C;IAEFyB,SAASK,GAAG,CAAC,IAAIE,2BAAiB;IAClC,OAAOP;AACT"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getScopedPrinter", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getScopedPrinter;
9
+ }
10
+ });
11
+ const _printer = require("./printer");
12
+ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
13
+ function getScopedPrinter(req) {
14
+ const errors = [];
15
+ const resolve = (token)=>{
16
+ try {
17
+ const dep = req.container.resolve(token);
18
+ if (!dep) errors.push(`Scoped Dependency '${token}' was not resolved.`);
19
+ return dep;
20
+ } catch {
21
+ throw new _runtimeexceptions.InternalServerException(`Dependency ${token} could not be resolved. Aborted request.`);
22
+ }
23
+ };
24
+ const printerApi = resolve(_printer.printerApiToken);
25
+ const loginDto = resolve(_printer.printerLoginToken);
26
+ const printerDto = resolve(_printer.currentPrinterToken);
27
+ const printerId = resolve(_printer.printerIdToken);
28
+ if (errors.length) throw new _runtimeexceptions.ValidationException(errors);
29
+ return {
30
+ [_printer.printerApiToken]: printerApi,
31
+ [_printer.printerLoginToken]: loginDto,
32
+ [_printer.currentPrinterToken]: printerDto,
33
+ [_printer.printerIdToken]: printerId
34
+ };
35
+ }
36
+
37
+ //# sourceMappingURL=printer-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/printer-resolver.ts"],"names":["getScopedPrinter","req","errors","resolve","token","dep","container","push","InternalServerException","printerApi","printerApiToken","loginDto","printerLoginToken","printerDto","currentPrinterToken","printerId","printerIdToken","length","ValidationException"],"mappings":";;;;+BASgBA;;;eAAAA;;;yBARwE;mCAI3B;AAItD,SAASA,iBAAiBC,GAAY;IAC3C,MAAMC,SAAmB,EAAE;IAE3B,MAAMC,UAAU,CAAIC;QAClB,IAAI;YACF,MAAMC,MAAMJ,IAAIK,SAAS,CAACH,OAAO,CAAIC;YACrC,IAAI,CAACC,KAAKH,OAAOK,IAAI,CAAC,CAAC,mBAAmB,EAAEH,MAAM,mBAAmB,CAAC;YACtE,OAAOC;QACT,EAAE,OAAM;YACN,MAAM,IAAIG,0CAAuB,CAAC,CAAC,WAAW,EAAEJ,MAAM,wCAAwC,CAAC;QACjG;IACF;IAEA,MAAMK,aAAaN,QAAqBO,wBAAe;IACvD,MAAMC,WAAWR,QAAkBS,0BAAiB;IACpD,MAAMC,aAAaV,QAA4BW,4BAAmB;IAClE,MAAMC,YAAYZ,QAAgBa,uBAAc;IAEhD,IAAId,OAAOe,MAAM,EAAE,MAAM,IAAIC,sCAAmB,CAAChB;IAEjD,OAAO;QACL,CAACQ,wBAAe,CAAC,EAAED;QACnB,CAACG,0BAAiB,CAAC,EAAED;QACrB,CAACG,4BAAmB,CAAC,EAAED;QACvB,CAACG,uBAAc,CAAC,EAAED;IACpB;AACF"}
@@ -37,6 +37,7 @@ const printerResolveMiddleware = (key = "id")=>{
37
37
  const printerCache = req.container.resolve(_containertokens.DITokens.printerCache);
38
38
  const settingsService = req.container.resolve(_containertokens.DITokens.settingsStore);
39
39
  const moonrakerEnabled = settingsService.getServerSettings().experimentalMoonrakerSupport;
40
+ const prusaLinkEnabled = settingsService.getServerSettings().experimentalPrusaLinkSupport;
40
41
  let scopedPrinter = undefined;
41
42
  let loginDto = undefined;
42
43
  const printerId = req.params[key];
@@ -48,19 +49,30 @@ const printerResolveMiddleware = (key = "id")=>{
48
49
  [printerLoginToken]: (0, _awilix.asValue)(loginDto),
49
50
  [printerIdToken]: (0, _awilix.asValue)(printerId)
50
51
  });
51
- const octoprintApiInstance = req.container.resolve(_containertokens.DITokens.octoprintApi);
52
52
  switch(scopedPrinter.printerType){
53
53
  case _printerapiinterface.OctoprintType:
54
- req.container.register({
55
- [printerApiToken]: (0, _awilix.asValue)(octoprintApiInstance)
56
- });
57
- break;
54
+ {
55
+ const octoprintApiInstance = req.container.resolve(_containertokens.DITokens.octoprintApi);
56
+ req.container.register({
57
+ [printerApiToken]: (0, _awilix.asValue)(octoprintApiInstance)
58
+ });
59
+ break;
60
+ }
58
61
  case _printerapiinterface.MoonrakerType:
59
- const moonrakerInstance = req.container.resolve(_containertokens.DITokens.moonrakerApi);
60
- req.container.register({
61
- [printerApiToken]: moonrakerEnabled ? (0, _awilix.asValue)(moonrakerInstance) : (0, _awilix.asValue)(undefined)
62
- });
63
- break;
62
+ {
63
+ const moonrakerInstance = req.container.resolve(_containertokens.DITokens.moonrakerApi);
64
+ req.container.register({
65
+ [printerApiToken]: moonrakerEnabled ? (0, _awilix.asValue)(moonrakerInstance) : (0, _awilix.asValue)(undefined)
66
+ });
67
+ break;
68
+ }
69
+ case _printerapiinterface.PrusaLinkType:
70
+ {
71
+ const prusaLinkInstance = req.container.resolve(_containertokens.DITokens.prusaLinkApi);
72
+ req.container.register({
73
+ [printerApiToken]: prusaLinkEnabled ? (0, _awilix.asValue)(prusaLinkInstance) : (0, _awilix.asValue)(undefined)
74
+ });
75
+ }
64
76
  }
65
77
  } else {
66
78
  req.container.register({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/printer.ts"],"names":["currentPrinterToken","printerApiToken","printerIdToken","printerLoginToken","printerResolveMiddleware","key","req","res","next","printerCache","container","resolve","DITokens","settingsService","settingsStore","moonrakerEnabled","getServerSettings","experimentalMoonrakerSupport","scopedPrinter","undefined","loginDto","printerId","params","getCachedPrinterOrThrow","getLoginDto","register","asValue","octoprintApiInstance","octoprintApi","printerType","OctoprintType","MoonrakerType","moonrakerInstance","moonrakerApi"],"mappings":";;;;;;;;;;;IAWaA,mBAAmB;eAAnBA;;IADAC,eAAe;eAAfA;;IADAC,cAAc;eAAdA;;IAGAC,iBAAiB;eAAjBA;;IAEAC,wBAAwB;eAAxBA;;;wBAdW;iCACC;qCAIoB;AAItC,MAAMF,iBAAiB;AACvB,MAAMD,kBAAkB;AACxB,MAAMD,sBAAsB;AAC5B,MAAMG,oBAAoB;AAE1B,MAAMC,2BAA2B,CAACC,MAAM,IAAI;IACjD,OAAO,CAACC,KAAcC,KAAeC;QACnC,MAAMC,eAAeH,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACH,YAAY;QAC9E,MAAMI,kBAAkBP,IAAII,SAAS,CAACC,OAAO,CAAMC,yBAAQ,CAACE,aAAa;QACzE,MAAMC,mBAAmBF,gBAAgBG,iBAAiB,GAAGC,4BAA4B;QAEzF,IAAIC,gBAAgBC;QACpB,IAAIC,WAAWD;QAEf,MAAME,YAAYf,IAAIgB,MAAM,CAACjB,IAAI;QACjC,IAAIgB,WAAW;YACbH,gBAAgBT,aAAac,uBAAuB,CAACF;YACrDD,WAAWX,aAAae,WAAW,CAACH;YAEpCf,IAAII,SAAS,CAACe,QAAQ,CAAC;gBACrB,CAACzB,oBAAoB,EAAE0B,IAAAA,eAAO,EAACR;gBAC/B,CAACf,kBAAkB,EAAEuB,IAAAA,eAAO,EAACN;gBAC7B,CAAClB,eAAe,EAAEwB,IAAAA,eAAO,EAACL;YAC5B;YAEA,MAAMM,uBAAuBrB,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACgB,YAAY;YACtF,OAAQV,cAAcW,WAAW;gBAC/B,KAAKC,kCAAa;oBAChBxB,IAAII,SAAS,CAACe,QAAQ,CAAC;wBACrB,CAACxB,gBAAgB,EAAEyB,IAAAA,eAAO,EAACC;oBAC7B;oBACA;gBACF,KAAKI,kCAAa;oBAChB,MAAMC,oBAAoB1B,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACqB,YAAY;oBACnF3B,IAAII,SAAS,CAACe,QAAQ,CAAC;wBACrB,CAACxB,gBAAgB,EAAEc,mBAAmBW,IAAAA,eAAO,EAACM,qBAAqBN,IAAAA,eAAO,EAACP;oBAC7E;oBACA;YACJ;QACF,OAAO;YACLb,IAAII,SAAS,CAACe,QAAQ,CAAC;gBACrB,CAACzB,oBAAoB,EAAE0B,IAAAA,eAAO,EAACP;gBAC/B,CAAChB,kBAAkB,EAAEuB,IAAAA,eAAO,EAACP;gBAC7B,CAACjB,eAAe,EAAEwB,IAAAA,eAAO,EAACP;gBAC1B,CAAClB,gBAAgB,EAAEyB,IAAAA,eAAO,EAACP;YAC7B;QACF;QAEAX;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/middleware/printer.ts"],"names":["currentPrinterToken","printerApiToken","printerIdToken","printerLoginToken","printerResolveMiddleware","key","req","res","next","printerCache","container","resolve","DITokens","settingsService","settingsStore","moonrakerEnabled","getServerSettings","experimentalMoonrakerSupport","prusaLinkEnabled","experimentalPrusaLinkSupport","scopedPrinter","undefined","loginDto","printerId","params","getCachedPrinterOrThrow","getLoginDto","register","asValue","printerType","OctoprintType","octoprintApiInstance","octoprintApi","MoonrakerType","moonrakerInstance","moonrakerApi","PrusaLinkType","prusaLinkInstance","prusaLinkApi"],"mappings":";;;;;;;;;;;IAYaA,mBAAmB;eAAnBA;;IADAC,eAAe;eAAfA;;IADAC,cAAc;eAAdA;;IAGAC,iBAAiB;eAAjBA;;IAEAC,wBAAwB;eAAxBA;;;wBAfW;iCACC;qCAImC;AAKrD,MAAMF,iBAAiB;AACvB,MAAMD,kBAAkB;AACxB,MAAMD,sBAAsB;AAC5B,MAAMG,oBAAoB;AAE1B,MAAMC,2BAA2B,CAACC,MAAM,IAAI;IACjD,OAAO,CAACC,KAAcC,KAAeC;QACnC,MAAMC,eAAeH,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACH,YAAY;QAC9E,MAAMI,kBAAkBP,IAAII,SAAS,CAACC,OAAO,CAAMC,yBAAQ,CAACE,aAAa;QACzE,MAAMC,mBAAmBF,gBAAgBG,iBAAiB,GAAGC,4BAA4B;QACzF,MAAMC,mBAAmBL,gBAAgBG,iBAAiB,GAAGG,4BAA4B;QAEzF,IAAIC,gBAAgBC;QACpB,IAAIC,WAAWD;QAEf,MAAME,YAAYjB,IAAIkB,MAAM,CAACnB,IAAI;QACjC,IAAIkB,WAAW;YACbH,gBAAgBX,aAAagB,uBAAuB,CAACF;YACrDD,WAAWb,aAAaiB,WAAW,CAACH;YAEpCjB,IAAII,SAAS,CAACiB,QAAQ,CAAC;gBACrB,CAAC3B,oBAAoB,EAAE4B,IAAAA,eAAO,EAACR;gBAC/B,CAACjB,kBAAkB,EAAEyB,IAAAA,eAAO,EAACN;gBAC7B,CAACpB,eAAe,EAAE0B,IAAAA,eAAO,EAACL;YAC5B;YAEA,OAAQH,cAAcS,WAAW;gBAC/B,KAAKC,kCAAa;oBAAE;wBAClB,MAAMC,uBAAuBzB,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACoB,YAAY;wBACtF1B,IAAII,SAAS,CAACiB,QAAQ,CAAC;4BACrB,CAAC1B,gBAAgB,EAAE2B,IAAAA,eAAO,EAACG;wBAC7B;wBACA;oBACF;gBACA,KAAKE,kCAAa;oBAAE;wBAClB,MAAMC,oBAAoB5B,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAACuB,YAAY;wBACnF7B,IAAII,SAAS,CAACiB,QAAQ,CAAC;4BACrB,CAAC1B,gBAAgB,EAAEc,mBAAmBa,IAAAA,eAAO,EAACM,qBAAqBN,IAAAA,eAAO,EAACP;wBAC7E;wBACA;oBACF;gBACA,KAAKe,kCAAa;oBAAE;wBAClB,MAAMC,oBAAoB/B,IAAII,SAAS,CAACC,OAAO,CAAeC,yBAAQ,CAAC0B,YAAY;wBACnFhC,IAAII,SAAS,CAACiB,QAAQ,CAAC;4BACrB,CAAC1B,gBAAgB,EAAEiB,mBAAmBU,IAAAA,eAAO,EAACS,qBAAqBT,IAAAA,eAAO,EAACP;wBAC7E;oBACF;YACF;QACF,OAAO;YACLf,IAAII,SAAS,CAACiB,QAAQ,CAAC;gBACrB,CAAC3B,oBAAoB,EAAE4B,IAAAA,eAAO,EAACP;gBAC/B,CAAClB,kBAAkB,EAAEyB,IAAAA,eAAO,EAACP;gBAC7B,CAACnB,eAAe,EAAE0B,IAAAA,eAAO,EAACP;gBAC1B,CAACpB,gBAAgB,EAAE2B,IAAAA,eAAO,EAACP;YAC7B;QACF;QAEAb;IACF;AACF"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "authorize", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return authorize;
9
+ }
10
+ });
11
+ const _passportjwt = require("passport-jwt");
12
+ const authorize = (settingsStore, options, verify)=>{
13
+ const strategy = new _passportjwt.Strategy(options, verify);
14
+ return async function authorizeCallback(socket, next) {
15
+ if (!await settingsStore.getLoginRequired()) {
16
+ return next();
17
+ }
18
+ strategy.success = function success(_user) {
19
+ next();
20
+ };
21
+ strategy.fail = (info)=>next(new Error(info));
22
+ strategy.error = (error)=>next(error);
23
+ strategy.authenticate(socket, {});
24
+ };
25
+ };
26
+
27
+ //# sourceMappingURL=socketio.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/socketio.middleware.ts"],"names":["authorize","settingsStore","options","verify","strategy","PassportJwtStrategy","authorizeCallback","socket","next","getLoginRequired","success","_user","fail","info","Error","error","authenticate"],"mappings":";;;;+BAOaA;;;eAAAA;;;6BANkF;AAMxF,MAAMA,YAAY,CACvBC,eACAC,SACAC;IAEA,MAAMC,WAAW,IAAIC,qBAAmB,CAACH,SAASC;IAElD,OAAO,eAAeG,kBACpBC,MAAkD,EAClDC,IAAmC;QAEnC,IAAI,CAAE,MAAMP,cAAcQ,gBAAgB,IAAK;YAE7C,OAAOD;QACT;QAEAJ,SAASM,OAAO,GAAG,SAASA,QAAQC,KAAY;YAG9CH;QACF;QACAJ,SAASQ,IAAI,GAAG,CAACC,OAASL,KAAK,IAAIM,MAAMD;QACzCT,SAASW,KAAK,GAAG,CAACA,QAAUP,KAAKO;QAEjCX,SAASY,YAAY,CAACT,QAAe,CAAC;IACxC;AACF"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "InitSqlite1706829146617", {
9
9
  }
10
10
  });
11
11
  class InitSqlite1706829146617 {
12
- name = 'InitSqlite1706829146617';
12
+ name = "InitSqlite1706829146617";
13
13
  async up(queryRunner) {
14
14
  await queryRunner.query(`
15
15
  CREATE TABLE "print_completion" (
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/migrations/1706829146617-InitSqlite.ts"],"names":["InitSqlite1706829146617","name","up","queryRunner","query","down"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/migrations/1706829146617-InitSqlite.ts"],"names":["InitSqlite1706829146617","name","up","queryRunner","query","down"],"mappings":"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"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "PrinterGroup1707494762198", {
9
9
  }
10
10
  });
11
11
  class PrinterGroup1707494762198 {
12
- name = 'PrinterGroup1707494762198';
12
+ name = "PrinterGroup1707494762198";
13
13
  async up(queryRunner) {
14
14
  await queryRunner.query(`
15
15
  CREATE TABLE "group" (
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/migrations/1707494762198-PrinterGroup.ts"],"names":["PrinterGroup1707494762198","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,4BAA2B;IAElC,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;QASzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
1
+ {"version":3,"sources":["../../src/migrations/1707494762198-PrinterGroup.ts"],"names":["PrinterGroup1707494762198","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACXC,OAAO,4BAA4B;IAEnC,MAAaC,GAAGC,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;QAKrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;QASrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;IACP;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACzD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;QAOrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;IACP;AACF"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "ChangePrintCompletionDeletePrinterCascade1708465
9
9
  }
10
10
  });
11
11
  class ChangePrintCompletionDeletePrinterCascade1708465930665 {
12
- name = 'ChangePrintCompletionDeletePrinterCascade1708465930665';
12
+ name = "ChangePrintCompletionDeletePrinterCascade1708465930665";
13
13
  async up(queryRunner) {
14
14
  await queryRunner.query(`
15
15
  CREATE TABLE "temporary_print_completion" (
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.ts"],"names":["ChangePrintCompletionDeletePrinterCascade1708465930665","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,yDAAwD;IAE/D,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;QAYzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;QAazB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
1
+ {"version":3,"sources":["../../src/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.ts"],"names":["ChangePrintCompletionDeletePrinterCascade1708465930665","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACXC,OAAO,yDAAyD;IAEhE,MAAaC,GAAGC,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;QAYrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;IACP;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACzD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;QAWrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;QAarB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;QAoBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;IACP;AACF"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "AddPrinterType1713897879622", {
9
9
  }
10
10
  });
11
11
  class AddPrinterType1713897879622 {
12
- name = 'AddPrinterType1713897879622';
12
+ name = "AddPrinterType1713897879622";
13
13
  async up(queryRunner) {
14
14
  await queryRunner.query(`
15
15
  CREATE TABLE "temporary_role" (
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/migrations/1713897879622-AddPrinterType.ts"],"names":["AddPrinterType1713897879622","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,8BAA6B;IAEpC,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;QAczB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;QAazB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
1
+ {"version":3,"sources":["../../src/migrations/1713897879622-AddPrinterType.ts"],"names":["AddPrinterType1713897879622","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACXC,OAAO,8BAA8B;IAErC,MAAaC,GAAGC,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;QAcrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;IACP;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACzD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;QAarB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;QAMrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;QAKrB,CAAC;QACL,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAErB,CAAC;IACP;AACF"}