@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,134 +1,138 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.sendStatsAlert = exports.sendLogAlert = void 0;
26
- const __1 = require("..");
27
- const json_utils_1 = require("./json.utils");
28
- const axios_1 = __importDefault(require("axios"));
29
- const axios_rate_limit_1 = __importDefault(require("axios-rate-limit"));
30
- const axios_retry_1 = __importStar(require("axios-retry"));
31
- const webhookClients = new Map();
32
- const MAX_REQUEST_PER_MINUTE = 30;
33
- const RATE_LIMIT_PERIOD_IN_MS = 60 * 1000;
34
- const APPLICATION_LOG_ID_QUERY_PARAMS = 'application_log_id';
35
- const sendLogAlert = async (params) => {
36
- const webhookUrl = params.webhookUrl ||
37
- (await __1.AbyssMonitorCore.getConfig().getWebhookUrl({
38
- type: __1.ApplicationAlertType.LOG,
39
- payload: params,
40
- }));
41
- if (!webhookUrl) {
42
- return;
43
- }
44
- if (params.logData.applicationLogEndpoint) {
45
- await sendAlert({
46
- logger: params.logger,
47
- body: (0, __1.generateDiscordApiLogMessageContent)({
48
- ...params.logData,
49
- author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
50
- dashboardLogUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/log?${params.applicationLogId
51
- ? `${APPLICATION_LOG_ID_QUERY_PARAMS}=${params.applicationLogId}`
52
- : ''}`,
53
- dateValue: params.logData.dateValue,
54
- }),
55
- webhookUrl,
56
- });
57
- }
58
- else {
59
- await sendAlert({
60
- logger: params.logger,
61
- body: (0, __1.generateDiscordAlertLogMessageContent)({
62
- title: params.logData.title,
63
- level: params.logData.level,
64
- author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
65
- message: params.logData.message,
66
- context: params.logData.context,
67
- scenario: params.logData.scenario,
68
- stack: params.logData.stack,
69
- processId: params.logData.processId,
70
- requestId: params.logData.requestId,
71
- dashboardLogUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/log?${APPLICATION_LOG_ID_QUERY_PARAMS}=${params.applicationLogId}`,
72
- dateValue: params.logData.dateValue,
73
- }, { compact: params.compact }),
74
- webhookUrl,
75
- });
76
- }
77
- };
78
- exports.sendLogAlert = sendLogAlert;
79
- const sendStatsAlert = async (params) => {
80
- const webhookUrl = params.webhookUrl ||
81
- (await __1.AbyssMonitorCore.getConfig().getWebhookUrl({
82
- type: __1.ApplicationAlertType.STATS,
83
- payload: params,
84
- }));
85
- if (!webhookUrl) {
86
- return;
87
- }
88
- await sendAlert({
89
- logger: params.logger,
90
- body: (0, __1.generateDiscordStatsMessageContent)({
91
- ...params,
92
- dashboardStatsUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/stats`,
93
- author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
94
- }),
95
- webhookUrl,
96
- });
97
- };
98
- exports.sendStatsAlert = sendStatsAlert;
99
- const sendAlert = async (params) => {
100
- const webhookUrls = Array.isArray(params.webhookUrl) ? params.webhookUrl : [params.webhookUrl];
101
- await Promise.allSettled(webhookUrls.map(async (webhookUrl) => {
102
- var _a;
103
- try {
104
- const webhookClient = findOrCreateWebhookClient(webhookUrl);
105
- await webhookClient.post('', params.body);
106
- }
107
- catch (error) {
108
- (_a = params.logger) === null || _a === void 0 ? void 0 : _a.error(`Unable to deliver alert to ${params.webhookUrl}. Error: ${error}`, {
109
- data: (0, json_utils_1.isValidJson)(params.body) ? params.body : undefined,
110
- });
111
- }
112
- }));
113
- };
114
- const findOrCreateWebhookClient = (webhookUrl) => {
115
- const existingWebhookClient = webhookClients.get(webhookUrl);
116
- if (existingWebhookClient) {
117
- return existingWebhookClient;
118
- }
119
- const webhookClient = (0, axios_rate_limit_1.default)(axios_1.default.create({ baseURL: webhookUrl }), {
120
- maxRequests: MAX_REQUEST_PER_MINUTE,
121
- perMilliseconds: RATE_LIMIT_PERIOD_IN_MS,
122
- });
123
- (0, axios_retry_1.default)(webhookClient, {
124
- retries: __1.NUMBER_RETRY_API,
125
- retryDelay: (retryCount) => retryCount * __1.BASE_DELAY_BETWEEN_RETRY,
126
- retryCondition: (error) => {
127
- var _a;
128
- return (0, axios_retry_1.isNetworkOrIdempotentRequestError)(error) ||
129
- __1.RETRY_CODES.includes(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) || 502);
130
- },
131
- });
132
- webhookClients.set(webhookUrl, webhookClient);
133
- return webhookClient;
134
- };
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.sendStatsAlert = exports.sendLogAlert = void 0;
30
+ const __1 = require("..");
31
+ const json_utils_1 = require("./json.utils");
32
+ const axios_1 = __importDefault(require("axios"));
33
+ const axios_rate_limit_1 = __importDefault(require("axios-rate-limit"));
34
+ const axios_retry_1 = __importStar(require("axios-retry"));
35
+ const webhookClients = new Map();
36
+ const MAX_REQUEST_PER_MINUTE = 30;
37
+ const RATE_LIMIT_PERIOD_IN_MS = 60 * 1000;
38
+ const APPLICATION_LOG_ID_QUERY_PARAMS = 'application_log_id';
39
+ const sendLogAlert = async (params) => {
40
+ const webhookUrl = params.webhookUrl ||
41
+ (await __1.AbyssMonitorCore.getConfig().getWebhookUrl({
42
+ type: __1.ApplicationAlertType.LOG,
43
+ payload: params,
44
+ }));
45
+ if (!webhookUrl) {
46
+ return;
47
+ }
48
+ if (params.logData.applicationLogEndpoint) {
49
+ await sendAlert({
50
+ logger: params.logger,
51
+ body: (0, __1.generateDiscordApiLogMessageContent)({
52
+ ...params.logData,
53
+ author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
54
+ dashboardLogUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/log?${params.applicationLogId
55
+ ? `${APPLICATION_LOG_ID_QUERY_PARAMS}=${params.applicationLogId}`
56
+ : ''}`,
57
+ dateValue: params.logData.dateValue,
58
+ }),
59
+ webhookUrl,
60
+ });
61
+ }
62
+ else {
63
+ await sendAlert({
64
+ logger: params.logger,
65
+ body: (0, __1.generateDiscordAlertLogMessageContent)({
66
+ title: params.logData.title,
67
+ level: params.logData.level,
68
+ author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
69
+ message: params.logData.message,
70
+ context: params.logData.context,
71
+ scenario: params.logData.scenario,
72
+ stack: params.logData.stack,
73
+ processId: params.logData.processId,
74
+ requestId: params.logData.requestId,
75
+ dashboardLogUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/log?${APPLICATION_LOG_ID_QUERY_PARAMS}=${params.applicationLogId}`,
76
+ dateValue: params.logData.dateValue,
77
+ }, { compact: params.compact }),
78
+ webhookUrl,
79
+ });
80
+ }
81
+ };
82
+ exports.sendLogAlert = sendLogAlert;
83
+ const sendStatsAlert = async (params) => {
84
+ const webhookUrl = params.webhookUrl ||
85
+ (await __1.AbyssMonitorCore.getConfig().getWebhookUrl({
86
+ type: __1.ApplicationAlertType.STATS,
87
+ payload: params,
88
+ }));
89
+ if (!webhookUrl) {
90
+ return;
91
+ }
92
+ await sendAlert({
93
+ logger: params.logger,
94
+ body: (0, __1.generateDiscordStatsMessageContent)({
95
+ ...params,
96
+ dashboardStatsUrl: `${__1.AbyssMonitorCore.getConfig().baseClientURL}dashboard/project/${__1.AbyssMonitorCore.getConfig().projectId}/application/${__1.AbyssMonitorCore.getConfig().applicationId}/monitor/stats`,
97
+ author: params.author || __1.AbyssMonitorCore.getConfig().applicationName,
98
+ }),
99
+ webhookUrl,
100
+ });
101
+ };
102
+ exports.sendStatsAlert = sendStatsAlert;
103
+ const sendAlert = async (params) => {
104
+ const webhookUrls = Array.isArray(params.webhookUrl) ? params.webhookUrl : [params.webhookUrl];
105
+ await Promise.allSettled(webhookUrls.map(async (webhookUrl) => {
106
+ var _a;
107
+ try {
108
+ const webhookClient = findOrCreateWebhookClient(webhookUrl);
109
+ await webhookClient.post('', params.body);
110
+ }
111
+ catch (error) {
112
+ (_a = params.logger) === null || _a === void 0 ? void 0 : _a.error(`Unable to deliver alert to ${params.webhookUrl}. Error: ${error}`, {
113
+ data: (0, json_utils_1.isValidJson)(params.body) ? params.body : undefined,
114
+ });
115
+ }
116
+ }));
117
+ };
118
+ const findOrCreateWebhookClient = (webhookUrl) => {
119
+ const existingWebhookClient = webhookClients.get(webhookUrl);
120
+ if (existingWebhookClient) {
121
+ return existingWebhookClient;
122
+ }
123
+ const webhookClient = (0, axios_rate_limit_1.default)(axios_1.default.create({ baseURL: webhookUrl }), {
124
+ maxRequests: MAX_REQUEST_PER_MINUTE,
125
+ perMilliseconds: RATE_LIMIT_PERIOD_IN_MS,
126
+ });
127
+ (0, axios_retry_1.default)(webhookClient, {
128
+ retries: __1.NUMBER_RETRY_API,
129
+ retryDelay: (retryCount) => retryCount * __1.BASE_DELAY_BETWEEN_RETRY,
130
+ retryCondition: (error) => {
131
+ var _a;
132
+ return (0, axios_retry_1.isNetworkOrIdempotentRequestError)(error) ||
133
+ __1.RETRY_CODES.includes(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) || 502);
134
+ },
135
+ });
136
+ webhookClients.set(webhookUrl, webhookClient);
137
+ return webhookClient;
138
+ };
@@ -1,42 +1,42 @@
1
- import { WebhookMessageCreateOptions } from 'discord.js';
2
- import { IApplicationCronTask, IApplicationCronTaskHistory } from '../types';
3
- import { LogData } from '../models';
4
- import { PayloadSendStatsAlert } from './alert.utils';
5
- export declare const HIGHLIGHT = "```";
6
- export declare enum DISCORD_EMBED_COLORS {
7
- red = 16711680,
8
- green = 4961603,
9
- blue = 52479,
10
- orange = 16753920,
11
- grey = 8421504
12
- }
13
- export declare const DATE_FORMAT = "DD/MM/YYYY HH:mm:ss";
14
- export declare const dateFormatted: (date?: Date) => string;
15
- export declare const generateDiscordHighlightBlock: (content: string) => string;
16
- export declare const generateDiscordHighlightBlockWithColor: (color: keyof typeof DISCORD_EMBED_COLORS, message: string) => string;
17
- export declare const getBlockColorByResultCode: (resultCode: number) => keyof typeof DISCORD_EMBED_COLORS;
18
- export declare const getAPIEmbedColor: (color: keyof typeof DISCORD_EMBED_COLORS) => DISCORD_EMBED_COLORS;
19
- export declare type ParamsGenerateDiscordAlertLogMessageContent = {
20
- dashboardLogUrl: string;
21
- author: string;
22
- } & LogData;
23
- export declare const generateDiscordAlertLogMessageContent: (params: ParamsGenerateDiscordAlertLogMessageContent, options?: {
24
- compact?: boolean | undefined;
25
- } | undefined) => WebhookMessageCreateOptions;
26
- export declare type ParamsGenerateDiscordApiLogMessageContent = {
27
- dashboardLogUrl: string;
28
- author: string;
29
- } & LogData;
30
- export declare const generateDiscordApiLogMessageContent: (params: ParamsGenerateDiscordApiLogMessageContent) => WebhookMessageCreateOptions;
31
- declare type ParamsGenerateDiscordStatsMessageContent = {
32
- dashboardStatsUrl: string;
33
- author: string;
34
- } & PayloadSendStatsAlert;
35
- export declare const generateDiscordStatsMessageContent: (params: ParamsGenerateDiscordStatsMessageContent) => WebhookMessageCreateOptions;
36
- declare type ParamsGenerateDiscordCronTaskHistoryMessageContent = {
37
- applicationCronTaskHistory: IApplicationCronTaskHistory;
38
- applicationCronTask: IApplicationCronTask;
39
- dashboardCronTaskHistoryUrl: string;
40
- };
41
- export declare const generateDiscordCronTaskHistoryMessageContent: (params: ParamsGenerateDiscordCronTaskHistoryMessageContent) => WebhookMessageCreateOptions;
42
- export {};
1
+ import { WebhookMessageCreateOptions } from 'discord.js';
2
+ import { IApplicationCronTask, IApplicationCronTaskHistory } from '../types';
3
+ import { LogData } from '../models';
4
+ import { PayloadSendStatsAlert } from './alert.utils';
5
+ export declare const HIGHLIGHT = "```";
6
+ export declare enum DISCORD_EMBED_COLORS {
7
+ red = 16711680,
8
+ green = 4961603,
9
+ blue = 52479,
10
+ orange = 16753920,
11
+ grey = 8421504
12
+ }
13
+ export declare const DATE_FORMAT = "DD/MM/YYYY HH:mm:ss";
14
+ export declare const dateFormatted: (date?: Date) => string;
15
+ export declare const generateDiscordHighlightBlock: (content: string) => string;
16
+ export declare const generateDiscordHighlightBlockWithColor: (color: keyof typeof DISCORD_EMBED_COLORS, message: string) => string;
17
+ export declare const getBlockColorByResultCode: (resultCode: number) => keyof typeof DISCORD_EMBED_COLORS;
18
+ export declare const getAPIEmbedColor: (color: keyof typeof DISCORD_EMBED_COLORS) => DISCORD_EMBED_COLORS;
19
+ export type ParamsGenerateDiscordAlertLogMessageContent = {
20
+ dashboardLogUrl: string;
21
+ author: string;
22
+ } & LogData;
23
+ export declare const generateDiscordAlertLogMessageContent: (params: ParamsGenerateDiscordAlertLogMessageContent, options?: {
24
+ compact?: boolean;
25
+ }) => WebhookMessageCreateOptions;
26
+ export type ParamsGenerateDiscordApiLogMessageContent = {
27
+ dashboardLogUrl: string;
28
+ author: string;
29
+ } & LogData;
30
+ export declare const generateDiscordApiLogMessageContent: (params: ParamsGenerateDiscordApiLogMessageContent) => WebhookMessageCreateOptions;
31
+ type ParamsGenerateDiscordStatsMessageContent = {
32
+ dashboardStatsUrl: string;
33
+ author: string;
34
+ } & PayloadSendStatsAlert;
35
+ export declare const generateDiscordStatsMessageContent: (params: ParamsGenerateDiscordStatsMessageContent) => WebhookMessageCreateOptions;
36
+ type ParamsGenerateDiscordCronTaskHistoryMessageContent = {
37
+ applicationCronTaskHistory: IApplicationCronTaskHistory;
38
+ applicationCronTask: IApplicationCronTask;
39
+ dashboardCronTaskHistoryUrl: string;
40
+ };
41
+ export declare const generateDiscordCronTaskHistoryMessageContent: (params: ParamsGenerateDiscordCronTaskHistoryMessageContent) => WebhookMessageCreateOptions;
42
+ export {};