@fdm-monster/server 1.8.2 → 1.9.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +69 -7
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +11 -19
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +15 -24
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +4 -5
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +61 -50
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +76 -29
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +62 -197
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -113
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -31
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +40 -0
  197. package/dist/services/core/http-client.factory.js.map +1 -0
  198. package/dist/services/core/logs-manager.service.js +7 -6
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +79 -28
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/file-upload-tracker.interface.js +6 -0
  212. package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
  213. package/dist/services/interfaces/floor.dto.js +5 -47
  214. package/dist/services/interfaces/floor.dto.js.map +1 -1
  215. package/dist/services/interfaces/login.dto.js +2 -0
  216. package/dist/services/interfaces/login.dto.js.map +1 -1
  217. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer-group.dto.js +0 -14
  219. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  220. package/dist/services/interfaces/printer.dto.js +11 -5
  221. package/dist/services/interfaces/printer.dto.js.map +1 -1
  222. package/dist/services/interfaces/settings.dto.js.map +1 -1
  223. package/dist/services/interfaces/task.interfaces.js +6 -0
  224. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  225. package/dist/services/mongoose/camera-stream.service.js +17 -15
  226. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  227. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  228. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  229. package/dist/services/mongoose/floor.service.js +37 -30
  230. package/dist/services/mongoose/floor.service.js.map +1 -1
  231. package/dist/services/mongoose/permission.service.js +1 -1
  232. package/dist/services/mongoose/permission.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.service.js +2 -2
  234. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  235. package/dist/services/mongoose/print-completion.shared.js +2 -2
  236. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  237. package/dist/services/mongoose/printer.service.js +40 -45
  238. package/dist/services/mongoose/printer.service.js.map +1 -1
  239. package/dist/services/mongoose/refresh-token.service.js +5 -8
  240. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  241. package/dist/services/mongoose/role.service.js +14 -5
  242. package/dist/services/mongoose/role.service.js.map +1 -1
  243. package/dist/services/mongoose/settings.service.js +35 -62
  244. package/dist/services/mongoose/settings.service.js.map +1 -1
  245. package/dist/services/mongoose/user.service.js +8 -7
  246. package/dist/services/mongoose/user.service.js.map +1 -1
  247. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  248. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  249. package/dist/services/moonraker/moonraker-websocket.adapter.js +108 -96
  250. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  251. package/dist/services/moonraker/moonraker.client.js +212 -167
  252. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  253. package/dist/services/moonraker.api.js +3 -5
  254. package/dist/services/moonraker.api.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  256. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  257. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  258. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  259. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  260. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-api.routes.js +0 -98
  262. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  263. package/dist/services/octoprint/octoprint-websocket.adapter.js +72 -72
  264. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  265. package/dist/services/octoprint/octoprint.client.js +87 -343
  266. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  267. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
  268. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
  269. package/dist/services/octoprint.api.js +14 -18
  270. package/dist/services/octoprint.api.js.map +1 -1
  271. package/dist/services/orm/base.service.js +11 -12
  272. package/dist/services/orm/base.service.js.map +1 -1
  273. package/dist/services/orm/camera-stream.service.js +5 -1
  274. package/dist/services/orm/camera-stream.service.js.map +1 -1
  275. package/dist/services/orm/custom-gcode.service.js +2 -2
  276. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  277. package/dist/services/orm/floor-position.service.js +0 -5
  278. package/dist/services/orm/floor-position.service.js.map +1 -1
  279. package/dist/services/orm/floor.service.js +43 -39
  280. package/dist/services/orm/floor.service.js.map +1 -1
  281. package/dist/services/orm/permission.service.js +3 -4
  282. package/dist/services/orm/permission.service.js.map +1 -1
  283. package/dist/services/orm/print-completion.service.js +2 -4
  284. package/dist/services/orm/print-completion.service.js.map +1 -1
  285. package/dist/services/orm/printer-group.service.js +2 -7
  286. package/dist/services/orm/printer-group.service.js.map +1 -1
  287. package/dist/services/orm/printer.service.js +29 -39
  288. package/dist/services/orm/printer.service.js.map +1 -1
  289. package/dist/services/orm/refresh-token.service.js +5 -11
  290. package/dist/services/orm/refresh-token.service.js.map +1 -1
  291. package/dist/services/orm/role.service.js +11 -10
  292. package/dist/services/orm/role.service.js.map +1 -1
  293. package/dist/services/orm/settings.service.js +37 -133
  294. package/dist/services/orm/settings.service.js.map +1 -1
  295. package/dist/services/orm/user.service.js +13 -15
  296. package/dist/services/orm/user.service.js.map +1 -1
  297. package/dist/services/printer-api.factory.js +9 -6
  298. package/dist/services/printer-api.factory.js.map +1 -1
  299. package/dist/services/printer-api.interface.js +13 -6
  300. package/dist/services/printer-api.interface.js.map +1 -1
  301. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  302. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  303. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  304. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  305. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  306. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  307. package/dist/services/prusa-link/dto/file.dto.js +6 -0
  308. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  309. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  310. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  311. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  312. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  313. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  314. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  315. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  316. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  317. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  318. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  319. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  320. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  321. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  322. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  323. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  324. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  325. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  326. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  327. package/dist/services/socket.factory.js +9 -6
  328. package/dist/services/socket.factory.js.map +1 -1
  329. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  330. package/dist/services/task-manager.service.js.map +1 -0
  331. package/dist/services/validators/camera-service.validation.js +19 -0
  332. package/dist/services/validators/camera-service.validation.js.map +1 -0
  333. package/dist/services/validators/floor-service.validation.js +47 -36
  334. package/dist/services/validators/floor-service.validation.js.map +1 -1
  335. package/dist/services/validators/print-completion-service.validation.js +22 -9
  336. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  337. package/dist/services/validators/printer-service.validation.js +112 -29
  338. package/dist/services/validators/printer-service.validation.js.map +1 -1
  339. package/dist/services/validators/settings-service.validation.js +78 -66
  340. package/dist/services/validators/settings-service.validation.js.map +1 -1
  341. package/dist/services/validators/user-service.validation.js +17 -16
  342. package/dist/services/validators/user-service.validation.js.map +1 -1
  343. package/dist/services/validators/yaml-service.validation.js +94 -51
  344. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  345. package/dist/shared/default-http-client.builder.js +94 -0
  346. package/dist/shared/default-http-client.builder.js.map +1 -0
  347. package/dist/shared/load-controllers.js +20 -0
  348. package/dist/shared/load-controllers.js.map +1 -0
  349. package/dist/shared/runtime-settings.migration.js +46 -0
  350. package/dist/shared/runtime-settings.migration.js.map +1 -0
  351. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  352. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  353. package/dist/shared/websocket.adapter.js +4 -5
  354. package/dist/shared/websocket.adapter.js.map +1 -1
  355. package/dist/state/file-upload-tracker.cache.js +33 -42
  356. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  357. package/dist/state/file.cache.js +1 -1
  358. package/dist/state/file.cache.js.map +1 -1
  359. package/dist/state/floor.store.js +6 -6
  360. package/dist/state/floor.store.js.map +1 -1
  361. package/dist/state/printer-events.cache.js +21 -22
  362. package/dist/state/printer-events.cache.js.map +1 -1
  363. package/dist/state/printer-files.store.js +6 -8
  364. package/dist/state/printer-files.store.js.map +1 -1
  365. package/dist/state/printer-socket.store.js +27 -50
  366. package/dist/state/printer-socket.store.js.map +1 -1
  367. package/dist/state/printer-thumbnail.cache.js +5 -9
  368. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  369. package/dist/state/printer.cache.js +14 -12
  370. package/dist/state/printer.cache.js.map +1 -1
  371. package/dist/state/settings.store.js +78 -51
  372. package/dist/state/settings.store.js.map +1 -1
  373. package/dist/state/socket-io.gateway.js +39 -36
  374. package/dist/state/socket-io.gateway.js.map +1 -1
  375. package/dist/state/test-printer-socket.store.js +20 -15
  376. package/dist/state/test-printer-socket.store.js.map +1 -1
  377. package/dist/state/validation/create-test-printer.validation.js +13 -10
  378. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  379. package/dist/task.presets.js.map +1 -1
  380. package/dist/tasks/boot.task.js +14 -19
  381. package/dist/tasks/boot.task.js.map +1 -1
  382. package/dist/tasks/client-bundle.task.js +1 -3
  383. package/dist/tasks/client-bundle.task.js.map +1 -1
  384. package/dist/tasks/print-completion.socketio.task.js +27 -28
  385. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  386. package/dist/tasks/printer-file-clean.task.js +6 -10
  387. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  388. package/dist/tasks/printer-websocket-restore.task.js +4 -15
  389. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  390. package/dist/tasks/printer-websocket.task.js +2 -14
  391. package/dist/tasks/printer-websocket.task.js.map +1 -1
  392. package/dist/tasks/socketio.task.js +8 -35
  393. package/dist/tasks/socketio.task.js.map +1 -1
  394. package/dist/tasks/software-update.task.js +1 -1
  395. package/dist/tasks/software-update.task.js.map +1 -1
  396. package/dist/tasks.js +3 -3
  397. package/dist/tasks.js.map +1 -1
  398. package/dist/utils/array.util.js.map +1 -1
  399. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  400. package/dist/utils/env.utils.js +0 -2
  401. package/dist/utils/env.utils.js.map +1 -1
  402. package/dist/utils/normalize-url.js +6 -3
  403. package/dist/utils/normalize-url.js.map +1 -1
  404. package/dist/utils/pretty-print.utils.js +1 -1
  405. package/dist/utils/pretty-print.utils.js.map +1 -1
  406. package/dist/utils/printer-type.utils.js.map +1 -1
  407. package/dist/utils/time.utils.js +7 -17
  408. package/dist/utils/time.utils.js.map +1 -1
  409. package/dist/utils/url.utils.js +11 -14
  410. package/dist/utils/url.utils.js.map +1 -1
  411. package/package.json +53 -55
  412. package/tsconfig.json +2 -1
  413. package/.yarn/releases/yarn-4.6.0.cjs +0 -934
  414. package/dist/consoles/check-ports.js +0 -170
  415. package/dist/consoles/check-ports.js.map +0 -1
  416. package/dist/consoles/sqlite-torm.js +0 -31
  417. package/dist/consoles/sqlite-torm.js.map +0 -1
  418. package/dist/consoles/upload-test.js +0 -52
  419. package/dist/consoles/upload-test.js.map +0 -1
  420. package/dist/controllers/plugin-firmware-update.controller.js +0 -236
  421. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  422. package/dist/entities/base.entity.js +0 -29
  423. package/dist/entities/base.entity.js.map +0 -1
  424. package/dist/entities/printer-file.entity.js +0 -140
  425. package/dist/entities/printer-file.entity.js.map +0 -1
  426. package/dist/handlers/cache-manager.js +0 -18
  427. package/dist/handlers/cache-manager.js.map +0 -1
  428. package/dist/models/PrinterFile.js +0 -44
  429. package/dist/models/PrinterFile.js.map +0 -1
  430. package/dist/services/core/task-manager.service.js.map +0 -1
  431. package/dist/services/octoprint/plugin-base.service.js +0 -101
  432. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  433. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  434. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  435. package/dist/services/octoprint/plugin-repository.cache.js +0 -45
  436. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  437. package/dist/utils/benchmark.util.js +0 -39
  438. package/dist/utils/benchmark.util.js.map +0 -1
  439. package/dist/utils/is-docker.js +0 -40
  440. package/dist/utils/is-docker.js.map +0 -1
  441. package/dist/utils/metric.utils.js +0 -35
  442. package/dist/utils/metric.utils.js.map +0 -1
  443. package/requests/moonraker/api_job.http +0 -5
  444. package/requests/moonraker/api_printer.http +0 -5
  445. package/requests/moonraker/api_settings.http +0 -5
  446. package/requests/moonraker/printer_info.http +0 -5
  447. package/requests/moonraker/printer_objects_list.http +0 -6
  448. package/requests/moonraker/printer_objects_pause_resume.http +0 -6
  449. package/requests/moonraker/printer_objects_print_stats.http +0 -6
  450. package/requests/moonraker/printer_objects_webhooks.http +0 -6
  451. package/requests/moonraker/server_info.http +0 -5
  452. package/requests/octoprint/octoprint-api-printer-current.http +0 -7
  453. package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
  454. package/requests/printer-file/get-partial-file-moonraker.http +0 -5
  455. package/requests/printer-file/get-thumbnails.http +0 -5
  456. package/requests/printer-file/reload-printer-thumbnails.http +0 -10
  457. package/requests/printer-file/testfile.gcode +0 -5665
  458. package/requests/printer-file/upload-file.http +0 -11
  459. package/requests/printer-file/upload-slicer-file.http +0 -11
  460. package/requests/printers/list.http +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/entities/user.entity.ts"],"names":["User","BaseEntity","id","username","isDemoUser","isRootUser","isVerified","needsPasswordChange","passwordHash","createdAt","roles","refreshTokens","default","UserRole","ur","user","eager","RefreshToken","refreshToken"],"mappings":";;;;+BAMaA;;;eAAAA;;;yBANiF;oCACjE;4BACF;gCACF;;;;;;;;;;AAGlB,MAAMA,aAAaC,sBAAU;IAElCC,GAAY;IAGZC,SAAkB;IAKlBC,WAAqB;IAKrBC,WAAqB;IAKrBC,WAAqB;IAKrBC,oBAA8B;IAG9BC,aAAsB;IAGtBC,UAAiB;IAGjBC,MAA6B;IAG7BC,cAA+B;AACjC;;;;;;;;;;;QA9BIC,SAAS;;;;;;QAKTA,SAAS;;;;;;QAKTA,SAAS;;;;;;QAKTA,SAAS;;;;;;;;;;;;;gCAUMC,wBAAQ,GAAGC,KAAOA,GAAGC,IAAI;QAAIC,OAAO;;;;;gCAGpCC,gCAAY,GAAGC,eAAiBA,aAAaH,IAAI"}
1
+ {"version":3,"sources":["../../src/entities/user.entity.ts"],"names":["User","id","username","isDemoUser","isRootUser","isVerified","needsPasswordChange","passwordHash","createdAt","roles","refreshTokens","default","UserRole","ur","user","eager","RefreshToken","refreshToken"],"mappings":";;;;+BAKaA;;;eAAAA;;;yBALiF;oCACjE;gCACJ;;;;;;;;;;AAGlB,MAAMA;IAEXC,GAAW;IAGXC,SAAiB;IAKjBC,WAAoB;IAKpBC,WAAoB;IAKpBC,WAAoB;IAKpBC,oBAA6B;IAG7BC,aAAqB;IAGrBC,UAAgB;IAOhBC,MAA6B;IAM7BC,cAA8B;AAChC;;;;;;;;;;;QArCIC,SAAS;;;;;;QAKTA,SAAS;;;;;;QAKTA,SAAS;;;;;;QAKTA,SAAS;;;;;;;;;;;;;gCAWHC,wBAAQ,GACbC,KAAOA,GAAGC,IAAI;QACbC,OAAO;;;;;gCAKHC,gCAAY,GACjBC,eAAiBA,aAAaH,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ExternalServiceError","ForbiddenError","InternalServerException","NotFoundException","NotImplementedException","ValidationException","Error","constructor","message","name","reasonCode","error","permissions","roles","reason","path","errors","validationObject","JSON","stringify","serviceType","responseObject","stack"],"mappings":";;;;;;;;;;;IAOaA,mBAAmB;eAAnBA;;IAgBAC,kBAAkB;eAAlBA;;IAcAC,mBAAmB;eAAnBA;;IA2BAC,oBAAoB;eAApBA;;IAhDAC,cAAc;eAAdA;;IA4DAC,uBAAuB;eAAvBA;;IAhCAC,iBAAiB;eAAjBA;;IA5CAC,uBAAuB;eAAvBA;;IAsDAC,mBAAmB;eAAnBA;;;AAtDN,MAAMD,gCAAgCE;IAC3CC,YAAYC,OAAgB,CAAE;QAC5B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGL,wBAAwBK,IAAI;IAC1C;AACF;AAEO,MAAMZ,4BAA4BS;IACvCI,WAAmB;IACnBH,YAAYI,KAAc,EAAED,aAAa,EAAE,CAAE;QAC3C,KAAK,CAACC;QACN,IAAI,CAACF,IAAI,GAAGZ,oBAAoBY,IAAI;QACpC,IAAI,CAACC,UAAU,GAAGA;IACpB;AACF;AAEO,MAAMT,uBAAuBK;IAClCC,YAAYI,KAAc,CAAE;QAC1B,KAAK,CAACA;QACN,IAAI,CAACF,IAAI,GAAGR,eAAeQ,IAAI;IACjC;AACF;AAEO,MAAMX,2BAA2BQ;IACtCM,cAAyB,EAAE,CAAC;IAC5BC,QAAmB,EAAE,CAAC;IACtBC,OAAgB;IAEhBP,YAAY,EAAEK,WAAW,EAAEC,KAAK,EAAEC,MAAM,EAAiE,CAAE;QACzG,KAAK,CAAC;QACN,IAAI,CAACL,IAAI,GAAGX,mBAAmBW,IAAI;QACnC,IAAI,CAACK,MAAM,GAAGA;QACd,IAAI,CAACF,WAAW,GAAGA;QACnB,IAAI,CAACC,KAAK,GAAGA;IACf;AACF;AAEO,MAAMd,4BAA4BO;IACvCC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGV,oBAAoBU,IAAI;IACtC;AACF;AAEO,MAAMN,0BAA0BG;IACrCS,KAAc;IAEdR,YAAYC,OAAe,EAAEO,IAAa,CAAE;QAC1C,KAAK,CAACP;QACN,IAAI,CAACC,IAAI,GAAGN,kBAAkBM,IAAI;QAClC,IAAI,CAACM,IAAI,GAAGA;IACd;AACF;AAEO,MAAMV,4BAA4BC;IACvCU,OAAY;IAEZT,YAAYU,gBAAqB,CAAE;QACjC,KAAK,CAACC,KAAKC,SAAS,CAACF;QACrB,IAAI,CAACR,IAAI,GAAGJ,oBAAoBI,IAAI;QACpC,IAAI,CAACO,MAAM,GAAGC;IAChB;AACF;AAEO,MAAMjB,6BAA6BM;IACxCK,MAAW;IACXS,YAAqB;IAErBb,YAAYc,cAAmB,EAAED,WAAoB,CAAE;QACrD,KAAK,CAACF,KAAKC,SAAS,CAACE;QACrB,IAAI,CAACZ,IAAI,GAAGT,qBAAqBS,IAAI;QACrC,IAAI,CAACE,KAAK,GAAGU;QACb,IAAI,CAACD,WAAW,GAAGA;IACrB;AACF;AAEO,MAAMlB,gCAAgCI;IAC3CC,YAAYC,OAAe,EAAEc,KAAW,CAAE;QACxC,KAAK,CAACd;QACN,IAAI,CAACC,IAAI,GAAGP,wBAAwBO,IAAI;QACxC,IAAI,CAACa,KAAK,GAAGA;IACf;AACF"}
1
+ {"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ExternalServiceError","ForbiddenError","InternalServerException","NotFoundException","NotImplementedException","ValidationException","Error","constructor","message","name","reasonCode","error","permissions","roles","reason","path","errors","validationObject","JSON","stringify","serviceType","responseObject","stack"],"mappings":";;;;;;;;;;;IAOaA,mBAAmB;eAAnBA;;IAiBAC,kBAAkB;eAAlBA;;IAcAC,mBAAmB;eAAnBA;;IA2BAC,oBAAoB;eAApBA;;IAhDAC,cAAc;eAAdA;;IA4DAC,uBAAuB;eAAvBA;;IAhCAC,iBAAiB;eAAjBA;;IA7CAC,uBAAuB;eAAvBA;;IAuDAC,mBAAmB;eAAnBA;;;AAvDN,MAAMD,gCAAgCE;IAC3CC,YAAYC,OAAgB,CAAE;QAC5B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGL,wBAAwBK,IAAI;IAC1C;AACF;AAEO,MAAMZ,4BAA4BS;IACvCI,WAAmB;IAEnBH,YAAYI,KAAc,EAAED,aAAa,EAAE,CAAE;QAC3C,KAAK,CAACC;QACN,IAAI,CAACF,IAAI,GAAGZ,oBAAoBY,IAAI;QACpC,IAAI,CAACC,UAAU,GAAGA;IACpB;AACF;AAEO,MAAMT,uBAAuBK;IAClCC,YAAYI,KAAc,CAAE;QAC1B,KAAK,CAACA;QACN,IAAI,CAACF,IAAI,GAAGR,eAAeQ,IAAI;IACjC;AACF;AAEO,MAAMX,2BAA2BQ;IACtCM,cAAyB,EAAE,CAAC;IAC5BC,QAAmB,EAAE,CAAC;IACtBC,OAAgB;IAEhBP,YAAY,EAAEK,WAAW,EAAEC,KAAK,EAAEC,MAAM,EAAiE,CAAE;QACzG,KAAK,CAAC;QACN,IAAI,CAACL,IAAI,GAAGX,mBAAmBW,IAAI;QACnC,IAAI,CAACK,MAAM,GAAGA;QACd,IAAI,CAACF,WAAW,GAAGA;QACnB,IAAI,CAACC,KAAK,GAAGA;IACf;AACF;AAEO,MAAMd,4BAA4BO;IACvCC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGV,oBAAoBU,IAAI;IACtC;AACF;AAEO,MAAMN,0BAA0BG;IACrCS,KAAc;IAEdR,YAAYC,OAAe,EAAEO,IAAa,CAAE;QAC1C,KAAK,CAACP;QACN,IAAI,CAACC,IAAI,GAAGN,kBAAkBM,IAAI;QAClC,IAAI,CAACM,IAAI,GAAGA;IACd;AACF;AAEO,MAAMV,4BAAqCC;IAChDU,OAAU;IAEVT,YAAYU,gBAAmB,CAAE;QAC/B,KAAK,CAACC,KAAKC,SAAS,CAACF;QACrB,IAAI,CAACR,IAAI,GAAGJ,oBAAoBI,IAAI;QACpC,IAAI,CAACO,MAAM,GAAGC;IAChB;AACF;AAEO,MAAMjB,6BAA6BM;IACxCK,MAAW;IACXS,YAAqB;IAErBb,YAAYc,cAAmB,EAAED,WAAoB,CAAE;QACrD,KAAK,CAACF,KAAKC,SAAS,CAACE;QACrB,IAAI,CAACZ,IAAI,GAAGT,qBAAqBS,IAAI;QACrC,IAAI,CAACE,KAAK,GAAGU;QACb,IAAI,CAACD,WAAW,GAAGA;IACrB;AACF;AAEO,MAAMlB,gCAAgCI;IAC3CC,YAAYC,OAAe,EAAEc,KAAW,CAAE;QACxC,KAAK,CAACd;QACN,IAAI,CAACC,IAAI,GAAGP,wBAAwBO,IAAI;QACxC,IAAI,CAACa,KAAK,GAAGA;IACf;AACF"}
@@ -13,72 +13,167 @@ const _path = require("path");
13
13
  const _luxon = require("luxon");
14
14
  const _serverconstants = require("../server.constants");
15
15
  const _fsutils = require("../utils/fs.utils");
16
+ const _winstonloki = /*#__PURE__*/ _interop_require_default(require("winston-loki"));
17
+ const _zod = require("zod");
16
18
  function _interop_require_default(obj) {
17
19
  return obj && obj.__esModule ? obj : {
18
20
  default: obj
19
21
  };
20
22
  }
21
- const dtFormat = new Intl.DateTimeFormat("en-GB", {
22
- timeStyle: "medium",
23
- dateStyle: "short",
24
- timeZone: "UTC"
25
- });
26
- const dateFormat = ()=>{
27
- return dtFormat.format(new Date());
23
+ const levelMap = {
24
+ error: "ERR",
25
+ warn: "WRN",
26
+ info: "INF",
27
+ debug: "DBG",
28
+ http: "HTT",
29
+ verbose: "VRB",
30
+ silly: "SLY"
28
31
  };
32
+ const lokiLineClassProperty = "class";
33
+ const lokiValidationSchema = _zod.z.object({
34
+ lokiEnabled: _zod.z.boolean(),
35
+ lokiAddress: _zod.z.string().url(),
36
+ lokiTimeoutSeconds: _zod.z.coerce.number().positive().default(30),
37
+ lokiInterval: _zod.z.coerce.number().positive().default(15)
38
+ });
29
39
  class LoggerService {
30
40
  name;
31
41
  logger;
32
42
  constructor(name, enableFileLogs = true, logFilterLevel = ""){
33
43
  const isProd = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultProductionEnv;
34
44
  const isTest = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
35
- if (!logFilterLevel) {
36
- logFilterLevel = isProd || isTest ? "warn" : "info";
45
+ let effectiveLogLevel = logFilterLevel;
46
+ if (!effectiveLogLevel) {
47
+ effectiveLogLevel = isProd || isTest ? "warn" : "debug";
48
+ }
49
+ const isLokiEnabled = process.env[_serverconstants.AppConstants.ENABLE_LOKI_LOGGING] === "true";
50
+ const extraWinstonTransports = [];
51
+ if (isLokiEnabled) {
52
+ const lokiConfigValidationResult = lokiValidationSchema.safeParse({
53
+ lokiEnabled: isLokiEnabled,
54
+ lokiTimeoutSeconds: process.env[_serverconstants.AppConstants.LOKI_TIMEOUT_SECONDS],
55
+ lokiAddress: process.env[_serverconstants.AppConstants.LOKI_ADDRESS],
56
+ lokiInterval: process.env[_serverconstants.AppConstants.LOKI_INTERVAL]
57
+ });
58
+ if (lokiConfigValidationResult.success) {
59
+ extraWinstonTransports.push(new _winstonloki.default({
60
+ level: effectiveLogLevel,
61
+ host: lokiConfigValidationResult.data.lokiAddress,
62
+ interval: lokiConfigValidationResult.data.lokiInterval,
63
+ timeout: lokiConfigValidationResult.data.lokiTimeoutSeconds,
64
+ handleExceptions: true,
65
+ onConnectionError (error) {
66
+ console.debug(`Loki logger enabled, but connection failed. ${error}`);
67
+ },
68
+ labels: {
69
+ app: "fdm-monster-server"
70
+ },
71
+ json: false,
72
+ useWinstonMetaAsLabels: false,
73
+ format: _winston.default.format.json()
74
+ }));
75
+ }
37
76
  }
38
- const date = _luxon.DateTime.now().toISODate();
39
77
  this.name = name;
40
78
  this.logger = _winston.default.createLogger({
41
79
  transports: [
80
+ ...extraWinstonTransports,
42
81
  new _winston.default.transports.Console({
43
- level: logFilterLevel
44
- }),
45
- ...enableFileLogs ? [
46
- new _winston.default.transports.File({
47
- level: isTest ? "warn" : "info",
48
- filename: (0, _path.join)((0, _fsutils.superRootPath)(), _serverconstants.AppConstants.defaultLogsFolder, `${_serverconstants.AppConstants.logAppName}-${date}.log`),
49
- maxsize: 5000000,
50
- maxFiles: 5
51
- })
52
- ] : []
82
+ level: effectiveLogLevel,
83
+ format: _winston.default.format.combine(_winston.default.format((info)=>{
84
+ info.rawLevel = info.level;
85
+ return info;
86
+ })(), _winston.default.format.colorize({
87
+ colors: {
88
+ error: "red",
89
+ warn: "yellow",
90
+ info: "white",
91
+ debug: "gray",
92
+ http: "magenta",
93
+ verbose: "cyan",
94
+ silly: "gray"
95
+ },
96
+ level: true,
97
+ message: true,
98
+ all: false
99
+ }), _winston.default.format.printf((info)=>{
100
+ const now = new Date();
101
+ const timestamp = `${now.toISOString().split("T")[0]} ${now.toTimeString().split(" ")[0]}.${now.getMilliseconds().toString().padStart(3, "0")}`;
102
+ const levelAbbr = levelMap[info.rawLevel] || info.rawLevel.substring(0, 3).toUpperCase();
103
+ const gray = "\x1b[90m";
104
+ const reset = info.message.substring(0, 5) ?? "\x1b[0m";
105
+ const numberRegex = /\b\d+\b/g;
106
+ const coloredMessage = info.message.replace(numberRegex, (match)=>`\x1b[35m${match}${reset}`);
107
+ let logEntry = `${gray}[${timestamp} ${reset}${levelAbbr}${reset}${gray}]${reset} ${gray}[${reset}${name}${gray}]${reset} ${coloredMessage}`;
108
+ if (info.meta) {
109
+ const metaString = JSON.stringify(info.meta);
110
+ const coloredMeta = metaString.replace(numberRegex, (match)=>`\x1b[35m${match}${reset}`);
111
+ logEntry += ` ${coloredMeta}`;
112
+ }
113
+ return logEntry;
114
+ }))
115
+ })
53
116
  ],
54
117
  format: _winston.default.format.printf((info)=>{
55
- const level = info.level.toUpperCase();
56
- const date = dateFormat();
57
- let message = `${date} | ${level} | ${name} | ${info.message}`;
58
- message = info.meta ? message + ` - ${JSON.stringify(info.meta)}` : message;
118
+ const now = new Date();
119
+ const timestamp = `${now.toISOString().split("T")[0]} ${now.toTimeString().split(" ")[0]}.${now.getMilliseconds().toString().padStart(3, "0")}`;
120
+ const levelAbbr = levelMap[info.level] || `[${info.level.substring(0, 3).toUpperCase()}]`;
121
+ let message = `[${timestamp} ${levelAbbr}] [${name}] ${info.message}`;
122
+ if (info.meta) {
123
+ const pascalCaseMeta = Object.entries(info.meta).reduce((acc, [key, value])=>{
124
+ const pascalKey = key.charAt(0).toUpperCase() + key.slice(1);
125
+ acc[pascalKey] = value;
126
+ return acc;
127
+ }, {});
128
+ message += ` ${JSON.stringify(pascalCaseMeta)}`;
129
+ }
59
130
  return message;
60
131
  })
61
132
  });
133
+ if (enableFileLogs) {
134
+ const date = _luxon.DateTime.now().toISODate();
135
+ const logFilePath = (0, _path.join)((0, _fsutils.superRootPath)(), _serverconstants.AppConstants.defaultLogsFolder, `${_serverconstants.AppConstants.logAppName}-${date}.log`);
136
+ this.logger.add(new _winston.default.transports.File({
137
+ level: isTest ? "warn" : "info",
138
+ filename: logFilePath,
139
+ maxsize: 5000000,
140
+ maxFiles: 5
141
+ }));
142
+ }
62
143
  }
63
- log(message, meta) {
64
- this.logger.log("info", message, {
65
- meta
144
+ newDebug(object) {
145
+ this.logger.debug({
146
+ ...object,
147
+ [lokiLineClassProperty]: this.name
66
148
  });
67
149
  }
150
+ log(message, meta) {
151
+ const enrichedMeta = {
152
+ ...meta,
153
+ [lokiLineClassProperty]: this.name
154
+ };
155
+ this.logger.log("info", message, enrichedMeta);
156
+ }
68
157
  warn(message, meta) {
69
- this.logger.log("warn", message, {
70
- meta
71
- });
158
+ const enrichedMeta = {
159
+ ...meta,
160
+ [lokiLineClassProperty]: this.name
161
+ };
162
+ this.logger.log("warn", message, enrichedMeta);
72
163
  }
73
164
  debug(message, meta) {
74
- this.logger.log("debug", message, {
75
- meta
76
- });
165
+ const enrichedMeta = {
166
+ ...meta,
167
+ [lokiLineClassProperty]: this.name
168
+ };
169
+ this.logger.log("debug", message, enrichedMeta);
77
170
  }
78
171
  error(message, meta) {
79
- this.logger.log("error", message, {
80
- meta
81
- });
172
+ const enrichedMeta = {
173
+ ...meta,
174
+ [lokiLineClassProperty]: this.name
175
+ };
176
+ this.logger.log("error", message, enrichedMeta);
82
177
  }
83
178
  }
84
179
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/handlers/logger.ts"],"names":["LoggerService","dtFormat","Intl","DateTimeFormat","timeStyle","dateStyle","timeZone","dateFormat","format","Date","name","logger","constructor","enableFileLogs","logFilterLevel","isProd","process","env","AppConstants","NODE_ENV_KEY","defaultProductionEnv","isTest","defaultTestEnv","date","DateTime","now","toISODate","winston","createLogger","transports","Console","level","File","filename","join","superRootPath","defaultLogsFolder","logAppName","maxsize","maxFiles","printf","info","toUpperCase","message","meta","JSON","stringify","log","warn","debug","error"],"mappings":";;;;+BAgBaA;;;eAAAA;;;gEAhBO;sBACC;uBACI;iCACI;yBACC;;;;;;AAE9B,MAAMC,WAAW,IAAIC,KAAKC,cAAc,CAAC,SAAS;IAChDC,WAAW;IACXC,WAAW;IACXC,UAAU;AACZ;AAEA,MAAMC,aAAa;IACjB,OAAON,SAASO,MAAM,CAAC,IAAIC;AAC7B;AAEO,MAAMT;IACXU,KAAa;IACbC,OAAuB;IAEvBC,YAAYF,IAAY,EAAEG,iBAAiB,IAAI,EAAEC,iBAAyB,EAAE,CAAE;QAC5E,MAAMC,SAASC,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACE,oBAAoB;QAC3F,MAAMC,SAASL,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACI,cAAc;QAErF,IAAI,CAACR,gBAAgB;YACnBA,iBAAiBC,UAAUM,SAAS,SAAS;QAC/C;QAEA,MAAME,OAAOC,eAAQ,CAACC,GAAG,GAAGC,SAAS;QACrC,IAAI,CAAChB,IAAI,GAAGA;QACZ,IAAI,CAACC,MAAM,GAAGgB,gBAAO,CAACC,YAAY,CAAC;YACjCC,YAAY;gBACV,IAAIF,gBAAO,CAACE,UAAU,CAACC,OAAO,CAAC;oBAC7BC,OAAOjB;gBACT;mBACID,iBACA;oBACE,IAAIc,gBAAO,CAACE,UAAU,CAACG,IAAI,CAAC;wBAC1BD,OAAOV,SAAS,SAAS;wBACzBY,UAAUC,IAAAA,UAAI,EAACC,IAAAA,sBAAa,KAAIjB,6BAAY,CAACkB,iBAAiB,EAAE,GAAGlB,6BAAY,CAACmB,UAAU,CAAC,CAAC,EAAEd,KAAK,IAAI,CAAC;wBACxGe,SAAS;wBACTC,UAAU;oBACZ;iBACD,GACD,EAAE;aACP;YACD/B,QAAQmB,gBAAO,CAACnB,MAAM,CAACgC,MAAM,CAAC,CAACC;gBAC7B,MAAMV,QAAQU,KAAKV,KAAK,CAACW,WAAW;gBACpC,MAAMnB,OAAOhB;gBACb,IAAIoC,UAAU,GAAGpB,KAAK,GAAG,EAAEQ,MAAM,GAAG,EAAErB,KAAK,GAAG,EAAE+B,KAAKE,OAAO,EAAE;gBAC9DA,UAAUF,KAAKG,IAAI,GAAGD,UAAU,CAAC,GAAG,EAAEE,KAAKC,SAAS,CAACL,KAAKG,IAAI,GAAG,GAAGD;gBACpE,OAAOA;YACT;QACF;IACF;IAEAI,IAAIJ,OAAe,EAAEC,IAAU,EAAE;QAC/B,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,QAAQJ,SAAS;YAC/BC;QACF;IACF;IAEAI,KAAKL,OAAe,EAAEC,IAAU,EAAE;QAChC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,QAAQJ,SAAS;YAC/BC;QACF;IACF;IAEAK,MAAMN,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,SAASJ,SAAS;YAChCC;QACF;IACF;IAEAM,MAAMP,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,SAASJ,SAAS;YAAEC;QAAK;IAC3C;AACF"}
1
+ {"version":3,"sources":["../../src/handlers/logger.ts"],"names":["LoggerService","levelMap","error","warn","info","debug","http","verbose","silly","lokiLineClassProperty","lokiValidationSchema","z","object","lokiEnabled","boolean","lokiAddress","string","url","lokiTimeoutSeconds","coerce","number","positive","default","lokiInterval","name","logger","constructor","enableFileLogs","logFilterLevel","isProd","process","env","AppConstants","NODE_ENV_KEY","defaultProductionEnv","isTest","defaultTestEnv","effectiveLogLevel","isLokiEnabled","ENABLE_LOKI_LOGGING","extraWinstonTransports","lokiConfigValidationResult","safeParse","LOKI_TIMEOUT_SECONDS","LOKI_ADDRESS","LOKI_INTERVAL","success","push","LokiTransport","level","host","data","interval","timeout","handleExceptions","onConnectionError","console","labels","app","json","useWinstonMetaAsLabels","format","winston","createLogger","transports","Console","combine","rawLevel","colorize","colors","message","all","printf","now","Date","timestamp","toISOString","split","toTimeString","getMilliseconds","toString","padStart","levelAbbr","substring","toUpperCase","gray","reset","numberRegex","coloredMessage","replace","match","logEntry","meta","metaString","JSON","stringify","coloredMeta","pascalCaseMeta","Object","entries","reduce","acc","key","value","pascalKey","charAt","slice","date","DateTime","toISODate","logFilePath","join","superRootPath","defaultLogsFolder","logAppName","add","File","filename","maxsize","maxFiles","newDebug","log","enrichedMeta"],"mappings":"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"}
@@ -9,12 +9,6 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getExtendedValidator: function() {
13
- return getExtendedValidator;
14
- },
15
- getScopedPrinter: function() {
16
- return getScopedPrinter;
17
- },
18
12
  validateInput: function() {
19
13
  return validateInput;
20
14
  },
@@ -23,115 +17,15 @@ _export(exports, {
23
17
  }
24
18
  });
25
19
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
26
- const _printer = require("../middleware/printer");
27
- const _normalizeurl = require("../utils/normalize-url");
28
- const _nodeinputvalidator = /*#__PURE__*/ _interop_require_wildcard(require("node-input-validator"));
29
- function _getRequireWildcardCache(nodeInterop) {
30
- if (typeof WeakMap !== "function") return null;
31
- var cacheBabelInterop = new WeakMap();
32
- var cacheNodeInterop = new WeakMap();
33
- return (_getRequireWildcardCache = function(nodeInterop) {
34
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
35
- })(nodeInterop);
36
- }
37
- function _interop_require_wildcard(obj, nodeInterop) {
38
- if (!nodeInterop && obj && obj.__esModule) {
39
- return obj;
40
- }
41
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
42
- return {
43
- default: obj
44
- };
45
- }
46
- var cache = _getRequireWildcardCache(nodeInterop);
47
- if (cache && cache.has(obj)) {
48
- return cache.get(obj);
49
- }
50
- var newObj = {
51
- __proto__: null
52
- };
53
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
54
- for(var key in obj){
55
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
56
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
57
- if (desc && (desc.get || desc.set)) {
58
- Object.defineProperty(newObj, key, desc);
59
- } else {
60
- newObj[key] = obj[key];
61
- }
62
- }
63
- }
64
- newObj.default = obj;
65
- if (cache) {
66
- cache.set(obj, newObj);
67
- }
68
- return newObj;
69
- }
70
- function getExtendedValidator() {
71
- (0, _nodeinputvalidator.extend)("wsurl", ({ value, args }, validator)=>{
72
- if (!value) return false;
73
- try {
74
- const url = (0, _normalizeurl.normalizeUrl)(value);
75
- return url.startsWith("ws://") || url.startsWith("wss://");
76
- } catch (e) {
77
- return false;
78
- }
79
- });
80
- (0, _nodeinputvalidator.extend)("httpurl", ({ value, args }, validator)=>{
81
- if (!value) return false;
82
- try {
83
- if (!value.startsWith("http://") && !value.startsWith("https://")) {
84
- return false;
85
- }
86
- return new URL((0, _normalizeurl.normalizeUrl)(value));
87
- } catch (e) {
88
- return false;
89
- }
90
- });
91
- (0, _nodeinputvalidator.extend)("not", ({ value, args }, validator)=>{
92
- return !value && value !== false;
93
- });
94
- (0, _nodeinputvalidator.extendMessages)({
95
- not: "The :attribute field may not be present."
96
- });
97
- return _nodeinputvalidator.default;
98
- }
99
- function getScopedPrinter(req) {
100
- const tokens = [
101
- _printer.printerApiToken,
102
- _printer.printerLoginToken,
103
- _printer.currentPrinterToken,
104
- _printer.printerIdToken
105
- ];
106
- let resolvedDependencies = {};
107
- let errors = [];
108
- tokens.forEach((t)=>{
109
- try {
110
- const dependency = req.container.resolve(t);
111
- if (!dependency) {
112
- errors.push(`Scoped Dependency '${t}' was not resolved. Please ensure the route requires a :id param and the printerId was provided.`);
113
- }
114
- resolvedDependencies[t] = dependency;
115
- } catch (e) {
116
- throw new _runtimeexceptions.InternalServerException(`Dependency ${t} could not be resolved. Aborted request.`);
117
- }
118
- });
119
- if (errors.length > 0) {
120
- throw new _runtimeexceptions.ValidationException(errors);
121
- }
122
- return resolvedDependencies;
123
- }
124
- async function validateInput(data, rules) {
125
- const localNIV = getExtendedValidator();
126
- const v = new localNIV.Validator(data, rules);
127
- const matched = await v.check();
128
- if (!matched) {
129
- throw new _runtimeexceptions.ValidationException(v.errors);
20
+ async function validateInput(data, zodSchema) {
21
+ const result = await zodSchema.safeParseAsync(data);
22
+ if (!result.success) {
23
+ throw new _runtimeexceptions.ValidationException(result.error);
130
24
  }
131
- return v.inputs;
25
+ return result.data;
132
26
  }
133
- async function validateMiddleware(req, rules) {
134
- return validateInput(req.body, rules);
27
+ async function validateMiddleware(req, zodSchema) {
28
+ return validateInput(req.body, zodSchema);
135
29
  }
136
30
 
137
31
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/handlers/validators.ts"],"names":["getExtendedValidator","getScopedPrinter","validateInput","validateMiddleware","extend","value","args","validator","url","normalizeUrl","startsWith","e","URL","extendMessages","not","nodeInputValidator","req","tokens","printerApiToken","printerLoginToken","currentPrinterToken","printerIdToken","resolvedDependencies","errors","forEach","t","dependency","container","resolve","push","InternalServerException","length","ValidationException","data","rules","localNIV","v","Validator","matched","check","inputs","body"],"mappings":";;;;;;;;;;;IAUgBA,oBAAoB;eAApBA;;IA+BAC,gBAAgB;eAAhBA;;IAiCMC,aAAa;eAAbA;;IAeAC,kBAAkB;eAAlBA;;;mCAxFuC;yBAC2B;8BAC3D;4EAC8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMpD,SAASH;IACdI,IAAAA,0BAAM,EAAC,SAAS,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAChC,IAAI,CAACF,OAAO,OAAO;QACnB,IAAI;YACF,MAAMG,MAAMC,IAAAA,0BAAY,EAACJ;YACzB,OAAOG,IAAIE,UAAU,CAAC,YAAYF,IAAIE,UAAU,CAAC;QACnD,EAAE,OAAOC,GAAG;YACV,OAAO;QACT;IACF;IACAP,IAAAA,0BAAM,EAAC,WAAW,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAClC,IAAI,CAACF,OAAO,OAAO;QAEnB,IAAI;YACF,IAAI,CAACA,MAAMK,UAAU,CAAC,cAAc,CAACL,MAAMK,UAAU,CAAC,aAAa;gBACjE,OAAO;YACT;YACA,OAAO,IAAIE,IAAIH,IAAAA,0BAAY,EAACJ;QAC9B,EAAE,OAAOM,GAAG;YACV,OAAO;QACT;IACF;IACAP,IAAAA,0BAAM,EAAC,OAAO,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAC9B,OAAO,CAACF,SAASA,UAAU;IAC7B;IACAQ,IAAAA,kCAAc,EAAC;QACbC,KAAK;IACP;IACA,OAAOC,2BAAkB;AAC3B;AAEO,SAASd,iBAAiBe,GAAY;IAC3C,MAAMC,SAAS;QAACC,wBAAe;QAAEC,0BAAiB;QAAEC,4BAAmB;QAAEC,uBAAc;KAAC;IACxF,IAAIC,uBAKA,CAAC;IACL,IAAIC,SAAgB,EAAE;IACtBN,OAAOO,OAAO,CAAC,CAACC;QACd,IAAI;YACF,MAAMC,aAAaV,IAAIW,SAAS,CAACC,OAAO,CAACH;YACzC,IAAI,CAACC,YAAY;gBACfH,OAAOM,IAAI,CACT,CAAC,mBAAmB,EAAEJ,EAAE,gGAAgG,CAAC;YAE7H;YACAH,oBAAoB,CAACG,EAAE,GAAGC;QAC5B,EAAE,OAAOf,GAAG;YACV,MAAM,IAAImB,0CAAuB,CAAC,CAAC,WAAW,EAAEL,EAAE,wCAAwC,CAAC;QAC7F;IACF;IAEA,IAAIF,OAAOQ,MAAM,GAAG,GAAG;QACrB,MAAM,IAAIC,sCAAmB,CAACT;IAChC;IAEA,OAAOD;AACT;AAKO,eAAepB,cAAiB+B,IAAS,EAAEC,KAAQ;IACxD,MAAMC,WAAWnC;IAEjB,MAAMoC,IAAI,IAAID,SAASE,SAAS,CAACJ,MAAMC;IAEvC,MAAMI,UAAU,MAAMF,EAAEG,KAAK;IAC7B,IAAI,CAACD,SAAS;QACZ,MAAM,IAAIN,sCAAmB,CAACI,EAAEb,MAAM;IACxC;IACA,OAAOa,EAAEI,MAAM;AACjB;AAKO,eAAerC,mBAAsBa,GAAY,EAAEkB,KAAQ;IAChE,OAAOhC,cAAcc,IAAIyB,IAAI,EAAEP;AACjC"}
1
+ {"version":3,"sources":["../../src/handlers/validators.ts"],"names":["validateInput","validateMiddleware","data","zodSchema","result","safeParseAsync","success","ValidationException","error","req","body"],"mappings":";;;;;;;;;;;IAIsBA,aAAa;eAAbA;;IASAC,kBAAkB;eAAlBA;;;mCAZc;AAG7B,eAAeD,cAAoBE,IAAO,EAAEC,SAAuB;IACxE,MAAMC,SAAS,MAAMD,UAAUE,cAAc,CAACH;IAE9C,IAAI,CAACE,OAAOE,OAAO,EAAE;QACnB,MAAM,IAAIC,sCAAmB,CAACH,OAAOI,KAAK;IAC5C;IACA,OAAOJ,OAAOF,IAAI;AACpB;AAEO,eAAeD,mBAAyBQ,GAAe,EAAEN,SAAuB;IACrF,OAAOH,cAAcS,IAAIC,IAAI,EAAEP;AACjC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["setupEnvConfig","setupServer","then","httpServer","container","resolve","DITokens","serverHost","boot","catch","e","console","error","captureException","flush","process","exit"],"mappings":";;;;sBAAwC;2BACT;4BACH;iCACH;AAEzBA,IAAAA,yBAAc;AAEdC,IAAAA,uBAAW,IAAGC,IAAI,CAAC,CAAC,EAAEC,UAAU,EAAEC,SAAS,EAAE;IAC3CA,UACGC,OAAO,CAACC,yBAAQ,CAACC,UAAU,EAC3BC,IAAI,CAACL,YACLM,KAAK,CAAC,OAAOC;QACZC,QAAQC,KAAK,CAAC,2DAA2DF;QAEzEG,IAAAA,sBAAgB,EAACH;QACjB,MAAMI,IAAAA,WAAK,EAAC;QACZC,QAAQC,IAAI,CAAC;IACf;AACJ"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["setupEnvConfig","setupServer","then","httpServer","container","resolve","DITokens","serverHost","boot","catch","e","console","error","captureException","flush","process","exit"],"mappings":";;;;sBAAwC;2BACT;4BACH;iCACH;AAGzBA,IAAAA,yBAAc;AAEdC,IAAAA,uBAAW,IAAGC,IAAI,CAAC,CAAC,EAAEC,UAAU,EAAEC,SAAS,EAAE;IAC3CA,UACGC,OAAO,CAAaC,yBAAQ,CAACC,UAAU,EACvCC,IAAI,CAACL,YACLM,KAAK,CAAC,OAAOC;QACZC,QAAQC,KAAK,CAAC,2DAA2DF;QAEzEG,IAAAA,sBAAgB,EAACH;QACjB,MAAMI,IAAAA,WAAK,EAAC;QACZC,QAAQC,IAAI,CAAC;IACf;AACJ"}
@@ -12,20 +12,17 @@ _export(exports, {
12
12
  authenticate: function() {
13
13
  return authenticate;
14
14
  },
15
- authorizePermission: function() {
16
- return authorizePermission;
17
- },
18
15
  authorizeRoles: function() {
19
16
  return authorizeRoles;
20
17
  },
21
- withPermission: function() {
22
- return withPermission;
18
+ permission: function() {
19
+ return permission;
23
20
  }
24
21
  });
25
22
  const _awilixexpress = require("awilix-express");
26
23
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
27
24
  const _authorizationconstants = require("../constants/authorization.constants");
28
- const authenticate = ()=>(0, _awilixexpress.inject)(({ settingsStore, authService, loggerFactory })=>async (req, res, next)=>{
25
+ const authenticate = ()=>(0, _awilixexpress.inject)((authService, loggerFactory, settingsStore)=>async (req, res, next)=>{
29
26
  const logger = loggerFactory("Middleware:authenticate");
30
27
  const isLoginRequired = await settingsStore.getLoginRequired();
31
28
  if (!isLoginRequired) {
@@ -35,8 +32,7 @@ const authenticate = ()=>(0, _awilixexpress.inject)(({ settingsStore, authServic
35
32
  throw new _runtimeexceptions.AuthenticationError("Password change required", _authorizationconstants.AUTH_ERROR_REASON.PasswordChangeRequired);
36
33
  }
37
34
  const bearer = req.headers.authorization?.replace("Bearer ", "") || undefined;
38
- const isJwtBlacklisted = authService.isJwtTokenBlacklisted(bearer);
39
- if (!!bearer?.length && isJwtBlacklisted) {
35
+ if (!!bearer?.length && authService.isJwtTokenBlacklisted(bearer)) {
40
36
  throw new _runtimeexceptions.AuthenticationError("Not authenticated", _authorizationconstants.AUTH_ERROR_REASON.LoginRequired);
41
37
  }
42
38
  if (req.isAuthenticated()) {
@@ -45,41 +41,34 @@ const authenticate = ()=>(0, _awilixexpress.inject)(({ settingsStore, authServic
45
41
  logger.log(`Not authenticated for route: ${req.originalUrl}`);
46
42
  throw new _runtimeexceptions.AuthenticationError("Not authenticated", _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredAuthToken);
47
43
  });
48
- function authorizePermission(permission) {
49
- return (0, _awilixexpress.inject)(({ permissionService, roleService })=>async (req, res, next)=>{
44
+ function permission(requiredPermission) {
45
+ return (0, _awilixexpress.inject)((permissionService, roleService)=>async (req, res, next)=>{
50
46
  const userRoles = req.roles;
51
47
  if (!userRoles?.length) {
52
48
  throw new _runtimeexceptions.AuthorizationError({
53
49
  permissions: [
54
- permission
50
+ requiredPermission
55
51
  ]
56
52
  });
57
53
  }
58
54
  const assignedPermissions = roleService.getRolesPermissions(userRoles);
59
- if (!permissionService.authorizePermission(permission, assignedPermissions)) {
55
+ if (!permissionService.authorizePermission(requiredPermission, assignedPermissions)) {
60
56
  throw new _runtimeexceptions.AuthorizationError({
61
57
  permissions: [
62
- permission
58
+ requiredPermission
63
59
  ]
64
60
  });
65
61
  }
66
62
  next();
67
63
  });
68
64
  }
69
- const authorizeRoles = (roles, subset = true)=>(0, _awilixexpress.inject)(({ roleService })=>async (req, res, next)=>{
70
- if (!roleService.authorizeRoles(roles, req.roles, subset)) {
65
+ const authorizeRoles = (roles, subset = true)=>(0, _awilixexpress.inject)((roleService)=>async (req, res, next)=>{
66
+ if (!req.roles?.length || !roleService.authorizeRoles(roles, req.roles, subset)) {
71
67
  throw new _runtimeexceptions.AuthorizationError({
72
68
  roles
73
69
  });
74
70
  }
75
71
  next();
76
72
  });
77
- function withPermission(permission) {
78
- return {
79
- before: [
80
- authorizePermission(permission)
81
- ]
82
- };
83
- }
84
73
 
85
74
  //# sourceMappingURL=authenticate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/authenticate.ts"],"names":["authenticate","authorizePermission","authorizeRoles","withPermission","inject","settingsStore","authService","loggerFactory","req","res","next","logger","isLoginRequired","getLoginRequired","user","needsPasswordChange","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","bearer","headers","authorization","replace","undefined","isJwtBlacklisted","isJwtTokenBlacklisted","length","LoginRequired","isAuthenticated","log","originalUrl","InvalidOrExpiredAuthToken","permission","permissionService","roleService","userRoles","roles","AuthorizationError","permissions","assignedPermissions","getRolesPermissions","subset","before"],"mappings":";;;;;;;;;;;IAWaA,YAAY;eAAZA;;IAuCGC,mBAAmB;eAAnBA;;IAmBHC,cAAc;eAAdA;;IASGC,cAAc;eAAdA;;;+BA9EO;mCACiC;wCAEtB;AAQ3B,MAAMH,eAAe,IAC1BI,IAAAA,qBAAM,EACJ,CAAC,EACGC,aAAa,EACbC,WAAW,EACXC,aAAa,EAKd,GACD,OAAOC,KAAcC,KAAeC;YAClC,MAAMC,SAASJ,cAAc;YAC7B,MAAMK,kBAAkB,MAAMP,cAAcQ,gBAAgB;YAC5D,IAAI,CAACD,iBAAiB;gBACpB,OAAOF;YACT;YAGA,IAAIF,IAAIM,IAAI,EAAEC,qBAAqB;gBACjC,MAAM,IAAIC,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB;YACpG;YAGA,MAAMC,SAASX,IAAIY,OAAO,CAACC,aAAa,EAAEC,QAAQ,WAAW,OAAOC;YACpE,MAAMC,mBAAmBlB,YAAYmB,qBAAqB,CAACN;YAC3D,IAAI,CAAC,CAACA,QAAQO,UAAUF,kBAAkB;gBACxC,MAAM,IAAIR,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACU,aAAa;YACpF;YAEA,IAAInB,IAAIoB,eAAe,IAAI;gBACzB,OAAOlB;YACT;YAEAC,OAAOkB,GAAG,CAAC,CAAC,6BAA6B,EAAErB,IAAIsB,WAAW,EAAE;YAC5D,MAAM,IAAId,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACc,yBAAyB;QAChG;AAGC,SAAS9B,oBAAoB+B,UAAkB;IACpD,OAAO5B,IAAAA,qBAAM,EACX,CAAC,EAAE6B,iBAAiB,EAAEC,WAAW,EAAwE,GACvG,OAAO1B,KAAcC,KAAeC;YAClC,MAAMyB,YAAY3B,IAAI4B,KAAK;YAC3B,IAAI,CAACD,WAAWT,QAAQ;gBACtB,MAAM,IAAIW,qCAAkB,CAAC;oBAAEC,aAAa;wBAACN;qBAAW;gBAAC;YAC3D;YAEA,MAAMO,sBAAsBL,YAAYM,mBAAmB,CAACL;YAC5D,IAAI,CAACF,kBAAkBhC,mBAAmB,CAAC+B,YAAYO,sBAAsB;gBAC3E,MAAM,IAAIF,qCAAkB,CAAC;oBAAEC,aAAa;wBAACN;qBAAW;gBAAC;YAC3D;YAEAtB;QACF;AAEN;AAEO,MAAMR,iBAAiB,CAACkC,OAAiBK,SAAS,IAAI,GAC3DrC,IAAAA,qBAAM,EAAC,CAAC,EAAE8B,WAAW,EAAiC,GAAK,OAAO1B,KAAcC,KAAeC;YAC7F,IAAI,CAACwB,YAAYhC,cAAc,CAACkC,OAAO5B,IAAI4B,KAAK,EAAEK,SAAS;gBACzD,MAAM,IAAIJ,qCAAkB,CAAC;oBAAED;gBAAM;YACvC;YAEA1B;QACF;AAEK,SAASP,eAAe6B,UAAkB;IAC/C,OAAO;QACLU,QAAQ;YAACzC,oBAAoB+B;SAAY;IAC3C;AACF"}
1
+ {"version":3,"sources":["../../src/middleware/authenticate.ts"],"names":["authenticate","authorizeRoles","permission","inject","authService","loggerFactory","settingsStore","req","res","next","logger","isLoginRequired","getLoginRequired","user","needsPasswordChange","AuthenticationError","AUTH_ERROR_REASON","PasswordChangeRequired","bearer","headers","authorization","replace","undefined","length","isJwtTokenBlacklisted","LoginRequired","isAuthenticated","log","originalUrl","InvalidOrExpiredAuthToken","requiredPermission","permissionService","roleService","userRoles","roles","AuthorizationError","permissions","assignedPermissions","getRolesPermissions","authorizePermission","subset"],"mappings":";;;;;;;;;;;IAWaA,YAAY;eAAZA;;IAkDAC,cAAc;eAAdA;;IAnBGC,UAAU;eAAVA;;;+BA1CO;mCACiC;wCAEtB;AAQ3B,MAAMF,eAAe,IAC1BG,IAAAA,qBAAM,EACJ,CAACC,aAA0BC,eAA+BC,gBACxD,OAAOC,KAAcC,KAAeC;YAClC,MAAMC,SAASL,cAAc;YAE7B,MAAMM,kBAAkB,MAAML,cAAcM,gBAAgB;YAC5D,IAAI,CAACD,iBAAiB;gBACpB,OAAOF;YACT;YAGA,IAAIF,IAAIM,IAAI,EAAEC,qBAAqB;gBACjC,MAAM,IAAIC,sCAAmB,CAAC,4BAA4BC,yCAAiB,CAACC,sBAAsB;YACpG;YAGA,MAAMC,SAASX,IAAIY,OAAO,CAACC,aAAa,EAAEC,QAAQ,WAAW,OAAOC;YACpE,IAAI,CAAC,CAACJ,QAAQK,UAAUnB,YAAYoB,qBAAqB,CAACN,SAAS;gBACjE,MAAM,IAAIH,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACS,aAAa;YACpF;YAEA,IAAIlB,IAAImB,eAAe,IAAI;gBACzB,OAAOjB;YACT;YAEAC,OAAOiB,GAAG,CAAC,CAAC,6BAA6B,EAAEpB,IAAIqB,WAAW,EAAE;YAC5D,MAAM,IAAIb,sCAAmB,CAAC,qBAAqBC,yCAAiB,CAACa,yBAAyB;QAChG;AAGC,SAAS3B,WAAW4B,kBAA0B;IACnD,OAAO3B,IAAAA,qBAAM,EACX,CAAC4B,mBAAuCC,cACtC,OAAOzB,KAAcC,KAAeC;YAClC,MAAMwB,YAAY1B,IAAI2B,KAAK;YAC3B,IAAI,CAACD,WAAWV,QAAQ;gBACtB,MAAM,IAAIY,qCAAkB,CAAC;oBAAEC,aAAa;wBAACN;qBAAmB;gBAAC;YACnE;YAEA,MAAMO,sBAAsBL,YAAYM,mBAAmB,CAACL;YAC5D,IAAI,CAACF,kBAAkBQ,mBAAmB,CAACT,oBAAoBO,sBAAsB;gBACnF,MAAM,IAAIF,qCAAkB,CAAC;oBAAEC,aAAa;wBAACN;qBAAmB;gBAAC;YACnE;YAEArB;QACF;AAEN;AAEO,MAAMR,iBAAiB,CAACiC,OAAiBM,SAAS,IAAI,GAC3DrC,IAAAA,qBAAM,EAAC,CAAC6B,cAA8B,OAAOzB,KAAcC,KAAeC;YACxE,IAAI,CAACF,IAAI2B,KAAK,EAAEX,UAAU,CAACS,YAAY/B,cAAc,CAACiC,OAAO3B,IAAI2B,KAAK,EAAEM,SAAS;gBAC/E,MAAM,IAAIL,qCAAkB,CAAC;oBAAED;gBAAM;YACvC;YAEAzB;QACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/middleware/database.ts"],"names":["interceptDatabaseError","req","res","next","serverHost","container","resolve","DITokens","databaseReadyState","hasConnected","status","send","state"],"mappings":";;;;+BAMsBA;;;eAAAA;;;iCANG;AAMlB,eAAeA,uBAAuBC,GAAY,EAAEC,GAAa,EAAEC,IAAkB;IAC1F,MAAMC,aAAaH,IAAII,SAAS,CAACC,OAAO,CAACC,yBAAQ,CAACH,UAAU;IAE5D,MAAMI,qBAAqBJ,WAAWK,YAAY;IAClD,IAAID,uBAAuB,GAAG;QAC5BL;IACF,OAAO;QACLD,IAAIQ,MAAM,CAAC;QACXR,IAAIS,IAAI,CAAC;YACPH,oBAAoBJ,WAAWK,YAAY;YAC3CG,OAAO;QACT;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/middleware/database.ts"],"names":["interceptDatabaseError","req","res","next","serverHost","container","resolve","DITokens","databaseReadyState","hasConnected","status","send","state"],"mappings":";;;;+BAMsBA;;;eAAAA;;;iCANG;AAMlB,eAAeA,uBAAuBC,GAAkB,EAAEC,GAAa,EAAEC,IAAkB;IAChG,MAAMC,aAAaH,IAAII,SAAS,CAACC,OAAO,CAACC,yBAAQ,CAACH,UAAU;IAE5D,MAAMI,qBAAqBJ,WAAWK,YAAY;IAClD,IAAID,uBAAuB,GAAG;QAC5BL;IACF,OAAO;QACLD,IAAIQ,MAAM,CAAC;QACXR,IAAIS,IAAI,CAAC;YACPH,oBAAoBJ,WAAWK,YAAY;YAC3CG,OAAO;QACT;IACF;AACF"}
@@ -2,23 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- demoUserNotAllowed: function() {
5
+ Object.defineProperty(exports, "demoUserNotAllowed", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return demoUserNotAllowed;
14
- },
15
- demoUserNotAllowedInterceptor: function() {
16
- return demoUserNotAllowedInterceptor;
17
9
  }
18
10
  });
19
11
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
20
12
  const _awilixexpress = require("awilix-express");
21
- const demoUserNotAllowed = (0, _awilixexpress.inject)(({ userService, configService, loggerFactory })=>{
13
+ const demoUserNotAllowed = (0, _awilixexpress.inject)((userService, configService, loggerFactory)=>{
22
14
  const logger = loggerFactory(demoUserNotAllowed.name);
23
15
  return async (req, res, next)=>{
24
16
  const isDemoMode = configService.isDemoMode();
@@ -34,10 +26,5 @@ const demoUserNotAllowed = (0, _awilixexpress.inject)(({ userService, configServ
34
26
  next();
35
27
  };
36
28
  });
37
- const demoUserNotAllowedInterceptor = {
38
- before: [
39
- demoUserNotAllowed
40
- ]
41
- };
42
29
 
43
30
  //# sourceMappingURL=demo.middleware.js.map
@@ -1 +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"}
1
+ {"version":3,"sources":["../../src/middleware/demo.middleware.ts"],"names":["demoUserNotAllowed","inject","userService","configService","loggerFactory","logger","name","req","res","next","isDemoMode","demoUserId","getDemoUserId","user","id","warn","path","ForbiddenError"],"mappings":";;;;+BAOaA;;;eAAAA;;;mCAPkB;+BAER;AAKhB,MAAMA,qBAAqBC,IAAAA,qBAAM,EACtC,CAACC,aAA2BC,eAA+BC;IACzD,MAAMC,SAASD,cAAcJ,mBAAmBM,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"}