@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
@@ -2,18 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
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
- SettingsController: function() {
5
+ Object.defineProperty(exports, "SettingsController", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return SettingsController;
14
- },
15
- default: function() {
16
- return _default;
17
9
  }
18
10
  });
19
11
  const _awilixexpress = require("awilix-express");
@@ -22,26 +14,40 @@ const _serverconstants = require("../server.constants");
22
14
  const _authorizationconstants = require("../constants/authorization.constants");
23
15
  const _validators = require("../handlers/validators");
24
16
  const _settingsservicevalidation = require("../services/validators/settings-service.validation");
17
+ const _settingsstore = require("../state/settings.store");
18
+ const _express = require("express");
19
+ const _loggerfactory = require("../handlers/logger-factory");
25
20
  const _demomiddleware = require("../middleware/demo.middleware");
21
+ const _printercache = require("../state/printer.cache");
26
22
  const _printerapiinterface = require("../services/printer-api.interface");
23
+ const _printerserviceinterface = require("../services/interfaces/printer.service.interface");
24
+ const _printerthumbnailcache = require("../state/printer-thumbnail.cache");
25
+ const _settingvalidation = require("./validation/setting.validation");
26
+ function _ts_decorate(decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ }
32
+ function _ts_metadata(k, v) {
33
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
+ }
27
35
  class SettingsController {
28
- settingsStore;
29
- logger;
36
+ serverVersion;
30
37
  printerCache;
31
38
  printerService;
32
- configService;
33
- serverVersion;
39
+ settingsStore;
34
40
  printerThumbnailCache;
35
- constructor({ settingsStore, printerCache, printerService, serverVersion, loggerFactory, configService, printerThumbnailCache }){
36
- this.settingsStore = settingsStore;
37
- this.logger = loggerFactory(SettingsController.name);
41
+ logger;
42
+ constructor(loggerFactory, serverVersion, printerCache, printerService, settingsStore, printerThumbnailCache){
38
43
  this.serverVersion = serverVersion;
39
- this.configService = configService;
40
44
  this.printerCache = printerCache;
41
45
  this.printerService = printerService;
46
+ this.settingsStore = settingsStore;
42
47
  this.printerThumbnailCache = printerThumbnailCache;
48
+ this.logger = loggerFactory(SettingsController.name);
43
49
  }
44
- getSettings(req, res) {
50
+ async getSettings(req, res) {
45
51
  let connection;
46
52
  try {
47
53
  connection = {
@@ -62,12 +68,12 @@ class SettingsController {
62
68
  res.send(settings);
63
69
  }
64
70
  async updateSentryDiagnosticsEnabled(req, res) {
65
- const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.sentryDiagnosticsEnabledRules);
71
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.sentryDiagnosticsEnabledSchema);
66
72
  const result = this.settingsStore.setSentryDiagnosticsEnabled(enabled);
67
73
  res.send(result);
68
74
  }
69
75
  async updateMoonrakerSupport(req, res) {
70
- const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.moonrakerSupportRules);
76
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.moonrakerSupportSchema);
71
77
  const result = await this.settingsStore.setExperimentalMoonrakerSupport(enabled);
72
78
  if (!enabled) {
73
79
  const printers = await this.printerCache.listCachedPrinters(false);
@@ -78,8 +84,20 @@ class SettingsController {
78
84
  }
79
85
  res.send(result);
80
86
  }
87
+ async updatePrusaLinkSupport(req, res) {
88
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.prusaLinkSupportSchema);
89
+ const result = await this.settingsStore.setExperimentalPrusaLinkSupport(enabled);
90
+ if (!enabled) {
91
+ const printers = await this.printerCache.listCachedPrinters(false);
92
+ const prusaLinkPrinters = printers.filter((p)=>p.printerType === _printerapiinterface.PrusaLinkType);
93
+ for (const printer of prusaLinkPrinters){
94
+ await this.printerService.updateEnabled(printer.id, false);
95
+ }
96
+ }
97
+ res.send(result);
98
+ }
81
99
  async updateThumbnailSupport(req, res) {
82
- const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.thumbnailSupportRules);
100
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.thumbnailSupportSchema);
83
101
  const result = await this.settingsStore.setExperimentalThumbnailSupport(enabled);
84
102
  if (enabled) {
85
103
  await this.printerThumbnailCache.loadCache();
@@ -89,128 +107,253 @@ class SettingsController {
89
107
  res.send(result);
90
108
  }
91
109
  async updateClientSupport(req, res) {
92
- const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.clientNextRules);
110
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.clientNextSchema);
93
111
  const result = await this.settingsStore.setExperimentalClientSupport(enabled);
94
112
  res.send(result);
95
113
  }
96
114
  async updateFrontendSettings(req, res) {
97
- const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.frontendSettingsUpdateRules);
115
+ const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.frontendSettingsUpdateSchema);
98
116
  const result = await this.settingsStore.updateFrontendSettings(validatedInput);
99
117
  res.send(result);
100
118
  }
101
- async updateServerSettings(req, res) {
102
- const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.serverSettingsUpdateRules);
103
- const result = await this.settingsStore.updateServerSettings(validatedInput);
104
- res.send(result);
105
- }
106
119
  async updateLoginRequiredSettings(req, res) {
107
- const { loginRequired } = await (0, _validators.validateInput)(req.body, {
108
- loginRequired: "required|boolean"
109
- });
120
+ const { loginRequired } = await (0, _validators.validateInput)(req.body, _settingvalidation.loginRequiredSchema);
110
121
  const result = await this.settingsStore.setLoginRequired(loginRequired);
111
122
  res.send(result);
112
123
  }
113
124
  async updateRegistrationEnabledSettings(req, res) {
114
- const { registrationEnabled } = await (0, _validators.validateInput)(req.body, {
115
- registrationEnabled: "required|boolean"
116
- });
125
+ const { registrationEnabled } = await (0, _validators.validateInput)(req.body, _settingvalidation.registrationEnabledSchema);
117
126
  const result = await this.settingsStore.setRegistrationEnabled(registrationEnabled);
118
127
  res.send(result);
119
128
  }
120
129
  async updateCredentialSettings(req, res) {
121
- const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.credentialSettingPatchRules);
130
+ const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.credentialSettingUpdateSchema);
122
131
  await this.settingsStore.updateCredentialSettings(validatedInput);
123
132
  res.send();
124
133
  }
125
134
  async updateFileCleanSettings(req, res) {
126
- const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.fileCleanSettingsUpdateRules);
127
- const result = await this.settingsStore.patchFileCleanSettings(validatedInput);
135
+ const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.fileCleanSettingsUpdateSchema);
136
+ const result = await this.settingsStore.updateFileCleanSettings(validatedInput);
128
137
  res.send(result);
129
138
  }
130
139
  async updateTimeoutSettings(req, res) {
131
- const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.timeoutSettingsUpdateRules);
140
+ const validatedInput = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.timeoutSettingsUpdateSchema);
132
141
  const result = await this.settingsStore.updateTimeoutSettings(validatedInput);
133
142
  res.send(result);
134
143
  }
135
144
  }
136
- const _default = (0, _awilixexpress.createController)(SettingsController).prefix(_serverconstants.AppConstants.apiRoute + "/settings").before([
137
- (0, _authenticate.authenticate)()
138
- ]).get("/", "getSettings").get("/sensitive", "getSettingsSensitive", {
139
- before: [
145
+ _ts_decorate([
146
+ (0, _awilixexpress.GET)(),
147
+ (0, _awilixexpress.route)("/"),
148
+ _ts_metadata("design:type", Function),
149
+ _ts_metadata("design:paramtypes", [
150
+ typeof _express.Request === "undefined" ? Object : _express.Request,
151
+ typeof _express.Response === "undefined" ? Object : _express.Response
152
+ ]),
153
+ _ts_metadata("design:returntype", Promise)
154
+ ], SettingsController.prototype, "getSettings", null);
155
+ _ts_decorate([
156
+ (0, _awilixexpress.GET)(),
157
+ (0, _awilixexpress.route)("/sensitive"),
158
+ (0, _awilixexpress.before)([
140
159
  (0, _authenticate.authorizeRoles)([
141
160
  _authorizationconstants.ROLES.ADMIN
142
161
  ]),
143
162
  _demomiddleware.demoUserNotAllowed
144
- ]
145
- }).patch("/sentry-diagnostics", "updateSentryDiagnosticsEnabled", _demomiddleware.demoUserNotAllowedInterceptor).put("/experimental-moonraker-support", "updateMoonrakerSupport", {
146
- before: [
163
+ ]),
164
+ _ts_metadata("design:type", Function),
165
+ _ts_metadata("design:paramtypes", [
166
+ typeof _express.Request === "undefined" ? Object : _express.Request,
167
+ typeof _express.Response === "undefined" ? Object : _express.Response
168
+ ]),
169
+ _ts_metadata("design:returntype", Promise)
170
+ ], SettingsController.prototype, "getSettingsSensitive", null);
171
+ _ts_decorate([
172
+ (0, _awilixexpress.PATCH)(),
173
+ (0, _awilixexpress.route)("/sentry-diagnostics"),
174
+ (0, _awilixexpress.before)([
175
+ _demomiddleware.demoUserNotAllowed
176
+ ]),
177
+ _ts_metadata("design:type", Function),
178
+ _ts_metadata("design:paramtypes", [
179
+ typeof _express.Request === "undefined" ? Object : _express.Request,
180
+ typeof _express.Response === "undefined" ? Object : _express.Response
181
+ ]),
182
+ _ts_metadata("design:returntype", Promise)
183
+ ], SettingsController.prototype, "updateSentryDiagnosticsEnabled", null);
184
+ _ts_decorate([
185
+ (0, _awilixexpress.PUT)(),
186
+ (0, _awilixexpress.route)("/experimental-moonraker-support"),
187
+ (0, _awilixexpress.before)([
147
188
  (0, _authenticate.authorizeRoles)([
148
189
  _authorizationconstants.ROLES.ADMIN
149
190
  ]),
150
191
  _demomiddleware.demoUserNotAllowed
151
- ]
152
- }).put("/experimental-thumbnail-support", "updateThumbnailSupport", {
153
- before: [
192
+ ]),
193
+ _ts_metadata("design:type", Function),
194
+ _ts_metadata("design:paramtypes", [
195
+ typeof _express.Request === "undefined" ? Object : _express.Request,
196
+ typeof _express.Response === "undefined" ? Object : _express.Response
197
+ ]),
198
+ _ts_metadata("design:returntype", Promise)
199
+ ], SettingsController.prototype, "updateMoonrakerSupport", null);
200
+ _ts_decorate([
201
+ (0, _awilixexpress.PUT)(),
202
+ (0, _awilixexpress.route)("/experimental-prusa-link-support"),
203
+ (0, _awilixexpress.before)([
154
204
  (0, _authenticate.authorizeRoles)([
155
205
  _authorizationconstants.ROLES.ADMIN
156
206
  ]),
157
207
  _demomiddleware.demoUserNotAllowed
158
- ]
159
- }).put("/experimental-client-support", "updateClientSupport", {
160
- before: [
208
+ ]),
209
+ _ts_metadata("design:type", Function),
210
+ _ts_metadata("design:paramtypes", [
211
+ typeof _express.Request === "undefined" ? Object : _express.Request,
212
+ typeof _express.Response === "undefined" ? Object : _express.Response
213
+ ]),
214
+ _ts_metadata("design:returntype", Promise)
215
+ ], SettingsController.prototype, "updatePrusaLinkSupport", null);
216
+ _ts_decorate([
217
+ (0, _awilixexpress.PUT)(),
218
+ (0, _awilixexpress.route)("/experimental-thumbnail-support"),
219
+ (0, _awilixexpress.before)([
161
220
  (0, _authenticate.authorizeRoles)([
162
221
  _authorizationconstants.ROLES.ADMIN
163
222
  ]),
164
223
  _demomiddleware.demoUserNotAllowed
165
- ]
166
- }).put("/server", "updateServerSettings", {
167
- before: [
224
+ ]),
225
+ _ts_metadata("design:type", Function),
226
+ _ts_metadata("design:paramtypes", [
227
+ typeof _express.Request === "undefined" ? Object : _express.Request,
228
+ typeof _express.Response === "undefined" ? Object : _express.Response
229
+ ]),
230
+ _ts_metadata("design:returntype", Promise)
231
+ ], SettingsController.prototype, "updateThumbnailSupport", null);
232
+ _ts_decorate([
233
+ (0, _awilixexpress.PUT)(),
234
+ (0, _awilixexpress.route)("/experimental-client-support"),
235
+ (0, _awilixexpress.before)([
168
236
  (0, _authenticate.authorizeRoles)([
169
237
  _authorizationconstants.ROLES.ADMIN
170
238
  ]),
171
239
  _demomiddleware.demoUserNotAllowed
172
- ]
173
- }).put("/login-required", "updateLoginRequiredSettings", {
174
- before: [
240
+ ]),
241
+ _ts_metadata("design:type", Function),
242
+ _ts_metadata("design:paramtypes", [
243
+ typeof _express.Request === "undefined" ? Object : _express.Request,
244
+ typeof _express.Response === "undefined" ? Object : _express.Response
245
+ ]),
246
+ _ts_metadata("design:returntype", Promise)
247
+ ], SettingsController.prototype, "updateClientSupport", null);
248
+ _ts_decorate([
249
+ (0, _awilixexpress.PUT)(),
250
+ (0, _awilixexpress.route)("/frontend"),
251
+ (0, _awilixexpress.before)([
175
252
  (0, _authenticate.authorizeRoles)([
176
253
  _authorizationconstants.ROLES.ADMIN
177
- ]),
178
- _demomiddleware.demoUserNotAllowed
179
- ]
180
- }).put("/registration-enabled", "updateRegistrationEnabledSettings", {
181
- before: [
254
+ ])
255
+ ]),
256
+ _ts_metadata("design:type", Function),
257
+ _ts_metadata("design:paramtypes", [
258
+ typeof _express.Request === "undefined" ? Object : _express.Request,
259
+ typeof _express.Response === "undefined" ? Object : _express.Response
260
+ ]),
261
+ _ts_metadata("design:returntype", Promise)
262
+ ], SettingsController.prototype, "updateFrontendSettings", null);
263
+ _ts_decorate([
264
+ (0, _awilixexpress.PUT)(),
265
+ (0, _awilixexpress.route)("/login-required"),
266
+ (0, _awilixexpress.before)([
182
267
  (0, _authenticate.authorizeRoles)([
183
268
  _authorizationconstants.ROLES.ADMIN
184
269
  ]),
185
270
  _demomiddleware.demoUserNotAllowed
186
- ]
187
- }).put("/credential", "updateCredentialSettings", {
188
- before: [
271
+ ]),
272
+ _ts_metadata("design:type", Function),
273
+ _ts_metadata("design:paramtypes", [
274
+ typeof _express.Request === "undefined" ? Object : _express.Request,
275
+ typeof _express.Response === "undefined" ? Object : _express.Response
276
+ ]),
277
+ _ts_metadata("design:returntype", Promise)
278
+ ], SettingsController.prototype, "updateLoginRequiredSettings", null);
279
+ _ts_decorate([
280
+ (0, _awilixexpress.PUT)(),
281
+ (0, _awilixexpress.route)("/registration-enabled"),
282
+ (0, _awilixexpress.before)([
189
283
  (0, _authenticate.authorizeRoles)([
190
284
  _authorizationconstants.ROLES.ADMIN
191
285
  ]),
192
286
  _demomiddleware.demoUserNotAllowed
193
- ]
194
- }).put("/file-clean", "updateFileCleanSettings", {
195
- before: [
287
+ ]),
288
+ _ts_metadata("design:type", Function),
289
+ _ts_metadata("design:paramtypes", [
290
+ typeof _express.Request === "undefined" ? Object : _express.Request,
291
+ typeof _express.Response === "undefined" ? Object : _express.Response
292
+ ]),
293
+ _ts_metadata("design:returntype", Promise)
294
+ ], SettingsController.prototype, "updateRegistrationEnabledSettings", null);
295
+ _ts_decorate([
296
+ (0, _awilixexpress.PUT)(),
297
+ (0, _awilixexpress.route)("/credential"),
298
+ (0, _awilixexpress.before)([
196
299
  (0, _authenticate.authorizeRoles)([
197
300
  _authorizationconstants.ROLES.ADMIN
198
301
  ]),
199
302
  _demomiddleware.demoUserNotAllowed
200
- ]
201
- }).put("/frontend", "updateFrontendSettings", {
202
- before: [
303
+ ]),
304
+ _ts_metadata("design:type", Function),
305
+ _ts_metadata("design:paramtypes", [
306
+ typeof _express.Request === "undefined" ? Object : _express.Request,
307
+ typeof _express.Response === "undefined" ? Object : _express.Response
308
+ ]),
309
+ _ts_metadata("design:returntype", Promise)
310
+ ], SettingsController.prototype, "updateCredentialSettings", null);
311
+ _ts_decorate([
312
+ (0, _awilixexpress.PUT)(),
313
+ (0, _awilixexpress.route)("/file-clean"),
314
+ (0, _awilixexpress.before)([
203
315
  (0, _authenticate.authorizeRoles)([
204
316
  _authorizationconstants.ROLES.ADMIN
205
- ])
206
- ]
207
- }).put("/timeout", "updateTimeoutSettings", {
208
- before: [
317
+ ]),
318
+ _demomiddleware.demoUserNotAllowed
319
+ ]),
320
+ _ts_metadata("design:type", Function),
321
+ _ts_metadata("design:paramtypes", [
322
+ typeof _express.Request === "undefined" ? Object : _express.Request,
323
+ typeof _express.Response === "undefined" ? Object : _express.Response
324
+ ]),
325
+ _ts_metadata("design:returntype", Promise)
326
+ ], SettingsController.prototype, "updateFileCleanSettings", null);
327
+ _ts_decorate([
328
+ (0, _awilixexpress.PUT)(),
329
+ (0, _awilixexpress.route)("/timeout"),
330
+ (0, _awilixexpress.before)([
209
331
  (0, _authenticate.authorizeRoles)([
210
332
  _authorizationconstants.ROLES.ADMIN
211
333
  ]),
212
334
  _demomiddleware.demoUserNotAllowed
213
- ]
214
- });
335
+ ]),
336
+ _ts_metadata("design:type", Function),
337
+ _ts_metadata("design:paramtypes", [
338
+ typeof _express.Request === "undefined" ? Object : _express.Request,
339
+ typeof _express.Response === "undefined" ? Object : _express.Response
340
+ ]),
341
+ _ts_metadata("design:returntype", Promise)
342
+ ], SettingsController.prototype, "updateTimeoutSettings", null);
343
+ SettingsController = _ts_decorate([
344
+ (0, _awilixexpress.route)(_serverconstants.AppConstants.apiRoute + "/settings"),
345
+ (0, _awilixexpress.before)([
346
+ (0, _authenticate.authenticate)()
347
+ ]),
348
+ _ts_metadata("design:type", Function),
349
+ _ts_metadata("design:paramtypes", [
350
+ typeof _loggerfactory.ILoggerFactory === "undefined" ? Object : _loggerfactory.ILoggerFactory,
351
+ String,
352
+ typeof _printercache.PrinterCache === "undefined" ? Object : _printercache.PrinterCache,
353
+ typeof _printerserviceinterface.IPrinterService === "undefined" ? Object : _printerserviceinterface.IPrinterService,
354
+ typeof _settingsstore.SettingsStore === "undefined" ? Object : _settingsstore.SettingsStore,
355
+ typeof _printerthumbnailcache.PrinterThumbnailCache === "undefined" ? Object : _printerthumbnailcache.PrinterThumbnailCache
356
+ ])
357
+ ], SettingsController);
215
358
 
216
359
  //# sourceMappingURL=settings.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","settingsStore","logger","printerCache","printerService","configService","serverVersion","printerThumbnailCache","constructor","loggerFactory","name","getSettings","req","res","connection","clientIp","socket","remoteAddress","version","e","warn","settings","send","getSettingsSensitive","updateSentryDiagnosticsEnabled","enabled","validateInput","body","sentryDiagnosticsEnabledRules","result","setSentryDiagnosticsEnabled","updateMoonrakerSupport","moonrakerSupportRules","setExperimentalMoonrakerSupport","printers","listCachedPrinters","klipperPrinters","filter","p","printerType","MoonrakerType","printer","updateEnabled","id","updateThumbnailSupport","thumbnailSupportRules","setExperimentalThumbnailSupport","loadCache","resetCache","updateClientSupport","clientNextRules","setExperimentalClientSupport","updateFrontendSettings","validatedInput","frontendSettingsUpdateRules","updateServerSettings","serverSettingsUpdateRules","updateLoginRequiredSettings","loginRequired","setLoginRequired","updateRegistrationEnabledSettings","registrationEnabled","setRegistrationEnabled","updateCredentialSettings","credentialSettingPatchRules","updateFileCleanSettings","fileCleanSettingsUpdateRules","patchFileCleanSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","createController","prefix","AppConstants","apiRoute","before","authenticate","get","authorizeRoles","ROLES","ADMIN","demoUserNotAllowed","patch","demoUserNotAllowedInterceptor","put"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","logger","constructor","loggerFactory","serverVersion","printerCache","printerService","settingsStore","printerThumbnailCache","name","getSettings","req","res","connection","clientIp","socket","remoteAddress","version","e","warn","settings","send","getSettingsSensitive","updateSentryDiagnosticsEnabled","enabled","validateInput","body","sentryDiagnosticsEnabledSchema","result","setSentryDiagnosticsEnabled","updateMoonrakerSupport","moonrakerSupportSchema","setExperimentalMoonrakerSupport","printers","listCachedPrinters","klipperPrinters","filter","p","printerType","MoonrakerType","printer","updateEnabled","id","updatePrusaLinkSupport","prusaLinkSupportSchema","setExperimentalPrusaLinkSupport","prusaLinkPrinters","PrusaLinkType","updateThumbnailSupport","thumbnailSupportSchema","setExperimentalThumbnailSupport","loadCache","resetCache","updateClientSupport","clientNextSchema","setExperimentalClientSupport","updateFrontendSettings","validatedInput","frontendSettingsUpdateSchema","updateLoginRequiredSettings","loginRequired","loginRequiredSchema","setLoginRequired","updateRegistrationEnabledSettings","registrationEnabled","registrationEnabledSchema","setRegistrationEnabled","updateCredentialSettings","credentialSettingUpdateSchema","updateFileCleanSettings","fileCleanSettingsUpdateSchema","updateTimeoutSettings","timeoutSettingsUpdateSchema","authorizeRoles","ROLES","ADMIN","demoUserNotAllowed","AppConstants","apiRoute","authenticate"],"mappings":"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"}