@fdm-monster/server 1.5.0-rc1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/.env.template +6 -3
  2. package/.gitattributes +1 -1
  3. package/.swcrc +0 -0
  4. package/CODE_OF_CONDUCT.md +0 -0
  5. package/CONTRIBUTING.md +0 -0
  6. package/LICENSE +0 -0
  7. package/README.md +0 -0
  8. package/SECURITY.md +0 -0
  9. package/dist/constants/authorization.constants.js +12 -0
  10. package/dist/constants/authorization.constants.js.map +1 -1
  11. package/dist/constants/event.constants.js +0 -0
  12. package/dist/constants/event.constants.js.map +0 -0
  13. package/dist/constants/http-status-codes.constants.js +0 -0
  14. package/dist/constants/http-status-codes.constants.js.map +0 -0
  15. package/dist/constants/server-settings.constants.js +0 -0
  16. package/dist/constants/server-settings.constants.js.map +1 -1
  17. package/dist/constants/service.constants.js +0 -0
  18. package/dist/constants/service.constants.js.map +0 -0
  19. package/dist/container.js +2 -1
  20. package/dist/container.js.map +1 -1
  21. package/dist/container.tokens.js +3 -1
  22. package/dist/container.tokens.js.map +1 -1
  23. package/dist/controllers/auth.controller.js +11 -6
  24. package/dist/controllers/auth.controller.js.map +1 -1
  25. package/dist/controllers/batch-call.controller.js +0 -0
  26. package/dist/controllers/batch-call.controller.js.map +0 -0
  27. package/dist/controllers/camera-stream.controller.js +0 -0
  28. package/dist/controllers/camera-stream.controller.js.map +0 -0
  29. package/dist/controllers/custom-gcode.controller.js +0 -0
  30. package/dist/controllers/custom-gcode.controller.js.map +0 -0
  31. package/dist/controllers/first-time-setup.controller.js +11 -4
  32. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  33. package/dist/controllers/floor.controller.js +0 -0
  34. package/dist/controllers/floor.controller.js.map +0 -0
  35. package/dist/controllers/plugin-firmware-update.controller.js +0 -0
  36. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -0
  37. package/dist/controllers/print-completion.controller.js +0 -0
  38. package/dist/controllers/print-completion.controller.js.map +0 -0
  39. package/dist/controllers/printer-files.controller.js +0 -0
  40. package/dist/controllers/printer-files.controller.js.map +0 -0
  41. package/dist/controllers/printer-settings.controller.js +0 -0
  42. package/dist/controllers/printer-settings.controller.js.map +0 -0
  43. package/dist/controllers/printer.controller.js +0 -0
  44. package/dist/controllers/printer.controller.js.map +1 -1
  45. package/dist/controllers/server-private.controller.js +3 -1
  46. package/dist/controllers/server-private.controller.js.map +1 -1
  47. package/dist/controllers/server-public.controller.js +0 -0
  48. package/dist/controllers/server-public.controller.js.map +0 -0
  49. package/dist/controllers/settings.controller.js +91 -7
  50. package/dist/controllers/settings.controller.js.map +1 -1
  51. package/dist/controllers/user.controller.js +79 -20
  52. package/dist/controllers/user.controller.js.map +1 -1
  53. package/dist/controllers/validation/auth-controller.validation.js +0 -0
  54. package/dist/controllers/validation/auth-controller.validation.js.map +0 -0
  55. package/dist/controllers/validation/batch-controller.validation.js +0 -0
  56. package/dist/controllers/validation/batch-controller.validation.js.map +0 -0
  57. package/dist/controllers/validation/generic.validation.js +0 -0
  58. package/dist/controllers/validation/generic.validation.js.map +0 -0
  59. package/dist/controllers/validation/printer-controller.validation.js +0 -0
  60. package/dist/controllers/validation/printer-controller.validation.js.map +0 -0
  61. package/dist/controllers/validation/printer-files-controller.validation.js +0 -0
  62. package/dist/controllers/validation/printer-files-controller.validation.js.map +0 -0
  63. package/dist/controllers/validation/printer-settings-controller.validation.js +0 -0
  64. package/dist/controllers/validation/printer-settings-controller.validation.js.map +0 -0
  65. package/dist/controllers/validation/setting.validation.js +1 -1
  66. package/dist/controllers/validation/setting.validation.js.map +0 -0
  67. package/dist/controllers/validation/user-controller.validation.js +3 -2
  68. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  69. package/dist/exceptions/job.exceptions.js +0 -0
  70. package/dist/exceptions/job.exceptions.js.map +1 -1
  71. package/dist/exceptions/runtime.exceptions.js +10 -8
  72. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  73. package/dist/handlers/cache-manager.js +0 -0
  74. package/dist/handlers/cache-manager.js.map +0 -0
  75. package/dist/handlers/event-emitter.js +0 -0
  76. package/dist/handlers/event-emitter.js.map +0 -0
  77. package/dist/handlers/logger-factory.js +0 -0
  78. package/dist/handlers/logger-factory.js.map +0 -0
  79. package/dist/handlers/logger.js +0 -0
  80. package/dist/handlers/logger.js.map +0 -0
  81. package/dist/handlers/validators.js +6 -1
  82. package/dist/handlers/validators.js.map +1 -1
  83. package/dist/index.js +0 -0
  84. package/dist/index.js.map +0 -0
  85. package/dist/middleware/authenticate.js +7 -4
  86. package/dist/middleware/authenticate.js.map +1 -1
  87. package/dist/middleware/database.js +0 -0
  88. package/dist/middleware/database.js.map +0 -0
  89. package/dist/middleware/demo.middleware.js +43 -0
  90. package/dist/middleware/demo.middleware.js.map +1 -0
  91. package/dist/middleware/{exception.handler.js → exception.filter.js} +9 -8
  92. package/dist/middleware/exception.filter.js.map +1 -0
  93. package/dist/middleware/global.middleware.js +27 -3
  94. package/dist/middleware/global.middleware.js.map +1 -1
  95. package/dist/middleware/passport.js +45 -16
  96. package/dist/middleware/passport.js.map +1 -1
  97. package/dist/middleware/printer.js +0 -0
  98. package/dist/middleware/printer.js.map +0 -0
  99. package/dist/models/Auth/Permission.js +0 -0
  100. package/dist/models/Auth/Permission.js.map +0 -0
  101. package/dist/models/Auth/RefreshToken.js +0 -0
  102. package/dist/models/Auth/RefreshToken.js.map +0 -0
  103. package/dist/models/Auth/Role.js +0 -0
  104. package/dist/models/Auth/Role.js.map +0 -0
  105. package/dist/models/Auth/User.js +0 -0
  106. package/dist/models/Auth/User.js.map +0 -0
  107. package/dist/models/CameraStream.js +5 -35
  108. package/dist/models/CameraStream.js.map +1 -1
  109. package/dist/models/CustomGcode.js +0 -0
  110. package/dist/models/CustomGcode.js.map +0 -0
  111. package/dist/models/Floor.js +0 -0
  112. package/dist/models/Floor.js.map +0 -0
  113. package/dist/models/FloorPrinter.js +0 -0
  114. package/dist/models/FloorPrinter.js.map +0 -0
  115. package/dist/models/PrintCompletion.js +0 -0
  116. package/dist/models/PrintCompletion.js.map +0 -0
  117. package/dist/models/Printer.js +0 -0
  118. package/dist/models/Printer.js.map +0 -0
  119. package/dist/models/Settings.js +0 -0
  120. package/dist/models/Settings.js.map +0 -0
  121. package/dist/models/index.js +0 -0
  122. package/dist/models/index.js.map +0 -0
  123. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -0
  124. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +0 -0
  125. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -0
  126. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +0 -0
  127. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -0
  128. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +0 -0
  129. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +0 -0
  130. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +0 -0
  131. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +0 -0
  132. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +0 -0
  133. package/dist/mongo-migrations/20230716065316-user-remove-name.js +0 -0
  134. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +0 -0
  135. package/dist/server.constants.js +14 -5
  136. package/dist/server.constants.js.map +1 -1
  137. package/dist/server.core.js +4 -2
  138. package/dist/server.core.js.map +1 -1
  139. package/dist/server.env.js +3 -1
  140. package/dist/server.env.js.map +1 -1
  141. package/dist/server.host.js +3 -3
  142. package/dist/server.host.js.map +1 -1
  143. package/dist/services/authentication/auth.service.js +29 -15
  144. package/dist/services/authentication/auth.service.js.map +1 -1
  145. package/dist/services/authentication/jwt.service.js +0 -0
  146. package/dist/services/authentication/jwt.service.js.map +0 -0
  147. package/dist/services/authentication/permission.service.js +0 -0
  148. package/dist/services/authentication/permission.service.js.map +0 -0
  149. package/dist/services/authentication/refresh-token.service.js +6 -5
  150. package/dist/services/authentication/refresh-token.service.js.map +1 -1
  151. package/dist/services/authentication/role.service.js +6 -0
  152. package/dist/services/authentication/role.service.js.map +1 -1
  153. package/dist/services/authentication/user.service.js +35 -13
  154. package/dist/services/authentication/user.service.js.map +1 -1
  155. package/dist/services/batch-call.service.js +0 -0
  156. package/dist/services/batch-call.service.js.map +0 -0
  157. package/dist/services/camera-stream.service.js +2 -15
  158. package/dist/services/camera-stream.service.js.map +1 -1
  159. package/dist/services/core/client-bundle.service.js +0 -0
  160. package/dist/services/core/client-bundle.service.js.map +0 -0
  161. package/dist/services/core/config.service.js +4 -0
  162. package/dist/services/core/config.service.js.map +1 -1
  163. package/dist/services/core/github.service.js +0 -0
  164. package/dist/services/core/github.service.js.map +0 -0
  165. package/dist/services/core/logs-manager.service.js +0 -0
  166. package/dist/services/core/logs-manager.service.js.map +0 -0
  167. package/dist/services/core/monsterpi.service.js +0 -0
  168. package/dist/services/core/monsterpi.service.js.map +0 -0
  169. package/dist/services/core/multer.service.js +0 -0
  170. package/dist/services/core/multer.service.js.map +0 -0
  171. package/dist/services/core/server-release.service.js +0 -0
  172. package/dist/services/core/server-release.service.js.map +0 -0
  173. package/dist/services/core/server-update.service.js +0 -0
  174. package/dist/services/core/server-update.service.js.map +0 -0
  175. package/dist/services/core/task-manager.service.js +0 -0
  176. package/dist/services/core/task-manager.service.js.map +0 -0
  177. package/dist/services/core/yaml.service.js +0 -0
  178. package/dist/services/core/yaml.service.js.map +1 -1
  179. package/dist/services/custom-gcode.service.js +0 -0
  180. package/dist/services/custom-gcode.service.js.map +0 -0
  181. package/dist/services/floor.service.js +0 -0
  182. package/dist/services/floor.service.js.map +0 -0
  183. package/dist/services/influxdb-v2/influx-db-v2-base.service.js +4 -8
  184. package/dist/services/influxdb-v2/influx-db-v2-base.service.js.map +1 -1
  185. package/dist/services/interfaces/auth.service.interface.js +0 -0
  186. package/dist/services/interfaces/auth.service.interface.js.map +0 -0
  187. package/dist/services/interfaces/camera-stream.dto.js +11 -47
  188. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  189. package/dist/services/interfaces/camera-stream.service.interface.js +0 -0
  190. package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -0
  191. package/dist/services/interfaces/custom-gcode.dto.js +0 -0
  192. package/dist/services/interfaces/custom-gcode.dto.js.map +0 -0
  193. package/dist/services/interfaces/custom-gcode.service.interface.js +0 -0
  194. package/dist/services/interfaces/custom-gcode.service.interface.js.map +0 -0
  195. package/dist/services/interfaces/floor.dto.js +0 -0
  196. package/dist/services/interfaces/floor.dto.js.map +0 -0
  197. package/dist/services/interfaces/floor.service.interface.js +0 -0
  198. package/dist/services/interfaces/floor.service.interface.js.map +0 -0
  199. package/dist/services/interfaces/gcode-analysis.dto.js +0 -0
  200. package/dist/services/interfaces/gcode-analysis.dto.js.map +0 -0
  201. package/dist/services/interfaces/jwt.service.interface.js +0 -0
  202. package/dist/services/interfaces/jwt.service.interface.js.map +0 -0
  203. package/dist/services/interfaces/login.dto.js +0 -0
  204. package/dist/services/interfaces/login.dto.js.map +0 -0
  205. package/dist/services/interfaces/page.interface.js +0 -0
  206. package/dist/services/interfaces/page.interface.js.map +0 -0
  207. package/dist/services/interfaces/permission.dto.js +0 -0
  208. package/dist/services/interfaces/permission.dto.js.map +0 -0
  209. package/dist/services/interfaces/permission.service.interface.js +0 -0
  210. package/dist/services/interfaces/permission.service.interface.js.map +0 -0
  211. package/dist/services/interfaces/printer-file.dto.js +0 -0
  212. package/dist/services/interfaces/printer-file.dto.js.map +0 -0
  213. package/dist/services/interfaces/printer-files.service.interface.js +0 -0
  214. package/dist/services/interfaces/printer-files.service.interface.js.map +0 -0
  215. package/dist/services/interfaces/printer.dto.js +0 -0
  216. package/dist/services/interfaces/printer.dto.js.map +0 -0
  217. package/dist/services/interfaces/printer.service.interface.js +0 -0
  218. package/dist/services/interfaces/printer.service.interface.js.map +0 -0
  219. package/dist/services/interfaces/refresh-token.dto.js +20 -0
  220. package/dist/services/interfaces/refresh-token.dto.js.map +1 -0
  221. package/dist/services/{orm/printer.service.interface.js → interfaces/refresh-token.service.interface.js} +1 -1
  222. package/dist/services/interfaces/refresh-token.service.interface.js.map +1 -0
  223. package/dist/services/interfaces/role-service.interface.js +0 -0
  224. package/dist/services/interfaces/role-service.interface.js.map +0 -0
  225. package/dist/services/interfaces/role.dto.js +16 -0
  226. package/dist/services/interfaces/role.dto.js.map +1 -0
  227. package/dist/services/interfaces/settings.dto.js +2 -3
  228. package/dist/services/interfaces/settings.dto.js.map +1 -1
  229. package/dist/services/interfaces/settings.service.interface.js +0 -0
  230. package/dist/services/interfaces/settings.service.interface.js.map +0 -0
  231. package/dist/services/interfaces/user-service.interface.js +0 -0
  232. package/dist/services/interfaces/user-service.interface.js.map +0 -0
  233. package/dist/services/interfaces/user.dto.js +0 -0
  234. package/dist/services/interfaces/user.dto.js.map +0 -0
  235. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +0 -0
  236. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +0 -0
  237. package/dist/services/octoprint/constants/octoprint-service.constants.js +0 -0
  238. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +0 -0
  239. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +0 -0
  240. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +0 -0
  241. package/dist/services/octoprint/octoprint-api.routes.js +0 -0
  242. package/dist/services/octoprint/octoprint-api.routes.js.map +0 -0
  243. package/dist/services/octoprint/octoprint-api.service.js +0 -0
  244. package/dist/services/octoprint/octoprint-api.service.js.map +0 -0
  245. package/dist/services/octoprint/octoprint-sockio.adapter.js +7 -11
  246. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  247. package/dist/services/octoprint/plugin-base.service.js +0 -0
  248. package/dist/services/octoprint/plugin-base.service.js.map +0 -0
  249. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -0
  250. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -0
  251. package/dist/services/octoprint/plugin-repository.cache.js +0 -0
  252. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -0
  253. package/dist/services/octoprint/socket.factory.js +0 -0
  254. package/dist/services/octoprint/socket.factory.js.map +0 -0
  255. package/dist/services/octoprint/utils/api.utils.js +0 -0
  256. package/dist/services/octoprint/utils/api.utils.js.map +0 -0
  257. package/dist/services/print-completion.service.js +0 -0
  258. package/dist/services/print-completion.service.js.map +0 -0
  259. package/dist/services/printer-files.service.js +0 -0
  260. package/dist/services/printer-files.service.js.map +0 -0
  261. package/dist/services/printer.service.js +0 -0
  262. package/dist/services/printer.service.js.map +0 -0
  263. package/dist/services/settings.service.js +40 -31
  264. package/dist/services/settings.service.js.map +1 -1
  265. package/dist/services/validators/floor-service.validation.js +0 -0
  266. package/dist/services/validators/floor-service.validation.js.map +0 -0
  267. package/dist/services/validators/print-completion-service.validation.js +0 -0
  268. package/dist/services/validators/print-completion-service.validation.js.map +0 -0
  269. package/dist/services/validators/printer-service.validation.js +1 -1
  270. package/dist/services/validators/printer-service.validation.js.map +1 -1
  271. package/dist/services/validators/settings-service.validation.js +18 -8
  272. package/dist/services/validators/settings-service.validation.js.map +1 -1
  273. package/dist/services/validators/user-service.validation.js +3 -2
  274. package/dist/services/validators/user-service.validation.js.map +1 -1
  275. package/dist/services/validators/yaml-service.validation.js +0 -0
  276. package/dist/services/validators/yaml-service.validation.js.map +0 -0
  277. package/dist/shared.constants.js +0 -0
  278. package/dist/shared.constants.js.map +0 -0
  279. package/dist/state/file-upload-tracker.cache.js +0 -0
  280. package/dist/state/file-upload-tracker.cache.js.map +0 -0
  281. package/dist/state/file.cache.js +0 -0
  282. package/dist/state/file.cache.js.map +0 -0
  283. package/dist/state/files.store.js +0 -0
  284. package/dist/state/files.store.js.map +0 -0
  285. package/dist/state/floor.store.js +0 -0
  286. package/dist/state/floor.store.js.map +0 -0
  287. package/dist/state/printer-events.cache.js +0 -0
  288. package/dist/state/printer-events.cache.js.map +0 -0
  289. package/dist/state/printer-socket.store.js +0 -0
  290. package/dist/state/printer-socket.store.js.map +0 -0
  291. package/dist/state/printer.cache.js +0 -0
  292. package/dist/state/printer.cache.js.map +0 -0
  293. package/dist/state/settings.store.js +28 -5
  294. package/dist/state/settings.store.js.map +1 -1
  295. package/dist/state/socket-io.gateway.js +30 -3
  296. package/dist/state/socket-io.gateway.js.map +1 -1
  297. package/dist/state/test-printer-socket.store.js +3 -0
  298. package/dist/state/test-printer-socket.store.js.map +1 -1
  299. package/dist/state/validation/create-test-printer.validation.js +0 -0
  300. package/dist/state/validation/create-test-printer.validation.js.map +0 -0
  301. package/dist/task.presets.js +0 -0
  302. package/dist/task.presets.js.map +0 -0
  303. package/dist/tasks/boot.task.js +18 -14
  304. package/dist/tasks/boot.task.js.map +1 -1
  305. package/dist/tasks/client-bundle.task.js +0 -0
  306. package/dist/tasks/client-bundle.task.js.map +0 -0
  307. package/dist/tasks/print-completion.socketio.task.js +0 -0
  308. package/dist/tasks/print-completion.socketio.task.js.map +0 -0
  309. package/dist/tasks/printer-file-clean.task.js +0 -0
  310. package/dist/tasks/printer-file-clean.task.js.map +0 -0
  311. package/dist/tasks/printer-websocket-restore.task.js +0 -0
  312. package/dist/tasks/printer-websocket-restore.task.js.map +0 -0
  313. package/dist/tasks/printer-websocket.task.js +0 -0
  314. package/dist/tasks/printer-websocket.task.js.map +0 -0
  315. package/dist/tasks/socketio.task.js +0 -0
  316. package/dist/tasks/socketio.task.js.map +0 -0
  317. package/dist/tasks/software-update.task.js +0 -0
  318. package/dist/tasks/software-update.task.js.map +0 -0
  319. package/dist/tasks.js +0 -0
  320. package/dist/tasks.js.map +0 -0
  321. package/dist/types/express/index.d.js +0 -0
  322. package/dist/types/express/index.d.js.map +0 -0
  323. package/dist/utils/array.util.js +0 -0
  324. package/dist/utils/array.util.js.map +0 -0
  325. package/dist/utils/benchmark.util.js +0 -0
  326. package/dist/utils/benchmark.util.js.map +0 -0
  327. package/dist/utils/cache/key-diff.cache.js +0 -0
  328. package/dist/utils/cache/key-diff.cache.js.map +0 -0
  329. package/dist/utils/correlation-token.util.js +0 -0
  330. package/dist/utils/correlation-token.util.js.map +0 -0
  331. package/dist/utils/crypto.utils.js +0 -0
  332. package/dist/utils/crypto.utils.js.map +0 -0
  333. package/dist/utils/env.utils.js +6 -0
  334. package/dist/utils/env.utils.js.map +1 -1
  335. package/dist/utils/error.utils.js +0 -0
  336. package/dist/utils/error.utils.js.map +0 -0
  337. package/dist/utils/find-predicate.utils.js +0 -0
  338. package/dist/utils/find-predicate.utils.js.map +0 -0
  339. package/dist/utils/fs.utils.js +0 -0
  340. package/dist/utils/fs.utils.js.map +0 -0
  341. package/dist/utils/is-docker.js +0 -0
  342. package/dist/utils/is-docker.js.map +0 -0
  343. package/dist/utils/mapper.utils.js +0 -0
  344. package/dist/utils/mapper.utils.js.map +0 -0
  345. package/dist/utils/metric.utils.js +0 -0
  346. package/dist/utils/metric.utils.js.map +0 -0
  347. package/dist/utils/normalize-url.js +0 -0
  348. package/dist/utils/normalize-url.js.map +0 -0
  349. package/dist/utils/semver.utils.js +0 -0
  350. package/dist/utils/semver.utils.js.map +0 -0
  351. package/dist/utils/time.utils.js +0 -0
  352. package/dist/utils/time.utils.js.map +0 -0
  353. package/dist/utils/url.utils.js +0 -0
  354. package/dist/utils/url.utils.js.map +0 -0
  355. package/dist/utils/websocket.adapter.js +0 -0
  356. package/dist/utils/websocket.adapter.js.map +0 -0
  357. package/migrate-mongo-config.js +0 -0
  358. package/package.json +21 -16
  359. package/src/index.ts +0 -0
  360. package/tsconfig.json +0 -0
  361. package/.env +0 -19
  362. package/.idea/codeStyles/Project.xml +0 -85
  363. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  364. package/.idea/dbnavigator.xml +0 -574
  365. package/.idea/fdm-monster.iml +0 -16
  366. package/.idea/inspectionProfiles/Project_Default.xml +0 -22
  367. package/.idea/jsLibraryMappings.xml +0 -6
  368. package/.idea/modules.xml +0 -12
  369. package/.idea/prettier.xml +0 -6
  370. package/.idea/vcs.xml +0 -17
  371. package/dist/@type/express/index.d.js +0 -7
  372. package/dist/@type/express/index.d.js.map +0 -1
  373. package/dist/middleware/exception.handler.js.map +0 -1
  374. package/dist/migrations/1696187882312-PrinterFile.js +0 -40
  375. package/dist/migrations/1696187882312-PrinterFile.js.map +0 -1
  376. package/dist/models/ServerSettings.js +0 -168
  377. package/dist/models/ServerSettings.js.map +0 -1
  378. package/dist/nodemon_restart_trigger.js +0 -4
  379. package/dist/nodemon_restart_trigger.js.map +0 -1
  380. package/dist/services/orm/floor.service.interface.js +0 -73
  381. package/dist/services/orm/floor.service.interface.js.map +0 -1
  382. package/dist/services/orm/printer.service.interface.js.map +0 -1
  383. package/dist/services/yaml.service.js +0 -278
  384. package/dist/services/yaml.service.js.map +0 -1
  385. package/nodemon_restart_trigger.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/authenticate.ts"],"names":["authenticate","authorizePermission","authorizeRoles","withPermission","permission","inject","permissionService","roleService","req","res","next","roles","length","AuthorizationError","permissions","assignedPermissions","getRolesPermissions","settingsStore","authService","isLoginRequired","getLoginRequired","user","needsPasswordChange","PasswordChangeRequiredError","bearer","headers","authorization","replace","undefined","isJwtBlacklisted","isJwtTokenBlacklisted","AuthenticationError","isAuthenticated","subset","before"],"mappings":";;;;;;;;;;;IAmBaA,YAAY;eAAZA;;IAfGC,mBAAmB;eAAnBA;;IAwCHC,cAAc;eAAdA;;IASGC,cAAc;eAAdA;;;+BArDO;mCAC8D;AAG9E,SAASF,oBAAoBG,UAAkB;IACpD,OAAOC,IAAAA,qBAAM,EAAC,CAAC,EAAEC,iBAAiB,EAAEC,WAAW,EAAE,GAAK,OAAOC,KAAcC,KAAeC;YACxF,IAAI,CAACF,IAAIG,KAAK,EAAEC,QAAQ;gBACtB,MAAM,IAAIC,qCAAkB,CAAC;oBAAEC,aAAa;wBAACV;qBAAW;gBAAC;YAC3D;YAEA,MAAMW,sBAAsBR,YAAYS,mBAAmB,CAACR,IAAIG,KAAK;YACrE,IAAI,CAACL,kBAAkBL,mBAAmB,CAACG,YAAYW,sBAAsB;gBAC3E,MAAM,IAAIF,qCAAkB,CAAC;oBAAEC,aAAa;wBAACV;qBAAW;gBAAC;YAC3D;YAEAM;QACF;AACF;AAEO,MAAMV,eAAe,IAC1BK,IAAAA,qBAAM,EAAC,CAAC,EAAEY,aAAa,EAAEC,WAAW,EAAE,GAAK,OAAOV,KAAcC,KAAeC;YAC7E,MAAMS,kBAAkB,MAAMF,cAAcG,gBAAgB;YAC5D,IAAI,CAACD,iBAAiB;gBACpB,OAAOT;YACT;YAEA,yCAAyC;YACzC,IAAIF,IAAIa,IAAI,EAAEC,qBAAqB;gBACjC,MAAM,IAAIC,8CAA2B;YACvC;YAEA,+BAA+B;YAC/B,MAAMC,SAAShB,IAAIiB,OAAO,CAACC,aAAa,EAAEC,QAAQ,WAAW,OAAOC;YACpE,MAAMC,mBAAmBX,YAAYY,qBAAqB,CAACN;YAC3D,IAAI,CAAC,CAACA,QAAQZ,UAAUiB,kBAAkB;gBACxC,MAAM,IAAIE,sCAAmB,CAAC;YAChC;YAEA,IAAIvB,IAAIwB,eAAe,IAAI;gBACzB,OAAOtB;YACT;YAEA,MAAM,IAAIqB,sCAAmB,CAAC;QAChC;AACK,MAAM7B,iBAAiB,CAACS,OAAiBsB,SAAS,IAAI,GAC3D5B,IAAAA,qBAAM,EAAC,CAAC,EAAEE,WAAW,EAAE,GAAK,OAAOC,KAAcC,KAAeC;YAC9D,IAAI,CAACH,YAAYL,cAAc,CAACS,OAAOH,IAAIG,KAAK,EAAEsB,SAAS;gBACzD,MAAM,IAAIpB,qCAAkB,CAAC;oBAAEF;gBAAM;YACvC;YAEAD;QACF;AAEK,SAASP,eAAeC,UAAkB;IAC/C,OAAO;QACL8B,QAAQ;YAACjC,oBAAoBG;SAAY;IAC3C;AACF"}
1
+ {"version":3,"sources":["../../src/middleware/authenticate.ts"],"names":["authenticate","authorizePermission","authorizeRoles","withPermission","permission","inject","permissionService","roleService","req","res","next","roles","length","AuthorizationError","permissions","assignedPermissions","getRolesPermissions","settingsStore","authService","loggerFactory","logger","isLoginRequired","getLoginRequired","user","needsPasswordChange","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","bearer","headers","authorization","replace","undefined","isJwtBlacklisted","isJwtTokenBlacklisted","LoginRequired","isAuthenticated","log","originalUrl","InvalidOrExpiredAuthToken","subset","before"],"mappings":";;;;;;;;;;;IAuBaA,YAAY;eAAZA;;IAfGC,mBAAmB;eAAnBA;;IAqDHC,cAAc;eAAdA;;IASGC,cAAc;eAAdA;;;+BAtEO;mCACiC;wCAEtB;AAK3B,SAASF,oBAAoBG,UAAkB;IACpD,OAAOC,IAAAA,qBAAM,EAAC,CAAC,EAAEC,iBAAiB,EAAEC,WAAW,EAAE,GAAK,OAAOC,KAAcC,KAAeC;YACxF,IAAI,CAACF,IAAIG,KAAK,EAAEC,QAAQ;gBACtB,MAAM,IAAIC,qCAAkB,CAAC;oBAAEC,aAAa;wBAACV;qBAAW;gBAAC;YAC3D;YAEA,MAAMW,sBAAsBR,YAAYS,mBAAmB,CAACR,IAAIG,KAAK;YACrE,IAAI,CAACL,kBAAkBL,mBAAmB,CAACG,YAAYW,sBAAsB;gBAC3E,MAAM,IAAIF,qCAAkB,CAAC;oBAAEC,aAAa;wBAACV;qBAAW;gBAAC;YAC3D;YAEAM;QACF;AACF;AAEO,MAAMV,eAAe,IAC1BK,IAAAA,qBAAM,EACJ,CAAC,EACGY,aAAa,EACbC,WAAW,EACXC,aAAa,EAKd,GACD,OAAOX,KAAcC,KAAeC;YAClC,MAAMU,SAASD,cAAc;YAC7B,MAAME,kBAAkB,MAAMJ,cAAcK,gBAAgB;YAC5D,IAAI,CAACD,iBAAiB;gBACpB,OAAOX;YACT;YAEA,yCAAyC;YACzC,IAAIF,IAAIe,IAAI,EAAEC,qBAAqB;gBACjC,MAAM,IAAIC,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB;YACpG;YAEA,+BAA+B;YAC/B,MAAMC,SAASpB,IAAIqB,OAAO,CAACC,aAAa,EAAEC,QAAQ,WAAW,OAAOC;YACpE,MAAMC,mBAAmBf,YAAYgB,qBAAqB,CAACN;YAC3D,IAAI,CAAC,CAACA,QAAQhB,UAAUqB,kBAAkB;gBACxC,MAAM,IAAIR,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACS,aAAa;YACpF;YAEA,IAAI3B,IAAI4B,eAAe,IAAI;gBACzB,OAAO1B;YACT;YAEAU,OAAOiB,GAAG,CAAC,CAAC,6BAA6B,EAAE7B,IAAI8B,WAAW,CAAC,CAAC;YAC5D,MAAM,IAAIb,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACa,yBAAyB;QAChG;AAEC,MAAMrC,iBAAiB,CAACS,OAAiB6B,SAAS,IAAI,GAC3DnC,IAAAA,qBAAM,EAAC,CAAC,EAAEE,WAAW,EAAE,GAAK,OAAOC,KAAcC,KAAeC;YAC9D,IAAI,CAACH,YAAYL,cAAc,CAACS,OAAOH,IAAIG,KAAK,EAAE6B,SAAS;gBACzD,MAAM,IAAI3B,qCAAkB,CAAC;oBAAEF;gBAAM;YACvC;YAEAD;QACF;AAEK,SAASP,eAAeC,UAAkB;IAC/C,OAAO;QACLqC,QAAQ;YAACxC,oBAAoBG;SAAY;IAC3C;AACF"}
File without changes
File without changes
@@ -0,0 +1,43 @@
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
+ demoUserNotAllowed: function() {
13
+ return demoUserNotAllowed;
14
+ },
15
+ demoUserNotAllowedInterceptor: function() {
16
+ return demoUserNotAllowedInterceptor;
17
+ }
18
+ });
19
+ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
20
+ const _awilixexpress = require("awilix-express");
21
+ const demoUserNotAllowed = (0, _awilixexpress.inject)(({ userService, configService, loggerFactory })=>{
22
+ const logger = loggerFactory(demoUserNotAllowed.name);
23
+ return async (req, res, next)=>{
24
+ const isDemoMode = configService.isDemoMode();
25
+ if (!isDemoMode) {
26
+ next();
27
+ return;
28
+ }
29
+ const demoUserId = await userService.getDemoUserId();
30
+ if (req.user?.id === demoUserId) {
31
+ logger.warn("Demo user attempted to access restricted resource", req.path);
32
+ throw new _runtimeexceptions.ForbiddenError("Demo user attempted to access restricted resource");
33
+ }
34
+ next();
35
+ };
36
+ });
37
+ const demoUserNotAllowedInterceptor = {
38
+ before: [
39
+ demoUserNotAllowed
40
+ ]
41
+ };
42
+
43
+ //# sourceMappingURL=demo.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/demo.middleware.ts"],"names":["demoUserNotAllowed","demoUserNotAllowedInterceptor","inject","userService","configService","loggerFactory","logger","name","req","res","next","isDemoMode","demoUserId","getDemoUserId","user","id","warn","path","ForbiddenError","before"],"mappings":";;;;;;;;;;;IAOaA,kBAAkB;eAAlBA;;IA2BAC,6BAA6B;eAA7BA;;;mCAlCkB;+BAER;AAKhB,MAAMD,qBAAqBE,IAAAA,qBAAM,EACtC,CAAC,EACCC,WAAW,EACXC,aAAa,EACbC,aAAa,EAKd;IACC,MAAMC,SAASD,cAAcL,mBAAmBO,IAAI;IACpD,OAAO,OAAOC,KAAcC,KAAeC;QACzC,MAAMC,aAAaP,cAAcO,UAAU;QAC3C,IAAI,CAACA,YAAY;YACfD;YACA;QACF;QACA,MAAME,aAAa,MAAMT,YAAYU,aAAa;QAClD,IAAIL,IAAIM,IAAI,EAAEC,OAAOH,YAAY;YAC/BN,OAAOU,IAAI,CAAC,qDAAqDR,IAAIS,IAAI;YACzE,MAAM,IAAIC,iCAAc,CAAC;QAC3B;QACAR;IACF;AACF;AAGK,MAAMT,gCAAgC;IAC3CkB,QAAQ;QAACnB;KAAmB;AAC9B"}
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "exceptionHandler", {
5
+ Object.defineProperty(exports, "exceptionFilter", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return exceptionHandler;
8
+ return exceptionFilter;
9
9
  }
10
10
  });
11
11
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
12
12
  const _serverconstants = require("../server.constants");
13
13
  const _httpstatuscodesconstants = require("../constants/http-status-codes.constants");
14
- function exceptionHandler(err, req, res, next) {
14
+ function exceptionFilter(err, req, res, next) {
15
15
  const isTest = process.env.NODE_ENV === _serverconstants.AppConstants.defaultTestEnv;
16
16
  if (!isTest) {
17
17
  console.error("[API Exception Handler]", err.stack || err?.response?.data);
@@ -27,11 +27,12 @@ function exceptionHandler(err, req, res, next) {
27
27
  if (err instanceof _runtimeexceptions.AuthenticationError) {
28
28
  const code = err.statusCode || 401;
29
29
  return res.status(code).send({
30
- error: err.message
30
+ error: err.message,
31
+ reasonCode: err.reasonCode
31
32
  });
32
33
  }
33
34
  if (err instanceof _runtimeexceptions.AuthorizationError) {
34
- const code = err.statusCode || 403;
35
+ const code = err.statusCode || _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN;
35
36
  const permissions = err.permissions;
36
37
  const roles = err.roles;
37
38
  const error = err.message || "You lack permission to this resource";
@@ -43,8 +44,8 @@ function exceptionHandler(err, req, res, next) {
43
44
  roles
44
45
  });
45
46
  }
46
- if (err instanceof _runtimeexceptions.PasswordChangeRequiredError) {
47
- const code = err.statusCode || _httpstatuscodesconstants.HttpStatusCode.CONFLICT;
47
+ if (err instanceof _runtimeexceptions.ForbiddenError) {
48
+ const code = err.statusCode || _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN;
48
49
  return res.status(code).send({
49
50
  error: err.message
50
51
  });
@@ -93,4 +94,4 @@ function exceptionHandler(err, req, res, next) {
93
94
  next();
94
95
  }
95
96
 
96
- //# sourceMappingURL=exception.handler.js.map
97
+ //# sourceMappingURL=exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middleware/exception.filter.ts"],"names":["exceptionFilter","err","req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","console","error","stack","response","data","isAxiosError","code","status","send","type","AuthenticationError","statusCode","message","reasonCode","AuthorizationError","HttpStatusCode","FORBIDDEN","permissions","roles","reason","ForbiddenError","NotFoundException","BadRequestException","ValidationException","name","errors","InternalServerException","ExternalServiceError"],"mappings":"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"}
@@ -14,15 +14,39 @@ _export(exports, {
14
14
  },
15
15
  validateWhitelistedIp: function() {
16
16
  return validateWhitelistedIp;
17
+ },
18
+ validateWizardCompleted: function() {
19
+ return validateWizardCompleted;
17
20
  }
18
21
  });
19
22
  const _awilixexpress = require("awilix-express");
20
23
  const _serversettingsconstants = require("../constants/server-settings.constants");
21
24
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
25
+ const validateWizardCompleted = (0, _awilixexpress.inject)(({ settingsStore, loggerFactory })=>async (req, res, next)=>{
26
+ const logger = loggerFactory(validateWhitelistedIp.name);
27
+ const serverSettings = settingsStore.getSettings();
28
+ if (!!settingsStore.getWizardSettings()?.wizardCompleted) {
29
+ next();
30
+ return;
31
+ }
32
+ const allowedPaths = [
33
+ "/api/first-time-setup/complete",
34
+ "/api/first-time-setup/validate",
35
+ "/api/test",
36
+ "/api/auth/login-required"
37
+ ];
38
+ if (allowedPaths.includes(req.path) || !req.path.startsWith("/api")) {
39
+ next();
40
+ return;
41
+ } else {
42
+ logger.error("Wizard not completed", req.path);
43
+ throw new _runtimeexceptions.ForbiddenError(`First-time-setup not completed, these api paths are enabled: ${allowedPaths.join(", ")}`);
44
+ }
45
+ });
22
46
  const validateWhitelistedIp = (0, _awilixexpress.inject)(({ settingsStore, loggerFactory })=>async (req, res, next)=>{
23
- const logger = loggerFactory("validateWhitelistedIp");
47
+ const logger = loggerFactory(validateWhitelistedIp.name);
24
48
  const serverSettings = settingsStore.getSettings();
25
- if (!serverSettings && !serverSettings[_serversettingsconstants.serverSettingsKey] || !serverSettings[_serversettingsconstants.serverSettingsKey]?.whitelistEnabled) {
49
+ if (!serverSettings && !settingsStore.getServerSettings() || !settingsStore.getServerSettings()?.whitelistEnabled) {
26
50
  next();
27
51
  return;
28
52
  }
@@ -37,7 +61,7 @@ const validateWhitelistedIp = (0, _awilixexpress.inject)(({ settingsStore, logge
37
61
  });
38
62
  if (!subnextMatched) {
39
63
  logger.error("IP did not match whitelist filters", req.socket.remoteAddress);
40
- throw new _runtimeexceptions.AuthenticationError("Bad IP: " + req.socket.remoteAddress);
64
+ throw new _runtimeexceptions.ForbiddenError("Bad IP: " + req.socket.remoteAddress);
41
65
  }
42
66
  }
43
67
  next();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","validateWhitelistedIp","inject","settingsStore","loggerFactory","req","res","next","logger","serverSettings","getSettings","serverSettingsKey","whitelistEnabled","whitelist","whitelistedIpAddresses","ipAddress","socket","remoteAddress","length","includes","subnextMatched","find","w","startsWith","error","AuthenticationError","roleService","roles","user","roleName","getAppDefaultRole"],"mappings":";;;;;;;;;;;IAmCaA,cAAc;eAAdA;;IA9BAC,qBAAqB;eAArBA;;;+BALU;yCACW;mCACE;AAG7B,MAAMA,wBAAwBC,IAAAA,qBAAM,EACzC,CAAC,EAAEC,aAAa,EAAEC,aAAa,EAAE,GAC/B,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAc;QAC7B,MAAMK,iBAAiBN,cAAcO,WAAW;QAChD,IAAI,AAAC,CAACD,kBAAkB,CAACA,cAAc,CAACE,0CAAiB,CAAC,IAAK,CAACF,cAAc,CAACE,0CAAiB,CAAC,EAAEC,kBAAkB;YACnHL;YACA;QACF;QAEA,MAAMM,YAAYJ,cAAc,CAACE,0CAAiB,CAAC,CAACG,sBAAsB;QAC1E,MAAMC,YAAYV,IAAIW,MAAM,CAACC,aAAa;QAC1C,iDAAiD;QACjD,uDAAuD;QACvD,IAAIJ,WAAWK,UAAU,CAACL,UAAUM,QAAQ,CAACJ,cAAcA,cAAc,oBAAoB;YAC3F,8DAA8D;YAC9D,MAAMK,iBAAiBP,UAAUQ,IAAI,CAAC,CAACC;gBACrC,OAAOP,UAAUQ,UAAU,CAACD;YAC9B;YAEA,IAAI,CAACF,gBAAgB;gBACnBZ,OAAOgB,KAAK,CAAC,sCAAsCnB,IAAIW,MAAM,CAACC,aAAa;gBAC3E,MAAM,IAAIQ,sCAAmB,CAAC,aAAapB,IAAIW,MAAM,CAACC,aAAa;YACrE;QACF;QAEAV;IACF;AAGG,MAAMP,iBAAiBE,IAAAA,qBAAM,EAClC,CAAC,EAAEC,aAAa,EAAEuB,WAAW,EAAE,GAC7B,OAAOrB,KAAcC,KAAeC;QAClC,MAAME,iBAAiB,MAAMN,cAAcO,WAAW;QAEtDL,IAAIsB,KAAK,GAAGtB,IAAIuB,IAAI,EAAED;QAEtB,sEAAsE;QACtE,IAAIlB,kBAAkB,CAACJ,IAAIuB,IAAI,EAAE;YAC/B,MAAMC,WAAW,MAAMH,YAAYI,iBAAiB;YACpDzB,IAAIsB,KAAK,GAAG;gBAACE;aAAS;QACxB;QAEAtB;IACF"}
1
+ {"version":3,"sources":["../../src/middleware/global.middleware.ts"],"names":["interceptRoles","validateWhitelistedIp","validateWizardCompleted","inject","settingsStore","loggerFactory","req","res","next","logger","name","serverSettings","getSettings","getWizardSettings","wizardCompleted","allowedPaths","includes","path","startsWith","error","ForbiddenError","join","getServerSettings","whitelistEnabled","whitelist","serverSettingsKey","whitelistedIpAddresses","ipAddress","socket","remoteAddress","length","subnextMatched","find","w","roleService","roles","user","roleName","getAppDefaultRole"],"mappings":";;;;;;;;;;;IA+DaA,cAAc;eAAdA;;IA9BAC,qBAAqB;eAArBA;;IA1BAC,uBAAuB;eAAvBA;;;+BAPU;yCACW;mCACH;AAKxB,MAAMA,0BAA0BC,IAAAA,qBAAM,EAC3C,CAAC,EAAEC,aAAa,EAAEC,aAAa,EAAmE,GAChG,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAcJ,sBAAsBS,IAAI;QACvD,MAAMC,iBAAiBP,cAAcQ,WAAW;QAChD,IAAI,CAAC,CAACR,cAAcS,iBAAiB,IAAIC,iBAAiB;YACxDN;YACA;QACF;QAEA,MAAMO,eAAe;YACnB;YACA;YACA;YACA;SACD;QACD,IAAIA,aAAaC,QAAQ,CAACV,IAAIW,IAAI,KAAK,CAACX,IAAIW,IAAI,CAACC,UAAU,CAAC,SAAS;YACnEV;YACA;QACF,OAAO;YACLC,OAAOU,KAAK,CAAC,wBAAwBb,IAAIW,IAAI;YAC7C,MAAM,IAAIG,iCAAc,CAAC,CAAC,6DAA6D,EAAEL,aAAaM,IAAI,CAAC,MAAM,CAAC;QACpH;IACF;AAGG,MAAMpB,wBAAwBE,IAAAA,qBAAM,EACzC,CAAC,EAAEC,aAAa,EAAEC,aAAa,EAAmE,GAChG,OAAOC,KAAcC,KAAeC;QAClC,MAAMC,SAASJ,cAAcJ,sBAAsBS,IAAI;QACvD,MAAMC,iBAAiBP,cAAcQ,WAAW;QAChD,IAAI,AAAC,CAACD,kBAAkB,CAACP,cAAckB,iBAAiB,MAAO,CAAClB,cAAckB,iBAAiB,IAAIC,kBAAkB;YACnHf;YACA;QACF;QAEA,MAAMgB,YAAYb,cAAc,CAACc,0CAAiB,CAAC,CAACC,sBAAsB;QAC1E,MAAMC,YAAYrB,IAAIsB,MAAM,CAACC,aAAa;QAC1C,iDAAiD;QACjD,uDAAuD;QACvD,IAAIL,WAAWM,UAAU,CAACN,UAAUR,QAAQ,CAACW,cAAcA,cAAc,oBAAoB;YAC3F,8DAA8D;YAC9D,MAAMI,iBAAiBP,UAAUQ,IAAI,CAAC,CAACC;gBACrC,OAAON,UAAUT,UAAU,CAACe;YAC9B;YAEA,IAAI,CAACF,gBAAgB;gBACnBtB,OAAOU,KAAK,CAAC,sCAAsCb,IAAIsB,MAAM,CAACC,aAAa;gBAC3E,MAAM,IAAIT,iCAAc,CAAC,aAAad,IAAIsB,MAAM,CAACC,aAAa;YAChE;QACF;QAEArB;IACF;AAGG,MAAMR,iBAAiBG,IAAAA,qBAAM,EAClC,CAAC,EAAEC,aAAa,EAAE8B,WAAW,EAAE,GAC7B,OAAO5B,KAAcC,KAAeC;QAClC,MAAMG,iBAAiB,MAAMP,cAAcQ,WAAW;QAEtDN,IAAI6B,KAAK,GAAG7B,IAAI8B,IAAI,EAAED;QAEtB,sEAAsE;QACtE,IAAIxB,kBAAkB,CAACL,IAAI8B,IAAI,EAAE;YAC/B,MAAMC,WAAW,MAAMH,YAAYI,iBAAiB;YACpDhC,IAAI6B,KAAK,GAAG;gBAACE;aAAS;QACxB;QAEA7B;IACF"}
@@ -2,22 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "initializePassportStrategies", {
6
- enumerable: true,
7
- get: function() {
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
+ getPassportJwtOptions: function() {
13
+ return getPassportJwtOptions;
14
+ },
15
+ initializePassportStrategies: function() {
8
16
  return initializePassportStrategies;
17
+ },
18
+ verifyUserCallback: function() {
19
+ return verifyUserCallback;
9
20
  }
10
21
  });
11
22
  const _passportjwt = require("passport-jwt");
12
23
  const _passportanonymous = require("passport-anonymous");
13
- const _models = require("../models");
14
24
  const _containertokens = require("../container.tokens");
15
25
  const _serverconstants = require("../server.constants");
16
- function initializePassportStrategies(passport, container) {
17
- const settingsStore = container.resolve(_containertokens.DITokens.settingsStore);
18
- const configService = container.resolve(_containertokens.DITokens.configService);
19
- const opts = {
20
- jwtFromRequest: _passportjwt.ExtractJwt.fromAuthHeaderAsBearerToken(),
26
+ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
27
+ const _authorizationconstants = require("../constants/authorization.constants");
28
+ function getPassportJwtOptions(settingsStore, configService, jwtFromRequest = _passportjwt.ExtractJwt.fromAuthHeaderAsBearerToken()) {
29
+ return {
30
+ jwtFromRequest: jwtFromRequest,
21
31
  secretOrKeyProvider: async (req, token, done)=>{
22
32
  const { jwtSecret } = await settingsStore.getCredentialSettings();
23
33
  return done(null, jwtSecret);
@@ -25,17 +35,36 @@ function initializePassportStrategies(passport, container) {
25
35
  audience: configService.get(_serverconstants.AppConstants.OVERRIDE_JWT_AUDIENCE, _serverconstants.AppConstants.DEFAULT_JWT_AUDIENCE),
26
36
  issuer: configService.get(_serverconstants.AppConstants.OVERRIDE_JWT_ISSUER, _serverconstants.AppConstants.DEFAULT_JWT_ISSUER)
27
37
  };
28
- passport.use(new _passportjwt.Strategy(opts, function(jwt_payload, done) {
29
- _models.User.findById(jwt_payload.userId, function(err, user) {
38
+ }
39
+ function verifyUserCallback(userService) {
40
+ return function(jwt_payload, done) {
41
+ userService.getUser(jwt_payload.userId).then((user)=>{
42
+ if (user && user.isVerified && !user.needsPasswordChange) {
43
+ return done(null, user);
44
+ }
45
+ if (user && user.needsPasswordChange) {
46
+ console.log("Needs password change");
47
+ return done(new _runtimeexceptions.AuthenticationError("Password change required", _authorizationconstants.AUTH_ERROR_REASON.PasswordChangeRequired), false);
48
+ }
49
+ if (user && !user?.isVerified) {
50
+ console.log("Needs password change");
51
+ return done(new _runtimeexceptions.AuthenticationError("User not verified", _authorizationconstants.AUTH_ERROR_REASON.AccountNotVerified), false);
52
+ }
53
+ return done(null, false);
54
+ }).catch((err)=>{
30
55
  if (err) {
31
56
  return done(err, false);
32
57
  }
33
- if (user) {
34
- return done(null, user);
35
- } else {
36
- return done(null, false);
37
- }
38
58
  });
59
+ };
60
+ }
61
+ function initializePassportStrategies(passport, container) {
62
+ const settingsStore = container.resolve(_containertokens.DITokens.settingsStore);
63
+ const configService = container.resolve(_containertokens.DITokens.configService);
64
+ const userService = container.resolve(_containertokens.DITokens.userService);
65
+ const opts = getPassportJwtOptions(settingsStore, configService, _passportjwt.ExtractJwt.fromAuthHeaderAsBearerToken());
66
+ passport.use(new _passportjwt.Strategy(opts, function(jwt_payload, done) {
67
+ verifyUserCallback(userService)(jwt_payload, done);
39
68
  }));
40
69
  passport.use(new _passportanonymous.Strategy());
41
70
  return passport;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/passport.ts"],"names":["initializePassportStrategies","passport","container","settingsStore","resolve","DITokens","configService","opts","jwtFromRequest","ExtractJwt","fromAuthHeaderAsBearerToken","secretOrKeyProvider","req","token","done","jwtSecret","getCredentialSettings","audience","get","AppConstants","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","issuer","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","use","JwtStrategy","jwt_payload","User","findById","userId","err","user","AnonymousStrategy"],"mappings":";;;;+BAWgBA;;;eAAAA;;;6BAXqD;mCACvB;wBACzB;iCACI;iCACI;AAOtB,SAASA,6BAA6BC,QAAwB,EAAEC,SAA+B;IACpG,MAAMC,gBAAgBD,UAAUE,OAAO,CAAgBC,yBAAQ,CAACF,aAAa;IAC7E,MAAMG,gBAAgBJ,UAAUE,OAAO,CAAgBC,yBAAQ,CAACC,aAAa;IAE7E,MAAMC,OAAwB;QAC5BC,gBAAgBC,uBAAU,CAACC,2BAA2B;QACtDC,qBAAqB,OAAOC,KAAKC,OAAeC;YAC9C,MAAM,EAAEC,SAAS,EAAE,GAAG,MAAMZ,cAAca,qBAAqB;YAC/D,OAAOF,KAAK,MAAMC;QACpB;QACAE,UAAUX,cAAcY,GAAG,CAACC,6BAAY,CAACC,qBAAqB,EAAED,6BAAY,CAACE,oBAAoB;QACjGC,QAAQhB,cAAcY,GAAG,CAACC,6BAAY,CAACI,mBAAmB,EAAEJ,6BAAY,CAACK,kBAAkB;IAC7F;IAEAvB,SAASwB,GAAG,CACV,IAAIC,qBAAW,CAACnB,MAAM,SAAUoB,WAAW,EAAEb,IAAI;QAC/Cc,YAAI,CAACC,QAAQ,CAACF,YAAYG,MAAM,EAAE,SAAUC,GAAQ,EAAEC,IAAW;YAC/D,IAAID,KAAK;gBACP,OAAOjB,KAAKiB,KAAK;YACnB;YACA,IAAIC,MAAM;gBACR,OAAOlB,KAAK,MAAMkB;YACpB,OAAO;gBACL,OAAOlB,KAAK,MAAM;YACpB;QACF;IACF;IAEFb,SAASwB,GAAG,CAAC,IAAIQ,2BAAiB;IAClC,OAAOhC;AACT"}
1
+ {"version":3,"sources":["../../src/middleware/passport.ts"],"names":["getPassportJwtOptions","initializePassportStrategies","verifyUserCallback","settingsStore","configService","jwtFromRequest","ExtractJwt","fromAuthHeaderAsBearerToken","secretOrKeyProvider","req","token","done","jwtSecret","getCredentialSettings","audience","get","AppConstants","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","issuer","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","userService","jwt_payload","getUser","userId","then","user","isVerified","needsPasswordChange","console","log","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","AccountNotVerified","catch","err","passport","container","resolve","DITokens","opts","use","JwtStrategy","AnonymousStrategy"],"mappings":";;;;;;;;;;;IAkBgBA,qBAAqB;eAArBA;;IA2CAC,4BAA4B;eAA5BA;;IA3BAC,kBAAkB;eAAlBA;;;6BAlC+F;mCACjE;iCACrB;iCACI;mCAQO;wCACF;AAM3B,SAASF,sBACdG,aAA4B,EAC5BC,aAA4B,EAC5BC,iBAAiEC,uBAAU,CAACC,2BAA2B,EAAE;IAEzG,OAAO;QACLF,gBAAgBA;QAChBG,qBAAqB,OAAOC,KAAKC,OAAeC;YAC9C,MAAM,EAAEC,SAAS,EAAE,GAAG,MAAMT,cAAcU,qBAAqB;YAC/D,OAAOF,KAAK,MAAMC;QACpB;QACAE,UAAUV,cAAcW,GAAG,CAACC,6BAAY,CAACC,qBAAqB,EAAED,6BAAY,CAACE,oBAAoB;QACjGC,QAAQf,cAAcW,GAAG,CAACC,6BAAY,CAACI,mBAAmB,EAAEJ,6BAAY,CAACK,kBAAkB;IAC7F;AACF;AAEO,SAASnB,mBAAmBoB,WAAyB;IAC1D,OAAO,SAAUC,WAAgB,EAAEZ,IAAsB;QACvDW,YACGE,OAAO,CAACD,YAAYE,MAAM,EAC1BC,IAAI,CAAC,CAACC;YACL,IAAIA,QAAQA,KAAKC,UAAU,IAAI,CAACD,KAAKE,mBAAmB,EAAE;gBACxD,OAAOlB,KAAK,MAAMgB;YACpB;YACA,IAAIA,QAAQA,KAAKE,mBAAmB,EAAE;gBACpCC,QAAQC,GAAG,CAAC;gBACZ,OAAOpB,KAAK,IAAIqB,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB,GAAG;YAC7G;YACA,IAAIP,QAAQ,CAACA,MAAMC,YAAY;gBAC7BE,QAAQC,GAAG,CAAC;gBACZ,OAAOpB,KAAK,IAAIqB,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACE,kBAAkB,GAAG;YAClG;YAEA,OAAOxB,KAAK,MAAM;QACpB,GACCyB,KAAK,CAAC,CAACC;YACN,IAAIA,KAAK;gBACP,OAAO1B,KAAK0B,KAAK;YACnB;QACF;IACJ;AACF;AAEO,SAASpC,6BAA6BqC,QAAwB,EAAEC,SAA+B;IACpG,MAAMpC,gBAAgBoC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACtC,aAAa;IAC7E,MAAMC,gBAAgBmC,UAAUC,OAAO,CAAgBC,yBAAQ,CAACrC,aAAa;IAC7E,MAAMkB,cAAciB,UAAUC,OAAO,CAAeC,yBAAQ,CAACnB,WAAW;IAExE,MAAMoB,OAAO1C,sBAAsBG,eAAeC,eAAeE,uBAAU,CAACC,2BAA2B;IAEvG+B,SAASK,GAAG,CACV,IAAIC,qBAAW,CAACF,MAAM,SAAUnB,WAAW,EAAEZ,IAAI;QAC/CT,mBAAmBoB,aAAaC,aAAaZ;IAC/C;IAEF2B,SAASK,GAAG,CAAC,IAAIE,2BAAiB;IAClC,OAAOP;AACT"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -12,46 +12,16 @@ const _mongoose = require("mongoose");
12
12
  const CameraStreamSchema = new _mongoose.Schema({
13
13
  streamURL: {
14
14
  type: String,
15
- unique: true,
16
15
  required: true
17
16
  },
17
+ name: {
18
+ type: String,
19
+ required: false
20
+ },
18
21
  printerId: {
19
22
  type: _mongoose.Schema.Types.ObjectId,
20
23
  ref: "Printer",
21
- required: false,
22
- index: {
23
- unique: true,
24
- partialFilterExpression: {
25
- printerId: {
26
- $type: _mongoose.Schema.Types.ObjectId
27
- }
28
- }
29
- }
30
- },
31
- settings: {
32
- type: {
33
- aspectRatio: {
34
- type: String,
35
- required: true,
36
- default: "16:9"
37
- },
38
- rotationClockwise: {
39
- type: Number,
40
- required: true,
41
- default: 0
42
- },
43
- flipHorizontal: {
44
- type: Boolean,
45
- required: true,
46
- default: false
47
- },
48
- flipVertical: {
49
- type: Boolean,
50
- required: true,
51
- default: false
52
- }
53
- },
54
- required: true
24
+ required: false
55
25
  }
56
26
  });
57
27
  const CameraStream = (0, _mongoose.model)("CameraStream", CameraStreamSchema);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/CameraStream.ts"],"names":["CameraStream","CameraStreamSchema","Schema","streamURL","type","String","unique","required","printerId","Types","ObjectId","ref","index","partialFilterExpression","$type","settings","aspectRatio","default","rotationClockwise","Number","flipHorizontal","Boolean","flipVertical","model"],"mappings":";;;;+BAwDaA;;;eAAAA;;;0BAxDwB;AAcrC,MAAMC,qBAAqB,IAAIC,gBAAM,CAAgB;IACnDC,WAAW;QACTC,MAAMC;QACNC,QAAQ;QACRC,UAAU;IACZ;IACAC,WAAW;QACTJ,MAAMF,gBAAM,CAACO,KAAK,CAACC,QAAQ;QAC3BC,KAAK;QACLJ,UAAU;QACVK,OAAO;YACLN,QAAQ;YACRO,yBAAyB;gBAAEL,WAAW;oBAAEM,OAAOZ,gBAAM,CAACO,KAAK,CAACC,QAAQ;gBAAC;YAAE;QACzE;IACF;IACAK,UAAU;QACRX,MAAM;YACJY,aAAa;gBACXZ,MAAMC;gBACNE,UAAU;gBACVU,SAAS;YACX;YACAC,mBAAmB;gBACjBd,MAAMe;gBACNZ,UAAU;gBACVU,SAAS;YACX;YACAG,gBAAgB;gBACdhB,MAAMiB;gBACNd,UAAU;gBACVU,SAAS;YACX;YACAK,cAAc;gBACZlB,MAAMiB;gBACNd,UAAU;gBACVU,SAAS;YACX;QACF;QACAV,UAAU;IACZ;AACF;AAEO,MAAMP,eAAeuB,IAAAA,eAAK,EAAC,gBAAgBtB"}
1
+ {"version":3,"sources":["../../src/models/CameraStream.ts"],"names":["CameraStream","CameraStreamSchema","Schema","streamURL","type","String","required","name","printerId","Types","ObjectId","ref","model"],"mappings":";;;;+BA+BaA;;;eAAAA;;;0BA/BwB;AAerC,MAAMC,qBAAqB,IAAIC,gBAAM,CAAgB;IACnDC,WAAW;QACTC,MAAMC;QACNC,UAAU;IACZ;IACAC,MAAM;QACJH,MAAMC;QACNC,UAAU;IACZ;IACAE,WAAW;QACTJ,MAAMF,gBAAM,CAACO,KAAK,CAACC,QAAQ;QAC3BC,KAAK;QACLL,UAAU;IACZ;AACF;AAEO,MAAMN,eAAeY,IAAAA,eAAK,EAAC,gBAAgBX"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -14,6 +14,8 @@ const AppConstants = {
14
14
  VERSION_KEY: "npm_package_version",
15
15
  SERVER_PORT_KEY: "SERVER_PORT",
16
16
  MONGO_KEY: "MONGO",
17
+ DATABASE_PATH: "DATABASE_PATH",
18
+ DATABASE_FILE: "DATABASE_FILE",
17
19
  pm2ServiceName: "FDM",
18
20
  logAppName: "fdm-monster",
19
21
  // @Deprecated: old storage path
@@ -27,11 +29,15 @@ const AppConstants = {
27
29
  defaultMongoStringUnauthenticated: "mongodb://127.0.0.1:27017/fdm-monster",
28
30
  apiRoute: "/api",
29
31
  enableClientDistAutoUpdateKey: "ENABLE_CLIENT_DIST_AUTO_UPDATE",
32
+ // This whitelist feature is experimental and may be removed or altered in the future
33
+ ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS: "ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS",
30
34
  // Boolean string (true/false), persisted always
31
35
  OVERRIDE_LOGIN_REQUIRED: "OVERRIDE_LOGIN_REQUIRED",
32
36
  // Boolean string (true/false), persisted always
33
37
  OVERRIDE_REGISTRATION_ENABLED: "OVERRIDE_REGISTRATION_ENABLED",
34
38
  // Number
39
+ DEFAULT_USERNAME_MINLEN: 3,
40
+ // Number
35
41
  DEFAULT_PASSWORD_MINLEN: 8,
36
42
  // String, persisted always
37
43
  OVERRIDE_JWT_SECRET: "OVERRIDE_JWT_SECRET",
@@ -39,9 +45,9 @@ const AppConstants = {
39
45
  OVERRIDE_JWT_EXPIRES_IN: "OVERRIDE_JWT_EXPIRES_IN",
40
46
  DEFAULT_JWT_EXPIRES_IN: 60 * 60,
41
47
  // Number
42
- DEFAULT_REFRESH_TOKEN_ATTEMPTS: 50,
48
+ DEFAULT_REFRESH_TOKEN_ATTEMPTS: -1,
43
49
  // Number, Milli-seconds
44
- DEFAULT_REFRESH_TOKEN_EXPIRY: 1000 * 60 * 60 * 24 * 14,
50
+ DEFAULT_REFRESH_TOKEN_EXPIRY: 60 * 60 * 24 * 14,
45
51
  // String, not persisted
46
52
  OVERRIDE_JWT_ISSUER: "OVERRIDE_JWT_ISSUER",
47
53
  DEFAULT_JWT_ISSUER: "fdm-monster-server",
@@ -55,6 +61,7 @@ const AppConstants = {
55
61
  DEFAULT_DEMO_PASSWORD: "demo2023",
56
62
  OVERRIDE_DEMO_ROLE: "OVERRIDE_DEMO_ROLE",
57
63
  DEFAULT_DEMO_ROLE: "ADMIN",
64
+ defaultDevelopmentEnv: "development",
58
65
  defaultTestEnv: "test",
59
66
  defaultProductionEnv: "production",
60
67
  knownEnvNames: [
@@ -70,13 +77,13 @@ const AppConstants = {
70
77
  orgName: "fdm-monster",
71
78
  // Wizard version changes will trigger a re-run of the wizard
72
79
  currentWizardVersion: 1,
73
- defaultClientMinimum: "1.3.7",
80
+ defaultClientMinimum: "1.4.0",
74
81
  influxUrl: "INFLUX_URL",
75
82
  influxToken: "INFLUX_TOKEN",
76
83
  influxOrg: "INFLUX_ORG",
77
84
  influxBucket: "INFLUX_BUCKET",
78
85
  // Websocket values
79
- defaultWebsocketHandshakeTimeout: 2000,
86
+ defaultWebsocketHandshakeTimeout: 3000,
80
87
  defaultSocketThrottleRate: 1,
81
88
  debugSocketStatesKey: "DEBUG_SOCKET_STATES",
82
89
  defaultDebugSocketStates: "false",
@@ -93,7 +100,9 @@ const AppConstants = {
93
100
  // Sentry
94
101
  sentryCustomDsnToken: "SENTRY_CUSTOM_DSN",
95
102
  sentryCustomDsnDefault: "https://164b8028a8a745bba3dbcab991b84ae7@o4503975545733120.ingest.sentry.io/4505101598261248",
96
- debugRoutesKey: "DEBUG_ROUTES"
103
+ debugRoutesKey: "DEBUG_ROUTES",
104
+ enableExperimentalTypeormKey: "ENABLE_EXPERIMENTAL_TYPEORM",
105
+ enableExperimentalTypeormDefault: "false"
97
106
  };
98
107
 
99
108
  //# sourceMappingURL=server.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NON_NPM_MODE_KEY","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","MONGO_KEY","pm2ServiceName","logAppName","defaultFileStorageFolder","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultServerPort","defaultMongoStringUnauthenticated","apiRoute","enableClientDistAutoUpdateKey","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","clientPackageName","clientRepoName","serverRepoName","orgName","currentWizardVersion","defaultClientMinimum","influxUrl","influxToken","influxOrg","influxBucket","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","enableMqttAutoDiscoveryToken","enableMqttAutoDiscoveryDefault","mqttUrlToken","mqttPortToken","mqttPortDefault","mqttUsernameToken","mqttPasswordToken","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","debugRoutesKey"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,WAAW;IAEXC,gBAAgB;IAChBC,YAAY;IAEZ,gCAAgC;IAChCC,0BAA0B;IAC1BC,mBAAmB;IACnBC,sBAAsB;IACtB,yCAAyC;IACzCC,4BAA4B;IAC5BC,gCAAgC;IAChCC,mBAAmB;IACnBC,mCAAmC;IACnCC,UAAU;IACVC,+BAA+B;IAE/B,gDAAgD;IAChDC,yBAAyB;IACzB,gDAAgD;IAChDC,+BAA+B;IAC/B,SAAS;IACTC,yBAAyB;IACzB,2BAA2B;IAC3BC,qBAAqB;IACrB,oCAAoC;IACpCC,yBAAyB;IACzBC,wBAAwB,KAAK;IAC7B,SAAS;IACTC,gCAAgC;IAChC,wBAAwB;IACxBC,8BAA8B,OAAO,KAAK,KAAK,KAAK;IACpD,wBAAwB;IACxBC,qBAAqB;IACrBC,oBAAoB;IACpB,wBAAwB;IACxBC,uBAAuB;IACvBC,sBAAsB;IAEtBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,oBAAoB;IACpBC,mBAAmB;IAEnBC,gBAAgB;IAChBC,sBAAsB;IACtBC,eAAe;QAAC;QAAe;QAAc;KAAO;IACpDC,YAAY;IACZC,mBAAmB;IACnBC,mBAAmB;IACnBC,gBAAgB;IAChBC,gBAAgB;IAChBC,SAAS;IACT,6DAA6D;IAC7DC,sBAAsB;IACtBC,sBAAsB;IAEtBC,WAAW;IACXC,aAAa;IACbC,WAAW;IACXC,cAAc;IAEd,mBAAmB;IACnBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,sBAAsB;IACtBC,0BAA0B;IAE1B,8BAA8B;IAC9BC,8BAA8B;IAC9BC,gCAAgC;IAChCC,cAAc;IACdC,eAAe;IACfC,iBAAiB;IACjBC,mBAAmB;IACnBC,mBAAmB;IAEnB,YAAY;IACZC,mBAAmB;IAEnB,SAAS;IACTC,sBAAsB;IACtBC,wBAAwB;IAExBC,gBAAgB;AAClB"}
1
+ {"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NON_NPM_MODE_KEY","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","MONGO_KEY","DATABASE_PATH","DATABASE_FILE","pm2ServiceName","logAppName","defaultFileStorageFolder","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultServerPort","defaultMongoStringUnauthenticated","apiRoute","enableClientDistAutoUpdateKey","ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_USERNAME_MINLEN","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultDevelopmentEnv","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","clientPackageName","clientRepoName","serverRepoName","orgName","currentWizardVersion","defaultClientMinimum","influxUrl","influxToken","influxOrg","influxBucket","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","enableMqttAutoDiscoveryToken","enableMqttAutoDiscoveryDefault","mqttUrlToken","mqttPortToken","mqttPortDefault","mqttUsernameToken","mqttPasswordToken","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","debugRoutesKey","enableExperimentalTypeormKey","enableExperimentalTypeormDefault"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,kBAAkB;IAClBC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,WAAW;IACXC,eAAe;IACfC,eAAe;IAEfC,gBAAgB;IAChBC,YAAY;IAEZ,gCAAgC;IAChCC,0BAA0B;IAC1BC,mBAAmB;IACnBC,sBAAsB;IACtB,yCAAyC;IACzCC,4BAA4B;IAC5BC,gCAAgC;IAChCC,mBAAmB;IACnBC,mCAAmC;IACnCC,UAAU;IACVC,+BAA+B;IAE/B,qFAAqF;IACrFC,wCAAwC;IACxC,gDAAgD;IAChDC,yBAAyB;IACzB,gDAAgD;IAChDC,+BAA+B;IAC/B,SAAS;IACTC,yBAAyB;IACzB,SAAS;IACTC,yBAAyB;IACzB,2BAA2B;IAC3BC,qBAAqB;IACrB,oCAAoC;IACpCC,yBAAyB;IACzBC,wBAAwB,KAAK;IAC7B,SAAS;IACTC,gCAAgC,CAAC;IACjC,wBAAwB;IACxBC,8BAA8B,KAAK,KAAK,KAAK;IAC7C,wBAAwB;IACxBC,qBAAqB;IACrBC,oBAAoB;IACpB,wBAAwB;IACxBC,uBAAuB;IACvBC,sBAAsB;IAEtBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,oBAAoB;IACpBC,mBAAmB;IAEnBC,uBAAuB;IACvBC,gBAAgB;IAChBC,sBAAsB;IACtBC,eAAe;QAAC;QAAe;QAAc;KAAO;IACpDC,YAAY;IACZC,mBAAmB;IACnBC,mBAAmB;IACnBC,gBAAgB;IAChBC,gBAAgB;IAChBC,SAAS;IACT,6DAA6D;IAC7DC,sBAAsB;IACtBC,sBAAsB;IAEtBC,WAAW;IACXC,aAAa;IACbC,WAAW;IACXC,cAAc;IAEd,mBAAmB;IACnBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,sBAAsB;IACtBC,0BAA0B;IAE1B,8BAA8B;IAC9BC,8BAA8B;IAC9BC,gCAAgC;IAChCC,cAAc;IACdC,eAAe;IACfC,iBAAiB;IACjBC,mBAAmB;IACnBC,mBAAmB;IAEnB,YAAY;IACZC,mBAAmB;IAEnB,SAAS;IACTC,sBAAsB;IACtBC,wBAAwB;IAExBC,gBAAgB;IAEhBC,8BAA8B;IAC9BC,kCAAkC;AACpC"}
@@ -44,7 +44,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
44
44
  if (cache && cache.has(obj)) {
45
45
  return cache.get(obj);
46
46
  }
47
- var newObj = {};
47
+ var newObj = {
48
+ __proto__: null
49
+ };
48
50
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
49
51
  for(var key in obj){
50
52
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -81,7 +83,7 @@ async function setupServer() {
81
83
  ], {
82
84
  session: false
83
85
  })).use((0, _awilixexpress.scopePerRequest)(container)).use(_database.interceptDatabaseError)// Global guards
84
- .use(_globalmiddleware.validateWhitelistedIp).use(_globalmiddleware.interceptRoles);
86
+ .use(_globalmiddleware.validateWhitelistedIp).use(_globalmiddleware.validateWizardCompleted).use(_globalmiddleware.interceptRoles);
85
87
  return {
86
88
  httpServer,
87
89
  container
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpServer","express","container","configureContainer","initializePassportStrategies","passport","use","cors","origin","methods","helmet","contentSecurityPolicy","json","limit","cookieParser","urlencoded","extended","initialize","authenticate","session","scopePerRequest","interceptDatabaseError","validateWhitelistedIp","interceptRoles"],"mappings":";;;;+BAWsBA;;;eAAAA;;;iEAXoB;qEACjB;iEACJ;6DACJ;+DACE;+BACa;2BACG;0BACI;kCACe;2BACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,eAAeA;IACpB,MAAMC,aAAaC,IAAAA,gBAAO;IAC1B,MAAMC,YAAYC,IAAAA,6BAAkB;IACpCC,IAAAA,uCAA4B,EAACC,iBAAQ,EAAEH;IAEvCF,WACGM,GAAG,CACFC,IAAAA,aAAI,EAAC;QACHC,QAAQ;QACRC,SAAS;IACX,IAEDH,GAAG,CACFI,IAAAA,eAAM,EAAC;QACLC,uBAAuB;IACzB,IAEDL,GAAG,CAACM,IAAAA,aAAI,EAAC;QAAEC,OAAO;IAAO,IACzBP,GAAG,CAACQ,IAAAA,qBAAY,KAChBR,GAAG,CAACS,IAAAA,mBAAU,EAAC;QAAEC,UAAU;IAAM,IACjCV,GAAG,CAACD,iBAAQ,CAACY,UAAU,IACvBX,GAAG,CAACD,iBAAQ,CAACa,YAAY,CAAC;QAAC;QAAO;KAAY,EAAE;QAAEC,SAAS;IAAM,IACjEb,GAAG,CAACc,IAAAA,8BAAe,EAAClB,YACpBI,GAAG,CAACe,gCAAsB,CAC3B,gBAAgB;KACff,GAAG,CAACgB,uCAAqB,EACzBhB,GAAG,CAACiB,gCAAc;IAErB,OAAO;QACLvB;QACAE;IACF;AACF"}
1
+ {"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpServer","express","container","configureContainer","initializePassportStrategies","passport","use","cors","origin","methods","helmet","contentSecurityPolicy","json","limit","cookieParser","urlencoded","extended","initialize","authenticate","session","scopePerRequest","interceptDatabaseError","validateWhitelistedIp","validateWizardCompleted","interceptRoles"],"mappings":";;;;+BAWsBA;;;eAAAA;;;iEAXoB;qEACjB;iEACJ;6DACJ;+DACE;+BACa;2BACG;0BACI;kCACwC;2BAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,eAAeA;IACpB,MAAMC,aAAaC,IAAAA,gBAAO;IAC1B,MAAMC,YAAYC,IAAAA,6BAAkB;IACpCC,IAAAA,uCAA4B,EAACC,iBAAQ,EAAEH;IAEvCF,WACGM,GAAG,CACFC,IAAAA,aAAI,EAAC;QACHC,QAAQ;QACRC,SAAS;IACX,IAEDH,GAAG,CACFI,IAAAA,eAAM,EAAC;QACLC,uBAAuB;IACzB,IAEDL,GAAG,CAACM,IAAAA,aAAI,EAAC;QAAEC,OAAO;IAAO,IACzBP,GAAG,CAACQ,IAAAA,qBAAY,KAChBR,GAAG,CAACS,IAAAA,mBAAU,EAAC;QAAEC,UAAU;IAAM,IACjCV,GAAG,CAACD,iBAAQ,CAACY,UAAU,IACvBX,GAAG,CAACD,iBAAQ,CAACa,YAAY,CAAC;QAAC;QAAO;KAAY,EAAE;QAAEC,SAAS;IAAM,IACjEb,GAAG,CAACc,IAAAA,8BAAe,EAAClB,YACpBI,GAAG,CAACe,gCAAsB,CAC3B,gBAAgB;KACff,GAAG,CAACgB,uCAAqB,EACzBhB,GAAG,CAACiB,yCAAuB,EAC3BjB,GAAG,CAACkB,gCAAc;IAErB,OAAO;QACLxB;QACAE;IACF;AACF"}
@@ -65,7 +65,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
65
65
  if (cache && cache.has(obj)) {
66
66
  return cache.get(obj);
67
67
  }
68
- var newObj = {};
68
+ var newObj = {
69
+ __proto__: null
70
+ };
69
71
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
72
  for(var key in obj){
71
73
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server.env.ts"],"names":["ensureMongoDBConnectionStringSet","ensurePortSet","fetchMongoDBConnectionString","fetchServerPort","isEnvProd","runMigrations","setupEnvConfig","setupSentry","logger","Logger","instructionsReferralURL","packageJsonPath","join","superRootPath","dotEnvPath","isEnvTest","process","env","AppConstants","NODE_ENV_KEY","defaultTestEnv","defaultProductionEnv","ensureNodeEnvSet","environment","knownEnvNames","includes","newEnvName","warn","log","ensureEnvNpmVersionSet","packageJsonVersion","require","version","VERSION_KEY","NON_NPM_MODE_KEY","debug","removePm2Service","reason","error","execSync","pm2ServiceName","setupPackageJsonVersionOrThrow","result","verifyPackageJsonRequirements","isPm2","Error","printInstructionsURL","MONGO_KEY","defaultMongoStringUnauthenticated","port","SERVER_PORT_KEY","Number","isNaN","parseInt","defaultServerPort","toString","dbConnectionString","sentryDsnToken","getEnvOrDefault","sentryCustomDsnToken","sentryCustomDsnDefault","Sentry","init","dsn","NODE_ENV","release","npm_package_version","enabled","tracesSampleRate","isProductionEnvironment","on","e","message","errorSummary","captureException","skipDotEnv","config","path","db","client","migrationsStatus","status","pendingMigrations","filter","m","appliedAt","length","migrationResult","up"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/server.env.ts"],"names":["ensureMongoDBConnectionStringSet","ensurePortSet","fetchMongoDBConnectionString","fetchServerPort","isEnvProd","runMigrations","setupEnvConfig","setupSentry","logger","Logger","instructionsReferralURL","packageJsonPath","join","superRootPath","dotEnvPath","isEnvTest","process","env","AppConstants","NODE_ENV_KEY","defaultTestEnv","defaultProductionEnv","ensureNodeEnvSet","environment","knownEnvNames","includes","newEnvName","warn","log","ensureEnvNpmVersionSet","packageJsonVersion","require","version","VERSION_KEY","NON_NPM_MODE_KEY","debug","removePm2Service","reason","error","execSync","pm2ServiceName","setupPackageJsonVersionOrThrow","result","verifyPackageJsonRequirements","isPm2","Error","printInstructionsURL","MONGO_KEY","defaultMongoStringUnauthenticated","port","SERVER_PORT_KEY","Number","isNaN","parseInt","defaultServerPort","toString","dbConnectionString","sentryDsnToken","getEnvOrDefault","sentryCustomDsnToken","sentryCustomDsnDefault","Sentry","init","dsn","NODE_ENV","release","npm_package_version","enabled","tracesSampleRate","isProductionEnvironment","on","e","message","errorSummary","captureException","skipDotEnv","config","path","db","client","migrationsStatus","status","pendingMigrations","filter","m","appliedAt","length","migrationResult","up"],"mappings":"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"}