@abyss-project/monitor 1.0.2 → 1.0.4

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 (278) hide show
  1. package/dist/api/application-cron-task.admin.api.d.ts +10 -10
  2. package/dist/api/application-cron-task.admin.api.js +40 -40
  3. package/dist/api/application-cron-task.api.d.ts +10 -10
  4. package/dist/api/application-cron-task.api.js +40 -40
  5. package/dist/api/application-log.admin.api.d.ts +3 -3
  6. package/dist/api/application-log.admin.api.js +12 -12
  7. package/dist/api/application-log.api.d.ts +4 -4
  8. package/dist/api/application-log.api.js +16 -16
  9. package/dist/api/application-stats.admin.api.d.ts +3 -3
  10. package/dist/api/application-stats.admin.api.js +12 -12
  11. package/dist/api/application-stats.api.d.ts +4 -4
  12. package/dist/api/application-stats.api.js +16 -16
  13. package/dist/api/application-store.admin.api.d.ts +6 -6
  14. package/dist/api/application-store.admin.api.js +24 -24
  15. package/dist/api/application-store.api.d.ts +6 -6
  16. package/dist/api/application-store.api.js +24 -24
  17. package/dist/api/application-store.public.api.d.ts +3 -3
  18. package/dist/api/application-store.public.api.js +12 -12
  19. package/dist/api/application.admin.api.d.ts +7 -7
  20. package/dist/api/application.admin.api.js +28 -28
  21. package/dist/api/application.api.d.ts +10 -9
  22. package/dist/api/application.api.js +40 -36
  23. package/dist/api/index.d.ts +12 -12
  24. package/dist/api/index.js +28 -24
  25. package/dist/api/monitor.api.d.ts +2 -2
  26. package/dist/api/monitor.api.js +8 -8
  27. package/dist/frameworks/express/decorators.d.ts +52 -52
  28. package/dist/frameworks/express/decorators.js +163 -163
  29. package/dist/frameworks/express/index.d.ts +16 -16
  30. package/dist/frameworks/express/index.js +170 -166
  31. package/dist/frameworks/express/metadata.d.ts +9 -9
  32. package/dist/frameworks/express/metadata.js +12 -12
  33. package/dist/frameworks/index.d.ts +1 -1
  34. package/dist/frameworks/index.js +17 -13
  35. package/dist/index.d.ts +46 -46
  36. package/dist/index.js +105 -101
  37. package/dist/middlewares/context.middleware.d.ts +12 -12
  38. package/dist/middlewares/context.middleware.js +39 -39
  39. package/dist/middlewares/index.d.ts +3 -3
  40. package/dist/middlewares/index.js +19 -15
  41. package/dist/middlewares/logger-endpoint.middleware.d.ts +5 -5
  42. package/dist/middlewares/logger-endpoint.middleware.js +75 -75
  43. package/dist/middlewares/logger-setup.middleware.d.ts +5 -5
  44. package/dist/middlewares/logger-setup.middleware.js +16 -16
  45. package/dist/models/index.d.ts +1 -1
  46. package/dist/models/index.js +17 -13
  47. package/dist/models/logger.model.d.ts +55 -55
  48. package/dist/models/logger.model.js +201 -201
  49. package/dist/models/stats-publisher.model.d.ts +20 -20
  50. package/dist/models/stats-publisher.model.js +113 -113
  51. package/dist/types/enum/api-error.enum.d.ts +20 -20
  52. package/dist/types/enum/api-error.enum.js +25 -25
  53. package/dist/types/enum/api-method.enum.d.ts +7 -7
  54. package/dist/types/enum/api-method.enum.js +11 -11
  55. package/dist/types/enum/application-alert-type.enum.d.ts +5 -5
  56. package/dist/types/enum/application-alert-type.enum.js +9 -9
  57. package/dist/types/enum/application-stats-type.enum.d.ts +5 -5
  58. package/dist/types/enum/application-stats-type.enum.js +9 -9
  59. package/dist/types/enum/index.d.ts +7 -7
  60. package/dist/types/enum/index.js +23 -19
  61. package/dist/types/enum/log-level.enum.d.ts +6 -6
  62. package/dist/types/enum/log-level.enum.js +10 -10
  63. package/dist/types/enum/log-scenario.enum.d.ts +5 -5
  64. package/dist/types/enum/log-scenario.enum.js +9 -9
  65. package/dist/types/enum/webhook-type.enum.d.ts +3 -3
  66. package/dist/types/enum/webhook-type.enum.js +7 -7
  67. package/dist/types/index.d.ts +18 -18
  68. package/dist/types/index.js +18 -14
  69. package/dist/types/interface/api/index.d.ts +27 -27
  70. package/dist/types/interface/api/index.js +43 -39
  71. package/dist/types/interface/api/requests/application-cron-task.admin.request.d.ts +50 -51
  72. package/dist/types/interface/api/requests/application-cron-task.admin.request.js +2 -2
  73. package/dist/types/interface/api/requests/application-cron-task.request.d.ts +61 -62
  74. package/dist/types/interface/api/requests/application-cron-task.request.js +2 -2
  75. package/dist/types/interface/api/requests/application-log.admin.request.d.ts +19 -20
  76. package/dist/types/interface/api/requests/application-log.admin.request.js +2 -2
  77. package/dist/types/interface/api/requests/application-log.request.d.ts +53 -54
  78. package/dist/types/interface/api/requests/application-log.request.js +2 -2
  79. package/dist/types/interface/api/requests/application-stats.admin.request.d.ts +13 -14
  80. package/dist/types/interface/api/requests/application-stats.admin.request.js +2 -2
  81. package/dist/types/interface/api/requests/application-stats.request.d.ts +31 -32
  82. package/dist/types/interface/api/requests/application-stats.request.js +2 -2
  83. package/dist/types/interface/api/requests/application-store.admin.request.d.ts +34 -35
  84. package/dist/types/interface/api/requests/application-store.admin.request.js +2 -2
  85. package/dist/types/interface/api/requests/application-store.public.request.d.ts +8 -9
  86. package/dist/types/interface/api/requests/application-store.public.request.js +2 -2
  87. package/dist/types/interface/api/requests/application-store.request.d.ts +39 -40
  88. package/dist/types/interface/api/requests/application-store.request.js +2 -2
  89. package/dist/types/interface/api/requests/application.admin.request.d.ts +18 -19
  90. package/dist/types/interface/api/requests/application.admin.request.js +2 -2
  91. package/dist/types/interface/api/requests/application.request.d.ts +35 -33
  92. package/dist/types/interface/api/requests/application.request.js +2 -2
  93. package/dist/types/interface/api/responses/application-cron-task.admin.response.d.ts +30 -30
  94. package/dist/types/interface/api/responses/application-cron-task.admin.response.js +2 -2
  95. package/dist/types/interface/api/responses/application-cron-task.response.d.ts +30 -30
  96. package/dist/types/interface/api/responses/application-cron-task.response.js +2 -2
  97. package/dist/types/interface/api/responses/application-log.admin.response.d.ts +10 -10
  98. package/dist/types/interface/api/responses/application-log.admin.response.js +2 -2
  99. package/dist/types/interface/api/responses/application-log.response.d.ts +10 -10
  100. package/dist/types/interface/api/responses/application-log.response.js +2 -2
  101. package/dist/types/interface/api/responses/application-stats.admin.response.d.ts +6 -6
  102. package/dist/types/interface/api/responses/application-stats.admin.response.js +2 -2
  103. package/dist/types/interface/api/responses/application-stats.response.d.ts +10 -10
  104. package/dist/types/interface/api/responses/application-stats.response.js +2 -2
  105. package/dist/types/interface/api/responses/application-store.admin.response.d.ts +17 -17
  106. package/dist/types/interface/api/responses/application-store.admin.response.js +2 -2
  107. package/dist/types/interface/api/responses/application-store.public.response.d.ts +21 -21
  108. package/dist/types/interface/api/responses/application-store.public.response.js +2 -2
  109. package/dist/types/interface/api/responses/application-store.response.d.ts +17 -17
  110. package/dist/types/interface/api/responses/application-store.response.js +2 -2
  111. package/dist/types/interface/api/responses/application.admin.response.d.ts +33 -33
  112. package/dist/types/interface/api/responses/application.admin.response.js +2 -2
  113. package/dist/types/interface/api/responses/application.response.d.ts +129 -121
  114. package/dist/types/interface/api/responses/application.response.js +2 -2
  115. package/dist/types/interface/api/responses/monitor.response.d.ts +7 -7
  116. package/dist/types/interface/api/responses/monitor.response.js +2 -2
  117. package/dist/types/interface/api/type-message/api-error.d.ts +8 -8
  118. package/dist/types/interface/api/type-message/api-error.js +2 -2
  119. package/dist/types/interface/api/type-message/base-order.d.ts +4 -4
  120. package/dist/types/interface/api/type-message/base-order.js +2 -2
  121. package/dist/types/interface/api/type-message/base-paginate.d.ts +10 -10
  122. package/dist/types/interface/api/type-message/base-paginate.js +2 -2
  123. package/dist/types/interface/api/type-message/response.d.ts +5 -5
  124. package/dist/types/interface/api/type-message/response.js +2 -2
  125. package/dist/types/interface/index.d.ts +9 -8
  126. package/dist/types/interface/index.js +25 -20
  127. package/dist/types/interface/models/application-cron-task-history.model.d.ts +11 -11
  128. package/dist/types/interface/models/application-cron-task-history.model.js +2 -2
  129. package/dist/types/interface/models/application-cron-task.model.d.ts +14 -14
  130. package/dist/types/interface/models/application-cron-task.model.js +2 -2
  131. package/dist/types/interface/models/application-event.model.d.ts +18 -0
  132. package/dist/types/interface/{api/requests/abyss.admin.request.js → models/application-event.model.js} +2 -2
  133. package/dist/types/interface/models/application-log-endpoint.model.d.ts +20 -20
  134. package/dist/types/interface/models/application-log-endpoint.model.js +2 -2
  135. package/dist/types/interface/models/application-log.model.d.ts +23 -21
  136. package/dist/types/interface/models/application-log.model.js +2 -2
  137. package/dist/types/interface/models/application-stats.model.d.ts +14 -14
  138. package/dist/types/interface/models/application-stats.model.js +2 -2
  139. package/dist/types/interface/models/application-store-entry.model.d.ts +14 -14
  140. package/dist/types/interface/models/application-store-entry.model.js +2 -2
  141. package/dist/types/interface/models/application.model.d.ts +17 -15
  142. package/dist/types/interface/models/application.model.js +2 -2
  143. package/dist/utils/alert.utils.d.ts +35 -35
  144. package/dist/utils/alert.utils.js +138 -134
  145. package/dist/utils/discord-webhook-log-formatter.utils.d.ts +42 -42
  146. package/dist/utils/discord-webhook-log-formatter.utils.js +319 -319
  147. package/dist/utils/error.utils.d.ts +15 -15
  148. package/dist/utils/error.utils.js +24 -24
  149. package/dist/utils/import.utils.d.ts +1 -1
  150. package/dist/utils/import.utils.js +7 -7
  151. package/dist/utils/index.d.ts +5 -5
  152. package/dist/utils/index.js +21 -17
  153. package/dist/utils/json.utils.d.ts +1 -1
  154. package/dist/utils/json.utils.js +13 -13
  155. package/dist/utils/non-blocking-promise.utils.d.ts +2 -2
  156. package/dist/utils/non-blocking-promise.utils.js +11 -11
  157. package/package.json +5 -5
  158. package/dist/api/abyss.admin.api.d.ts +0 -2
  159. package/dist/api/abyss.admin.api.js +0 -8
  160. package/dist/api/application-store-entry.admin.api.d.ts +0 -6
  161. package/dist/api/application-store-entry.admin.api.js +0 -24
  162. package/dist/api/application-store-entry.api.d.ts +0 -6
  163. package/dist/api/application-store-entry.api.js +0 -24
  164. package/dist/api/application-store-entry.public.api.d.ts +0 -3
  165. package/dist/api/application-store-entry.public.api.js +0 -12
  166. package/dist/api/logger.admin.api.d.ts +0 -3
  167. package/dist/api/logger.admin.api.js +0 -14
  168. package/dist/api/user-application-alert.admin.api.d.ts +0 -7
  169. package/dist/api/user-application-alert.admin.api.js +0 -28
  170. package/dist/api/user-application-alert.api.d.ts +0 -7
  171. package/dist/api/user-application-alert.api.js +0 -28
  172. package/dist/api/user-application-cron-task.admin.api.d.ts +0 -9
  173. package/dist/api/user-application-cron-task.admin.api.js +0 -36
  174. package/dist/api/user-application-cron-task.api.d.ts +0 -9
  175. package/dist/api/user-application-cron-task.api.js +0 -36
  176. package/dist/api/user-application-log.admin.api.d.ts +0 -3
  177. package/dist/api/user-application-log.admin.api.js +0 -12
  178. package/dist/api/user-application-log.api.d.ts +0 -4
  179. package/dist/api/user-application-log.api.js +0 -16
  180. package/dist/api/user-application-stats.admin.api.d.ts +0 -3
  181. package/dist/api/user-application-stats.admin.api.js +0 -12
  182. package/dist/api/user-application-stats.api.d.ts +0 -4
  183. package/dist/api/user-application-stats.api.js +0 -16
  184. package/dist/api/user-application.admin.api.d.ts +0 -6
  185. package/dist/api/user-application.admin.api.js +0 -24
  186. package/dist/api/user-application.api.d.ts +0 -10
  187. package/dist/api/user-application.api.js +0 -40
  188. package/dist/api/user.admin.api.d.ts +0 -5
  189. package/dist/api/user.admin.api.js +0 -23
  190. package/dist/api/user.api.d.ts +0 -4
  191. package/dist/api/user.api.js +0 -17
  192. package/dist/consts.d.ts +0 -2
  193. package/dist/consts.js +0 -5
  194. package/dist/types/enum/log-type.enum.d.ts +0 -6
  195. package/dist/types/enum/log-type.enum.js +0 -10
  196. package/dist/types/enum/user-application-alert-type.enum.d.ts +0 -5
  197. package/dist/types/enum/user-application-alert-type.enum.js +0 -9
  198. package/dist/types/enum/user-application-stats-type.enum.d.ts +0 -5
  199. package/dist/types/enum/user-application-stats-type.enum.js +0 -9
  200. package/dist/types/interface/api/requests/abyss.admin.request.d.ts +0 -4
  201. package/dist/types/interface/api/requests/logger.admin.request.d.ts +0 -8
  202. package/dist/types/interface/api/requests/logger.admin.request.js +0 -2
  203. package/dist/types/interface/api/requests/user-application-alert.admin.request.d.ts +0 -44
  204. package/dist/types/interface/api/requests/user-application-alert.admin.request.js +0 -2
  205. package/dist/types/interface/api/requests/user-application-alert.request.d.ts +0 -50
  206. package/dist/types/interface/api/requests/user-application-alert.request.js +0 -2
  207. package/dist/types/interface/api/requests/user-application-cron-task.admin.request.d.ts +0 -48
  208. package/dist/types/interface/api/requests/user-application-cron-task.admin.request.js +0 -2
  209. package/dist/types/interface/api/requests/user-application-cron-task.request.d.ts +0 -58
  210. package/dist/types/interface/api/requests/user-application-cron-task.request.js +0 -2
  211. package/dist/types/interface/api/requests/user-application-log.admin.request.d.ts +0 -20
  212. package/dist/types/interface/api/requests/user-application-log.admin.request.js +0 -2
  213. package/dist/types/interface/api/requests/user-application-log.request.d.ts +0 -51
  214. package/dist/types/interface/api/requests/user-application-log.request.js +0 -2
  215. package/dist/types/interface/api/requests/user-application-stats.admin.request.d.ts +0 -14
  216. package/dist/types/interface/api/requests/user-application-stats.admin.request.js +0 -2
  217. package/dist/types/interface/api/requests/user-application-stats.request.d.ts +0 -29
  218. package/dist/types/interface/api/requests/user-application-stats.request.js +0 -2
  219. package/dist/types/interface/api/requests/user-application.admin.request.d.ts +0 -15
  220. package/dist/types/interface/api/requests/user-application.admin.request.js +0 -2
  221. package/dist/types/interface/api/requests/user-application.request.d.ts +0 -35
  222. package/dist/types/interface/api/requests/user-application.request.js +0 -2
  223. package/dist/types/interface/api/requests/user.admin.request.d.ts +0 -18
  224. package/dist/types/interface/api/requests/user.admin.request.js +0 -2
  225. package/dist/types/interface/api/requests/user.request.d.ts +0 -3
  226. package/dist/types/interface/api/requests/user.request.js +0 -2
  227. package/dist/types/interface/api/responses/abyss.admin.response.d.ts +0 -6
  228. package/dist/types/interface/api/responses/abyss.admin.response.js +0 -2
  229. package/dist/types/interface/api/responses/logger.admin.response.d.ts +0 -7
  230. package/dist/types/interface/api/responses/logger.admin.response.js +0 -2
  231. package/dist/types/interface/api/responses/user-application-alert.admin.response.d.ts +0 -22
  232. package/dist/types/interface/api/responses/user-application-alert.admin.response.js +0 -2
  233. package/dist/types/interface/api/responses/user-application-alert.response.d.ts +0 -22
  234. package/dist/types/interface/api/responses/user-application-alert.response.js +0 -2
  235. package/dist/types/interface/api/responses/user-application-cron-task.admin.response.d.ts +0 -27
  236. package/dist/types/interface/api/responses/user-application-cron-task.admin.response.js +0 -2
  237. package/dist/types/interface/api/responses/user-application-cron-task.response.d.ts +0 -27
  238. package/dist/types/interface/api/responses/user-application-cron-task.response.js +0 -2
  239. package/dist/types/interface/api/responses/user-application-log.admin.response.d.ts +0 -11
  240. package/dist/types/interface/api/responses/user-application-log.admin.response.js +0 -2
  241. package/dist/types/interface/api/responses/user-application-log.response.d.ts +0 -11
  242. package/dist/types/interface/api/responses/user-application-log.response.js +0 -2
  243. package/dist/types/interface/api/responses/user-application-stats.admin.response.d.ts +0 -7
  244. package/dist/types/interface/api/responses/user-application-stats.admin.response.js +0 -2
  245. package/dist/types/interface/api/responses/user-application-stats.response.d.ts +0 -11
  246. package/dist/types/interface/api/responses/user-application-stats.response.js +0 -2
  247. package/dist/types/interface/api/responses/user-application.admin.response.d.ts +0 -17
  248. package/dist/types/interface/api/responses/user-application.admin.response.js +0 -2
  249. package/dist/types/interface/api/responses/user-application.response.d.ts +0 -120
  250. package/dist/types/interface/api/responses/user-application.response.js +0 -2
  251. package/dist/types/interface/api/responses/user.admin.response.d.ts +0 -15
  252. package/dist/types/interface/api/responses/user.admin.response.js +0 -2
  253. package/dist/types/interface/api/responses/user.response.d.ts +0 -13
  254. package/dist/types/interface/api/responses/user.response.js +0 -2
  255. package/dist/types/interface/models/cron-task-history.model.d.ts +0 -12
  256. package/dist/types/interface/models/cron-task-history.model.js +0 -2
  257. package/dist/types/interface/models/cron-task.model.d.ts +0 -13
  258. package/dist/types/interface/models/cron-task.model.js +0 -2
  259. package/dist/types/interface/models/log-console.model.d.ts +0 -17
  260. package/dist/types/interface/models/log-console.model.js +0 -2
  261. package/dist/types/interface/models/log-endpoint.model.d.ts +0 -22
  262. package/dist/types/interface/models/log-endpoint.model.js +0 -2
  263. package/dist/types/interface/models/user-application-alert.model.d.ts +0 -44
  264. package/dist/types/interface/models/user-application-alert.model.js +0 -2
  265. package/dist/types/interface/models/user-application-cron-task-history.model.d.ts +0 -11
  266. package/dist/types/interface/models/user-application-cron-task-history.model.js +0 -2
  267. package/dist/types/interface/models/user-application-cron-task.model.d.ts +0 -14
  268. package/dist/types/interface/models/user-application-cron-task.model.js +0 -2
  269. package/dist/types/interface/models/user-application-log-endpoint.model.d.ts +0 -20
  270. package/dist/types/interface/models/user-application-log-endpoint.model.js +0 -2
  271. package/dist/types/interface/models/user-application-log.model.d.ts +0 -21
  272. package/dist/types/interface/models/user-application-log.model.js +0 -2
  273. package/dist/types/interface/models/user-application-stats.model.d.ts +0 -14
  274. package/dist/types/interface/models/user-application-stats.model.js +0 -2
  275. package/dist/types/interface/models/user-application.model.d.ts +0 -15
  276. package/dist/types/interface/models/user-application.model.js +0 -2
  277. package/dist/types/interface/models/user.model.d.ts +0 -8
  278. package/dist/types/interface/models/user.model.js +0 -2
@@ -1,166 +1,170 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.controllerLoader = void 0;
14
- __exportStar(require("./decorators"), exports);
15
- __exportStar(require("./metadata"), exports);
16
- const metadata_1 = require("./metadata");
17
- require("reflect-metadata");
18
- const types_1 = require("../../types");
19
- const controllerLoader = async (app, options) => {
20
- var _a, _b, _c, _d;
21
- try {
22
- const middlewares = options.middlewares.map((middleware) => new middleware());
23
- const controllers = options.controllers;
24
- const tags = [];
25
- const paths = {};
26
- const mainRouter = options.router({ mergeParams: true });
27
- for (const controller of controllers) {
28
- const instance = new controller();
29
- const isMasked = Reflect.getMetadata(metadata_1.MASKED_WATERMARK, controller);
30
- const middlewareHooks = Reflect.getMetadata(metadata_1.MIDDLEWARE_HOOK_WATERMARK, controller) || [];
31
- const controllerPrefix = Reflect.getMetadata(metadata_1.PATH_WATERMARK, controller);
32
- const tag = controller.name;
33
- if (!isMasked) {
34
- tags.push(tag);
35
- }
36
- const router = options.router({ mergeParams: true });
37
- const middlewaresToUseOnController = middlewareHooks.map((element) => {
38
- const middleware = middlewares.find((middleware) => {
39
- return middleware.constructor.name === element;
40
- });
41
- if (!middleware) {
42
- console.error(`Middleware ${element} on controller ${controller} do not exist`);
43
- }
44
- return middleware;
45
- });
46
- for (const method of Object.getOwnPropertyNames(controller.prototype)) {
47
- if (!isRoute(instance, method)) {
48
- continue;
49
- }
50
- const routeOptions = Reflect.getMetadata(metadata_1.OPTIONS_WATERMARK, instance, method);
51
- const path = Reflect.getMetadata(metadata_1.PATH_WATERMARK, instance, method);
52
- const docs = Reflect.getMetadata(metadata_1.DOCS_WATERMARK, instance, method) || {};
53
- const apiMethod = Reflect.getMetadata(metadata_1.METHOD_WATERMARK, instance, method);
54
- const routeMiddlewareHooks = Reflect.getMetadata(metadata_1.MIDDLEWARE_HOOK_WATERMARK, instance, method) || [];
55
- const fullPath = `${routeOptions.shouldSkipController ? '' : controllerPrefix}${path}`;
56
- if (!paths[fullPath]) {
57
- paths[fullPath] = {};
58
- }
59
- if (!docs.isMasked && !isMasked) {
60
- paths[fullPath][types_1.APIMethod[apiMethod].toLowerCase()] = {
61
- tags: [tag],
62
- description: docs.description || '',
63
- requestBody: {
64
- description: (_a = docs.body) === null || _a === void 0 ? void 0 : _a.description,
65
- content: {
66
- 'application/json': {
67
- schema: (_b = docs === null || docs === void 0 ? void 0 : docs.body) === null || _b === void 0 ? void 0 : _b.content,
68
- },
69
- },
70
- },
71
- parameters: [
72
- ...Object.entries(((_c = docs.params) === null || _c === void 0 ? void 0 : _c.content.properties) || {}).map(([key, entry]) => {
73
- return {
74
- name: key,
75
- in: 'path',
76
- description: entry.description || '',
77
- required: true,
78
- schema: entry,
79
- };
80
- }),
81
- ...Object.entries(((_d = docs.query) === null || _d === void 0 ? void 0 : _d.content.properties) || {}).map(([key, entry]) => {
82
- return {
83
- name: key,
84
- in: 'query',
85
- description: entry.description || '',
86
- required: true,
87
- schema: entry,
88
- };
89
- }),
90
- ],
91
- responses: {},
92
- };
93
- }
94
- const middlewaresToUseOnRoute = routeMiddlewareHooks.map((element) => {
95
- const middleware = middlewares.find((middleware) => middleware.constructor.name === element);
96
- if (!middleware) {
97
- console.error(`Middleware ${element} on controller ${controller} on route ${path} do not exist`);
98
- }
99
- return middleware;
100
- });
101
- const routerToUse = routeOptions.shouldSkipController ? mainRouter : router;
102
- switch (apiMethod) {
103
- case types_1.APIMethod.DELETE:
104
- routerToUse.delete(path, ...(routeOptions.shouldSkipController
105
- ? []
106
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
107
- break;
108
- case types_1.APIMethod.GET:
109
- routerToUse.get(path, ...(routeOptions.shouldSkipController
110
- ? []
111
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
112
- break;
113
- case types_1.APIMethod.POST:
114
- routerToUse.post(path, ...(routeOptions.shouldSkipController
115
- ? []
116
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
117
- break;
118
- case types_1.APIMethod.PUT:
119
- routerToUse.put(path, ...(routeOptions.shouldSkipController
120
- ? []
121
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
122
- break;
123
- case types_1.APIMethod.PATCH:
124
- routerToUse.patch(path, ...(routeOptions.shouldSkipController
125
- ? []
126
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
127
- break;
128
- default:
129
- console.error(`Method ${apiMethod} on route ${path} of controller ${controller} do not exist`);
130
- break;
131
- }
132
- }
133
- mainRouter.use(`${controllerPrefix}`, setLocalsMiddleware(controller, options, controllerPrefix), router);
134
- }
135
- app.use(options.prefix, mainRouter);
136
- return {
137
- swagger: {
138
- tags,
139
- paths,
140
- },
141
- };
142
- }
143
- catch (error) {
144
- console.error(error);
145
- throw error;
146
- }
147
- };
148
- exports.controllerLoader = controllerLoader;
149
- const isRoute = (target, propertyKey) => {
150
- try {
151
- if (Reflect.getMetadata(metadata_1.ROUTE_WATERMARK, target, propertyKey)) {
152
- return true;
153
- }
154
- else {
155
- return false;
156
- }
157
- }
158
- catch (error) {
159
- return false;
160
- }
161
- };
162
- const setLocalsMiddleware = (controller, options = { prefix: '/' }, controllerPrefix, path) => (req, res, next) => {
163
- res.locals.controller = controller.name;
164
- res.locals.path = `${options.prefix}${controllerPrefix}${path !== null ? path || req.path : ''}`;
165
- next();
166
- };
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.controllerLoader = void 0;
18
+ __exportStar(require("./decorators"), exports);
19
+ __exportStar(require("./metadata"), exports);
20
+ const metadata_1 = require("./metadata");
21
+ require("reflect-metadata");
22
+ const types_1 = require("../../types");
23
+ const controllerLoader = async (app, options) => {
24
+ var _a, _b, _c, _d;
25
+ try {
26
+ const middlewares = options.middlewares.map((middleware) => new middleware());
27
+ const controllers = options.controllers;
28
+ const tags = [];
29
+ const paths = {};
30
+ const mainRouter = options.router({ mergeParams: true });
31
+ for (const controller of controllers) {
32
+ const instance = new controller();
33
+ const isMasked = Reflect.getMetadata(metadata_1.MASKED_WATERMARK, controller);
34
+ const middlewareHooks = Reflect.getMetadata(metadata_1.MIDDLEWARE_HOOK_WATERMARK, controller) || [];
35
+ const controllerPrefix = Reflect.getMetadata(metadata_1.PATH_WATERMARK, controller);
36
+ const tag = controller.name;
37
+ if (!isMasked) {
38
+ tags.push(tag);
39
+ }
40
+ const router = options.router({ mergeParams: true });
41
+ const middlewaresToUseOnController = middlewareHooks.map((element) => {
42
+ const middleware = middlewares.find((middleware) => {
43
+ return middleware.constructor.name === element;
44
+ });
45
+ if (!middleware) {
46
+ console.error(`Middleware ${element} on controller ${controller} do not exist`);
47
+ }
48
+ return middleware;
49
+ });
50
+ for (const method of Object.getOwnPropertyNames(controller.prototype)) {
51
+ if (!isRoute(instance, method)) {
52
+ continue;
53
+ }
54
+ const routeOptions = Reflect.getMetadata(metadata_1.OPTIONS_WATERMARK, instance, method);
55
+ const path = Reflect.getMetadata(metadata_1.PATH_WATERMARK, instance, method);
56
+ const docs = Reflect.getMetadata(metadata_1.DOCS_WATERMARK, instance, method) || {};
57
+ const apiMethod = Reflect.getMetadata(metadata_1.METHOD_WATERMARK, instance, method);
58
+ const routeMiddlewareHooks = Reflect.getMetadata(metadata_1.MIDDLEWARE_HOOK_WATERMARK, instance, method) || [];
59
+ const fullPath = `${routeOptions.shouldSkipController ? '' : controllerPrefix}${path}`;
60
+ if (!paths[fullPath]) {
61
+ paths[fullPath] = {};
62
+ }
63
+ if (!docs.isMasked && !isMasked) {
64
+ paths[fullPath][types_1.APIMethod[apiMethod].toLowerCase()] = {
65
+ tags: [tag],
66
+ description: docs.description || '',
67
+ requestBody: {
68
+ description: (_a = docs.body) === null || _a === void 0 ? void 0 : _a.description,
69
+ content: {
70
+ 'application/json': {
71
+ schema: (_b = docs === null || docs === void 0 ? void 0 : docs.body) === null || _b === void 0 ? void 0 : _b.content,
72
+ },
73
+ },
74
+ },
75
+ parameters: [
76
+ ...Object.entries(((_c = docs.params) === null || _c === void 0 ? void 0 : _c.content.properties) || {}).map(([key, entry]) => {
77
+ return {
78
+ name: key,
79
+ in: 'path',
80
+ description: entry.description || '',
81
+ required: true,
82
+ schema: entry,
83
+ };
84
+ }),
85
+ ...Object.entries(((_d = docs.query) === null || _d === void 0 ? void 0 : _d.content.properties) || {}).map(([key, entry]) => {
86
+ return {
87
+ name: key,
88
+ in: 'query',
89
+ description: entry.description || '',
90
+ required: true,
91
+ schema: entry,
92
+ };
93
+ }),
94
+ ],
95
+ responses: {},
96
+ };
97
+ }
98
+ const middlewaresToUseOnRoute = routeMiddlewareHooks.map((element) => {
99
+ const middleware = middlewares.find((middleware) => middleware.constructor.name === element);
100
+ if (!middleware) {
101
+ console.error(`Middleware ${element} on controller ${controller} on route ${path} do not exist`);
102
+ }
103
+ return middleware;
104
+ });
105
+ const routerToUse = routeOptions.shouldSkipController ? mainRouter : router;
106
+ switch (apiMethod) {
107
+ case types_1.APIMethod.DELETE:
108
+ routerToUse.delete(path, ...(routeOptions.shouldSkipController
109
+ ? []
110
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
111
+ break;
112
+ case types_1.APIMethod.GET:
113
+ routerToUse.get(path, ...(routeOptions.shouldSkipController
114
+ ? []
115
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
116
+ break;
117
+ case types_1.APIMethod.POST:
118
+ routerToUse.post(path, ...(routeOptions.shouldSkipController
119
+ ? []
120
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
121
+ break;
122
+ case types_1.APIMethod.PUT:
123
+ routerToUse.put(path, ...(routeOptions.shouldSkipController
124
+ ? []
125
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
126
+ break;
127
+ case types_1.APIMethod.PATCH:
128
+ routerToUse.patch(path, ...(routeOptions.shouldSkipController
129
+ ? []
130
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
131
+ break;
132
+ default:
133
+ console.error(`Method ${apiMethod} on route ${path} of controller ${controller} do not exist`);
134
+ break;
135
+ }
136
+ }
137
+ mainRouter.use(`${controllerPrefix}`, setLocalsMiddleware(controller, options, controllerPrefix), router);
138
+ }
139
+ app.use(options.prefix, mainRouter);
140
+ return {
141
+ swagger: {
142
+ tags,
143
+ paths,
144
+ },
145
+ };
146
+ }
147
+ catch (error) {
148
+ console.error(error);
149
+ throw error;
150
+ }
151
+ };
152
+ exports.controllerLoader = controllerLoader;
153
+ const isRoute = (target, propertyKey) => {
154
+ try {
155
+ if (Reflect.getMetadata(metadata_1.ROUTE_WATERMARK, target, propertyKey)) {
156
+ return true;
157
+ }
158
+ else {
159
+ return false;
160
+ }
161
+ }
162
+ catch (error) {
163
+ return false;
164
+ }
165
+ };
166
+ const setLocalsMiddleware = (controller, options = { prefix: '/' }, controllerPrefix, path) => (req, res, next) => {
167
+ res.locals.controller = controller.name;
168
+ res.locals.path = `${options.prefix}${controllerPrefix}${path !== null ? path || req.path : ''}`;
169
+ next();
170
+ };
@@ -1,9 +1,9 @@
1
- export declare const CONTROLLER_WATERMARK = "__controller__";
2
- export declare const MASKED_WATERMARK = "__masked__";
3
- export declare const PATH_WATERMARK = "__path__";
4
- export declare const METHOD_WATERMARK = "__method__";
5
- export declare const OPTIONS_WATERMARK = "__OPTIONS__";
6
- export declare const ROUTE_WATERMARK = "__route__";
7
- export declare const DOCS_WATERMARK = "__docs__";
8
- export declare const MIDDLEWARE_WATERMARK = "__middleware__";
9
- export declare const MIDDLEWARE_HOOK_WATERMARK = "__middleware_hook__";
1
+ export declare const CONTROLLER_WATERMARK = "__controller__";
2
+ export declare const MASKED_WATERMARK = "__masked__";
3
+ export declare const PATH_WATERMARK = "__path__";
4
+ export declare const METHOD_WATERMARK = "__method__";
5
+ export declare const OPTIONS_WATERMARK = "__OPTIONS__";
6
+ export declare const ROUTE_WATERMARK = "__route__";
7
+ export declare const DOCS_WATERMARK = "__docs__";
8
+ export declare const MIDDLEWARE_WATERMARK = "__middleware__";
9
+ export declare const MIDDLEWARE_HOOK_WATERMARK = "__middleware_hook__";
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MIDDLEWARE_HOOK_WATERMARK = exports.MIDDLEWARE_WATERMARK = exports.DOCS_WATERMARK = exports.ROUTE_WATERMARK = exports.OPTIONS_WATERMARK = exports.METHOD_WATERMARK = exports.PATH_WATERMARK = exports.MASKED_WATERMARK = exports.CONTROLLER_WATERMARK = void 0;
4
- exports.CONTROLLER_WATERMARK = '__controller__';
5
- exports.MASKED_WATERMARK = '__masked__';
6
- exports.PATH_WATERMARK = '__path__';
7
- exports.METHOD_WATERMARK = '__method__';
8
- exports.OPTIONS_WATERMARK = '__OPTIONS__';
9
- exports.ROUTE_WATERMARK = '__route__';
10
- exports.DOCS_WATERMARK = '__docs__';
11
- exports.MIDDLEWARE_WATERMARK = '__middleware__';
12
- exports.MIDDLEWARE_HOOK_WATERMARK = '__middleware_hook__';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIDDLEWARE_HOOK_WATERMARK = exports.MIDDLEWARE_WATERMARK = exports.DOCS_WATERMARK = exports.ROUTE_WATERMARK = exports.OPTIONS_WATERMARK = exports.METHOD_WATERMARK = exports.PATH_WATERMARK = exports.MASKED_WATERMARK = exports.CONTROLLER_WATERMARK = void 0;
4
+ exports.CONTROLLER_WATERMARK = '__controller__';
5
+ exports.MASKED_WATERMARK = '__masked__';
6
+ exports.PATH_WATERMARK = '__path__';
7
+ exports.METHOD_WATERMARK = '__method__';
8
+ exports.OPTIONS_WATERMARK = '__OPTIONS__';
9
+ exports.ROUTE_WATERMARK = '__route__';
10
+ exports.DOCS_WATERMARK = '__docs__';
11
+ exports.MIDDLEWARE_WATERMARK = '__middleware__';
12
+ exports.MIDDLEWARE_HOOK_WATERMARK = '__middleware_hook__';
@@ -1 +1 @@
1
- export * from './express';
1
+ export * from './express';
@@ -1,13 +1,17 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./express"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./express"), exports);
package/dist/index.d.ts CHANGED
@@ -1,46 +1,46 @@
1
- import 'reflect-metadata';
2
- import { IAxiosRetryConfig } from 'axios-retry';
3
- import { StatsPublisher } from './models/stats-publisher.model';
4
- import { ApplicationAlertType } from './types';
5
- import { ParamsSendLogAlert, ParamsSendStatsAlert } from './utils';
6
- export * from './api';
7
- export * from './types';
8
- export * from './models';
9
- export * from './utils';
10
- export * from './middlewares';
11
- export * from './frameworks';
12
- export declare const API_KEY_APPLICATION_HEADER = "abyss-monitor-api-key-application";
13
- export declare const ADMIN_TOKEN_HEADER = "abyss-admin-token";
14
- export declare const HEADER_CRON_TASK_SIGNATURE_NAME = "abyss-monitor-cron-task-signature";
15
- export declare const CRON_TASK_SIGNATURE_ALGORITHM = "sha256";
16
- export declare const NUMBER_RETRY_API = 10;
17
- export declare const BASE_DELAY_BETWEEN_RETRY = 5000;
18
- export declare const RETRY_CODES: number[];
19
- declare type CoreConfig = {
20
- token: string;
21
- secretPublishToken: string;
22
- projectId: string;
23
- applicationId: string;
24
- applicationApiKey: string;
25
- adminToken: string;
26
- baseURL: string;
27
- baseClientURL: string;
28
- applicationName: string;
29
- defaultAlertLogWebhookUrl: string | null;
30
- defaultAlertStatsWebhookUrl: string | null;
31
- getWebhookUrl: (params: {
32
- type: ApplicationAlertType.LOG;
33
- payload: ParamsSendLogAlert;
34
- } | {
35
- type: ApplicationAlertType.STATS;
36
- payload: ParamsSendStatsAlert;
37
- }) => Promise<string | string[] | null | undefined>;
38
- };
39
- export declare class AbyssMonitorCore {
40
- private static config;
41
- static StatsPublisher: typeof StatsPublisher;
42
- static axios: import("axios").AxiosInstance;
43
- static setConfig(config: Partial<CoreConfig>): void;
44
- static getConfig(): typeof AbyssMonitorCore.config;
45
- static enableAxiosRetry(axiosRetryConfig?: IAxiosRetryConfig): void;
46
- }
1
+ import 'reflect-metadata';
2
+ import { IAxiosRetryConfig } from 'axios-retry';
3
+ import { StatsPublisher } from './models/stats-publisher.model';
4
+ import { ApplicationAlertType } from './types';
5
+ import { ParamsSendLogAlert, ParamsSendStatsAlert } from './utils';
6
+ export * from './api';
7
+ export * from './types';
8
+ export * from './models';
9
+ export * from './utils';
10
+ export * from './middlewares';
11
+ export * from './frameworks';
12
+ export declare const API_KEY_APPLICATION_HEADER = "abyss-monitor-api-key-application";
13
+ export declare const ADMIN_TOKEN_HEADER = "abyss-admin-token";
14
+ export declare const HEADER_CRON_TASK_SIGNATURE_NAME = "abyss-monitor-cron-task-signature";
15
+ export declare const CRON_TASK_SIGNATURE_ALGORITHM = "sha256";
16
+ export declare const NUMBER_RETRY_API = 10;
17
+ export declare const BASE_DELAY_BETWEEN_RETRY = 5000;
18
+ export declare const RETRY_CODES: number[];
19
+ type CoreConfig = {
20
+ token: string;
21
+ secretPublishToken: string;
22
+ projectId: string;
23
+ applicationId: string;
24
+ applicationApiKey: string;
25
+ adminToken: string;
26
+ baseURL: string;
27
+ baseClientURL: string;
28
+ applicationName: string;
29
+ defaultAlertLogWebhookUrl: string | null;
30
+ defaultAlertStatsWebhookUrl: string | null;
31
+ getWebhookUrl: (params: {
32
+ type: ApplicationAlertType.LOG;
33
+ payload: ParamsSendLogAlert;
34
+ } | {
35
+ type: ApplicationAlertType.STATS;
36
+ payload: ParamsSendStatsAlert;
37
+ }) => Promise<string | string[] | null | undefined>;
38
+ };
39
+ export declare class AbyssMonitorCore {
40
+ private static config;
41
+ static StatsPublisher: typeof StatsPublisher;
42
+ static axios: import("axios").AxiosInstance;
43
+ static setConfig(config: Partial<CoreConfig>): void;
44
+ static getConfig(): typeof AbyssMonitorCore.config;
45
+ static enableAxiosRetry(axiosRetryConfig?: IAxiosRetryConfig): void;
46
+ }