@fdm-monster/server 1.9.0-rc1 → 1.9.1

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 (251) hide show
  1. package/.env.template +1 -1
  2. package/.yarn/install-state.gz +0 -0
  3. package/.yarn/releases/yarn-4.10.3.cjs +942 -0
  4. package/.yarnrc.yml +1 -1
  5. package/README.md +2 -2
  6. package/RELEASE_NOTES.MD +25 -0
  7. package/dist/consoles/utils/api-messages.js +5 -5
  8. package/dist/consoles/utils/api-messages.js.map +1 -1
  9. package/dist/constants/authorization.constants.js +9 -9
  10. package/dist/constants/authorization.constants.js.map +1 -1
  11. package/dist/constants/event.constants.js +8 -8
  12. package/dist/constants/event.constants.js.map +1 -1
  13. package/dist/constants/server-settings.constants.js +16 -15
  14. package/dist/constants/server-settings.constants.js.map +1 -1
  15. package/dist/constants/service.constants.js +4 -4
  16. package/dist/constants/service.constants.js.map +1 -1
  17. package/dist/container.js +3 -3
  18. package/dist/container.js.map +1 -1
  19. package/dist/controllers/auth.controller.js.map +1 -1
  20. package/dist/controllers/batch-call.controller.js.map +1 -1
  21. package/dist/controllers/camera-stream.controller.js.map +1 -1
  22. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  23. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  24. package/dist/controllers/floor.controller.js.map +1 -1
  25. package/dist/controllers/metrics.controller.js.map +1 -1
  26. package/dist/controllers/print-completion.controller.js.map +1 -1
  27. package/dist/controllers/printer-files.controller.js +3 -1
  28. package/dist/controllers/printer-files.controller.js.map +1 -1
  29. package/dist/controllers/printer-group.controller.js.map +1 -1
  30. package/dist/controllers/printer-settings.controller.js.map +1 -1
  31. package/dist/controllers/printer.controller.js.map +1 -1
  32. package/dist/controllers/server-private.controller.js.map +1 -1
  33. package/dist/controllers/server-public.controller.js +8 -4
  34. package/dist/controllers/server-public.controller.js.map +1 -1
  35. package/dist/controllers/settings.controller.js.map +1 -1
  36. package/dist/controllers/user.controller.js.map +1 -1
  37. package/dist/controllers/validation/batch-controller.validation.js +4 -4
  38. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  39. package/dist/controllers/validation/generic.validation.js +3 -3
  40. package/dist/controllers/validation/generic.validation.js.map +1 -1
  41. package/dist/controllers/validation/printer-controller.validation.js +6 -6
  42. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  43. package/dist/controllers/validation/printer-files-controller.validation.js +13 -4
  44. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  45. package/dist/controllers/validation/setting.validation.js +4 -4
  46. package/dist/controllers/validation/setting.validation.js.map +1 -1
  47. package/dist/controllers/validation/user-controller.validation.js +8 -8
  48. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  49. package/dist/entities/index.js +12 -12
  50. package/dist/entities/index.js.map +1 -1
  51. package/dist/entities/settings.entity.js.map +1 -1
  52. package/dist/exceptions/failed-dependency.exception.js.map +1 -1
  53. package/dist/exceptions/job.exceptions.js.map +1 -1
  54. package/dist/exceptions/runtime.exceptions.js +10 -10
  55. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  56. package/dist/handlers/logger-factory.js +2 -2
  57. package/dist/handlers/logger-factory.js.map +1 -1
  58. package/dist/handlers/logger.js +9 -151
  59. package/dist/handlers/logger.js.map +1 -1
  60. package/dist/handlers/logging/file-logging.transport.js +35 -0
  61. package/dist/handlers/logging/file-logging.transport.js.map +1 -0
  62. package/dist/handlers/logging/loki-logging.transport.js +55 -0
  63. package/dist/handlers/logging/loki-logging.transport.js.map +1 -0
  64. package/dist/handlers/logging/static.logger.js +134 -0
  65. package/dist/handlers/logging/static.logger.js.map +1 -0
  66. package/dist/handlers/validators.js +3 -3
  67. package/dist/handlers/validators.js.map +1 -1
  68. package/dist/index.js +13 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/middleware/authenticate.js +4 -4
  71. package/dist/middleware/authenticate.js.map +1 -1
  72. package/dist/middleware/global.middleware.js +3 -3
  73. package/dist/middleware/global.middleware.js.map +1 -1
  74. package/dist/middleware/param-converter.middleware.js +5 -5
  75. package/dist/middleware/param-converter.middleware.js.map +1 -1
  76. package/dist/middleware/passport.js +4 -4
  77. package/dist/middleware/passport.js.map +1 -1
  78. package/dist/middleware/printer.js +6 -6
  79. package/dist/middleware/printer.js.map +1 -1
  80. package/dist/middleware/socketio.middleware.js +11 -3
  81. package/dist/middleware/socketio.middleware.js.map +1 -1
  82. package/dist/models/Printer.js +3 -3
  83. package/dist/models/Printer.js.map +1 -1
  84. package/dist/models/Settings.js +6 -1
  85. package/dist/models/Settings.js.map +1 -1
  86. package/dist/models/index.js +11 -11
  87. package/dist/models/index.js.map +1 -1
  88. package/dist/server.constants.js +2 -1
  89. package/dist/server.constants.js.map +1 -1
  90. package/dist/server.env.js +18 -19
  91. package/dist/server.env.js.map +1 -1
  92. package/dist/server.host.js.map +1 -1
  93. package/dist/services/authentication/auth.service.js +1 -2
  94. package/dist/services/authentication/auth.service.js.map +1 -1
  95. package/dist/services/authentication/jwt.service.js.map +1 -1
  96. package/dist/services/core/batch-call.service.js.map +1 -1
  97. package/dist/services/core/client-bundle.service.js +4 -8
  98. package/dist/services/core/client-bundle.service.js.map +1 -1
  99. package/dist/services/core/cradle.service.js.map +1 -1
  100. package/dist/services/core/github.service.js +1 -1
  101. package/dist/services/core/github.service.js.map +1 -1
  102. package/dist/services/core/http-client.factory.js.map +1 -1
  103. package/dist/services/core/logs-manager.service.js.map +1 -1
  104. package/dist/services/core/monsterpi.service.js.map +1 -1
  105. package/dist/services/core/multer.service.js +6 -7
  106. package/dist/services/core/multer.service.js.map +1 -1
  107. package/dist/services/core/server-release.service.js +6 -12
  108. package/dist/services/core/server-release.service.js.map +1 -1
  109. package/dist/services/core/yaml.service.js.map +1 -1
  110. package/dist/services/interfaces/camera-stream.dto.js +4 -4
  111. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  112. package/dist/services/interfaces/floor.dto.js +6 -6
  113. package/dist/services/interfaces/floor.dto.js.map +1 -1
  114. package/dist/services/interfaces/print-completion.dto.js +3 -3
  115. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  116. package/dist/services/interfaces/printer-group.dto.js +3 -3
  117. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  118. package/dist/services/interfaces/printer.dto.js +3 -3
  119. package/dist/services/interfaces/printer.dto.js.map +1 -1
  120. package/dist/services/interfaces/user.dto.js +3 -3
  121. package/dist/services/interfaces/user.dto.js.map +1 -1
  122. package/dist/services/mongoose/camera-stream.service.js +1 -2
  123. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  124. package/dist/services/mongoose/floor.service.js.map +1 -1
  125. package/dist/services/mongoose/permission.service.js.map +1 -1
  126. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  127. package/dist/services/mongoose/printer.service.js.map +1 -1
  128. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  129. package/dist/services/mongoose/role.service.js +1 -2
  130. package/dist/services/mongoose/role.service.js.map +1 -1
  131. package/dist/services/mongoose/user.service.js.map +1 -1
  132. package/dist/services/moonraker/constants/moonraker-event.dto.js +3 -3
  133. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  134. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +3 -3
  135. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
  136. package/dist/services/moonraker/dto/objects/print-stats.dto.js +3 -3
  137. package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
  138. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +3 -3
  139. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
  140. package/dist/services/moonraker/dto/printer-info.dto.js +3 -3
  141. package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
  142. package/dist/services/moonraker/dto/server-history/job.dto.js +3 -3
  143. package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
  144. package/dist/services/moonraker/dto/websocket/methods.js +3 -3
  145. package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
  146. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +3 -3
  147. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
  148. package/dist/services/moonraker/moonraker-websocket.adapter.js +23 -18
  149. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  150. package/dist/services/moonraker/moonraker.client.js +8 -4
  151. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  152. package/dist/services/moonraker.api.js +2 -2
  153. package/dist/services/moonraker.api.js.map +1 -1
  154. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -7
  155. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  156. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +3 -3
  157. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  158. package/dist/services/octoprint/dto/octoprint-event.dto.js +4 -4
  159. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  160. package/dist/services/octoprint/octoprint-api.routes.js +1 -1
  161. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  162. package/dist/services/octoprint/octoprint-websocket.adapter.js +17 -17
  163. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  164. package/dist/services/octoprint/octoprint.client.js +9 -9
  165. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  166. package/dist/services/octoprint/utils/api.utils.js +3 -3
  167. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  168. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  169. package/dist/services/octoprint.api.js +2 -5
  170. package/dist/services/octoprint.api.js.map +1 -1
  171. package/dist/services/orm/base.service.js.map +1 -1
  172. package/dist/services/orm/floor.service.js.map +1 -1
  173. package/dist/services/orm/permission.service.js.map +1 -1
  174. package/dist/services/orm/print-completion.service.js.map +1 -1
  175. package/dist/services/orm/printer-group.service.js.map +1 -1
  176. package/dist/services/orm/printer.service.js.map +1 -1
  177. package/dist/services/orm/refresh-token.service.js.map +1 -1
  178. package/dist/services/orm/role.service.js +2 -2
  179. package/dist/services/orm/role.service.js.map +1 -1
  180. package/dist/services/orm/user.service.js.map +1 -1
  181. package/dist/services/printer-api.factory.js.map +1 -1
  182. package/dist/services/printer-api.interface.js +6 -6
  183. package/dist/services/printer-api.interface.js.map +1 -1
  184. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +2 -4
  185. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  186. package/dist/services/prusa-link/prusa-link.api.js +7 -6
  187. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  188. package/dist/services/socket.factory.js.map +1 -1
  189. package/dist/services/task-manager.service.js +1 -2
  190. package/dist/services/task-manager.service.js.map +1 -1
  191. package/dist/services/validators/floor-service.validation.js +10 -10
  192. package/dist/services/validators/floor-service.validation.js.map +1 -1
  193. package/dist/services/validators/printer-service.validation.js +14 -14
  194. package/dist/services/validators/printer-service.validation.js.map +1 -1
  195. package/dist/services/validators/settings-service.validation.js +15 -14
  196. package/dist/services/validators/settings-service.validation.js.map +1 -1
  197. package/dist/services/validators/user-service.validation.js +3 -3
  198. package/dist/services/validators/user-service.validation.js.map +1 -1
  199. package/dist/services/validators/yaml-service.validation.js +6 -6
  200. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  201. package/dist/shared/default-http-client.builder.js.map +1 -1
  202. package/dist/shared/runtime-settings.migration.js +7 -0
  203. package/dist/shared/runtime-settings.migration.js.map +1 -1
  204. package/dist/shared/websocket.adapter.js.map +1 -1
  205. package/dist/state/file-upload-tracker.cache.js +1 -2
  206. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  207. package/dist/state/file.cache.js.map +1 -1
  208. package/dist/state/floor.store.js.map +1 -1
  209. package/dist/state/printer-events.cache.js.map +1 -1
  210. package/dist/state/printer-files.store.js.map +1 -1
  211. package/dist/state/printer-socket.store.js +1 -2
  212. package/dist/state/printer-socket.store.js.map +1 -1
  213. package/dist/state/printer-thumbnail.cache.js +3 -3
  214. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  215. package/dist/state/printer.cache.js.map +1 -1
  216. package/dist/state/settings.store.js +1 -2
  217. package/dist/state/settings.store.js.map +1 -1
  218. package/dist/state/socket-io.gateway.js +4 -4
  219. package/dist/state/socket-io.gateway.js.map +1 -1
  220. package/dist/state/test-printer-socket.store.js.map +1 -1
  221. package/dist/tasks/boot.task.js.map +1 -1
  222. package/dist/tasks/client-bundle.task.js.map +1 -1
  223. package/dist/tasks/print-completion.socketio.task.js +1 -2
  224. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  225. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  226. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  227. package/dist/tasks/printer-websocket.task.js.map +1 -1
  228. package/dist/tasks/socketio.task.js.map +1 -1
  229. package/dist/tasks/software-update.task.js.map +1 -1
  230. package/dist/tasks.js +3 -3
  231. package/dist/tasks.js.map +1 -1
  232. package/dist/utils/array.util.js +3 -3
  233. package/dist/utils/array.util.js.map +1 -1
  234. package/dist/utils/crypto.utils.js +3 -3
  235. package/dist/utils/crypto.utils.js.map +1 -1
  236. package/dist/utils/env.utils.js +6 -6
  237. package/dist/utils/env.utils.js.map +1 -1
  238. package/dist/utils/fs.utils.js +4 -4
  239. package/dist/utils/fs.utils.js.map +1 -1
  240. package/dist/utils/gcode.utils.js +3 -3
  241. package/dist/utils/gcode.utils.js.map +1 -1
  242. package/dist/utils/pretty-print.utils.js +3 -3
  243. package/dist/utils/pretty-print.utils.js.map +1 -1
  244. package/dist/utils/printer-type.utils.js +4 -4
  245. package/dist/utils/printer-type.utils.js.map +1 -1
  246. package/dist/utils/semver.utils.js +3 -3
  247. package/dist/utils/semver.utils.js.map +1 -1
  248. package/dist/utils/url.utils.js +3 -3
  249. package/dist/utils/url.utils.js.map +1 -1
  250. package/package.json +34 -33
  251. package/.yarn/releases/yarn-4.9.1.cjs +0 -948
@@ -5,35 +5,35 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- AuthenticationError: function() {
12
+ get AuthenticationError () {
13
13
  return AuthenticationError;
14
14
  },
15
- AuthorizationError: function() {
15
+ get AuthorizationError () {
16
16
  return AuthorizationError;
17
17
  },
18
- BadRequestException: function() {
18
+ get BadRequestException () {
19
19
  return BadRequestException;
20
20
  },
21
- ExternalServiceError: function() {
21
+ get ExternalServiceError () {
22
22
  return ExternalServiceError;
23
23
  },
24
- ForbiddenError: function() {
24
+ get ForbiddenError () {
25
25
  return ForbiddenError;
26
26
  },
27
- InternalServerException: function() {
27
+ get InternalServerException () {
28
28
  return InternalServerException;
29
29
  },
30
- NotFoundException: function() {
30
+ get NotFoundException () {
31
31
  return NotFoundException;
32
32
  },
33
- NotImplementedException: function() {
33
+ get NotImplementedException () {
34
34
  return NotImplementedException;
35
35
  },
36
- ValidationException: function() {
36
+ get ValidationException () {
37
37
  return ValidationException;
38
38
  }
39
39
  });
@@ -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;;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"}
1
+ {"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ExternalServiceError","ForbiddenError","InternalServerException","NotFoundException","NotImplementedException","ValidationException","Error","message","name","reasonCode","error","permissions","roles","reason","path","errors","validationObject","JSON","stringify","serviceType","responseObject","stack"],"mappings":";;;;;;;;;;;QAOaA;eAAAA;;QAiBAC;eAAAA;;QAcAC;eAAAA;;QA2BAC;eAAAA;;QAhDAC;eAAAA;;QA4DAC;eAAAA;;QAhCAC;eAAAA;;QA7CAC;eAAAA;;QAuDAC;eAAAA;;;AAvDN,MAAMD,gCAAgCE;IAC3C,YAAYC,OAAgB,CAAE;QAC5B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGJ,wBAAwBI,IAAI;IAC1C;AACF;AAEO,MAAMX,4BAA4BS;IACvCG,WAAmB;IAEnB,YAAYC,KAAc,EAAED,aAAa,EAAE,CAAE;QAC3C,KAAK,CAACC;QACN,IAAI,CAACF,IAAI,GAAGX,oBAAoBW,IAAI;QACpC,IAAI,CAACC,UAAU,GAAGA;IACpB;AACF;AAEO,MAAMR,uBAAuBK;IAClC,YAAYI,KAAc,CAAE;QAC1B,KAAK,CAACA;QACN,IAAI,CAACF,IAAI,GAAGP,eAAeO,IAAI;IACjC;AACF;AAEO,MAAMV,2BAA2BQ;IACtCK,cAAyB,EAAE,CAAC;IAC5BC,QAAmB,EAAE,CAAC;IACtBC,OAAgB;IAEhB,YAAY,EAAEF,WAAW,EAAEC,KAAK,EAAEC,MAAM,EAAiE,CAAE;QACzG,KAAK,CAAC;QACN,IAAI,CAACL,IAAI,GAAGV,mBAAmBU,IAAI;QACnC,IAAI,CAACK,MAAM,GAAGA;QACd,IAAI,CAACF,WAAW,GAAGA;QACnB,IAAI,CAACC,KAAK,GAAGA;IACf;AACF;AAEO,MAAMb,4BAA4BO;IACvC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGT,oBAAoBS,IAAI;IACtC;AACF;AAEO,MAAML,0BAA0BG;IACrCQ,KAAc;IAEd,YAAYP,OAAe,EAAEO,IAAa,CAAE;QAC1C,KAAK,CAACP;QACN,IAAI,CAACC,IAAI,GAAGL,kBAAkBK,IAAI;QAClC,IAAI,CAACM,IAAI,GAAGA;IACd;AACF;AAEO,MAAMT,4BAAqCC;IAChDS,OAAU;IAEV,YAAYC,gBAAmB,CAAE;QAC/B,KAAK,CAACC,KAAKC,SAAS,CAACF;QACrB,IAAI,CAACR,IAAI,GAAGH,oBAAoBG,IAAI;QACpC,IAAI,CAACO,MAAM,GAAGC;IAChB;AACF;AAEO,MAAMhB,6BAA6BM;IACxCI,MAAW;IACXS,YAAqB;IAErB,YAAYC,cAAmB,EAAED,WAAoB,CAAE;QACrD,KAAK,CAACF,KAAKC,SAAS,CAACE;QACrB,IAAI,CAACZ,IAAI,GAAGR,qBAAqBQ,IAAI;QACrC,IAAI,CAACE,KAAK,GAAGU;QACb,IAAI,CAACD,WAAW,GAAGA;IACrB;AACF;AAEO,MAAMjB,gCAAgCI;IAC3C,YAAYC,OAAe,EAAEc,KAAW,CAAE;QACxC,KAAK,CAACd;QACN,IAAI,CAACC,IAAI,GAAGN,wBAAwBM,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,172 +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
- const _winstonloki = /*#__PURE__*/ _interop_require_default(require("winston-loki"));
17
- const _zod = require("zod");
18
- function _interop_require_default(obj) {
19
- return obj && obj.__esModule ? obj : {
20
- default: obj
21
- };
22
- }
23
- const levelMap = {
24
- error: "ERR",
25
- warn: "WRN",
26
- info: "INF",
27
- debug: "DBG",
28
- http: "HTT",
29
- verbose: "VRB",
30
- silly: "SLY"
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
- });
11
+ const _staticlogger = require("./logging/static.logger");
39
12
  class LoggerService {
40
13
  name;
41
14
  logger;
42
- constructor(name, enableFileLogs = true, logFilterLevel = ""){
43
- const isProd = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultProductionEnv;
44
- const isTest = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
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
- }
76
- }
15
+ constructor(name){
77
16
  this.name = name;
78
- this.logger = _winston.default.createLogger({
79
- transports: [
80
- ...extraWinstonTransports,
81
- new _winston.default.transports.Console({
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
- })
116
- ],
117
- format: _winston.default.format.printf((info)=>{
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
- }
130
- return message;
131
- })
17
+ this.logger = (0, _staticlogger.getStaticLogger)().child({
18
+ [_staticlogger.logContextClassProperty]: this.name
132
19
  });
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
- }
143
20
  }
144
21
  newDebug(object) {
145
- this.logger.debug({
146
- ...object,
147
- [lokiLineClassProperty]: this.name
148
- });
22
+ this.logger.debug(object);
149
23
  }
150
24
  log(message, meta) {
151
- const enrichedMeta = {
152
- ...meta,
153
- [lokiLineClassProperty]: this.name
154
- };
155
- this.logger.log("info", message, enrichedMeta);
25
+ this.logger.log("info", message, meta);
156
26
  }
157
27
  warn(message, meta) {
158
- const enrichedMeta = {
159
- ...meta,
160
- [lokiLineClassProperty]: this.name
161
- };
162
- this.logger.log("warn", message, enrichedMeta);
28
+ this.logger.log("warn", message, meta);
163
29
  }
164
30
  debug(message, meta) {
165
- const enrichedMeta = {
166
- ...meta,
167
- [lokiLineClassProperty]: this.name
168
- };
169
- this.logger.log("debug", message, enrichedMeta);
31
+ this.logger.log("debug", message, meta);
170
32
  }
171
33
  error(message, meta) {
172
- const enrichedMeta = {
173
- ...meta,
174
- [lokiLineClassProperty]: this.name
175
- };
176
- this.logger.log("error", message, enrichedMeta);
34
+ this.logger.log("error", message, meta);
177
35
  }
178
36
  }
179
37
 
@@ -1 +1 @@
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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"}
1
+ {"version":3,"sources":["../../src/handlers/logger.ts"],"names":["LoggerService","logger","name","getStaticLogger","child","logContextClassProperty","newDebug","object","debug","log","message","meta","warn","error"],"mappings":";;;;+BAGaA;;;eAAAA;;;8BAF4C;AAElD,MAAMA;;IACXC,OAAuB;IAEvB,YAAY,AAAiBC,IAAY,CAAE;aAAdA,OAAAA;QAC3B,IAAI,CAACD,MAAM,GAAGE,IAAAA,6BAAe,IAAGC,KAAK,CAAC;YAAE,CAACC,qCAAuB,CAAC,EAAE,IAAI,CAACH,IAAI;QAAC;IAC/E;IAEAI,SAASC,MAAW,EAAE;QACpB,IAAI,CAACN,MAAM,CAACO,KAAK,CAACD;IACpB;IAEAE,IAAIC,OAAe,EAAEC,IAAU,EAAE;QAC/B,IAAI,CAACV,MAAM,CAACQ,GAAG,CAAC,QAAQC,SAASC;IACnC;IAEAC,KAAKF,OAAe,EAAEC,IAAU,EAAE;QAChC,IAAI,CAACV,MAAM,CAACQ,GAAG,CAAC,QAAQC,SAASC;IACnC;IAEAH,MAAME,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACV,MAAM,CAACQ,GAAG,CAAC,SAASC,SAASC;IACpC;IAEAE,MAAMH,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACV,MAAM,CAACQ,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: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get createStaticLogger () {
13
+ return createStaticLogger;
14
+ },
15
+ get getStaticLogger () {
16
+ return getStaticLogger;
17
+ },
18
+ get logContextClassProperty () {
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":"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"}
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- validateInput: function() {
12
+ get validateInput () {
13
13
  return validateInput;
14
14
  },
15
- validateMiddleware: function() {
15
+ get validateMiddleware () {
16
16
  return validateMiddleware;
17
17
  }
18
18
  });
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../src/handlers/validators.ts"],"names":["validateInput","validateMiddleware","data","zodSchema","result","safeParseAsync","success","ValidationException","error","req","body"],"mappings":";;;;;;;;;;;QAIsBA;eAAAA;;QASAC;eAAAA;;;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;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"}
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"}
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- authenticate: function() {
12
+ get authenticate () {
13
13
  return authenticate;
14
14
  },
15
- authorizeRoles: function() {
15
+ get authorizeRoles () {
16
16
  return authorizeRoles;
17
17
  },
18
- permission: function() {
18
+ get permission () {
19
19
  return permission;
20
20
  }
21
21
  });
@@ -1 +1 @@
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
+ {"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":";;;;;;;;;;;QAWaA;eAAAA;;QAkDAC;eAAAA;;QAnBGC;eAAAA;;;+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"}