@fdm-monster/server 1.8.3 → 1.9.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 (448) hide show
  1. package/.env.template +6 -4
  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 +27 -28
  7. package/RELEASE_NOTES.MD +69 -1
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +5 -21
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +8 -12
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +13 -14
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +3 -4
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +45 -29
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +73 -26
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +57 -198
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +87 -88
  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 +25 -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-factory.js +2 -2
  115. package/dist/handlers/logger-factory.js.map +1 -1
  116. package/dist/handlers/logger.js +11 -58
  117. package/dist/handlers/logger.js.map +1 -1
  118. package/dist/handlers/logging/file-logging.transport.js +35 -0
  119. package/dist/handlers/logging/file-logging.transport.js.map +1 -0
  120. package/dist/handlers/logging/loki-logging.transport.js +55 -0
  121. package/dist/handlers/logging/loki-logging.transport.js.map +1 -0
  122. package/dist/handlers/logging/static.logger.js +134 -0
  123. package/dist/handlers/logging/static.logger.js.map +1 -0
  124. package/dist/handlers/validators.js +7 -116
  125. package/dist/handlers/validators.js.map +1 -1
  126. package/dist/index.js +13 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/middleware/authenticate.js +11 -22
  129. package/dist/middleware/authenticate.js.map +1 -1
  130. package/dist/middleware/database.js.map +1 -1
  131. package/dist/middleware/demo.middleware.js +4 -17
  132. package/dist/middleware/demo.middleware.js.map +1 -1
  133. package/dist/middleware/exception.filter.js +23 -23
  134. package/dist/middleware/exception.filter.js.map +1 -1
  135. package/dist/middleware/global.middleware.js +4 -4
  136. package/dist/middleware/global.middleware.js.map +1 -1
  137. package/dist/middleware/param-converter.middleware.js +81 -0
  138. package/dist/middleware/param-converter.middleware.js.map +1 -0
  139. package/dist/middleware/passport.js +3 -5
  140. package/dist/middleware/passport.js.map +1 -1
  141. package/dist/middleware/printer-resolver.js +37 -0
  142. package/dist/middleware/printer-resolver.js.map +1 -0
  143. package/dist/middleware/printer.js +22 -10
  144. package/dist/middleware/printer.js.map +1 -1
  145. package/dist/middleware/socketio.middleware.js +35 -0
  146. package/dist/middleware/socketio.middleware.js.map +1 -0
  147. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  148. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  149. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  150. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  151. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  152. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  153. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  154. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  155. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  156. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  157. package/dist/models/Auth/Permission.js.map +1 -1
  158. package/dist/models/Auth/RefreshToken.js +1 -1
  159. package/dist/models/Auth/RefreshToken.js.map +1 -1
  160. package/dist/models/Auth/Role.js.map +1 -1
  161. package/dist/models/Auth/User.js.map +1 -1
  162. package/dist/models/CameraStream.js +20 -0
  163. package/dist/models/CameraStream.js.map +1 -1
  164. package/dist/models/CustomGcode.js.map +1 -1
  165. package/dist/models/Floor.js.map +1 -1
  166. package/dist/models/FloorPrinter.js +10 -1
  167. package/dist/models/FloorPrinter.js.map +1 -1
  168. package/dist/models/PrintCompletion.js.map +1 -1
  169. package/dist/models/Printer.js +12 -5
  170. package/dist/models/Printer.js.map +1 -1
  171. package/dist/models/Settings.js +11 -43
  172. package/dist/models/Settings.js.map +1 -1
  173. package/dist/models/index.js +0 -4
  174. package/dist/models/index.js.map +1 -1
  175. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  176. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  177. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  178. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  179. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  180. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  181. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  182. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  183. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  184. package/dist/server.constants.js +8 -4
  185. package/dist/server.constants.js.map +1 -1
  186. package/dist/server.core.js +29 -2
  187. package/dist/server.core.js.map +1 -1
  188. package/dist/server.env.js +22 -18
  189. package/dist/server.env.js.map +1 -1
  190. package/dist/server.host.js +24 -33
  191. package/dist/server.host.js.map +1 -1
  192. package/dist/services/authentication/auth.service.js +15 -20
  193. package/dist/services/authentication/auth.service.js.map +1 -1
  194. package/dist/services/authentication/jwt.service.js +1 -1
  195. package/dist/services/authentication/jwt.service.js.map +1 -1
  196. package/dist/services/core/batch-call.service.js +23 -25
  197. package/dist/services/core/batch-call.service.js.map +1 -1
  198. package/dist/services/core/client-bundle.service.js +78 -136
  199. package/dist/services/core/client-bundle.service.js.map +1 -1
  200. package/dist/services/core/config.service.js.map +1 -1
  201. package/dist/services/core/cradle.service.js +21 -0
  202. package/dist/services/core/cradle.service.js.map +1 -0
  203. package/dist/services/core/github.service.js +2 -2
  204. package/dist/services/core/github.service.js.map +1 -1
  205. package/dist/services/core/http-client.factory.js +1 -1
  206. package/dist/services/core/http-client.factory.js.map +1 -1
  207. package/dist/services/core/logs-manager.service.js +3 -3
  208. package/dist/services/core/logs-manager.service.js.map +1 -1
  209. package/dist/services/core/monsterpi.service.js +1 -1
  210. package/dist/services/core/monsterpi.service.js.map +1 -1
  211. package/dist/services/core/multer.service.js +8 -7
  212. package/dist/services/core/multer.service.js.map +1 -1
  213. package/dist/services/core/server-release.service.js +14 -8
  214. package/dist/services/core/server-release.service.js.map +1 -1
  215. package/dist/services/core/yaml.service.js +16 -17
  216. package/dist/services/core/yaml.service.js.map +1 -1
  217. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  218. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  219. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  220. package/dist/services/interfaces/floor.dto.js +5 -47
  221. package/dist/services/interfaces/floor.dto.js.map +1 -1
  222. package/dist/services/interfaces/login.dto.js +2 -0
  223. package/dist/services/interfaces/login.dto.js.map +1 -1
  224. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  225. package/dist/services/interfaces/printer-group.dto.js +0 -14
  226. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  227. package/dist/services/interfaces/printer.dto.js +11 -11
  228. package/dist/services/interfaces/printer.dto.js.map +1 -1
  229. package/dist/services/interfaces/settings.dto.js.map +1 -1
  230. package/dist/services/interfaces/task.interfaces.js +6 -0
  231. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  232. package/dist/services/mongoose/camera-stream.service.js +17 -15
  233. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  234. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  235. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  236. package/dist/services/mongoose/floor.service.js +37 -30
  237. package/dist/services/mongoose/floor.service.js.map +1 -1
  238. package/dist/services/mongoose/permission.service.js +1 -1
  239. package/dist/services/mongoose/permission.service.js.map +1 -1
  240. package/dist/services/mongoose/print-completion.service.js +2 -2
  241. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  242. package/dist/services/mongoose/print-completion.shared.js +2 -2
  243. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  244. package/dist/services/mongoose/printer.service.js +33 -45
  245. package/dist/services/mongoose/printer.service.js.map +1 -1
  246. package/dist/services/mongoose/refresh-token.service.js +5 -8
  247. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  248. package/dist/services/mongoose/role.service.js +14 -5
  249. package/dist/services/mongoose/role.service.js.map +1 -1
  250. package/dist/services/mongoose/settings.service.js +35 -62
  251. package/dist/services/mongoose/settings.service.js.map +1 -1
  252. package/dist/services/mongoose/user.service.js +8 -7
  253. package/dist/services/mongoose/user.service.js.map +1 -1
  254. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  255. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  256. package/dist/services/moonraker/moonraker-websocket.adapter.js +109 -96
  257. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  258. package/dist/services/moonraker/moonraker.client.js +25 -16
  259. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  260. package/dist/services/moonraker.api.js +5 -7
  261. package/dist/services/moonraker.api.js.map +1 -1
  262. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  263. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  264. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  265. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  266. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  267. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  268. package/dist/services/octoprint/octoprint-api.routes.js +1 -38
  269. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  270. package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
  271. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  272. package/dist/services/octoprint/octoprint.client.js +19 -192
  273. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  274. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  275. package/dist/services/octoprint.api.js +10 -19
  276. package/dist/services/octoprint.api.js.map +1 -1
  277. package/dist/services/orm/base.service.js +11 -12
  278. package/dist/services/orm/base.service.js.map +1 -1
  279. package/dist/services/orm/camera-stream.service.js +5 -1
  280. package/dist/services/orm/camera-stream.service.js.map +1 -1
  281. package/dist/services/orm/custom-gcode.service.js +2 -2
  282. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  283. package/dist/services/orm/floor-position.service.js +0 -5
  284. package/dist/services/orm/floor-position.service.js.map +1 -1
  285. package/dist/services/orm/floor.service.js +43 -39
  286. package/dist/services/orm/floor.service.js.map +1 -1
  287. package/dist/services/orm/permission.service.js +3 -4
  288. package/dist/services/orm/permission.service.js.map +1 -1
  289. package/dist/services/orm/print-completion.service.js +2 -4
  290. package/dist/services/orm/print-completion.service.js.map +1 -1
  291. package/dist/services/orm/printer-group.service.js +2 -7
  292. package/dist/services/orm/printer-group.service.js.map +1 -1
  293. package/dist/services/orm/printer.service.js +21 -36
  294. package/dist/services/orm/printer.service.js.map +1 -1
  295. package/dist/services/orm/refresh-token.service.js +5 -11
  296. package/dist/services/orm/refresh-token.service.js.map +1 -1
  297. package/dist/services/orm/role.service.js +11 -10
  298. package/dist/services/orm/role.service.js.map +1 -1
  299. package/dist/services/orm/settings.service.js +37 -133
  300. package/dist/services/orm/settings.service.js.map +1 -1
  301. package/dist/services/orm/user.service.js +13 -15
  302. package/dist/services/orm/user.service.js.map +1 -1
  303. package/dist/services/printer-api.factory.js +9 -6
  304. package/dist/services/printer-api.factory.js.map +1 -1
  305. package/dist/services/printer-api.interface.js +13 -6
  306. package/dist/services/printer-api.interface.js.map +1 -1
  307. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  308. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  309. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  310. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  311. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  312. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  313. package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
  314. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  315. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  316. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  317. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  318. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  319. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  320. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  321. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  322. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  323. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  324. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  325. package/dist/services/prusa-link/prusa-link.api.js +235 -0
  326. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  327. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  328. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  329. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  330. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  331. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  332. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  333. package/dist/services/socket.factory.js +9 -6
  334. package/dist/services/socket.factory.js.map +1 -1
  335. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  336. package/dist/services/task-manager.service.js.map +1 -0
  337. package/dist/services/validators/camera-service.validation.js +19 -0
  338. package/dist/services/validators/camera-service.validation.js.map +1 -0
  339. package/dist/services/validators/floor-service.validation.js +47 -36
  340. package/dist/services/validators/floor-service.validation.js.map +1 -1
  341. package/dist/services/validators/print-completion-service.validation.js +22 -9
  342. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  343. package/dist/services/validators/printer-service.validation.js +112 -29
  344. package/dist/services/validators/printer-service.validation.js.map +1 -1
  345. package/dist/services/validators/settings-service.validation.js +79 -66
  346. package/dist/services/validators/settings-service.validation.js.map +1 -1
  347. package/dist/services/validators/user-service.validation.js +17 -16
  348. package/dist/services/validators/user-service.validation.js.map +1 -1
  349. package/dist/services/validators/yaml-service.validation.js +94 -51
  350. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  351. package/dist/shared/default-http-client.builder.js.map +1 -1
  352. package/dist/shared/load-controllers.js +20 -0
  353. package/dist/shared/load-controllers.js.map +1 -0
  354. package/dist/shared/runtime-settings.migration.js +53 -0
  355. package/dist/shared/runtime-settings.migration.js.map +1 -0
  356. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  357. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  358. package/dist/shared/websocket.adapter.js +4 -5
  359. package/dist/shared/websocket.adapter.js.map +1 -1
  360. package/dist/state/file-upload-tracker.cache.js +5 -4
  361. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  362. package/dist/state/file.cache.js +1 -1
  363. package/dist/state/file.cache.js.map +1 -1
  364. package/dist/state/floor.store.js +6 -6
  365. package/dist/state/floor.store.js.map +1 -1
  366. package/dist/state/printer-events.cache.js +21 -22
  367. package/dist/state/printer-events.cache.js.map +1 -1
  368. package/dist/state/printer-files.store.js +6 -8
  369. package/dist/state/printer-files.store.js.map +1 -1
  370. package/dist/state/printer-socket.store.js +27 -50
  371. package/dist/state/printer-socket.store.js.map +1 -1
  372. package/dist/state/printer-thumbnail.cache.js +5 -9
  373. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  374. package/dist/state/printer.cache.js +14 -12
  375. package/dist/state/printer.cache.js.map +1 -1
  376. package/dist/state/settings.store.js +74 -50
  377. package/dist/state/settings.store.js.map +1 -1
  378. package/dist/state/socket-io.gateway.js +39 -36
  379. package/dist/state/socket-io.gateway.js.map +1 -1
  380. package/dist/state/test-printer-socket.store.js +20 -15
  381. package/dist/state/test-printer-socket.store.js.map +1 -1
  382. package/dist/state/validation/create-test-printer.validation.js +13 -11
  383. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  384. package/dist/task.presets.js.map +1 -1
  385. package/dist/tasks/boot.task.js +14 -19
  386. package/dist/tasks/boot.task.js.map +1 -1
  387. package/dist/tasks/client-bundle.task.js +1 -3
  388. package/dist/tasks/client-bundle.task.js.map +1 -1
  389. package/dist/tasks/print-completion.socketio.task.js +27 -28
  390. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  391. package/dist/tasks/printer-file-clean.task.js +6 -10
  392. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  393. package/dist/tasks/printer-websocket-restore.task.js +3 -14
  394. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  395. package/dist/tasks/printer-websocket.task.js +2 -14
  396. package/dist/tasks/printer-websocket.task.js.map +1 -1
  397. package/dist/tasks/socketio.task.js +6 -33
  398. package/dist/tasks/socketio.task.js.map +1 -1
  399. package/dist/tasks/software-update.task.js +1 -1
  400. package/dist/tasks/software-update.task.js.map +1 -1
  401. package/dist/tasks.js +3 -3
  402. package/dist/tasks.js.map +1 -1
  403. package/dist/utils/array.util.js.map +1 -1
  404. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  405. package/dist/utils/env.utils.js +0 -2
  406. package/dist/utils/env.utils.js.map +1 -1
  407. package/dist/utils/normalize-url.js +3 -2
  408. package/dist/utils/normalize-url.js.map +1 -1
  409. package/dist/utils/printer-type.utils.js.map +1 -1
  410. package/dist/utils/time.utils.js +7 -17
  411. package/dist/utils/time.utils.js.map +1 -1
  412. package/dist/utils/url.utils.js +3 -4
  413. package/dist/utils/url.utils.js.map +1 -1
  414. package/package.json +46 -48
  415. package/tsconfig.json +2 -1
  416. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  417. package/dist/consoles/check-ports.js +0 -170
  418. package/dist/consoles/check-ports.js.map +0 -1
  419. package/dist/consoles/http-file-receiver.console.js +0 -81
  420. package/dist/consoles/http-file-receiver.console.js.map +0 -1
  421. package/dist/consoles/sqlite-torm.js +0 -31
  422. package/dist/consoles/sqlite-torm.js.map +0 -1
  423. package/dist/consoles/upload-test.js +0 -52
  424. package/dist/consoles/upload-test.js.map +0 -1
  425. package/dist/controllers/plugin-firmware-update.controller.js +0 -234
  426. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  427. package/dist/entities/base.entity.js +0 -29
  428. package/dist/entities/base.entity.js.map +0 -1
  429. package/dist/entities/printer-file.entity.js +0 -140
  430. package/dist/entities/printer-file.entity.js.map +0 -1
  431. package/dist/handlers/cache-manager.js +0 -18
  432. package/dist/handlers/cache-manager.js.map +0 -1
  433. package/dist/models/PrinterFile.js +0 -44
  434. package/dist/models/PrinterFile.js.map +0 -1
  435. package/dist/services/core/task-manager.service.js.map +0 -1
  436. package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
  437. package/dist/services/octoprint/plugin-base.service.js +0 -101
  438. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  439. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  440. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  441. package/dist/services/octoprint/plugin-repository.cache.js +0 -46
  442. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  443. package/dist/utils/benchmark.util.js +0 -39
  444. package/dist/utils/benchmark.util.js.map +0 -1
  445. package/dist/utils/is-docker.js +0 -40
  446. package/dist/utils/is-docker.js.map +0 -1
  447. package/dist/utils/metric.utils.js +0 -35
  448. package/dist/utils/metric.utils.js.map +0 -1
@@ -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"}
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "LoggerFactory", {
10
10
  });
11
11
  const _logger = require("./logger");
12
12
  function LoggerFactory() {
13
- return (name, logToFile, logLevel)=>{
14
- return new _logger.LoggerService(name, logToFile, logLevel);
13
+ return (name)=>{
14
+ return new _logger.LoggerService(name);
15
15
  };
16
16
  }
17
17
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/handlers/logger-factory.ts"],"names":["LoggerFactory","name","logToFile","logLevel","LoggerService"],"mappings":";;;;+BAIgBA;;;eAAAA;;;wBAJc;AAIvB,SAASA;IACd,OAAO,CAACC,MAAcC,WAAqBC;QACzC,OAAO,IAAIC,qBAAa,CAACH,MAAMC,WAAWC;IAC5C;AACF"}
1
+ {"version":3,"sources":["../../src/handlers/logger-factory.ts"],"names":["LoggerFactory","name","LoggerService"],"mappings":";;;;+BAIgBA;;;eAAAA;;;wBAJc;AAIvB,SAASA;IACd,OAAO,CAACC;QACN,OAAO,IAAIC,qBAAa,CAACD;IAC3B;AACF"}
@@ -8,77 +8,30 @@ Object.defineProperty(exports, "LoggerService", {
8
8
  return LoggerService;
9
9
  }
10
10
  });
11
- const _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
12
- const _path = require("path");
13
- const _luxon = require("luxon");
14
- const _serverconstants = require("../server.constants");
15
- const _fsutils = require("../utils/fs.utils");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
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());
28
- };
11
+ const _staticlogger = require("./logging/static.logger");
29
12
  class LoggerService {
30
13
  name;
31
14
  logger;
32
- constructor(name, enableFileLogs = true, logFilterLevel = ""){
33
- const isProd = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultProductionEnv;
34
- const isTest = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
35
- if (!logFilterLevel) {
36
- logFilterLevel = isProd || isTest ? "warn" : "info";
37
- }
38
- const date = _luxon.DateTime.now().toISODate();
15
+ constructor(name){
39
16
  this.name = name;
40
- this.logger = _winston.default.createLogger({
41
- transports: [
42
- 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
- ] : []
53
- ],
54
- 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;
59
- return message;
60
- })
17
+ this.logger = (0, _staticlogger.getStaticLogger)().child({
18
+ [_staticlogger.logContextClassProperty]: this.name
61
19
  });
62
20
  }
21
+ newDebug(object) {
22
+ this.logger.debug(object);
23
+ }
63
24
  log(message, meta) {
64
- this.logger.log("info", message, {
65
- meta
66
- });
25
+ this.logger.log("info", message, meta);
67
26
  }
68
27
  warn(message, meta) {
69
- this.logger.log("warn", message, {
70
- meta
71
- });
28
+ this.logger.log("warn", message, meta);
72
29
  }
73
30
  debug(message, meta) {
74
- this.logger.log("debug", message, {
75
- meta
76
- });
31
+ this.logger.log("debug", message, meta);
77
32
  }
78
33
  error(message, meta) {
79
- this.logger.log("error", message, {
80
- meta
81
- });
34
+ this.logger.log("error", message, meta);
82
35
  }
83
36
  }
84
37
 
@@ -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","logger","constructor","name","getStaticLogger","child","logContextClassProperty","newDebug","object","debug","log","message","meta","warn","error"],"mappings":";;;;+BAGaA;;;eAAAA;;;8BAF4C;AAElD,MAAMA;;IACXC,OAAuB;IAEvBC,YAAY,AAAiBC,IAAY,CAAE;aAAdA,OAAAA;QAC3B,IAAI,CAACF,MAAM,GAAGG,IAAAA,6BAAe,IAAGC,KAAK,CAAC;YAAE,CAACC,qCAAuB,CAAC,EAAE,IAAI,CAACH,IAAI;QAAC;IAC/E;IAEAI,SAASC,MAAW,EAAE;QACpB,IAAI,CAACP,MAAM,CAACQ,KAAK,CAACD;IACpB;IAEAE,IAAIC,OAAe,EAAEC,IAAU,EAAE;QAC/B,IAAI,CAACX,MAAM,CAACS,GAAG,CAAC,QAAQC,SAASC;IACnC;IAEAC,KAAKF,OAAe,EAAEC,IAAU,EAAE;QAChC,IAAI,CAACX,MAAM,CAACS,GAAG,CAAC,QAAQC,SAASC;IACnC;IAEAH,MAAME,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACX,MAAM,CAACS,GAAG,CAAC,SAASC,SAASC;IACpC;IAEAE,MAAMH,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACX,MAAM,CAACS,GAAG,CAAC,SAASC,SAASC;IACpC;AACF"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createFileLoggingTransport", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createFileLoggingTransport;
9
+ }
10
+ });
11
+ const _luxon = require("luxon");
12
+ const _path = require("path");
13
+ const _fsutils = require("../../utils/fs.utils");
14
+ const _serverconstants = require("../../server.constants");
15
+ const _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ function createFileLoggingTransport(options) {
22
+ if (!options.enabled) {
23
+ return;
24
+ }
25
+ const date = _luxon.DateTime.now().toISODate();
26
+ const logFilePath = (0, _path.join)((0, _fsutils.superRootPath)(), _serverconstants.AppConstants.defaultLogsFolder, `${_serverconstants.AppConstants.logAppName}-${date}.log`);
27
+ return new _winston.default.transports.File({
28
+ level: options.isTest ? "warn" : "info",
29
+ filename: logFilePath,
30
+ maxsize: 5000000,
31
+ maxFiles: 5
32
+ });
33
+ }
34
+
35
+ //# sourceMappingURL=file-logging.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/handlers/logging/file-logging.transport.ts"],"names":["createFileLoggingTransport","options","enabled","date","DateTime","now","toISODate","logFilePath","join","superRootPath","AppConstants","defaultLogsFolder","logAppName","winston","transports","File","level","isTest","filename","maxsize","maxFiles"],"mappings":";;;;+BAWgBA;;;eAAAA;;;uBAXS;sBACJ;yBACS;iCACD;gEACT;;;;;;AAOb,SAASA,2BAA2BC,OAA0B;IACnE,IAAI,CAACA,QAAQC,OAAO,EAAE;QACpB;IACF;IAEA,MAAMC,OAAOC,eAAQ,CAACC,GAAG,GAAGC,SAAS;IACrC,MAAMC,cAAcC,IAAAA,UAAI,EACtBC,IAAAA,sBAAa,KACbC,6BAAY,CAACC,iBAAiB,EAC9B,GAAGD,6BAAY,CAACE,UAAU,CAAC,CAAC,EAAET,KAAK,IAAI,CAAC;IAG1C,OAAO,IAAIU,gBAAO,CAACC,UAAU,CAACC,IAAI,CAAC;QACjCC,OAAOf,QAAQgB,MAAM,GAAG,SAAS;QACjCC,UAAUX;QACVY,SAAS;QACTC,UAAU;IACZ;AACF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createLokiLoggingTransport", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createLokiLoggingTransport;
9
+ }
10
+ });
11
+ const _winstonloki = /*#__PURE__*/ _interop_require_default(require("winston-loki"));
12
+ const _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
13
+ const _nodeprocess = /*#__PURE__*/ _interop_require_default(require("node:process"));
14
+ const _serverconstants = require("../../server.constants");
15
+ const _zod = require("zod");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const lokiValidationSchema = _zod.z.object({
22
+ lokiEnabled: _zod.z.boolean(),
23
+ lokiAddress: _zod.z.string().url(),
24
+ lokiTimeoutSeconds: _zod.z.coerce.number().positive().default(30),
25
+ lokiInterval: _zod.z.coerce.number().positive().default(15)
26
+ });
27
+ function createLokiLoggingTransport(options) {
28
+ const lokiConfigValidationResult = lokiValidationSchema.safeParse({
29
+ lokiEnabled: _nodeprocess.default.env[_serverconstants.AppConstants.ENABLE_LOKI_LOGGING] === "true",
30
+ lokiTimeoutSeconds: _nodeprocess.default.env[_serverconstants.AppConstants.LOKI_TIMEOUT_SECONDS],
31
+ lokiAddress: _nodeprocess.default.env[_serverconstants.AppConstants.LOKI_ADDRESS],
32
+ lokiInterval: _nodeprocess.default.env[_serverconstants.AppConstants.LOKI_INTERVAL]
33
+ });
34
+ if (!lokiConfigValidationResult.success || !lokiConfigValidationResult.data.lokiEnabled) {
35
+ return;
36
+ }
37
+ return new _winstonloki.default({
38
+ level: options.logLevel ?? "info",
39
+ host: lokiConfigValidationResult.data.lokiAddress,
40
+ interval: lokiConfigValidationResult.data.lokiInterval,
41
+ timeout: lokiConfigValidationResult.data.lokiTimeoutSeconds,
42
+ handleExceptions: true,
43
+ onConnectionError (error) {
44
+ console.debug(`Loki logger enabled, but connection failed. ${error}`);
45
+ },
46
+ labels: {
47
+ app: "fdm-monster-server"
48
+ },
49
+ json: false,
50
+ useWinstonMetaAsLabels: false,
51
+ format: _winston.default.format.json()
52
+ });
53
+ }
54
+
55
+ //# sourceMappingURL=loki-logging.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/handlers/logging/loki-logging.transport.ts"],"names":["createLokiLoggingTransport","lokiValidationSchema","z","object","lokiEnabled","boolean","lokiAddress","string","url","lokiTimeoutSeconds","coerce","number","positive","default","lokiInterval","options","lokiConfigValidationResult","safeParse","process","env","AppConstants","ENABLE_LOKI_LOGGING","LOKI_TIMEOUT_SECONDS","LOKI_ADDRESS","LOKI_INTERVAL","success","data","LokiTransport","level","logLevel","host","interval","timeout","handleExceptions","onConnectionError","error","console","debug","labels","app","json","useWinstonMetaAsLabels","format","winston"],"mappings":";;;;+BAiBgBA;;;eAAAA;;;oEAjBU;gEACN;oEACA;iCACS;qBACX;;;;;;AAMlB,MAAMC,uBAAuBC,MAAC,CAACC,MAAM,CAAC;IACpCC,aAAaF,MAAC,CAACG,OAAO;IACtBC,aAAaJ,MAAC,CAACK,MAAM,GAAGC,GAAG;IAC3BC,oBAAoBP,MAAC,CAACQ,MAAM,CAACC,MAAM,GAAGC,QAAQ,GAAGC,OAAO,CAAC;IACzDC,cAAcZ,MAAC,CAACQ,MAAM,CAACC,MAAM,GAAGC,QAAQ,GAAGC,OAAO,CAAC;AACrD;AAEO,SAASb,2BAA2Be,OAA0B;IACnE,MAAMC,6BAA6Bf,qBAAqBgB,SAAS,CAAC;QAChEb,aAAac,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACC,mBAAmB,CAAC,KAAK;QAC/DZ,oBAAoBS,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACE,oBAAoB,CAAC;QAClEhB,aAAaY,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACG,YAAY,CAAC;QACnDT,cAAcI,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACI,aAAa,CAAC;IACvD;IAEA,IAAI,CAACR,2BAA2BS,OAAO,IAAI,CAACT,2BAA2BU,IAAI,CAACtB,WAAW,EAAE;QACvF;IACF;IAEA,OAAO,IAAIuB,oBAAa,CAAC;QACvBC,OAAOb,QAAQc,QAAQ,IAAI;QAC3BC,MAAMd,2BAA2BU,IAAI,CAACpB,WAAW;QACjDyB,UAAUf,2BAA2BU,IAAI,CAACZ,YAAY;QACtDkB,SAAShB,2BAA2BU,IAAI,CAACjB,kBAAkB;QAC3DwB,kBAAkB;QAClBC,mBAAkBC,KAAc;YAC9BC,QAAQC,KAAK,CAAC,CAAC,4CAA4C,EAAEF,OAAO;QACtE;QAEAG,QAAQ;YACNC,KAAK;QACP;QAEAC,MAAM;QAENC,wBAAwB;QAExBC,QAAQC,gBAAO,CAACD,MAAM,CAACF,IAAI;IAC7B;AACF"}
@@ -0,0 +1,134 @@
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
+ createStaticLogger: function() {
13
+ return createStaticLogger;
14
+ },
15
+ getStaticLogger: function() {
16
+ return getStaticLogger;
17
+ },
18
+ logContextClassProperty: function() {
19
+ return logContextClassProperty;
20
+ }
21
+ });
22
+ const _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
23
+ const _nodeprocess = /*#__PURE__*/ _interop_require_default(require("node:process"));
24
+ const _serverconstants = require("../../server.constants");
25
+ const _lokiloggingtransport = require("./loki-logging.transport");
26
+ const _fileloggingtransport = require("./file-logging.transport");
27
+ const _envutils = require("../../utils/env.utils");
28
+ function _interop_require_default(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ let staticLogger = null;
34
+ const levelMap = {
35
+ error: "ERR",
36
+ warn: "WRN",
37
+ info: "INF",
38
+ debug: "DBG",
39
+ http: "HTT",
40
+ verbose: "VRB",
41
+ silly: "SLY"
42
+ };
43
+ const logContextClassProperty = "class";
44
+ function getStaticLogger() {
45
+ if (!staticLogger) {
46
+ throw new Error("Logger not yet initialized.");
47
+ }
48
+ return staticLogger;
49
+ }
50
+ function createStaticLogger(config) {
51
+ if (staticLogger) {
52
+ return;
53
+ }
54
+ const isProd = _nodeprocess.default.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultProductionEnv;
55
+ const isTest = _nodeprocess.default.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
56
+ const effectiveLogLevel = isProd || isTest ? "warn" : "debug";
57
+ const lokiTransport = (0, _lokiloggingtransport.createLokiLoggingTransport)({
58
+ logLevel: effectiveLogLevel
59
+ });
60
+ const extraWinstonTransports = [];
61
+ if (lokiTransport) {
62
+ extraWinstonTransports.push(lokiTransport);
63
+ }
64
+ const fileLoggerTransport = (0, _fileloggingtransport.createFileLoggingTransport)({
65
+ enabled: config.enableFileLogs,
66
+ isTest
67
+ });
68
+ if (fileLoggerTransport) {
69
+ extraWinstonTransports.push(fileLoggerTransport);
70
+ }
71
+ staticLogger = _winston.default.createLogger({
72
+ transports: [
73
+ ...extraWinstonTransports,
74
+ new _winston.default.transports.Console({
75
+ level: effectiveLogLevel,
76
+ format: _winston.default.format.combine(...(0, _envutils.isDevelopmentEnvironment)() && _nodeprocess.default.env[_serverconstants.AppConstants.ENABLE_COLORED_LOGS_KEY] == "true" ? [
77
+ _winston.default.format((info)=>{
78
+ info.rawLevel = info.level;
79
+ return info;
80
+ })(),
81
+ _winston.default.format.colorize({
82
+ colors: {
83
+ error: "red",
84
+ warn: "yellow",
85
+ info: "white",
86
+ debug: "gray",
87
+ http: "magenta",
88
+ verbose: "cyan",
89
+ silly: "gray"
90
+ },
91
+ level: true,
92
+ message: true,
93
+ all: false
94
+ }),
95
+ _winston.default.format.printf((info)=>{
96
+ const now = new Date();
97
+ const timestamp = `${now.toISOString().split("T")[0]} ${now.toTimeString().split(" ")[0]}.${now.getMilliseconds().toString().padStart(3, "0")}`;
98
+ const levelAbbr = levelMap[info.rawLevel] ?? info.rawLevel.substring(0, 3).toUpperCase();
99
+ const gray = "\x1b[90m";
100
+ const reset = info.message.substring(0, 5) ?? "\x1b[0m";
101
+ const numberRegex = /\b\d+\b/g;
102
+ const coloredMessage = info.message.replace(numberRegex, (match)=>`\x1b[35m${match}${reset}`);
103
+ const serviceName = info[logContextClassProperty] ?? "unknown";
104
+ let logEntry = `${gray}[${timestamp} ${reset}${levelAbbr}${reset}${gray}]${reset} ${gray}[${reset}${serviceName}${gray}]${reset} ${coloredMessage}`;
105
+ if (info.meta) {
106
+ const metaString = JSON.stringify(info.meta);
107
+ const coloredMeta = metaString.replace(numberRegex, (match)=>`\x1b[35m${match}${reset}`);
108
+ logEntry += ` ${coloredMeta}`;
109
+ }
110
+ return logEntry;
111
+ })
112
+ ] : [])
113
+ })
114
+ ],
115
+ format: _winston.default.format.printf((info)=>{
116
+ const now = new Date();
117
+ const timestamp = `${now.toISOString().split("T")[0]} ${now.toTimeString().split(" ")[0]}.${now.getMilliseconds().toString().padStart(3, "0")}`;
118
+ const levelAbbr = levelMap[info.level] || `[${info.level.substring(0, 3).toUpperCase()}]`;
119
+ const serviceName = info[logContextClassProperty] ?? "unknown";
120
+ let message = `[${timestamp} ${levelAbbr}] [${serviceName}] ${info.message}`;
121
+ if (info.meta) {
122
+ const pascalCaseMeta = Object.entries(info.meta).reduce((acc, [key, value])=>{
123
+ const pascalKey = key.charAt(0).toUpperCase() + key.slice(1);
124
+ acc[pascalKey] = value;
125
+ return acc;
126
+ }, {});
127
+ message += ` ${JSON.stringify(pascalCaseMeta)}`;
128
+ }
129
+ return message;
130
+ })
131
+ });
132
+ }
133
+
134
+ //# sourceMappingURL=static.logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/handlers/logging/static.logger.ts"],"names":["createStaticLogger","getStaticLogger","logContextClassProperty","staticLogger","levelMap","error","warn","info","debug","http","verbose","silly","Error","config","isProd","process","env","AppConstants","NODE_ENV_KEY","defaultProductionEnv","isTest","defaultTestEnv","effectiveLogLevel","lokiTransport","createLokiLoggingTransport","logLevel","extraWinstonTransports","push","fileLoggerTransport","createFileLoggingTransport","enabled","enableFileLogs","winston","createLogger","transports","Console","level","format","combine","isDevelopmentEnvironment","ENABLE_COLORED_LOGS_KEY","rawLevel","colorize","colors","message","all","printf","now","Date","timestamp","toISOString","split","toTimeString","getMilliseconds","toString","padStart","levelAbbr","substring","toUpperCase","gray","reset","numberRegex","coloredMessage","replace","match","serviceName","logEntry","meta","metaString","JSON","stringify","coloredMeta","pascalCaseMeta","Object","entries","reduce","acc","key","value","pascalKey","charAt","slice"],"mappings":";;;;;;;;;;;IAiCgBA,kBAAkB;eAAlBA;;IARAC,eAAe;eAAfA;;IAFHC,uBAAuB;eAAvBA;;;gEAvBO;oEACA;iCACS;sCACc;sCACA;0BACF;;;;;;AAEzC,IAAIC,eAAsC;AAM1C,MAAMC,WAAmC;IACvCC,OAAO;IACPC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPC,MAAM;IACNC,SAAS;IACTC,OAAO;AACT;AAEO,MAAMT,0BAA0B;AAEhC,SAASD;IACd,IAAI,CAACE,cAAc;QACjB,MAAM,IAAIS,MAAM;IAClB;IAEA,OAAOT;AACT;AAEO,SAASH,mBAAmBa,MAA0B;IAC3D,IAAIV,cAAc;QAChB;IACF;IAEA,MAAMW,SAASC,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACE,oBAAoB;IAC3F,MAAMC,SAASL,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACI,cAAc;IAErF,MAAMC,oBAAoBR,UAAUM,SAAS,SAAS;IAEtD,MAAMG,gBAAgBC,IAAAA,gDAA0B,EAAC;QAC/CC,UAAUH;IACZ;IAEA,MAAMI,yBAA8C,EAAE;IACtD,IAAIH,eAAe;QACjBG,uBAAuBC,IAAI,CAACJ;IAC9B;IAEA,MAAMK,sBAAsBC,IAAAA,gDAA0B,EAAC;QACrDC,SAASjB,OAAOkB,cAAc;QAC9BX;IACF;IACA,IAAIQ,qBAAqB;QACvBF,uBAAuBC,IAAI,CAACC;IAC9B;IAEAzB,eAAe6B,gBAAO,CAACC,YAAY,CAAC;QAClCC,YAAY;eACPR;YAEH,IAAIM,gBAAO,CAACE,UAAU,CAACC,OAAO,CAAC;gBAC7BC,OAAOd;gBACPe,QAAQL,gBAAO,CAACK,MAAM,CAACC,OAAO,IACzB,AAACC,IAAAA,kCAAwB,OAAMxB,oBAAO,CAACC,GAAG,CAACC,6BAAY,CAACuB,uBAAuB,CAAC,IAAI,SAAU;oBAE/FR,gBAAO,CAACK,MAAM,CAAC,CAAC9B;wBACdA,KAAKkC,QAAQ,GAAGlC,KAAK6B,KAAK;wBAC1B,OAAO7B;oBACT;oBACAyB,gBAAO,CAACK,MAAM,CAACK,QAAQ,CAAC;wBACtBC,QAAQ;4BACNtC,OAAO;4BACPC,MAAM;4BACNC,MAAM;4BACNC,OAAO;4BACPC,MAAM;4BACNC,SAAS;4BACTC,OAAO;wBACT;wBACAyB,OAAO;wBACPQ,SAAS;wBACTC,KAAK;oBACP;oBACAb,gBAAO,CAACK,MAAM,CAACS,MAAM,CAAC,CAACvC;wBAErB,MAAMwC,MAAM,IAAIC;wBAChB,MAAMC,YAAY,GAAGF,IAAIG,WAAW,GAAGC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAEJ,IAAIK,YAAY,GAAGD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAEJ,IAAIM,eAAe,GAAGC,QAAQ,GAAGC,QAAQ,CAAC,GAAG,MAAM;wBAI/I,MAAMC,YAAYpD,QAAQ,CAACG,KAAKkC,QAAQ,CAAC,IAAIlC,KAAKkC,QAAQ,CAACgB,SAAS,CAAC,GAAG,GAAGC,WAAW;wBAGtF,MAAMC,OAAO;wBACb,MAAMC,QAAQ,AAACrD,KAAKqC,OAAO,CAAYa,SAAS,CAAC,GAAG,MAAM;wBAC1D,MAAMI,cAAc;wBAGpB,MAAMC,iBAAiB,AAACvD,KAAKqC,OAAO,CAAYmB,OAAO,CAACF,aAAaG,CAAAA,QAAS,CAAC,QAAQ,EAAEA,QAAQJ,OAAO;wBAExG,MAAMK,cAAc1D,IAAI,CAACL,wBAAwB,IAAI;wBAGrD,IAAIgE,WAAW,GAAGP,KAAK,CAAC,EAAEV,UAAU,CAAC,EAAEW,QAAQJ,YAAYI,QAAQD,KAAK,CAAC,EAAEC,MAAM,CAAC,EAAED,KAAK,CAAC,EAAEC,QAAQK,cAAcN,KAAK,CAAC,EAAEC,MAAM,CAAC,EAAEE,gBAAgB;wBAGnJ,IAAIvD,KAAK4D,IAAI,EAAE;4BAEb,MAAMC,aAAaC,KAAKC,SAAS,CAAC/D,KAAK4D,IAAI;4BAC3C,MAAMI,cAAcH,WAAWL,OAAO,CAACF,aAAaG,CAAAA,QAAS,CAAC,QAAQ,EAAEA,QAAQJ,OAAO;4BACvFM,YAAY,CAAC,CAAC,EAAEK,aAAa;wBAC/B;wBAEA,OAAOL;oBACT;iBAAG,GAAG,EAAE;YAEd;SACD;QACD7B,QAAQL,gBAAO,CAACK,MAAM,CAACS,MAAM,CAAC,CAACvC;YAE7B,MAAMwC,MAAM,IAAIC;YAChB,MAAMC,YAAY,GAAGF,IAAIG,WAAW,GAAGC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAEJ,IAAIK,YAAY,GAAGD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAEJ,IAAIM,eAAe,GAAGC,QAAQ,GAAGC,QAAQ,CAAC,GAAG,MAAM;YAE/I,MAAMC,YAAYpD,QAAQ,CAACG,KAAK6B,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE7B,KAAK6B,KAAK,CAACqB,SAAS,CAAC,GAAG,GAAGC,WAAW,GAAG,CAAC,CAAC;YAEzF,MAAMO,cAAc1D,IAAI,CAACL,wBAAwB,IAAI;YACrD,IAAI0C,UAAU,CAAC,CAAC,EAAEK,UAAU,CAAC,EAAEO,UAAU,GAAG,EAAES,YAAY,EAAE,EAAE1D,KAAKqC,OAAO,EAAE;YAG5E,IAAIrC,KAAK4D,IAAI,EAAE;gBAEb,MAAMK,iBAAiBC,OAAOC,OAAO,CAACnE,KAAK4D,IAAI,EAAEQ,MAAM,CAAC,CAACC,KAAK,CAACC,KAAKC,MAAM;oBACxE,MAAMC,YAAYF,IAAIG,MAAM,CAAC,GAAGtB,WAAW,KAAKmB,IAAII,KAAK,CAAC;oBAC1DL,GAAG,CAACG,UAAU,GAAGD;oBACjB,OAAOF;gBACT,GAAG,CAAC;gBAEJhC,WAAW,CAAC,CAAC,EAAEyB,KAAKC,SAAS,CAACE,iBAAiB;YACjD;YAEA,OAAO5B;QACT;IACF;AACF"}
@@ -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,118 +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
- const _urlutils = require("../utils/url.utils");
30
- function _getRequireWildcardCache(nodeInterop) {
31
- if (typeof WeakMap !== "function") return null;
32
- var cacheBabelInterop = new WeakMap();
33
- var cacheNodeInterop = new WeakMap();
34
- return (_getRequireWildcardCache = function(nodeInterop) {
35
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
36
- })(nodeInterop);
37
- }
38
- function _interop_require_wildcard(obj, nodeInterop) {
39
- if (!nodeInterop && obj && obj.__esModule) {
40
- return obj;
41
- }
42
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
43
- return {
44
- default: obj
45
- };
46
- }
47
- var cache = _getRequireWildcardCache(nodeInterop);
48
- if (cache && cache.has(obj)) {
49
- return cache.get(obj);
50
- }
51
- var newObj = {
52
- __proto__: null
53
- };
54
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
55
- for(var key in obj){
56
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
57
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
58
- if (desc && (desc.get || desc.set)) {
59
- Object.defineProperty(newObj, key, desc);
60
- } else {
61
- newObj[key] = obj[key];
62
- }
63
- }
64
- }
65
- newObj.default = obj;
66
- if (cache) {
67
- cache.set(obj, newObj);
68
- }
69
- return newObj;
70
- }
71
- function getExtendedValidator() {
72
- (0, _nodeinputvalidator.extend)("wsurl", ({ value, args }, validator)=>{
73
- if (!value) return false;
74
- try {
75
- const url = new URL((0, _normalizeurl.normalizeUrl)(value, {
76
- defaultProtocol: "wss"
77
- }));
78
- return url.protocol === "ws:" || url.protocol === "wss:";
79
- } catch (e) {
80
- return false;
81
- }
82
- });
83
- (0, _nodeinputvalidator.extend)("httpurl", ({ value, args }, validator)=>{
84
- if (!value) return false;
85
- try {
86
- const url = new URL((0, _normalizeurl.normalizeUrl)(value, {
87
- defaultProtocol: _urlutils.defaultHttpProtocol
88
- }));
89
- return url.protocol === "http:" || url.protocol === "https:";
90
- } catch (e) {
91
- return false;
92
- }
93
- });
94
- (0, _nodeinputvalidator.extend)("not", ({ value, args }, validator)=>{
95
- return !value && value !== false;
96
- });
97
- (0, _nodeinputvalidator.extendMessages)({
98
- not: "The :attribute field may not be present."
99
- });
100
- return _nodeinputvalidator.default;
101
- }
102
- function getScopedPrinter(req) {
103
- const tokens = [
104
- _printer.printerApiToken,
105
- _printer.printerLoginToken,
106
- _printer.currentPrinterToken,
107
- _printer.printerIdToken
108
- ];
109
- let resolvedDependencies = {};
110
- let errors = [];
111
- tokens.forEach((t)=>{
112
- try {
113
- const dependency = req.container.resolve(t);
114
- if (!dependency) {
115
- errors.push(`Scoped Dependency '${t}' was not resolved. Please ensure the route requires a :id param and the printerId was provided.`);
116
- }
117
- resolvedDependencies[t] = dependency;
118
- } catch (e) {
119
- throw new _runtimeexceptions.InternalServerException(`Dependency ${t} could not be resolved. Aborted request.`);
120
- }
121
- });
122
- if (errors.length > 0) {
123
- throw new _runtimeexceptions.ValidationException(errors);
124
- }
125
- return resolvedDependencies;
126
- }
127
- async function validateInput(data, rules) {
128
- const localNIV = getExtendedValidator();
129
- const v = new localNIV.Validator(data, rules);
130
- const matched = await v.check();
131
- if (!matched) {
132
- 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);
133
24
  }
134
- return v.inputs;
25
+ return result.data;
135
26
  }
136
- async function validateMiddleware(req, rules) {
137
- return validateInput(req.body, rules);
27
+ async function validateMiddleware(req, zodSchema) {
28
+ return validateInput(req.body, zodSchema);
138
29
  }
139
30
 
140
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","URL","normalizeUrl","defaultProtocol","protocol","e","defaultHttpProtocol","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":";;;;;;;;;;;IAWgBA,oBAAoB;eAApBA;;IAkCAC,gBAAgB;eAAhBA;;IAiCMC,aAAa;eAAbA;;IAeAC,kBAAkB;eAAlBA;;;mCA5FuC;yBAC2B;8BAC3D;4EAC8B;0BAKvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,SAASH;IACdI,IAAAA,0BAAM,EAAC,SAAS,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAA6B,EAAEC;QAC3D,IAAI,CAACF,OAAO,OAAO;QAEnB,IAAI;YACF,MAAMG,MAAM,IAAIC,IAAIC,IAAAA,0BAAY,EAACL,OAAO;gBAAEM,iBAAiB;YAAM;YACjE,OAAOH,IAAII,QAAQ,KAAK,SAASJ,IAAII,QAAQ,KAAK;QACpD,EAAE,OAAOC,GAAG;YACV,OAAO;QACT;IACF;IAEAT,IAAAA,0BAAM,EAAC,WAAW,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAA6B,EAAEC;QAC7D,IAAI,CAACF,OAAO,OAAO;QAEnB,IAAI;YACF,MAAMG,MAAM,IAAIC,IAAIC,IAAAA,0BAAY,EAACL,OAAO;gBAAEM,iBAAiBG,6BAAmB;YAAC;YAC/E,OAAON,IAAII,QAAQ,KAAK,WAAWJ,IAAII,QAAQ,KAAK;QACtD,EAAE,OAAOC,GAAG;YACV,OAAO;QACT;IACF;IAEAT,IAAAA,0BAAM,EAAC,OAAO,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAA6B,EAAEC;QACzD,OAAO,CAACF,SAASA,UAAU;IAC7B;IAEAU,IAAAA,kCAAc,EAAC;QACbC,KAAK;IACP;IAEA,OAAOC,2BAAkB;AAC3B;AAEO,SAAShB,iBAAiBiB,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,eAAetB,cAAiBiC,IAAS,EAAEC,KAAQ;IACxD,MAAMC,WAAWrC;IAEjB,MAAMsC,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,eAAevC,mBAAsBe,GAAY,EAAEkB,KAAQ;IAChE,OAAOlC,cAAcgB,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 CHANGED
@@ -6,6 +6,19 @@ const _node = require("@sentry/node");
6
6
  const _serverenv = require("./server.env");
7
7
  const _servercore = require("./server.core");
8
8
  const _containertokens = require("./container.tokens");
9
+ const _dotenv = require("dotenv");
10
+ const _logger = require("./handlers/logger");
11
+ const _path = require("path");
12
+ const _fsutils = require("./utils/fs.utils");
13
+ const _staticlogger = require("./handlers/logging/static.logger");
14
+ (0, _dotenv.config)({
15
+ path: (0, _path.join)((0, _fsutils.superRootPath)(), "./.env")
16
+ });
17
+ (0, _staticlogger.createStaticLogger)({
18
+ enableFileLogs: true
19
+ });
20
+ const logger = new _logger.LoggerService("FDM-Environment");
21
+ logger.log("✓ Parsed environment with (optional) .env file, created static logger");
9
22
  (0, _serverenv.setupEnvConfig)();
10
23
  (0, _servercore.setupServer)().then(({ httpServer, container })=>{
11
24
  container.resolve(_containertokens.DITokens.serverHost).boot(httpServer).catch(async (e)=>{
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":["config","path","join","superRootPath","createStaticLogger","enableFileLogs","logger","Logger","log","setupEnvConfig","setupServer","then","httpServer","container","resolve","DITokens","serverHost","boot","catch","e","console","error","captureException","flush","process","exit"],"mappings":";;;;sBAAwC;2BACT;4BACH;iCACH;wBAEF;wBACiB;sBACnB;yBACS;8BACK;AAEnCA,IAAAA,cAAM,EAAC;IAAEC,MAAMC,IAAAA,UAAI,EAACC,IAAAA,sBAAa,KAAI;AAAU;AAC/CC,IAAAA,gCAAkB,EAAC;IAAEC,gBAAgB;AAAK;AAE1C,MAAMC,SAAS,IAAIC,qBAAM,CAAC;AAC1BD,OAAOE,GAAG,CAAC;AAEXC,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"}