@fdm-monster/server 1.5.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 (377) hide show
  1. package/.env +19 -0
  2. package/.env.template +43 -0
  3. package/.gitattributes +1 -0
  4. package/.idea/codeStyles/Project.xml +85 -0
  5. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  6. package/.idea/dbnavigator.xml +574 -0
  7. package/.idea/fdm-monster.iml +16 -0
  8. package/.idea/inspectionProfiles/Project_Default.xml +22 -0
  9. package/.idea/jsLibraryMappings.xml +6 -0
  10. package/.idea/modules.xml +12 -0
  11. package/.idea/prettier.xml +6 -0
  12. package/.idea/vcs.xml +17 -0
  13. package/.swcrc +33 -0
  14. package/CODE_OF_CONDUCT.md +46 -0
  15. package/CONTRIBUTING.md +134 -0
  16. package/LICENSE +661 -0
  17. package/README.md +149 -0
  18. package/SECURITY.md +16 -0
  19. package/dist/@type/express/index.d.js +7 -0
  20. package/dist/@type/express/index.d.js.map +1 -0
  21. package/dist/constants/authorization.constants.js +99 -0
  22. package/dist/constants/authorization.constants.js.map +1 -0
  23. package/dist/constants/event.constants.js +55 -0
  24. package/dist/constants/event.constants.js.map +1 -0
  25. package/dist/constants/http-status-codes.constants.js +268 -0
  26. package/dist/constants/http-status-codes.constants.js.map +1 -0
  27. package/dist/constants/server-settings.constants.js +119 -0
  28. package/dist/constants/server-settings.constants.js.map +1 -0
  29. package/dist/constants/service.constants.js +48 -0
  30. package/dist/constants/service.constants.js.map +1 -0
  31. package/dist/container.js +161 -0
  32. package/dist/container.js.map +1 -0
  33. package/dist/container.tokens.js +83 -0
  34. package/dist/container.tokens.js.map +1 -0
  35. package/dist/controllers/auth.controller.js +143 -0
  36. package/dist/controllers/auth.controller.js.map +1 -0
  37. package/dist/controllers/batch-call.controller.js +59 -0
  38. package/dist/controllers/batch-call.controller.js.map +1 -0
  39. package/dist/controllers/camera-stream.controller.js +57 -0
  40. package/dist/controllers/camera-stream.controller.js.map +1 -0
  41. package/dist/controllers/custom-gcode.controller.js +76 -0
  42. package/dist/controllers/custom-gcode.controller.js.map +1 -0
  43. package/dist/controllers/first-time-setup.controller.js +65 -0
  44. package/dist/controllers/first-time-setup.controller.js.map +1 -0
  45. package/dist/controllers/floor.controller.js +78 -0
  46. package/dist/controllers/floor.controller.js.map +1 -0
  47. package/dist/controllers/plugin-firmware-update.controller.js +140 -0
  48. package/dist/controllers/plugin-firmware-update.controller.js.map +1 -0
  49. package/dist/controllers/print-completion.controller.js +58 -0
  50. package/dist/controllers/print-completion.controller.js.map +1 -0
  51. package/dist/controllers/printer-files.controller.js +208 -0
  52. package/dist/controllers/printer-files.controller.js.map +1 -0
  53. package/dist/controllers/printer-settings.controller.js +58 -0
  54. package/dist/controllers/printer-settings.controller.js.map +1 -0
  55. package/dist/controllers/printer.controller.js +287 -0
  56. package/dist/controllers/printer.controller.js.map +1 -0
  57. package/dist/controllers/server-private.controller.js +122 -0
  58. package/dist/controllers/server-private.controller.js.map +1 -0
  59. package/dist/controllers/server-public.controller.js +140 -0
  60. package/dist/controllers/server-public.controller.js.map +1 -0
  61. package/dist/controllers/settings.controller.js +89 -0
  62. package/dist/controllers/settings.controller.js.map +1 -0
  63. package/dist/controllers/user.controller.js +137 -0
  64. package/dist/controllers/user.controller.js.map +1 -0
  65. package/dist/controllers/validation/auth-controller.validation.js +15 -0
  66. package/dist/controllers/validation/auth-controller.validation.js.map +1 -0
  67. package/dist/controllers/validation/batch-controller.validation.js +29 -0
  68. package/dist/controllers/validation/batch-controller.validation.js.map +1 -0
  69. package/dist/controllers/validation/generic.validation.js +15 -0
  70. package/dist/controllers/validation/generic.validation.js.map +1 -0
  71. package/dist/controllers/validation/printer-controller.validation.js +66 -0
  72. package/dist/controllers/validation/printer-controller.validation.js.map +1 -0
  73. package/dist/controllers/validation/printer-files-controller.validation.js +66 -0
  74. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -0
  75. package/dist/controllers/validation/printer-settings-controller.validation.js +15 -0
  76. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -0
  77. package/dist/controllers/validation/setting.validation.js +19 -0
  78. package/dist/controllers/validation/setting.validation.js.map +1 -0
  79. package/dist/controllers/validation/user-controller.validation.js +16 -0
  80. package/dist/controllers/validation/user-controller.validation.js.map +1 -0
  81. package/dist/exceptions/job.exceptions.js +18 -0
  82. package/dist/exceptions/job.exceptions.js.map +1 -0
  83. package/dist/exceptions/runtime.exceptions.js +108 -0
  84. package/dist/exceptions/runtime.exceptions.js.map +1 -0
  85. package/dist/handlers/cache-manager.js +25 -0
  86. package/dist/handlers/cache-manager.js.map +1 -0
  87. package/dist/handlers/event-emitter.js +31 -0
  88. package/dist/handlers/event-emitter.js.map +1 -0
  89. package/dist/handlers/logger-factory.js +18 -0
  90. package/dist/handlers/logger-factory.js.map +1 -0
  91. package/dist/handlers/logger.js +85 -0
  92. package/dist/handlers/logger.js.map +1 -0
  93. package/dist/handlers/validators.js +131 -0
  94. package/dist/handlers/validators.js.map +1 -0
  95. package/dist/index.js +19 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/middleware/authenticate.js +83 -0
  98. package/dist/middleware/authenticate.js.map +1 -0
  99. package/dist/middleware/database.js +26 -0
  100. package/dist/middleware/database.js.map +1 -0
  101. package/dist/middleware/exception.handler.js +96 -0
  102. package/dist/middleware/exception.handler.js.map +1 -0
  103. package/dist/middleware/global.middleware.js +58 -0
  104. package/dist/middleware/global.middleware.js.map +1 -0
  105. package/dist/middleware/passport.js +44 -0
  106. package/dist/middleware/passport.js.map +1 -0
  107. package/dist/middleware/printer.js +49 -0
  108. package/dist/middleware/printer.js.map +1 -0
  109. package/dist/migrations/1696187882312-PrinterFile.js +40 -0
  110. package/dist/migrations/1696187882312-PrinterFile.js.map +1 -0
  111. package/dist/models/Auth/Permission.js +20 -0
  112. package/dist/models/Auth/Permission.js.map +1 -0
  113. package/dist/models/Auth/RefreshToken.js +41 -0
  114. package/dist/models/Auth/RefreshToken.js.map +1 -0
  115. package/dist/models/Auth/Role.js +20 -0
  116. package/dist/models/Auth/Role.js.map +1 -0
  117. package/dist/models/Auth/User.js +51 -0
  118. package/dist/models/Auth/User.js.map +1 -0
  119. package/dist/models/CameraStream.js +59 -0
  120. package/dist/models/CameraStream.js.map +1 -0
  121. package/dist/models/CustomGcode.js +28 -0
  122. package/dist/models/CustomGcode.js.map +1 -0
  123. package/dist/models/Floor.js +33 -0
  124. package/dist/models/Floor.js.map +1 -0
  125. package/dist/models/FloorPrinter.js +29 -0
  126. package/dist/models/FloorPrinter.js.map +1 -0
  127. package/dist/models/PrintCompletion.js +40 -0
  128. package/dist/models/PrintCompletion.js.map +1 -0
  129. package/dist/models/Printer.js +113 -0
  130. package/dist/models/Printer.js.map +1 -0
  131. package/dist/models/ServerSettings.js +168 -0
  132. package/dist/models/ServerSettings.js.map +1 -0
  133. package/dist/models/Settings.js +168 -0
  134. package/dist/models/Settings.js.map +1 -0
  135. package/dist/models/index.js +54 -0
  136. package/dist/models/index.js.map +1 -0
  137. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +49 -0
  138. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -0
  139. package/dist/mongo-migrations/20210907173950-printers-enabled.js +39 -0
  140. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -0
  141. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +39 -0
  142. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -0
  143. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +60 -0
  144. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -0
  145. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +30 -0
  146. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -0
  147. package/dist/mongo-migrations/20230716065316-user-remove-name.js +30 -0
  148. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -0
  149. package/dist/nodemon_restart_trigger.js +4 -0
  150. package/dist/nodemon_restart_trigger.js.map +1 -0
  151. package/dist/server.constants.js +99 -0
  152. package/dist/server.constants.js.map +1 -0
  153. package/dist/server.core.js +91 -0
  154. package/dist/server.core.js.map +1 -0
  155. package/dist/server.env.js +225 -0
  156. package/dist/server.env.js.map +1 -0
  157. package/dist/server.host.js +106 -0
  158. package/dist/server.host.js.map +1 -0
  159. package/dist/services/authentication/auth.service.js +136 -0
  160. package/dist/services/authentication/auth.service.js.map +1 -0
  161. package/dist/services/authentication/jwt.service.js +34 -0
  162. package/dist/services/authentication/jwt.service.js.map +1 -0
  163. package/dist/services/authentication/permission.service.js +73 -0
  164. package/dist/services/authentication/permission.service.js.map +1 -0
  165. package/dist/services/authentication/refresh-token.service.js +99 -0
  166. package/dist/services/authentication/refresh-token.service.js.map +1 -0
  167. package/dist/services/authentication/role.service.js +120 -0
  168. package/dist/services/authentication/role.service.js.map +1 -0
  169. package/dist/services/authentication/user.service.js +154 -0
  170. package/dist/services/authentication/user.service.js.map +1 -0
  171. package/dist/services/batch-call.service.js +148 -0
  172. package/dist/services/batch-call.service.js.map +1 -0
  173. package/dist/services/camera-stream.service.js +80 -0
  174. package/dist/services/camera-stream.service.js.map +1 -0
  175. package/dist/services/core/client-bundle.service.js +156 -0
  176. package/dist/services/core/client-bundle.service.js.map +1 -0
  177. package/dist/services/core/config.service.js +26 -0
  178. package/dist/services/core/config.service.js.map +1 -0
  179. package/dist/services/core/github.service.js +74 -0
  180. package/dist/services/core/github.service.js.map +1 -0
  181. package/dist/services/core/logs-manager.service.js +87 -0
  182. package/dist/services/core/logs-manager.service.js.map +1 -0
  183. package/dist/services/core/monsterpi.service.js +38 -0
  184. package/dist/services/core/monsterpi.service.js.map +1 -0
  185. package/dist/services/core/multer.service.js +122 -0
  186. package/dist/services/core/multer.service.js.map +1 -0
  187. package/dist/services/core/server-release.service.js +116 -0
  188. package/dist/services/core/server-release.service.js.map +1 -0
  189. package/dist/services/core/server-update.service.js +73 -0
  190. package/dist/services/core/server-update.service.js.map +1 -0
  191. package/dist/services/core/task-manager.service.js +196 -0
  192. package/dist/services/core/task-manager.service.js.map +1 -0
  193. package/dist/services/core/yaml.service.js +278 -0
  194. package/dist/services/core/yaml.service.js.map +1 -0
  195. package/dist/services/custom-gcode.service.js +48 -0
  196. package/dist/services/custom-gcode.service.js.map +1 -0
  197. package/dist/services/floor.service.js +183 -0
  198. package/dist/services/floor.service.js.map +1 -0
  199. package/dist/services/influxdb-v2/influx-db-v2-base.service.js +45 -0
  200. package/dist/services/influxdb-v2/influx-db-v2-base.service.js.map +1 -0
  201. package/dist/services/interfaces/auth.service.interface.js +6 -0
  202. package/dist/services/interfaces/auth.service.interface.js.map +1 -0
  203. package/dist/services/interfaces/camera-stream.dto.js +109 -0
  204. package/dist/services/interfaces/camera-stream.dto.js.map +1 -0
  205. package/dist/services/interfaces/camera-stream.service.interface.js +6 -0
  206. package/dist/services/interfaces/camera-stream.service.interface.js.map +1 -0
  207. package/dist/services/interfaces/custom-gcode.dto.js +18 -0
  208. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -0
  209. package/dist/services/interfaces/custom-gcode.service.interface.js +6 -0
  210. package/dist/services/interfaces/custom-gcode.service.interface.js.map +1 -0
  211. package/dist/services/interfaces/floor.dto.js +61 -0
  212. package/dist/services/interfaces/floor.dto.js.map +1 -0
  213. package/dist/services/interfaces/floor.service.interface.js +6 -0
  214. package/dist/services/interfaces/floor.service.interface.js.map +1 -0
  215. package/dist/services/interfaces/gcode-analysis.dto.js +6 -0
  216. package/dist/services/interfaces/gcode-analysis.dto.js.map +1 -0
  217. package/dist/services/interfaces/jwt.service.interface.js +6 -0
  218. package/dist/services/interfaces/jwt.service.interface.js.map +1 -0
  219. package/dist/services/interfaces/login.dto.js +16 -0
  220. package/dist/services/interfaces/login.dto.js.map +1 -0
  221. package/dist/services/interfaces/page.interface.js +16 -0
  222. package/dist/services/interfaces/page.interface.js.map +1 -0
  223. package/dist/services/interfaces/permission.dto.js +16 -0
  224. package/dist/services/interfaces/permission.dto.js.map +1 -0
  225. package/dist/services/interfaces/permission.service.interface.js +6 -0
  226. package/dist/services/interfaces/permission.service.interface.js.map +1 -0
  227. package/dist/services/interfaces/printer-file.dto.js +27 -0
  228. package/dist/services/interfaces/printer-file.dto.js.map +1 -0
  229. package/dist/services/interfaces/printer-files.service.interface.js +6 -0
  230. package/dist/services/interfaces/printer-files.service.interface.js.map +1 -0
  231. package/dist/services/interfaces/printer.dto.js +18 -0
  232. package/dist/services/interfaces/printer.dto.js.map +1 -0
  233. package/dist/services/interfaces/printer.service.interface.js +6 -0
  234. package/dist/services/interfaces/printer.service.interface.js.map +1 -0
  235. package/dist/services/interfaces/role-service.interface.js +6 -0
  236. package/dist/services/interfaces/role-service.interface.js.map +1 -0
  237. package/dist/services/interfaces/settings.dto.js +34 -0
  238. package/dist/services/interfaces/settings.dto.js.map +1 -0
  239. package/dist/services/interfaces/settings.service.interface.js +6 -0
  240. package/dist/services/interfaces/settings.service.interface.js.map +1 -0
  241. package/dist/services/interfaces/user-service.interface.js +6 -0
  242. package/dist/services/interfaces/user-service.interface.js.map +1 -0
  243. package/dist/services/interfaces/user.dto.js +39 -0
  244. package/dist/services/interfaces/user.dto.js.map +1 -0
  245. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +32 -0
  246. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -0
  247. package/dist/services/octoprint/constants/octoprint-service.constants.js +101 -0
  248. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -0
  249. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +88 -0
  250. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -0
  251. package/dist/services/octoprint/octoprint-api.routes.js +192 -0
  252. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -0
  253. package/dist/services/octoprint/octoprint-api.service.js +402 -0
  254. package/dist/services/octoprint/octoprint-api.service.js.map +1 -0
  255. package/dist/services/octoprint/octoprint-sockio.adapter.js +309 -0
  256. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -0
  257. package/dist/services/octoprint/plugin-base.service.js +102 -0
  258. package/dist/services/octoprint/plugin-base.service.js.map +1 -0
  259. package/dist/services/octoprint/plugin-firmware-update.service.js +104 -0
  260. package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -0
  261. package/dist/services/octoprint/plugin-repository.cache.js +45 -0
  262. package/dist/services/octoprint/plugin-repository.cache.js.map +1 -0
  263. package/dist/services/octoprint/socket.factory.js +22 -0
  264. package/dist/services/octoprint/socket.factory.js.map +1 -0
  265. package/dist/services/octoprint/utils/api.utils.js +72 -0
  266. package/dist/services/octoprint/utils/api.utils.js.map +1 -0
  267. package/dist/services/orm/floor.service.interface.js +73 -0
  268. package/dist/services/orm/floor.service.interface.js.map +1 -0
  269. package/dist/services/orm/printer.service.interface.js +6 -0
  270. package/dist/services/orm/printer.service.interface.js.map +1 -0
  271. package/dist/services/print-completion.service.js +162 -0
  272. package/dist/services/print-completion.service.js.map +1 -0
  273. package/dist/services/printer-files.service.js +91 -0
  274. package/dist/services/printer-files.service.js.map +1 -0
  275. package/dist/services/printer.service.js +230 -0
  276. package/dist/services/printer.service.js.map +1 -0
  277. package/dist/services/settings.service.js +158 -0
  278. package/dist/services/settings.service.js.map +1 -0
  279. package/dist/services/validators/floor-service.validation.js +60 -0
  280. package/dist/services/validators/floor-service.validation.js.map +1 -0
  281. package/dist/services/validators/print-completion-service.validation.js +20 -0
  282. package/dist/services/validators/print-completion-service.validation.js.map +1 -0
  283. package/dist/services/validators/printer-service.validation.js +48 -0
  284. package/dist/services/validators/printer-service.validation.js.map +1 -0
  285. package/dist/services/validators/settings-service.validation.js +71 -0
  286. package/dist/services/validators/settings-service.validation.js.map +1 -0
  287. package/dist/services/validators/user-service.validation.js +33 -0
  288. package/dist/services/validators/user-service.validation.js.map +1 -0
  289. package/dist/services/validators/yaml-service.validation.js +63 -0
  290. package/dist/services/validators/yaml-service.validation.js.map +1 -0
  291. package/dist/services/yaml.service.js +278 -0
  292. package/dist/services/yaml.service.js.map +1 -0
  293. package/dist/shared.constants.js +15 -0
  294. package/dist/shared.constants.js.map +1 -0
  295. package/dist/state/file-upload-tracker.cache.js +88 -0
  296. package/dist/state/file-upload-tracker.cache.js.map +1 -0
  297. package/dist/state/file.cache.js +99 -0
  298. package/dist/state/file.cache.js.map +1 -0
  299. package/dist/state/files.store.js +132 -0
  300. package/dist/state/files.store.js.map +1 -0
  301. package/dist/state/floor.store.js +99 -0
  302. package/dist/state/floor.store.js.map +1 -0
  303. package/dist/state/printer-events.cache.js +97 -0
  304. package/dist/state/printer-events.cache.js.map +1 -0
  305. package/dist/state/printer-socket.store.js +217 -0
  306. package/dist/state/printer-socket.store.js.map +1 -0
  307. package/dist/state/printer.cache.js +112 -0
  308. package/dist/state/printer.cache.js.map +1 -0
  309. package/dist/state/settings.store.js +154 -0
  310. package/dist/state/settings.store.js.map +1 -0
  311. package/dist/state/socket-io.gateway.js +66 -0
  312. package/dist/state/socket-io.gateway.js.map +1 -0
  313. package/dist/state/test-printer-socket.store.js +91 -0
  314. package/dist/state/test-printer-socket.store.js.map +1 -0
  315. package/dist/state/validation/create-test-printer.validation.js +18 -0
  316. package/dist/state/validation/create-test-printer.validation.js.map +1 -0
  317. package/dist/task.presets.js +50 -0
  318. package/dist/task.presets.js.map +1 -0
  319. package/dist/tasks/boot.task.js +198 -0
  320. package/dist/tasks/boot.task.js.map +1 -0
  321. package/dist/tasks/client-bundle.task.js +32 -0
  322. package/dist/tasks/client-bundle.task.js.map +1 -0
  323. package/dist/tasks/print-completion.socketio.task.js +85 -0
  324. package/dist/tasks/print-completion.socketio.task.js.map +1 -0
  325. package/dist/tasks/printer-file-clean.task.js +72 -0
  326. package/dist/tasks/printer-file-clean.task.js.map +1 -0
  327. package/dist/tasks/printer-websocket-restore.task.js +64 -0
  328. package/dist/tasks/printer-websocket-restore.task.js.map +1 -0
  329. package/dist/tasks/printer-websocket.task.js +43 -0
  330. package/dist/tasks/printer-websocket.task.js.map +1 -0
  331. package/dist/tasks/socketio.task.js +83 -0
  332. package/dist/tasks/socketio.task.js.map +1 -0
  333. package/dist/tasks/software-update.task.js +22 -0
  334. package/dist/tasks/software-update.task.js.map +1 -0
  335. package/dist/tasks.js +48 -0
  336. package/dist/tasks.js.map +1 -0
  337. package/dist/types/express/index.d.js +7 -0
  338. package/dist/types/express/index.d.js.map +1 -0
  339. package/dist/utils/array.util.js +27 -0
  340. package/dist/utils/array.util.js.map +1 -0
  341. package/dist/utils/benchmark.util.js +39 -0
  342. package/dist/utils/benchmark.util.js.map +1 -0
  343. package/dist/utils/cache/key-diff.cache.js +128 -0
  344. package/dist/utils/cache/key-diff.cache.js.map +1 -0
  345. package/dist/utils/correlation-token.util.js +15 -0
  346. package/dist/utils/correlation-token.util.js.map +1 -0
  347. package/dist/utils/crypto.utils.js +29 -0
  348. package/dist/utils/crypto.utils.js.map +1 -0
  349. package/dist/utils/env.utils.js +98 -0
  350. package/dist/utils/env.utils.js.map +1 -0
  351. package/dist/utils/error.utils.js +15 -0
  352. package/dist/utils/error.utils.js.map +1 -0
  353. package/dist/utils/find-predicate.utils.js +18 -0
  354. package/dist/utils/find-predicate.utils.js.map +1 -0
  355. package/dist/utils/fs.utils.js +38 -0
  356. package/dist/utils/fs.utils.js.map +1 -0
  357. package/dist/utils/is-docker.js +40 -0
  358. package/dist/utils/is-docker.js.map +1 -0
  359. package/dist/utils/mapper.utils.js +33 -0
  360. package/dist/utils/mapper.utils.js.map +1 -0
  361. package/dist/utils/metric.utils.js +35 -0
  362. package/dist/utils/metric.utils.js.map +1 -0
  363. package/dist/utils/normalize-url.js +245 -0
  364. package/dist/utils/normalize-url.js.map +1 -0
  365. package/dist/utils/semver.utils.js +18 -0
  366. package/dist/utils/semver.utils.js.map +1 -0
  367. package/dist/utils/time.utils.js +26 -0
  368. package/dist/utils/time.utils.js.map +1 -0
  369. package/dist/utils/url.utils.js +33 -0
  370. package/dist/utils/url.utils.js.map +1 -0
  371. package/dist/utils/websocket.adapter.js +105 -0
  372. package/dist/utils/websocket.adapter.js.map +1 -0
  373. package/migrate-mongo-config.js +45 -0
  374. package/nodemon_restart_trigger.js +1 -0
  375. package/package.json +149 -0
  376. package/src/index.ts +19 -0
  377. package/tsconfig.json +28 -0
@@ -0,0 +1,122 @@
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
+ ServerPrivateController: function() {
13
+ return ServerPrivateController;
14
+ },
15
+ // prettier-ignore
16
+ default: function() {
17
+ return _default;
18
+ }
19
+ });
20
+ const _stream = require("stream");
21
+ const _awilixexpress = require("awilix-express");
22
+ const _authenticate = require("../middleware/authenticate");
23
+ const _logger = require("../handlers/logger");
24
+ const _serverconstants = require("../server.constants");
25
+ const _authorizationconstants = require("../constants/authorization.constants");
26
+ const _envutils = require("../utils/env.utils");
27
+ const _validators = require("../handlers/validators");
28
+ class ServerPrivateController {
29
+ clientBundleService;
30
+ printerCache;
31
+ printerService;
32
+ printerSocketStore;
33
+ yamlService;
34
+ multerService;
35
+ logDumpService;
36
+ logger = new _logger.LoggerService(ServerPrivateController.name);
37
+ serverUpdateService;
38
+ serverReleaseService;
39
+ constructor({ serverUpdateService, serverReleaseService, printerCache, printerService, clientBundleService, logDumpService, printerSocketStore, yamlService, multerService }){
40
+ this.serverReleaseService = serverReleaseService;
41
+ this.serverUpdateService = serverUpdateService;
42
+ this.clientBundleService = clientBundleService;
43
+ this.logDumpService = logDumpService;
44
+ this.printerSocketStore = printerSocketStore;
45
+ this.printerCache = printerCache;
46
+ this.printerService = printerService;
47
+ this.yamlService = yamlService;
48
+ this.multerService = multerService;
49
+ }
50
+ async getClientReleases(req, res) {
51
+ const releaseSpec = await this.clientBundleService.getReleases();
52
+ res.send(releaseSpec);
53
+ }
54
+ async updateClientBundleGithub(req, res) {
55
+ const inputRules = {
56
+ tag_name: "required|string"
57
+ };
58
+ const { tag_name } = await (0, _validators.validateMiddleware)(req, inputRules, res);
59
+ await this.clientBundleService.downloadClientUpdate(tag_name);
60
+ res.send({
61
+ executed: true,
62
+ installed: tag_name
63
+ });
64
+ }
65
+ async getReleaseStateInfo(req, res) {
66
+ await this.serverReleaseService.syncLatestRelease(false);
67
+ const updateState = this.serverReleaseService.getState();
68
+ res.send(updateState);
69
+ }
70
+ async pullGitUpdates(req, res) {
71
+ const result = await this.serverUpdateService.checkGitUpdates();
72
+ res.send(result);
73
+ }
74
+ async restartServer(req, res) {
75
+ if (!(0, _envutils.isTestEnvironment)()) {
76
+ this.logger.warn("Server restart command fired. Expect the server to be unavailable for a moment");
77
+ }
78
+ const result = await this.serverUpdateService.restartServer();
79
+ res.send(result);
80
+ }
81
+ async importPrintersAndFloorsYaml(req, res) {
82
+ const files = await this.multerService.multerLoadFileAsync(req, res, ".yaml", false);
83
+ const firstFile = files[0];
84
+ const spec = await this.yamlService.importPrintersAndFloors(firstFile.buffer.toString());
85
+ res.send({
86
+ success: true,
87
+ spec
88
+ });
89
+ }
90
+ async exportPrintersAndFloorsYaml(req, res) {
91
+ const yaml = await this.yamlService.exportPrintersAndFloors(req.body);
92
+ const fileContents = Buffer.from(yaml);
93
+ const readStream = new _stream.PassThrough();
94
+ readStream.end(fileContents);
95
+ const fileName = `export-${_serverconstants.AppConstants.serverRepoName}-` + Date.now() + ".yaml";
96
+ res.set("Content-disposition", "attachment; filename=" + fileName);
97
+ res.set("Content-Type", "text/plain");
98
+ readStream.pipe(res);
99
+ }
100
+ async deleteAllPrinters(req, res) {
101
+ const printers = await this.printerCache.listCachedPrinters(true);
102
+ const printerIds = printers.map((p)=>p.id);
103
+ await this.printerService.deleteMany(printerIds);
104
+ res.send();
105
+ }
106
+ async clearLogs(req, res) {
107
+ const counts = await this.logDumpService.deleteOlderThanWeekAndMismatchingLogFiles();
108
+ res.send(counts);
109
+ }
110
+ async dumpLogZips(req, res) {
111
+ const filePath = await this.logDumpService.dumpZip();
112
+ res.sendFile(filePath);
113
+ }
114
+ }
115
+ const _default = (0, _awilixexpress.createController)(ServerPrivateController).prefix(_serverconstants.AppConstants.apiRoute + "/server").before([
116
+ (0, _authenticate.authenticate)(),
117
+ (0, _authenticate.authorizeRoles)([
118
+ _authorizationconstants.ROLES.ADMIN
119
+ ])
120
+ ]).get("/", "getReleaseStateInfo").get("/client-releases", "getClientReleases").post("/update-client-bundle-github", "updateClientBundleGithub").post("/export-printers-floors-yaml", "exportPrintersAndFloorsYaml").post("/import-printers-floors-yaml", "importPrintersAndFloorsYaml").post("/git-update", "pullGitUpdates").post("/restart", "restartServer").get("/dump-fdm-monster-logs", "dumpLogZips").post("/dump-fdm-monster-logs", "dumpLogZips").delete("/clear-outdated-fdm-monster-logs", "clearLogs").delete("/delete-all-printers", "deleteAllPrinters");
121
+
122
+ //# sourceMappingURL=server-private.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/server-private.controller.ts"],"names":["ServerPrivateController","clientBundleService","printerCache","printerService","printerSocketStore","yamlService","multerService","logDumpService","logger","Logger","name","serverUpdateService","serverReleaseService","constructor","getClientReleases","req","res","releaseSpec","getReleases","send","updateClientBundleGithub","inputRules","tag_name","validateMiddleware","downloadClientUpdate","executed","installed","getReleaseStateInfo","syncLatestRelease","updateState","getState","pullGitUpdates","result","checkGitUpdates","restartServer","isTestEnvironment","warn","importPrintersAndFloorsYaml","files","multerLoadFileAsync","firstFile","spec","importPrintersAndFloors","buffer","toString","success","exportPrintersAndFloorsYaml","yaml","exportPrintersAndFloors","body","fileContents","Buffer","from","readStream","PassThrough","end","fileName","AppConstants","serverRepoName","Date","now","set","pipe","deleteAllPrinters","printers","listCachedPrinters","printerIds","map","p","id","deleteMany","clearLogs","counts","deleteOlderThanWeekAndMismatchingLogFiles","dumpLogZips","filePath","dumpZip","sendFile","createController","prefix","apiRoute","before","authenticate","authorizeRoles","ROLES","ADMIN","get","post","delete"],"mappings":"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"}
@@ -0,0 +1,140 @@
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
+ ServerPublicController: function() {
13
+ return ServerPublicController;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ }
18
+ });
19
+ const _awilixexpress = require("awilix-express");
20
+ const _serverconstants = require("../server.constants");
21
+ const _envutils = require("../utils/env.utils");
22
+ const _authenticate = require("../middleware/authenticate");
23
+ const _authorizationconstants = require("../constants/authorization.constants");
24
+ const _isdocker = require("../utils/is-docker");
25
+ class ServerPublicController {
26
+ serverVersion;
27
+ settingsStore;
28
+ printerSocketStore;
29
+ serverReleaseService;
30
+ monsterPiService;
31
+ userService;
32
+ roleService;
33
+ constructor({ settingsStore, printerSocketStore, serverVersion, serverReleaseService, monsterPiService, userService, roleService }){
34
+ this.settingsStore = settingsStore;
35
+ this.serverVersion = serverVersion;
36
+ this.printerSocketStore = printerSocketStore;
37
+ this.serverReleaseService = serverReleaseService;
38
+ this.monsterPiService = monsterPiService;
39
+ this.userService = userService;
40
+ this.roleService = roleService;
41
+ }
42
+ welcome(req, res) {
43
+ const serverSettings = this.settingsStore.getSettings();
44
+ if (!this.settingsStore.getLoginRequired()) {
45
+ return res.send({
46
+ message: "Login disabled. Please load the Vue app."
47
+ });
48
+ }
49
+ return res.send({
50
+ message: "Login required. Please load the Vue app."
51
+ });
52
+ }
53
+ getFeatures(req, res) {
54
+ res.send({
55
+ batchReprintCalls: {
56
+ available: true,
57
+ // API duplicated at /batch/reprint (deprecated but backwards compatible)
58
+ version: 2
59
+ },
60
+ batchConnectSocketCalls: {
61
+ available: true,
62
+ version: 1
63
+ },
64
+ batchConnectUsbCalls: {
65
+ available: true,
66
+ version: 1
67
+ },
68
+ newSockets: {
69
+ available: true,
70
+ version: 1
71
+ },
72
+ anonymousDiagnosticsToggle: {
73
+ available: true,
74
+ version: 1
75
+ },
76
+ pauseResumePrinterCommand: {
77
+ available: true,
78
+ version: 1
79
+ },
80
+ logDumpZip: {
81
+ available: true,
82
+ version: 1
83
+ },
84
+ clearLogFiles: {
85
+ available: true,
86
+ version: 1
87
+ },
88
+ batchTogglePrinterEnabled: {
89
+ available: true,
90
+ version: 1
91
+ },
92
+ cameraStream: {
93
+ available: true,
94
+ version: 1,
95
+ subFeatures: {}
96
+ }
97
+ });
98
+ }
99
+ async getVersion(req, res) {
100
+ let updateState = this.serverReleaseService.getState();
101
+ const monsterPiVersion = this.monsterPiService.getMonsterPiVersionSafe();
102
+ res.json({
103
+ version: this.serverVersion,
104
+ isDockerContainer: (0, _isdocker.isDocker)(),
105
+ isNodemon: (0, _envutils.isNodemon)(),
106
+ isNode: (0, _envutils.isNode)(),
107
+ isPm2: (0, _envutils.isPm2)(),
108
+ os: process.env.OS,
109
+ monsterPi: monsterPiVersion,
110
+ update: {
111
+ synced: updateState.synced,
112
+ updateAvailable: updateState.updateAvailable,
113
+ airGapped: updateState.airGapped
114
+ }
115
+ });
116
+ }
117
+ async test(req, res) {
118
+ res.send({
119
+ message: "Test successful. Please load the Vue app."
120
+ });
121
+ }
122
+ }
123
+ const _default = (0, _awilixexpress.createController)(ServerPublicController).prefix(_serverconstants.AppConstants.apiRoute + "/").get("", "welcome", {
124
+ before: [
125
+ (0, _authenticate.authenticate)(),
126
+ (0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
127
+ ]
128
+ }).get("test", "test").get("features", "getFeatures", {
129
+ before: [
130
+ (0, _authenticate.authenticate)(),
131
+ (0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
132
+ ]
133
+ }).get("version", "getVersion", {
134
+ before: [
135
+ (0, _authenticate.authenticate)(),
136
+ (0, _authenticate.authorizePermission)(_authorizationconstants.PERMS.ServerInfo.Get)
137
+ ]
138
+ });
139
+
140
+ //# sourceMappingURL=server-public.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/server-public.controller.ts"],"names":["ServerPublicController","serverVersion","settingsStore","printerSocketStore","serverReleaseService","monsterPiService","userService","roleService","constructor","welcome","req","res","serverSettings","getSettings","getLoginRequired","send","message","getFeatures","batchReprintCalls","available","version","batchConnectSocketCalls","batchConnectUsbCalls","newSockets","anonymousDiagnosticsToggle","pauseResumePrinterCommand","logDumpZip","clearLogFiles","batchTogglePrinterEnabled","cameraStream","subFeatures","getVersion","updateState","getState","monsterPiVersion","getMonsterPiVersionSafe","json","isDockerContainer","isDocker","isNodemon","isNode","isPm2","os","process","env","OS","monsterPi","update","synced","updateAvailable","airGapped","test","createController","prefix","AppConstants","apiRoute","get","before","authenticate","authorizePermission","PERMS","ServerInfo","Get"],"mappings":"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"}
@@ -0,0 +1,89 @@
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
+ SettingsController: function() {
13
+ return SettingsController;
14
+ },
15
+ // prettier-ignore
16
+ default: function() {
17
+ return _default;
18
+ }
19
+ });
20
+ const _awilixexpress = require("awilix-express");
21
+ const _authenticate = require("../middleware/authenticate");
22
+ const _serverconstants = require("../server.constants");
23
+ const _authorizationconstants = require("../constants/authorization.constants");
24
+ const _validators = require("../handlers/validators");
25
+ const _settingsservicevalidation = require("../services/validators/settings-service.validation");
26
+ class SettingsController {
27
+ settingsStore;
28
+ constructor({ settingsStore }){
29
+ this.settingsStore = settingsStore;
30
+ }
31
+ getSettings(req, res) {
32
+ const settings = this.settingsStore.getSettings();
33
+ res.send(settings);
34
+ }
35
+ async updateSentryDiagnosticsEnabled(req, res) {
36
+ const { enabled } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.sentryDiagnosticsEnabledRules);
37
+ const result = this.settingsStore.setSentryDiagnosticsEnabled(enabled);
38
+ res.send(result);
39
+ }
40
+ async updateWhitelistSettings(req, res) {
41
+ const { whitelistEnabled, whitelistedIpAddresses } = await (0, _validators.validateInput)(req.body, _settingsservicevalidation.whitelistSettingUpdateRules);
42
+ if (!whitelistedIpAddresses.includes("127.0.0.1")) {
43
+ whitelistedIpAddresses.push("127.0.0.1");
44
+ }
45
+ const result = await this.settingsStore.setWhitelist(whitelistEnabled, whitelistedIpAddresses);
46
+ res.send(result);
47
+ }
48
+ async updateFrontendSettings(req, res) {
49
+ const result = await this.settingsStore.updateFrontendSettings(req.body);
50
+ res.send(result);
51
+ }
52
+ async updateServerSettings(req, res) {
53
+ const result = await this.settingsStore.updateServerSettings(req.body);
54
+ res.send(result);
55
+ }
56
+ async updateFileCleanSettings(req, res) {
57
+ const result = await this.settingsStore.patchFileCleanSettings(req.body);
58
+ res.send(result);
59
+ }
60
+ }
61
+ const _default = (0, _awilixexpress.createController)(SettingsController).prefix(_serverconstants.AppConstants.apiRoute + "/settings").before([
62
+ (0, _authenticate.authenticate)()
63
+ ]).get("/", "getSettings").patch("/sentry-diagnostics", "updateSentryDiagnosticsEnabled").put("/server", "updateServerSettings", {
64
+ before: [
65
+ (0, _authenticate.authorizeRoles)([
66
+ _authorizationconstants.ROLES.ADMIN
67
+ ])
68
+ ]
69
+ }).put("/file-clean", "updateFileCleanSettings", {
70
+ before: [
71
+ (0, _authenticate.authorizeRoles)([
72
+ _authorizationconstants.ROLES.ADMIN
73
+ ])
74
+ ]
75
+ }).put("/whitelist", "updateWhitelistSettings", {
76
+ before: [
77
+ (0, _authenticate.authorizeRoles)([
78
+ _authorizationconstants.ROLES.ADMIN
79
+ ])
80
+ ]
81
+ }).put("/frontend", "updateFrontendSettings", {
82
+ before: [
83
+ (0, _authenticate.authorizeRoles)([
84
+ _authorizationconstants.ROLES.ADMIN
85
+ ])
86
+ ]
87
+ });
88
+
89
+ //# sourceMappingURL=settings.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/settings.controller.ts"],"names":["SettingsController","settingsStore","constructor","getSettings","req","res","settings","send","updateSentryDiagnosticsEnabled","enabled","validateInput","body","sentryDiagnosticsEnabledRules","result","setSentryDiagnosticsEnabled","updateWhitelistSettings","whitelistEnabled","whitelistedIpAddresses","whitelistSettingUpdateRules","includes","push","setWhitelist","updateFrontendSettings","updateServerSettings","updateFileCleanSettings","patchFileCleanSettings","createController","prefix","AppConstants","apiRoute","before","authenticate","get","patch","put","authorizeRoles","ROLES","ADMIN"],"mappings":";;;;;;;;;;;IAUaA,kBAAkB;eAAlBA;;IA8Cb,kBAAkB;IAClB,OAQ2F;eAR3F;;;+BAzDiC;8BACY;iCAChB;wCACP;4BACQ;2CAC6C;AAKpE,MAAMA;IACXC,cAA6B;IAE7BC,YAAY,EAAED,aAAa,EAAoC,CAAE;QAC/D,IAAI,CAACA,aAAa,GAAGA;IACvB;IAEAE,YAAYC,GAAY,EAAEC,GAAa,EAAE;QACvC,MAAMC,WAAW,IAAI,CAACL,aAAa,CAACE,WAAW;QAC/CE,IAAIE,IAAI,CAACD;IACX;IAEA,MAAME,+BAA+BJ,GAAY,EAAEC,GAAa,EAAE;QAChE,MAAM,EAAEI,OAAO,EAAE,GAAG,MAAMC,IAAAA,yBAAa,EAACN,IAAIO,IAAI,EAAEC,wDAA6B;QAC/E,MAAMC,SAAS,IAAI,CAACZ,aAAa,CAACa,2BAA2B,CAACL;QAC9DJ,IAAIE,IAAI,CAACM;IACX;IAEA,MAAME,wBAAwBX,GAAY,EAAEC,GAAa,EAAE;QACzD,MAAM,EAAEW,gBAAgB,EAAEC,sBAAsB,EAAE,GAAG,MAAMP,IAAAA,yBAAa,EACtEN,IAAIO,IAAI,EACRO,sDAA2B;QAE7B,IAAI,CAACD,uBAAuBE,QAAQ,CAAC,cAAc;YACjDF,uBAAuBG,IAAI,CAAC;QAC9B;QACA,MAAMP,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACoB,YAAY,CAACL,kBAAkBC;QACvEZ,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMS,uBAAuBlB,GAAY,EAAEC,GAAa,EAAE;QACxD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACqB,sBAAsB,CAAClB,IAAIO,IAAI;QACvEN,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMU,qBAAqBnB,GAAY,EAAEC,GAAa,EAAE;QACtD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACsB,oBAAoB,CAACnB,IAAIO,IAAI;QACrEN,IAAIE,IAAI,CAACM;IACX;IAEA,MAAMW,wBAAwBpB,GAAY,EAAEC,GAAa,EAAE;QACzD,MAAMQ,SAAS,MAAM,IAAI,CAACZ,aAAa,CAACwB,sBAAsB,CAACrB,IAAIO,IAAI;QACvEN,IAAIE,IAAI,CAACM;IACX;AACF;MAGA,WAAea,IAAAA,+BAAgB,EAAC1B,oBAC7B2B,MAAM,CAACC,6BAAY,CAACC,QAAQ,GAAG,aAC/BC,MAAM,CAAC;IAACC,IAAAA,0BAAY;CAAG,EACvBC,GAAG,CAAC,KAAK,eACTC,KAAK,CAAC,uBAAuB,kCAC7BC,GAAG,CAAC,WAAW,wBAAwB;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACjFH,GAAG,CAAC,eAAe,2BAA2B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACxFH,GAAG,CAAC,cAAc,2BAA2B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC,GACvFH,GAAG,CAAC,aAAa,0BAA0B;IAAEJ,QAAQ;QAACK,IAAAA,4BAAc,EAAC;YAACC,6BAAK,CAACC,KAAK;SAAC;KAAE;AAAC"}
@@ -0,0 +1,137 @@
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
+ UserController: function() {
13
+ return UserController;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ }
18
+ });
19
+ const _awilixexpress = require("awilix-express");
20
+ const _serverconstants = require("../server.constants");
21
+ const _authenticate = require("../middleware/authenticate");
22
+ const _authorizationconstants = require("../constants/authorization.constants");
23
+ const _validators = require("../handlers/validators");
24
+ const _genericvalidation = require("./validation/generic.validation");
25
+ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
26
+ class UserController {
27
+ userService;
28
+ configService;
29
+ constructor({ userService, configService }){
30
+ this.userService = userService;
31
+ this.configService = configService;
32
+ }
33
+ async profile(req, res) {
34
+ if (!req.user?.id) {
35
+ res.send({});
36
+ return;
37
+ }
38
+ const user = await this.userService.getUser(req.user?.id);
39
+ res.send(this.userService.toDto(user));
40
+ }
41
+ async list(req, res) {
42
+ const users = await this.userService.listUsers();
43
+ res.send(users.map((u)=>this.userService.toDto(u)));
44
+ }
45
+ async delete(req, res) {
46
+ this.throwIfDemoMode();
47
+ const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
48
+ if (req.user?.id === id) {
49
+ throw new _runtimeexceptions.InternalServerException("Not allowed to delete your own account");
50
+ }
51
+ if (this.isDemoMode()) {
52
+ const demoUserId = await this.userService.getDemoUserId();
53
+ if (id === demoUserId) {
54
+ this.throwIfDemoMode();
55
+ }
56
+ }
57
+ await this.userService.deleteUser(id);
58
+ res.send();
59
+ }
60
+ async get(req, res) {
61
+ const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
62
+ const user = await this.userService.getUser(id);
63
+ res.send(this.userService.toDto(user));
64
+ }
65
+ async changeUsername(req, res) {
66
+ this.throwIfDemoMode();
67
+ const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
68
+ if (req.user?.id !== id) {
69
+ throw new _runtimeexceptions.InternalServerException("Not allowed to change username of other users");
70
+ }
71
+ const { username } = await (0, _validators.validateInput)(req.body, {
72
+ username: "required|string"
73
+ });
74
+ await this.userService.updateUsernameById(id, username);
75
+ res.send();
76
+ }
77
+ async changePassword(req, res) {
78
+ this.throwIfDemoMode();
79
+ const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
80
+ if (req.user?.id !== id) {
81
+ throw new _runtimeexceptions.InternalServerException("Not allowed to change password of other users");
82
+ }
83
+ const { oldPassword, newPassword } = await (0, _validators.validateInput)(req.body, {
84
+ oldPassword: "required|string",
85
+ newPassword: "required|string"
86
+ });
87
+ await this.userService.updatePasswordById(id, oldPassword, newPassword);
88
+ res.send();
89
+ }
90
+ async setVerified(req, res) {
91
+ this.throwIfDemoMode();
92
+ const { id } = await (0, _validators.validateInput)(req.params, _genericvalidation.idRules);
93
+ const { isVerified } = await (0, _validators.validateInput)(req.body, {
94
+ isVerified: "required|boolean"
95
+ });
96
+ await this.userService.setVerifiedById(id, isVerified);
97
+ res.send();
98
+ }
99
+ isDemoMode() {
100
+ return this.configService.get(_serverconstants.AppConstants.OVERRIDE_IS_DEMO_MODE, "false") === "true";
101
+ }
102
+ throwIfDemoMode() {
103
+ const isDemoMode = this.isDemoMode();
104
+ if (isDemoMode) {
105
+ throw new _runtimeexceptions.InternalServerException("Not allowed in demo mode");
106
+ }
107
+ }
108
+ }
109
+ const _default = (0, _awilixexpress.createController)(UserController).prefix(_serverconstants.AppConstants.apiRoute + "/user").before([
110
+ (0, _authenticate.authenticate)()
111
+ ]).get("/", "list", {
112
+ before: [
113
+ (0, _authenticate.authorizeRoles)([
114
+ _authorizationconstants.ROLES.ADMIN
115
+ ])
116
+ ]
117
+ }).get("/profile", "profile").get("/:id", "get", {
118
+ before: [
119
+ (0, _authenticate.authorizeRoles)([
120
+ _authorizationconstants.ROLES.ADMIN
121
+ ])
122
+ ]
123
+ }).delete("/:id", "delete", {
124
+ before: [
125
+ (0, _authenticate.authorizeRoles)([
126
+ _authorizationconstants.ROLES.ADMIN
127
+ ])
128
+ ]
129
+ }).post("/:id/set-verified", "setVerified", {
130
+ before: [
131
+ (0, _authenticate.authorizeRoles)([
132
+ _authorizationconstants.ROLES.ADMIN
133
+ ])
134
+ ]
135
+ }).post("/:id/change-username", "changeUsername").post("/:id/change-password", "changePassword");
136
+
137
+ //# sourceMappingURL=user.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/user.controller.ts"],"names":["UserController","userService","configService","constructor","profile","req","res","user","id","send","getUser","toDto","list","users","listUsers","map","u","delete","throwIfDemoMode","validateInput","params","idRules","InternalServerException","isDemoMode","demoUserId","getDemoUserId","deleteUser","get","changeUsername","username","body","updateUsernameById","changePassword","oldPassword","newPassword","updatePasswordById","setVerified","isVerified","setVerifiedById","AppConstants","OVERRIDE_IS_DEMO_MODE","createController","prefix","apiRoute","before","authenticate","authorizeRoles","ROLES","ADMIN","post"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "refreshTokenRules", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return refreshTokenRules;
9
+ }
10
+ });
11
+ const refreshTokenRules = {
12
+ refreshToken: "required|string"
13
+ };
14
+
15
+ //# sourceMappingURL=auth-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/auth-controller.validation.ts"],"names":["refreshTokenRules","refreshToken"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB;IAC/BC,cAAc;AAChB"}
@@ -0,0 +1,29 @@
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
+ batchPrinterRules: function() {
13
+ return batchPrinterRules;
14
+ },
15
+ batchPrintersEnabledRules: function() {
16
+ return batchPrintersEnabledRules;
17
+ }
18
+ });
19
+ const batchPrinterRules = {
20
+ printerIds: "required|array",
21
+ "printerIds.*": "required|mongoId"
22
+ };
23
+ const batchPrintersEnabledRules = {
24
+ printerIds: "required|array",
25
+ "printerIds.*": "required|mongoId",
26
+ enabled: "required|boolean"
27
+ };
28
+
29
+ //# sourceMappingURL=batch-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/batch-controller.validation.ts"],"names":["batchPrinterRules","batchPrintersEnabledRules","printerIds","enabled"],"mappings":";;;;;;;;;;;IAAaA,iBAAiB;eAAjBA;;IAKAC,yBAAyB;eAAzBA;;;AALN,MAAMD,oBAAoB;IAC/BE,YAAY;IACZ,gBAAgB;AAClB;AAEO,MAAMD,4BAA4B;IACvCC,YAAY;IACZ,gBAAgB;IAChBC,SAAS;AACX"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "idRules", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return idRules;
9
+ }
10
+ });
11
+ const idRules = {
12
+ id: "required|mongoId"
13
+ };
14
+
15
+ //# sourceMappingURL=generic.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/generic.validation.ts"],"names":["idRules","id"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,UAA0B;IACrCC,IAAI;AACN"}
@@ -0,0 +1,66 @@
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
+ createOctoPrintBackupRules: function() {
13
+ return createOctoPrintBackupRules;
14
+ },
15
+ feedRateRules: function() {
16
+ return feedRateRules;
17
+ },
18
+ flowRateRules: function() {
19
+ return flowRateRules;
20
+ },
21
+ getOctoPrintBackupRules: function() {
22
+ return getOctoPrintBackupRules;
23
+ },
24
+ testPrinterApiRules: function() {
25
+ return testPrinterApiRules;
26
+ },
27
+ updatePrinterConnectionSettingRules: function() {
28
+ return updatePrinterConnectionSettingRules;
29
+ },
30
+ updatePrinterDisabledReasonRules: function() {
31
+ return updatePrinterDisabledReasonRules;
32
+ },
33
+ updatePrinterEnabledRule: function() {
34
+ return updatePrinterEnabledRule;
35
+ }
36
+ });
37
+ const _serviceconstants = require("../../constants/service.constants");
38
+ const flowRateRules = {
39
+ flowRate: "required|between:75,125|integer"
40
+ };
41
+ const feedRateRules = {
42
+ feedRate: "required|between:10,200|integer"
43
+ };
44
+ const testPrinterApiRules = {
45
+ apiKey: `required|length:${_serviceconstants.UUID_LENGTH},${_serviceconstants.UUID_LENGTH}|alphaNumeric`,
46
+ printerURL: "required|httpurl"
47
+ };
48
+ const updatePrinterDisabledReasonRules = {
49
+ disabledReason: "string"
50
+ };
51
+ const updatePrinterEnabledRule = {
52
+ enabled: "required|boolean"
53
+ };
54
+ const updatePrinterConnectionSettingRules = {
55
+ printerURL: "required|httpurl",
56
+ apiKey: `required|minLength:${_serviceconstants.UUID_LENGTH}|maxLength:${_serviceconstants.UUID_LENGTH}`
57
+ };
58
+ const createOctoPrintBackupRules = {
59
+ exclude: "array",
60
+ "exclude.*": "string"
61
+ };
62
+ const getOctoPrintBackupRules = {
63
+ fileName: "required|string"
64
+ };
65
+
66
+ //# sourceMappingURL=printer-controller.validation.js.map