@oneuptime/common 7.0.3148 → 7.0.3153

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 (222) hide show
  1. package/Models/DatabaseModels/Alert.ts +1010 -0
  2. package/Models/DatabaseModels/AlertCustomField.ts +340 -0
  3. package/Models/DatabaseModels/AlertInternalNote.ts +371 -0
  4. package/Models/DatabaseModels/AlertNoteTemplate.ts +352 -0
  5. package/Models/DatabaseModels/AlertOwnerTeam.ts +416 -0
  6. package/Models/DatabaseModels/AlertOwnerUser.ts +415 -0
  7. package/Models/DatabaseModels/AlertSeverity.ts +426 -0
  8. package/Models/DatabaseModels/AlertState.ts +502 -0
  9. package/Models/DatabaseModels/AlertStateTimeline.ts +525 -0
  10. package/Models/DatabaseModels/Incident.ts +2 -11
  11. package/Models/DatabaseModels/Index.ts +34 -12
  12. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +55 -0
  13. package/Models/DatabaseModels/TableView.ts +452 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.ts +51 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.ts +553 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  17. package/Server/Services/AlertCustomFieldService.ts +9 -0
  18. package/Server/Services/AlertInternalNoteService.ts +10 -0
  19. package/Server/Services/AlertNoteTemplateService.ts +9 -0
  20. package/Server/Services/AlertOwnerTeamService.ts +10 -0
  21. package/Server/Services/AlertOwnerUserService.ts +10 -0
  22. package/Server/Services/AlertService.ts +568 -0
  23. package/Server/Services/AlertSeverityService.ts +154 -0
  24. package/Server/Services/AlertStateService.ts +227 -0
  25. package/Server/Services/AlertStateTimelineService.ts +334 -0
  26. package/Server/Services/CallLogService.ts +4 -1
  27. package/Server/Services/DatabaseService.ts +17 -20
  28. package/Server/Services/EmailLogService.ts +4 -1
  29. package/Server/Services/IncidentService.ts +4 -1
  30. package/Server/Services/IncidentStateTimelineService.ts +4 -1
  31. package/Server/Services/Index.ts +23 -0
  32. package/Server/Services/MonitorStatusTimelineService.ts +4 -1
  33. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +4 -1
  34. package/Server/Services/OnCallDutyPolicyService.ts +15 -0
  35. package/Server/Services/ProjectService.ts +99 -1
  36. package/Server/Services/ScheduledMaintenanceService.ts +4 -1
  37. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +4 -1
  38. package/Server/Services/ShortLinkService.ts +4 -1
  39. package/Server/Services/SmsLogService.ts +4 -1
  40. package/Server/Services/TableViewService.ts +10 -0
  41. package/Server/Services/TelemetryUsageBillingService.ts +4 -1
  42. package/Server/Services/UserNotificationSettingService.ts +58 -0
  43. package/Server/Services/UserOnCallLogService.ts +4 -1
  44. package/Server/Services/WorkflowLogService.ts +4 -1
  45. package/Server/Types/Workflow/Components/API/Post.ts +25 -0
  46. package/Server/Utils/Monitor/MonitorAlert.ts +273 -0
  47. package/Server/Utils/Monitor/MonitorIncident.ts +298 -0
  48. package/Server/Utils/Monitor/MonitorResource.ts +67 -387
  49. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +120 -0
  50. package/Server/Utils/Realtime.ts +1 -35
  51. package/Types/Email/EmailTemplateType.ts +7 -0
  52. package/Types/Icon/IconProp.ts +1 -0
  53. package/Types/Monitor/CriteriaAlert.ts +11 -0
  54. package/Types/Monitor/MonitorCriteria.ts +2 -0
  55. package/Types/Monitor/MonitorCriteriaInstance.ts +134 -1
  56. package/Types/Monitor/MonitorStep.ts +1 -0
  57. package/Types/Monitor/MonitorSteps.ts +1 -0
  58. package/Types/NotificationSetting/NotificationSettingEventType.ts +7 -0
  59. package/Types/Permission.ts +369 -1
  60. package/Types/Telemetry/TelemetryQuery.ts +10 -0
  61. package/Types/UserNotification/UserNotificationEventType.ts +1 -0
  62. package/UI/Components/Card/Card.tsx +40 -31
  63. package/UI/Components/Card/CardButtons/MoreButton.ts +15 -0
  64. package/UI/Components/HeaderAlert/HeaderAlert.tsx +75 -16
  65. package/UI/Components/HeaderAlert/HeaderAlertGroup.tsx +50 -0
  66. package/UI/Components/HeaderAlert/HeaderModelAlert.tsx +5 -1
  67. package/UI/Components/Icon/Icon.tsx +8 -0
  68. package/UI/Components/ModelDetail/CardModelDetail.tsx +4 -2
  69. package/UI/Components/ModelTable/BaseModelTable.tsx +70 -2
  70. package/UI/Components/ModelTable/TableView.tsx +317 -0
  71. package/UI/Components/MoreMenu/Divider.tsx +7 -0
  72. package/UI/Components/MoreMenu/MoreMenu.tsx +54 -0
  73. package/UI/Components/MoreMenu/MoreMenuItem.tsx +37 -0
  74. package/UI/Components/MoreMenu/MoreMenuSection.tsx +22 -0
  75. package/UI/Components/Toggle/Toggle.tsx +14 -0
  76. package/build/dist/Models/DatabaseModels/Alert.js +1028 -0
  77. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -0
  78. package/build/dist/Models/DatabaseModels/AlertCustomField.js +360 -0
  79. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -0
  80. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +391 -0
  81. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -0
  82. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +372 -0
  83. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -0
  84. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +434 -0
  85. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -0
  86. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +433 -0
  87. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -0
  88. package/build/dist/Models/DatabaseModels/AlertSeverity.js +450 -0
  89. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -0
  90. package/build/dist/Models/DatabaseModels/AlertState.js +530 -0
  91. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -0
  92. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +548 -0
  93. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -0
  94. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  95. package/build/dist/Models/DatabaseModels/Index.js +29 -9
  96. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  97. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +55 -0
  98. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  99. package/build/dist/Models/DatabaseModels/TableView.js +475 -0
  100. package/build/dist/Models/DatabaseModels/TableView.js.map +1 -0
  101. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.js +24 -0
  102. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.js.map +1 -0
  103. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.js +198 -0
  104. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.js.map +1 -0
  105. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  106. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  107. package/build/dist/Server/Services/AlertCustomFieldService.js +9 -0
  108. package/build/dist/Server/Services/AlertCustomFieldService.js.map +1 -0
  109. package/build/dist/Server/Services/AlertInternalNoteService.js +9 -0
  110. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -0
  111. package/build/dist/Server/Services/AlertNoteTemplateService.js +9 -0
  112. package/build/dist/Server/Services/AlertNoteTemplateService.js.map +1 -0
  113. package/build/dist/Server/Services/AlertOwnerTeamService.js +9 -0
  114. package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -0
  115. package/build/dist/Server/Services/AlertOwnerUserService.js +9 -0
  116. package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -0
  117. package/build/dist/Server/Services/AlertService.js +418 -0
  118. package/build/dist/Server/Services/AlertService.js.map +1 -0
  119. package/build/dist/Server/Services/AlertSeverityService.js +108 -0
  120. package/build/dist/Server/Services/AlertSeverityService.js.map +1 -0
  121. package/build/dist/Server/Services/AlertStateService.js +158 -0
  122. package/build/dist/Server/Services/AlertStateService.js.map +1 -0
  123. package/build/dist/Server/Services/AlertStateTimelineService.js +267 -0
  124. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -0
  125. package/build/dist/Server/Services/CallLogService.js +4 -1
  126. package/build/dist/Server/Services/CallLogService.js.map +1 -1
  127. package/build/dist/Server/Services/DatabaseService.js +9 -9
  128. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  129. package/build/dist/Server/Services/EmailLogService.js +4 -1
  130. package/build/dist/Server/Services/EmailLogService.js.map +1 -1
  131. package/build/dist/Server/Services/IncidentService.js +4 -1
  132. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  133. package/build/dist/Server/Services/IncidentStateTimelineService.js +4 -1
  134. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  135. package/build/dist/Server/Services/Index.js +21 -0
  136. package/build/dist/Server/Services/Index.js.map +1 -1
  137. package/build/dist/Server/Services/MonitorStatusTimelineService.js +4 -1
  138. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  139. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +4 -1
  140. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  141. package/build/dist/Server/Services/OnCallDutyPolicyService.js +8 -0
  142. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  143. package/build/dist/Server/Services/ProjectService.js +80 -1
  144. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  145. package/build/dist/Server/Services/ScheduledMaintenanceService.js +4 -1
  146. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  147. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +4 -1
  148. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  149. package/build/dist/Server/Services/ShortLinkService.js +4 -1
  150. package/build/dist/Server/Services/ShortLinkService.js.map +1 -1
  151. package/build/dist/Server/Services/SmsLogService.js +4 -1
  152. package/build/dist/Server/Services/SmsLogService.js.map +1 -1
  153. package/build/dist/Server/Services/TableViewService.js +9 -0
  154. package/build/dist/Server/Services/TableViewService.js.map +1 -0
  155. package/build/dist/Server/Services/TelemetryUsageBillingService.js +4 -1
  156. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  157. package/build/dist/Server/Services/UserNotificationSettingService.js +49 -0
  158. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  159. package/build/dist/Server/Services/UserOnCallLogService.js +4 -1
  160. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  161. package/build/dist/Server/Services/WorkflowLogService.js +4 -1
  162. package/build/dist/Server/Services/WorkflowLogService.js.map +1 -1
  163. package/build/dist/Server/Types/Workflow/Components/API/Post.js +14 -0
  164. package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
  165. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +177 -0
  166. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -0
  167. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +187 -0
  168. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -0
  169. package/build/dist/Server/Utils/Monitor/MonitorResource.js +46 -254
  170. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  171. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +79 -0
  172. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -0
  173. package/build/dist/Server/Utils/Realtime.js +3 -28
  174. package/build/dist/Server/Utils/Realtime.js.map +1 -1
  175. package/build/dist/Types/Email/EmailTemplateType.js +4 -0
  176. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  177. package/build/dist/Types/Icon/IconProp.js +1 -0
  178. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  179. package/build/dist/Types/Monitor/CriteriaAlert.js +2 -0
  180. package/build/dist/Types/Monitor/CriteriaAlert.js.map +1 -0
  181. package/build/dist/Types/Monitor/MonitorCriteria.js +1 -0
  182. package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -1
  183. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +120 -1
  184. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  185. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  186. package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
  187. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +5 -0
  188. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  189. package/build/dist/Types/Permission.js +323 -1
  190. package/build/dist/Types/Permission.js.map +1 -1
  191. package/build/dist/Types/Telemetry/TelemetryQuery.js +2 -0
  192. package/build/dist/Types/Telemetry/TelemetryQuery.js.map +1 -0
  193. package/build/dist/Types/UserNotification/UserNotificationEventType.js +1 -0
  194. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
  195. package/build/dist/UI/Components/Card/Card.js +3 -2
  196. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  197. package/build/dist/UI/Components/Card/CardButtons/MoreButton.js +12 -0
  198. package/build/dist/UI/Components/Card/CardButtons/MoreButton.js.map +1 -0
  199. package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js +53 -9
  200. package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js.map +1 -1
  201. package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js +25 -0
  202. package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js.map +1 -0
  203. package/build/dist/UI/Components/HeaderAlert/HeaderModelAlert.js +1 -1
  204. package/build/dist/UI/Components/HeaderAlert/HeaderModelAlert.js.map +1 -1
  205. package/build/dist/UI/Components/Icon/Icon.js +3 -0
  206. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  207. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
  208. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +46 -0
  209. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  210. package/build/dist/UI/Components/ModelTable/TableView.js +183 -0
  211. package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -0
  212. package/build/dist/UI/Components/MoreMenu/Divider.js +6 -0
  213. package/build/dist/UI/Components/MoreMenu/Divider.js.map +1 -0
  214. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +19 -0
  215. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -0
  216. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +13 -0
  217. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -0
  218. package/build/dist/UI/Components/MoreMenu/MoreMenuSection.js +10 -0
  219. package/build/dist/UI/Components/MoreMenu/MoreMenuSection.js.map +1 -0
  220. package/build/dist/UI/Components/Toggle/Toggle.js +7 -1
  221. package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
  222. package/package.json +2 -2
@@ -1,6 +1,3 @@
1
- import IncidentService from "../../Services/IncidentService";
2
- import IncidentSeverityService from "../../Services/IncidentSeverityService";
3
- import IncidentStateTimelineService from "../../Services/IncidentStateTimelineService";
4
1
  import MonitorMetricsByMinuteService from "../../Services/MonitorMetricsByMinuteService";
5
2
  import MonitorProbeService from "../../Services/MonitorProbeService";
6
3
  import MonitorService from "../../Services/MonitorService";
@@ -14,23 +11,22 @@ import SSLMonitorCriteria from "./Criteria/SSLMonitorCriteria";
14
11
  import ServerMonitorCriteria from "./Criteria/ServerMonitorCriteria";
15
12
  import SyntheticMonitoringCriteria from "./Criteria/SyntheticMonitor";
16
13
  import SortOrder from "Common/Types/BaseDatabase/SortOrder";
17
- import { LIMIT_PER_PROJECT } from "Common/Types/Database/LimitMax";
18
14
  import BadDataException from "Common/Types/Exception/BadDataException";
19
15
  import { CheckOn, FilterCondition, } from "Common/Types/Monitor/CriteriaFilter";
20
16
  import MonitorType, { MonitorTypeHelper, } from "Common/Types/Monitor/MonitorType";
21
17
  import Typeof from "Common/Types/Typeof";
22
18
  import MonitorMetricsByMinute from "Common/Models/AnalyticsModels/MonitorMetricsByMinute";
23
- import Incident from "Common/Models/DatabaseModels/Incident";
24
- import IncidentStateTimeline from "Common/Models/DatabaseModels/IncidentStateTimeline";
25
19
  import MonitorStatusTimeline from "Common/Models/DatabaseModels/MonitorStatusTimeline";
26
- import OnCallDutyPolicy from "Common/Models/DatabaseModels/OnCallDutyPolicy";
27
20
  import OneUptimeDate from "Common/Types/Date";
28
21
  import LogMonitorCriteria from "./Criteria/LogMonitorCriteria";
29
22
  import TelemetryType from "Common/Types/Telemetry/TelemetryType";
30
23
  import TraceMonitorCriteria from "./Criteria/TraceMonitorCriteria";
24
+ import MonitorIncident from "./MonitorIncident";
25
+ import MonitorAlert from "./MonitorAlert";
26
+ import MonitorStatusTimelineUtil from "./MonitorStatusTimeline";
31
27
  export default class MonitorResourceUtil {
32
28
  static async monitorResource(dataToProcess) {
33
- var _a, _b, _c, _d, _e, _f, _g, _h;
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
34
30
  let response = {
35
31
  monitorId: dataToProcess.monitorId,
36
32
  criteriaMetId: undefined,
@@ -192,6 +188,24 @@ export default class MonitorResourceUtil {
192
188
  }
193
189
  }
194
190
  }
191
+ // alerts.
192
+ const autoResolveCriteriaInstanceIdAlertIdsDictionary = {};
193
+ const criteriaInstanceAlertMap = {};
194
+ for (const criteriaInstance of criteriaInstances) {
195
+ criteriaInstanceAlertMap[((_g = criteriaInstance.data) === null || _g === void 0 ? void 0 : _g.id) || ""] =
196
+ criteriaInstance;
197
+ if (((_h = criteriaInstance.data) === null || _h === void 0 ? void 0 : _h.alerts) &&
198
+ ((_j = criteriaInstance.data) === null || _j === void 0 ? void 0 : _j.alerts.length) > 0) {
199
+ for (const alertTemplate of criteriaInstance.data.alerts) {
200
+ if (alertTemplate.autoResolveAlert) {
201
+ if (!autoResolveCriteriaInstanceIdAlertIdsDictionary[criteriaInstance.data.id.toString()]) {
202
+ autoResolveCriteriaInstanceIdAlertIdsDictionary[criteriaInstance.data.id.toString()] = [];
203
+ }
204
+ (_k = autoResolveCriteriaInstanceIdAlertIdsDictionary[criteriaInstance.data.id.toString()]) === null || _k === void 0 ? void 0 : _k.push(alertTemplate.id);
205
+ }
206
+ }
207
+ }
208
+ }
195
209
  const monitorStep = monitorSteps.data.monitorStepsInstanceArray[0];
196
210
  logger.debug(`Monitor Step: ${monitorStep ? monitorStep.id : "undefined"}`);
197
211
  if (dataToProcess.monitorStepId) {
@@ -213,7 +227,7 @@ export default class MonitorResourceUtil {
213
227
  return step.id.toString() === monitorStep.id.toString();
214
228
  });
215
229
  response.nextMonitorStepId =
216
- (_g = monitorSteps.data.monitorStepsInstanceArray[nextMonitorStepIndex + 1]) === null || _g === void 0 ? void 0 : _g.id;
230
+ (_l = monitorSteps.data.monitorStepsInstanceArray[nextMonitorStepIndex + 1]) === null || _l === void 0 ? void 0 : _l.id;
217
231
  logger.debug(`Next Monitor Step ID: ${response.nextMonitorStepId}`);
218
232
  // now process probe response monitors
219
233
  logger.debug(`${dataToProcess.monitorId.toString()} - Processing monitor step...`);
@@ -241,7 +255,16 @@ export default class MonitorResourceUtil {
241
255
  };
242
256
  logger.debug(`${dataToProcess.monitorId.toString()} - Span query found.`);
243
257
  }
244
- await this.criteriaMetCreateIncidentsAndUpdateMonitorStatus({
258
+ await MonitorStatusTimelineUtil.updateMonitorStatusTimeline({
259
+ monitor: monitor,
260
+ rootCause: response.rootCause,
261
+ dataToProcess: dataToProcess,
262
+ criteriaInstance: criteriaInstanceMap[response.criteriaMetId],
263
+ props: {
264
+ telemetryQuery: telemetryQuery,
265
+ },
266
+ });
267
+ await MonitorIncident.criteriaMetCreateIncidentsAndUpdateMonitorStatus({
245
268
  monitor: monitor,
246
269
  rootCause: response.rootCause,
247
270
  dataToProcess: dataToProcess,
@@ -251,13 +274,23 @@ export default class MonitorResourceUtil {
251
274
  telemetryQuery: telemetryQuery,
252
275
  },
253
276
  });
277
+ await MonitorAlert.criteriaMetCreateAlertsAndUpdateMonitorStatus({
278
+ monitor: monitor,
279
+ rootCause: response.rootCause,
280
+ dataToProcess: dataToProcess,
281
+ autoResolveCriteriaInstanceIdAlertIdsDictionary,
282
+ criteriaInstance: criteriaInstanceAlertMap[response.criteriaMetId],
283
+ props: {
284
+ telemetryQuery: telemetryQuery,
285
+ },
286
+ });
254
287
  }
255
288
  else if (!response.criteriaMetId &&
256
289
  monitorSteps.data.defaultMonitorStatusId &&
257
- ((_h = monitor.currentMonitorStatusId) === null || _h === void 0 ? void 0 : _h.toString()) !==
290
+ ((_m = monitor.currentMonitorStatusId) === null || _m === void 0 ? void 0 : _m.toString()) !==
258
291
  monitorSteps.data.defaultMonitorStatusId.toString()) {
259
292
  logger.debug(`${dataToProcess.monitorId.toString()} - No criteria met. Change to default status.`);
260
- await this.checkOpenIncidentsAndCloseIfResolved({
293
+ await MonitorIncident.checkOpenIncidentsAndCloseIfResolved({
261
294
  monitorId: monitor.id,
262
295
  autoResolveCriteriaInstanceIdIncidentIdsDictionary,
263
296
  rootCause: "No monitoring criteria met. Change to default status.",
@@ -443,247 +476,6 @@ export default class MonitorResourceUtil {
443
476
  },
444
477
  });
445
478
  }
446
- static async checkOpenIncidentsAndCloseIfResolved(input) {
447
- // check active incidents and if there are open incidents, do not cretae anothr incident.
448
- const openIncidents = await IncidentService.findBy({
449
- query: {
450
- monitors: [input.monitorId],
451
- currentIncidentState: {
452
- isResolvedState: false,
453
- },
454
- },
455
- skip: 0,
456
- limit: LIMIT_PER_PROJECT,
457
- select: {
458
- _id: true,
459
- createdCriteriaId: true,
460
- createdIncidentTemplateId: true,
461
- projectId: true,
462
- },
463
- props: {
464
- isRoot: true,
465
- },
466
- });
467
- // check if should close the incident.
468
- for (const openIncident of openIncidents) {
469
- const shouldClose = MonitorResourceUtil.shouldCloseIncident({
470
- openIncident,
471
- autoResolveCriteriaInstanceIdIncidentIdsDictionary: input.autoResolveCriteriaInstanceIdIncidentIdsDictionary,
472
- criteriaInstance: input.criteriaInstance,
473
- });
474
- if (shouldClose) {
475
- // then resolve incident.
476
- await MonitorResourceUtil.resolveOpenIncident({
477
- openIncident: openIncident,
478
- rootCause: input.rootCause,
479
- dataToProcess: input.dataToProcess,
480
- });
481
- }
482
- }
483
- return openIncidents;
484
- }
485
- static async criteriaMetCreateIncidentsAndUpdateMonitorStatus(input) {
486
- // criteria filters are met, now process the actions.
487
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
488
- const lastMonitorStatusTimeline = await MonitorStatusTimelineService.findOneBy({
489
- query: {
490
- monitorId: input.monitor.id,
491
- projectId: input.monitor.projectId,
492
- },
493
- select: {
494
- _id: true,
495
- monitorStatusId: true,
496
- },
497
- sort: {
498
- startsAt: SortOrder.Descending,
499
- },
500
- props: {
501
- isRoot: true,
502
- },
503
- });
504
- let shouldUpdateStatus = false;
505
- if (!lastMonitorStatusTimeline) {
506
- // if monitor does not have any status timeline, then create one.
507
- shouldUpdateStatus = true;
508
- }
509
- if (((_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.changeMonitorStatus) &&
510
- ((_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.monitorStatusId) &&
511
- ((_c = input.criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.monitorStatusId.toString()) !==
512
- ((_d = lastMonitorStatusTimeline === null || lastMonitorStatusTimeline === void 0 ? void 0 : lastMonitorStatusTimeline.id) === null || _d === void 0 ? void 0 : _d.toString())) {
513
- // if monitor status is changed, then create a new status timeline.
514
- shouldUpdateStatus = true;
515
- }
516
- // check if the current status is same as the last status.
517
- if (((_e = input.criteriaInstance.data) === null || _e === void 0 ? void 0 : _e.changeMonitorStatus) &&
518
- ((_f = input.criteriaInstance.data) === null || _f === void 0 ? void 0 : _f.monitorStatusId) &&
519
- ((_g = input.criteriaInstance.data) === null || _g === void 0 ? void 0 : _g.monitorStatusId.toString()) !==
520
- ((_h = input.monitor.currentMonitorStatusId) === null || _h === void 0 ? void 0 : _h.toString())) {
521
- // if monitor status is changed, then create a new status timeline.
522
- shouldUpdateStatus = true;
523
- }
524
- if (shouldUpdateStatus) {
525
- logger.debug(`${(_j = input.monitor.id) === null || _j === void 0 ? void 0 : _j.toString()} - Change monitor status to ${(_l = (_k = input.criteriaInstance.data) === null || _k === void 0 ? void 0 : _k.monitorStatusId) === null || _l === void 0 ? void 0 : _l.toString()}`);
526
- // change monitor status
527
- const monitorStatusId = (_m = input.criteriaInstance.data) === null || _m === void 0 ? void 0 : _m.monitorStatusId;
528
- if (!monitorStatusId) {
529
- throw new BadDataException("Monitor status is not defined.");
530
- }
531
- //change monitor status.
532
- // get last status of this monitor.
533
- // get last monitor status timeline.
534
- if (lastMonitorStatusTimeline &&
535
- lastMonitorStatusTimeline.monitorStatusId &&
536
- lastMonitorStatusTimeline.monitorStatusId.toString() ===
537
- monitorStatusId.toString()) {
538
- // status is same as last status. do not create new status timeline.
539
- return;
540
- }
541
- const monitorStatusTimeline = new MonitorStatusTimeline();
542
- monitorStatusTimeline.monitorId = input.monitor.id;
543
- monitorStatusTimeline.monitorStatusId = monitorStatusId;
544
- monitorStatusTimeline.projectId = input.monitor.projectId;
545
- monitorStatusTimeline.statusChangeLog = JSON.parse(JSON.stringify(input.dataToProcess));
546
- monitorStatusTimeline.rootCause = input.rootCause;
547
- await MonitorStatusTimelineService.create({
548
- data: monitorStatusTimeline,
549
- props: {
550
- isRoot: true,
551
- },
552
- });
553
- }
554
- // check open incidents
555
- logger.debug(`${(_o = input.monitor.id) === null || _o === void 0 ? void 0 : _o.toString()} - Check open incidents.`);
556
- // check active incidents and if there are open incidents, do not cretae anothr incident.
557
- const openIncidents = await this.checkOpenIncidentsAndCloseIfResolved({
558
- monitorId: input.monitor.id,
559
- autoResolveCriteriaInstanceIdIncidentIdsDictionary: input.autoResolveCriteriaInstanceIdIncidentIdsDictionary,
560
- rootCause: input.rootCause,
561
- criteriaInstance: input.criteriaInstance,
562
- dataToProcess: input.dataToProcess,
563
- });
564
- if ((_p = input.criteriaInstance.data) === null || _p === void 0 ? void 0 : _p.createIncidents) {
565
- // create incidents
566
- for (const criteriaIncident of ((_q = input.criteriaInstance.data) === null || _q === void 0 ? void 0 : _q.incidents) ||
567
- []) {
568
- // should create incident.
569
- const alreadyOpenIncident = openIncidents.find((incident) => {
570
- var _a;
571
- return (incident.createdCriteriaId ===
572
- ((_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.id.toString()) &&
573
- incident.createdIncidentTemplateId ===
574
- criteriaIncident.id.toString());
575
- });
576
- const hasAlreadyOpenIncident = Boolean(alreadyOpenIncident);
577
- logger.debug(`${(_r = input.monitor.id) === null || _r === void 0 ? void 0 : _r.toString()} - Open Incident ${(_s = alreadyOpenIncident === null || alreadyOpenIncident === void 0 ? void 0 : alreadyOpenIncident.id) === null || _s === void 0 ? void 0 : _s.toString()}`);
578
- logger.debug(`${(_t = input.monitor.id) === null || _t === void 0 ? void 0 : _t.toString()} - Has open incident ${hasAlreadyOpenIncident}`);
579
- if (hasAlreadyOpenIncident) {
580
- continue;
581
- }
582
- // create incident here.
583
- logger.debug(`${(_u = input.monitor.id) === null || _u === void 0 ? void 0 : _u.toString()} - Create incident.`);
584
- const incident = new Incident();
585
- incident.title = criteriaIncident.title;
586
- incident.description = criteriaIncident.description;
587
- if (!criteriaIncident.incidentSeverityId) {
588
- // pick the critical criteria.
589
- const severity = await IncidentSeverityService.findOneBy({
590
- query: {
591
- projectId: input.monitor.projectId,
592
- },
593
- sort: {
594
- order: SortOrder.Ascending,
595
- },
596
- props: {
597
- isRoot: true,
598
- },
599
- select: {
600
- _id: true,
601
- },
602
- });
603
- if (!severity) {
604
- throw new BadDataException("Project does not have incident severity");
605
- }
606
- else {
607
- incident.incidentSeverityId = severity.id;
608
- }
609
- }
610
- else {
611
- incident.incidentSeverityId = criteriaIncident.incidentSeverityId;
612
- }
613
- incident.monitors = [input.monitor];
614
- incident.projectId = input.monitor.projectId;
615
- incident.rootCause = input.rootCause;
616
- incident.createdStateLog = JSON.parse(JSON.stringify(input.dataToProcess, null, 2));
617
- incident.createdCriteriaId = input.criteriaInstance.data.id.toString();
618
- incident.createdIncidentTemplateId = criteriaIncident.id.toString();
619
- incident.onCallDutyPolicies =
620
- ((_v = criteriaIncident.onCallPolicyIds) === null || _v === void 0 ? void 0 : _v.map((id) => {
621
- const onCallPolicy = new OnCallDutyPolicy();
622
- onCallPolicy._id = id.toString();
623
- return onCallPolicy;
624
- })) || [];
625
- incident.isCreatedAutomatically = true;
626
- if (input.props.telemetryQuery) {
627
- incident.telemetryQuery = input.props.telemetryQuery;
628
- }
629
- if (input.dataToProcess &&
630
- input.dataToProcess.probeId) {
631
- incident.createdByProbeId = input.dataToProcess.probeId;
632
- }
633
- if (criteriaIncident.remediationNotes) {
634
- incident.remediationNotes = criteriaIncident.remediationNotes;
635
- }
636
- await IncidentService.create({
637
- data: incident,
638
- props: {
639
- isRoot: true,
640
- },
641
- });
642
- }
643
- }
644
- }
645
- static async resolveOpenIncident(input) {
646
- const resolvedStateId = await IncidentStateTimelineService.getResolvedStateIdForProject(input.openIncident.projectId);
647
- const incidentStateTimeline = new IncidentStateTimeline();
648
- incidentStateTimeline.incidentId = input.openIncident.id;
649
- incidentStateTimeline.incidentStateId = resolvedStateId;
650
- incidentStateTimeline.projectId = input.openIncident.projectId;
651
- if (input.rootCause) {
652
- incidentStateTimeline.rootCause =
653
- "Incident autoresolved because autoresolve is set to true in monitor criteria. " +
654
- input.rootCause;
655
- }
656
- if (input.dataToProcess) {
657
- incidentStateTimeline.stateChangeLog = JSON.parse(JSON.stringify(input.dataToProcess));
658
- }
659
- await IncidentStateTimelineService.create({
660
- data: incidentStateTimeline,
661
- props: {
662
- isRoot: true,
663
- },
664
- });
665
- }
666
- static shouldCloseIncident(input) {
667
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
668
- if (((_a = input.openIncident.createdCriteriaId) === null || _a === void 0 ? void 0 : _a.toString()) ===
669
- ((_c = (_b = input.criteriaInstance) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.id.toString())) {
670
- // same incident active. So, do not close.
671
- return false;
672
- }
673
- // If antoher criteria is active then, check if the incident id is present in the map.
674
- if (!((_d = input.openIncident.createdCriteriaId) === null || _d === void 0 ? void 0 : _d.toString())) {
675
- return false;
676
- }
677
- if (!((_e = input.openIncident.createdIncidentTemplateId) === null || _e === void 0 ? void 0 : _e.toString())) {
678
- return false;
679
- }
680
- if (input.autoResolveCriteriaInstanceIdIncidentIdsDictionary[(_f = input.openIncident.createdCriteriaId) === null || _f === void 0 ? void 0 : _f.toString()]) {
681
- if ((_h = input.autoResolveCriteriaInstanceIdIncidentIdsDictionary[(_g = input.openIncident.createdCriteriaId) === null || _g === void 0 ? void 0 : _g.toString()]) === null || _h === void 0 ? void 0 : _h.includes((_j = input.openIncident.createdIncidentTemplateId) === null || _j === void 0 ? void 0 : _j.toString())) {
682
- return true;
683
- }
684
- }
685
- return false;
686
- }
687
479
  static async processMonitorStep(input) {
688
480
  // process monitor step here.
689
481
  var _a, _b, _c;
@@ -703,7 +495,7 @@ export default class MonitorResourceUtil {
703
495
  if (rootCause) {
704
496
  input.probeApiIngestResponse.criteriaMetId = (_b = criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.id;
705
497
  input.probeApiIngestResponse.rootCause = `
706
- **This incident is created because the following criteria was met**:
498
+ **Created because the following criteria was met**:
707
499
 
708
500
  **Criteria Name**: ${(_c = criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.name}
709
501
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorResource.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorResource.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AACzF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,4BAA4B,MAAM,sCAAsC,CAAC;AAChF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,2BAA2B,MAAM,6BAA6B,CAAC;AAEtE,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAE5D,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAIvE,OAAO,EACL,OAAO,EAEP,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,WAAW,EAAE,EAClB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,sBAAsB,MAAM,sDAAsD,CAAC;AAG1F,OAAO,qBAAqB,MAAM,oDAAoD,CAAC;AACvF,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAE/D,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AAEnE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,yBAAyB,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC/B,MAAM,CAAC,KAAK,CAAC,eAAe,CACjC,aAA4B;;QAE5B,IAAI,QAAQ,GAA2B;YACrC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEpC,gBAAgB;QAChB,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,aAAa,CAAC,SAAS;YAC3B,MAAM,EAAE;gBACN,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;gBACf,uBAAuB,EAAE,IAAI;gBAC7B,8CAA8C,EAAE,IAAI;gBACpD,yDAAyD,EAAE,IAAI;gBAC/D,sBAAsB,EAAE,IAAI;gBAC5B,GAAG,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YACxE,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,mEAAmE,CACzG,CAAC;YAEF,MAAM,IAAI,gBAAgB,CACxB,kEAAkE,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,8CAA8C,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,4IAA4I,CAClL,CAAC;YAEF,MAAM,IAAI,gBAAgB,CACxB,2IAA2I,CAC5I,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,yDAAyD,EAAE,CAAC;YACtE,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,sLAAsL,CAC5N,CAAC;YAEF,MAAM,IAAI,gBAAgB,CACxB,qLAAqL,CACtL,CAAC;QACJ,CAAC;QAED,qCAAqC;QAErC,+FAA+F;QAC/F,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,mBACnC,OAAO,CAAC,WACV,EAAE,CACH,CAAC;QAEF,IACE,OAAO,CAAC,WAAW;YACnB,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EACxD,CAAC;YACD,aAAa,GAAG,aAAqC,CAAC;YACtD,IAAK,aAAsC,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAM,YAAY,GAChB,MAAM,mBAAmB,CAAC,SAAS,CAAC;oBAClC,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAG;wBACtB,OAAO,EAAG,aAAsC,CAAC,OAAQ;qBAC1D;oBACD,MAAM,EAAE;wBACN,iBAAiB,EAAE,IAAI;qBACxB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;gBACtE,CAAC;gBAED,MAAM,mBAAmB,CAAC,WAAW,CAAC;oBACpC,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAG;wBACtB,OAAO,EAAG,aAAsC,CAAC,OAAQ;qBAC1D;oBACD,IAAI,EAAE;wBACJ,iBAAiB,EAAE,gCACd,CAAC,YAAY,CAAC,iBAAiB,IAAI,EAAE,CAAC,KACzC,CACE,aACD,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,kCACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAC5C,WAAW,EAAE,aAAa,CAAC,cAAc,EAAE,MAEvC;qBACT;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IACE,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,eAAe;YAClD,aAAwC,CAAC,yBAAyB,EACnE,CAAC;YACD,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,mCAAoC,aAAwC,CAAC,yBAAyB,EAAE,CAC9I,CAAC;YAEF,MAAM,cAAc,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,OAAO,CAAC,EAAG;gBACf,IAAI,EAAE;oBACJ,sBAAsB,EAAE,aAAoB;oBAC5C,yBAAyB,EAAG,aAAwC;yBACjE,yBAA0B,EAAE,4HAA4H;iBAC5J;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QAED,IACE,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,MAAM;YACzC,aAAuC,CAAC,iBAAiB,EAC1D,CAAC;YACD,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,iCAAkC,aAAuC,CAAC,iBAAiB,EAAE,CACnI,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE5B,MAAM,cAAc,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,OAAO,CAAC,EAAG;gBACf,IAAI,EAAE;oBACJ,8BAA8B,EAC5B,aACD,CAAC,iBAAkB;oBACpB,qBAAqB,EAAE,aAAsC,EAAE,4HAA4H;iBAC5L;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,2BAA2B,CACjE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAC5B,SAAS,EAAE,OAAO,CAAC,EAAG;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAU;gBAC7B,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAChE,CAAC;QAEF,MAAM,YAAY,GAAiB,OAAO,CAAC,YAAa,CAAC;QAEzD,IACE,CAAC,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,yBAAyB,CAAA;YAC7C,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,yBAAyB,CAAC,MAAM,MAAK,CAAC,EACzD,CAAC;YACD,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,yBAAyB,CAC/D,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uCAAuC,CAC7E,CAAC;QAEF,MAAM,iBAAiB,GACrB,YAAY,CAAC,IAAI,CAAC,yBAAyB;aACxC,GAAG,CAAC,CAAC,IAAiB,EAAE,EAAE;;YACzB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,eAAe,CAAC;QACpC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,QAAqC,EAAE,EAAE;YAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,QAAqC,EAAE,EAAE;;YAC7C,OAAO,CAAC,GAAG,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,4BAA4B,KAAI,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;QAEZ,MAAM,kDAAkD,GAEpD,EAAE,CAAC;QAEP,MAAM,mBAAmB,GAAwC,EAAE,CAAC;QAEpE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,mBAAmB,CAAC,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,EAAE,KAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC;YAExE,IACE,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,SAAS;gBAChC,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,SAAS,CAAC,MAAM,IAAG,CAAC,EAC3C,CAAC;gBACD,KAAK,MAAM,gBAAgB,IAAI,gBAAgB,CAAC,IAAK,CAAC,SAAS,EAAE,CAAC;oBAChE,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;wBACzC,IACE,CAAC,kDAAkD,CACjD,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,EACD,CAAC;4BACD,kDAAkD,CAChD,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,GAAG,EAAE,CAAC;wBACT,CAAC;wBAED,MAAA,kDAAkD,CAChD,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,0CAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU;QAEV,MAAM,+CAA+C,GAEjD,EAAE,CAAC;QAEP,MAAM,wBAAwB,GAAwC,EAAE,CAAC;QAEzE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,wBAAwB,CAAC,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,EAAE,KAAI,EAAE,CAAC;gBACvD,gBAAgB,CAAC;YAEnB,IACE,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,MAAM;gBAC7B,CAAA,MAAA,gBAAgB,CAAC,IAAI,0CAAE,MAAM,CAAC,MAAM,IAAG,CAAC,EACxC,CAAC;gBACD,KAAK,MAAM,aAAa,IAAI,gBAAgB,CAAC,IAAK,CAAC,MAAM,EAAE,CAAC;oBAC1D,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;wBACnC,IACE,CAAC,+CAA+C,CAC9C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,EACD,CAAC;4BACD,+CAA+C,CAC7C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,GAAG,EAAE,CAAC;wBACT,CAAC;wBAED,MAAA,+CAA+C,CAC7C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CACpC,0CAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GACf,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE5E,IAAK,aAAsC,CAAC,aAAa,EAAE,CAAC;YAC1D,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAC9C,CAAC,WAAwB,EAAE,EAAE;gBAC3B,OAAO,CACL,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;oBACxB,aAAsC,CAAC,aAAa,CAAC,QAAQ,EAAE,CACjE,CAAC;YACJ,CAAC,CACF,CAAC;YACF,MAAM,CAAC,KAAK,CACV,0BAA2B,aAAsC,CAAC,aAAa,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,+BAA+B;QAC/B,QAAQ,CAAC,qBAAqB,GAAG,WAAW,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,6BAA6B,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5D,wCAAwC;QACxC,MAAM,oBAAoB,GACxB,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CACnD,CAAC,IAAiB,EAAE,EAAE;YACpB,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC,CACF,CAAC;QAEJ,QAAQ,CAAC,iBAAiB;YACxB,MAAA,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,GAAG,CAAC,CAAC,0CAAE,EAAE,CAAC;QAE5E,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEpE,sCAAsC;QACtC,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,+BAA+B,CACrE,CAAC;QACF,QAAQ,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,CAAC;YACtD,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,OAAO;YAChB,sBAAsB,EAAE,QAAQ;SACjC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,oBACnC,QAAQ,CAAC,aACX,EAAE,CACH,CAAC;YACF,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,kBACnC,QAAQ,CAAC,SACX,EAAE,CACH,CAAC;YAEF,IAAI,cAAc,GAA+B,SAAS,CAAC;YAE3D,IAAI,aAAa,IAAK,aAAoC,CAAC,QAAQ,EAAE,CAAC;gBACpE,cAAc,GAAG;oBACf,cAAc,EAAG,aAAoC,CAAC,QAAQ;oBAC9D,aAAa,EAAE,aAAa,CAAC,GAAG;iBACjC,CAAC;gBACF,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAC3D,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,IAAK,aAAsC,CAAC,SAAS,EAAE,CAAC;gBACvE,cAAc,GAAG;oBACf,cAAc,EAAG,aAAsC,CAAC,SAAS;oBACjE,aAAa,EAAE,aAAa,CAAC,KAAK;iBACnC,CAAC;gBACF,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAC5D,CAAC;YACJ,CAAC;YAED,MAAM,yBAAyB,CAAC,2BAA2B,CAAC;gBAC1D,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,aAAa;gBAC5B,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,aAAc,CAAE;gBAC/D,KAAK,EAAE;oBACL,cAAc,EAAE,cAAc;iBAC/B;aACF,CAAC,CAAC;YAEH,MAAM,eAAe,CAAC,gDAAgD,CAAC;gBACrE,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,aAAa;gBAC5B,kDAAkD;gBAClD,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,aAAc,CAAE;gBAC/D,KAAK,EAAE;oBACL,cAAc,EAAE,cAAc;iBAC/B;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,CAAC,6CAA6C,CAAC;gBAC/D,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,aAAa;gBAC5B,+CAA+C;gBAC/C,gBAAgB,EAAE,wBAAwB,CAAC,QAAQ,CAAC,aAAc,CAAE;gBACpE,KAAK,EAAE;oBACL,cAAc,EAAE,cAAc;iBAC/B;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IACL,CAAC,QAAQ,CAAC,aAAa;YACvB,YAAY,CAAC,IAAI,CAAC,sBAAsB;YACxC,CAAA,MAAA,OAAO,CAAC,sBAAsB,0CAAE,QAAQ,EAAE;gBACxC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EACrD,CAAC;YACD,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,+CAA+C,CACrF,CAAC;YAEF,MAAM,eAAe,CAAC,oCAAoC,CAAC;gBACzD,SAAS,EAAE,OAAO,CAAC,EAAG;gBACtB,kDAAkD;gBAClD,SAAS,EAAE,uDAAuD;gBAClE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB;gBAC3C,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,yBAAyB,GAC7B,MAAM,4BAA4B,CAAC,SAAS,CAAC;gBAC3C,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,EAAG;oBACtB,SAAS,EAAE,OAAO,CAAC,SAAU;iBAC9B;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,eAAe,EAAE,IAAI;iBACtB;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,SAAS,CAAC,UAAU;iBAC/B;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,IACE,yBAAyB;gBACzB,yBAAyB,CAAC,eAAe;gBACzC,yBAAyB,CAAC,eAAe,CAAC,QAAQ,EAAE;oBAClD,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EACrD,CAAC;gBACD,oEAAoE;gBACpE,6CAA6C;YAC/C,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,MAAM,qBAAqB,GACzB,IAAI,qBAAqB,EAAE,CAAC;gBAC9B,qBAAqB,CAAC,SAAS,GAAG,OAAO,CAAC,EAAG,CAAC;gBAC9C,qBAAqB,CAAC,eAAe;oBACnC,YAAY,CAAC,IAAI,CAAC,sBAAuB,CAAC;gBAC5C,qBAAqB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAU,CAAC;gBACrD,qBAAqB,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAChD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAC9B,CAAC;gBACF,qBAAqB,CAAC,SAAS;oBAC7B,wDAAwD,CAAC;gBAE3D,MAAM,4BAA4B,CAAC,MAAM,CAAC;oBACxC,IAAI,EAAE,qBAAqB;oBAC3B,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CACV,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uCAAuC,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAItC;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAkC,EAAE,CAAC;QAEtD,IACG,IAAI,CAAC,aAAuC,CAAC,0BAA0B,EACxE,CAAC;YACD,mCAAmC;YAEnC,IAAK,IAAI,CAAC,aAAuC,CAAC,iBAAiB,EAAE,CAAC;gBACpE,IAAI,QAAQ,GAAY,IAAI,CAAC;gBAE7B,MAAM,mBAAmB,GACvB,aAAa,CAAC,sBAAsB,CACjC,IAAI,CAAC,aAAuC,CAAC,iBAAiB,EAC/D,aAAa,CAAC,cAAc,EAAE,CAC/B,CAAC;gBAEJ,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;oBAC5B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBAED,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;gBAE/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACrD,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtD,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,YAAY,GAChB,IAAI,CAAC,aACN,CAAC,0BAA0B,CAAC;YAE7B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;gBAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;gBAC5D,sBAAsB,CAAC,WAAW;oBAChC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC;gBAEtC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;gBAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBAC/D,sBAAsB,CAAC,WAAW;oBAChC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC;gBAEzC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;oBAClD,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;oBAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;oBAC7D,sBAAsB,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;oBAC5D,sBAAsB,CAAC,QAAQ,GAAG;wBAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;oBAEF,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAK,IAAI,CAAC,aAAsC,CAAC,gBAAgB,EAAE,CAAC;YAClE,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;YAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;YACzD,sBAAsB,CAAC,WAAW,GAChC,IAAI,CAAC,aACN,CAAC,gBAAgB,CAAC;YACnB,sBAAsB,CAAC,QAAQ,GAAG;gBAChC,OAAO,EACL,IAAI,CAAC,aACN,CAAC,OAAO,CAAC,QAAQ,EAAE;aACrB,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAK,IAAI,CAAC,aAAsC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;YAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;YACrD,sBAAsB,CAAC,WAAW,GAAG,CAAC,CAAC;YACvC,sBAAsB,CAAC,QAAQ,GAAG;gBAChC,OAAO,EACL,IAAI,CAAC,aACN,CAAC,OAAO,CAAC,QAAQ,EAAE;aACrB,CAAC;YAEF,IAAK,IAAI,CAAC,aAAsC,CAAC,QAAQ,EAAE,CAAC;gBAC1D,sBAAsB,CAAC,WAAW,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAK,IAAI,CAAC,aAAsC,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;YAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAC/D,sBAAsB,CAAC,WAAW,GAChC,IAAI,CAAC,aACN,CAAC,YAAY,CAAC;YACf,sBAAsB,CAAC,QAAQ,GAAG;gBAChC,OAAO,EACL,IAAI,CAAC,aACN,CAAC,OAAO,CAAC,QAAQ,EAAE;aACrB,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAK,IAAI,CAAC,aAAsC,CAAC,wBAAwB,EAAE,CAAC;YAC1E,KAAK,MAAM,wBAAwB,IACjC,IAAI,CAAC,aACN,CAAC,wBAAwB,IAAI,EAAE,EAAE,CAAC;gBACjC,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;gBAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;gBAC1D,sBAAsB,CAAC,WAAW;oBAChC,wBAAwB,CAAC,iBAAiB,CAAC;gBAC7C,sBAAsB,CAAC,QAAQ,GAAG;oBAChC,OAAO,EACL,IAAI,CAAC,aACN,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACpB,WAAW,EAAE,wBAAwB,CAAC,WAAW;oBACjD,cAAc,EAAE,wBAAwB,CAAC,cAAc;iBACxD,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IACG,IAAI,CAAC,aAAsC,CAAC,yBAAyB,EACtE,CAAC;YACD,MAAM,yBAAyB,GAC7B,IAAI,CAAC,aACN,CAAC,yBAA0B,CAAC;YAE7B,MAAM,sBAAsB,GAC1B,IAAI,sBAAsB,EAAE,CAAC;YAC/B,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;YAC1D,sBAAsB,CAAC,WAAW;gBAChC,yBAAyB,CAAC,iBAAiB,CAAC;YAC9C,sBAAsB,CAAC,QAAQ,GAAG;gBAChC,OAAO,EACL,IAAI,CAAC,aACN,CAAC,OAAO,CAAC,QAAQ,EAAE;aACrB,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,6BAA6B,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAKvC;QACC,6BAA6B;;QAE7B,MAAM,QAAQ,GACZ,MAAA,KAAK,CAAC,WAAW,CAAC,IAAI,0CAAE,eAAe,CAAC;QAE1C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,gDAAgD;YAChD,OAAO,KAAK,CAAC,sBAAsB,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1E,MAAM,SAAS,GACb,MAAM,mBAAmB,CAAC,6BAA6B,CAAC;gBACtD,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;gBACpD,gBAAgB,EAAE,gBAAgB;aACnC,CAAC,CAAC;YAEL,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,sBAAsB,CAAC,aAAa,GAAG,MAAA,gBAAgB,CAAC,IAAI,0CAAE,EAAE,CAAC;gBACvE,KAAK,CAAC,sBAAsB,CAAC,SAAS,GAAG;;;qBAG5B,MAAA,gBAAgB,CAAC,IAAI,0CAAE,IAAI;CAC/C,CAAC;gBAEM,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,sBAAsB,CAAC,SAAS,IAAI;6BACvB,SAAS;CACrC,CAAC;gBACM,CAAC;gBAED,IAAK,KAAK,CAAC,aAAsC,CAAC,YAAY,EAAE,CAAC;oBAC/D,KAAK,CAAC,sBAAsB,CAAC,SAAS,IAAI;aACtC,KAAK,CAAC,aAAsC,CAAC,YAAY,IAAI,EAAE;CAC5E,CAAC;gBACM,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,sBAAsB,CAAC;IACtC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,KAMlD;QACC,4DAA4D;QAC5D,0CAA0C;QAE1C,MAAM,SAAS,GACb,MAAM,mBAAmB,CAAC,mCAAmC,CAAC;YAC5D,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC,CAAC;QAEL,gDAAgD;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,KAMxD;;QACC,4DAA4D;QAC5D,IAAI,WAAW,GAAkB,mBAAmB,CAAC;QAErD,IAAI,eAAe,CAAC,GAAG,MAAK,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,eAAe,CAAA,EAAE,CAAC;YACzE,WAAW,GAAG,IAAI,CAAC,CAAC,kEAAkE;QACxF,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,CAAA,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,OAAO,KAAI,EAAE,EAAE,CAAC;YACxE,MAAM,SAAS,GACb,MAAM,mBAAmB,CAAC,kCAAkC,CAAC;gBAC3D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;gBACpD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,cAAc,EAAE,cAAc;aAC/B,CAAC,CAAC;YAEL,MAAM,eAAe,GAAY,OAAO,CAAC,SAAS,CAAC,CAAC;YAEpD,IACE,eAAe,CAAC,GAAG,MAAK,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,eAAe,CAAA;gBACpE,eAAe,KAAK,IAAI,EACxB,CAAC;gBACD,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,IACE,eAAe,CAAC,GAAG,MAAK,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,eAAe,CAAA;gBACpE,eAAe,KAAK,KAAK,EACzB,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;YAED,IACE,eAAe,CAAC,GAAG,MAAK,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,0CAAE,eAAe,CAAA;gBACpE,eAAe;gBACf,SAAS,EACT,CAAC;gBACD,WAAW,IAAI;;YAEX,SAAS,EAAE,CAAC,CAAC,sBAAsB;YACzC,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,KAOvD;QACC,4DAA4D;QAC5D,wCAAwC;;QAExC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClE,IAAI,UAAU,GAAe,EAAE,CAAC;YAEhC,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,GAAG;gBAC7C,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,OAAO,EACjD,CAAC;gBACD,oBAAoB;gBACpB,IAAI,YAAY,GAAsB,IAAI,CAAC;gBAC3C,IAAI,CAAC;oBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CACrB,KAAK,CAAC,aAAsC;yBAC3C,YAAuB,IAAI,IAAI,CACnC,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,GAAI,KAAK,CAAC,aAAsC;yBACzD,YAA0B,CAAC;gBAChC,CAAC;gBAED,IACE,OAAO,YAAY,KAAK,MAAM,CAAC,MAAM;oBACrC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,EAAE,MAAK,EAAE,EAC/B,CAAC;oBACD,4CAA4C;oBAC5C,YAAY,GAAG,EAAE,CAAC;gBACpB,CAAC;gBAED,UAAU,GAAG;oBACX,YAAY,EAAE,YAAY;oBAC1B,eAAe,EAAG,KAAK,CAAC,aAAsC;yBAC3D,eAAe;oBAClB,kBAAkB,EAAG,KAAK,CAAC,aAAsC;yBAC9D,YAAY;oBACf,gBAAgB,EAAG,KAAK,CAAC,aAAsC;yBAC5D,gBAAgB;oBACnB,QAAQ,EAAG,KAAK,CAAC,aAAsC,CAAC,QAAQ;iBACjE,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE,CAAC;gBAC9D,UAAU,GAAG;oBACX,WAAW,EAAG,KAAK,CAAC,aAAwC;yBACzD,WAAW;oBACd,cAAc,EAAG,KAAK,CAAC,aAAwC;yBAC5D,cAAc;iBAClB,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,IAAI,UAAU,GAAW,KAAK,CAAC,cAAc,CAAC,KAAe,CAAC;YAC9D,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,2BAA2B;YAEnG,MAAM,IAAI,GAAW,kBAAkB,UAAU,IAAI,CAAC;YACtD,IAAI,MAAM,GAAwB,IAAI,CAAC;YAEvC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;oBACrC,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,EAAE;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,2BAA2B,UAAU,uBAAuB,CAAC;YACtE,CAAC;YAED,OAAO,IAAI,CAAC,CAAC,4BAA4B;QAC3C,CAAC;QAED,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,GAAG;YAC7C,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,OAAO;YACjD,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE;YAC5C,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI;YAC9C,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,EAC9C,CAAC;YACD,MAAM,wBAAwB,GAC5B,MAAM,kBAAkB,CAAC,kCAAkC,CAAC;gBAC1D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,OAAO,wBAAwB,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,oBAAoB;YAC7D,KAAK,CAAC,aAAsC,CAAC,yBAAyB,EACvE,CAAC;YACD,MAAM,cAAc,GAClB,MAAM,4BAA4B,CAAC,kCAAkC,CAAC;gBACpE,eAAe,EAAG,KAAK,CAAC,aAAsC;qBAC3D,yBAA0B;gBAC7B,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,gBAAgB;YACzD,KAAK,CAAC,aAAsC,CAAC,wBAAwB,EACtE,CAAC;YACD,MAAM,cAAc,GAClB,MAAM,2BAA2B,CAAC,kCAAkC,CAAC;gBACnE,eAAe,EACZ,KAAK,CAAC,aAAsC;qBAC1C,wBAAwB,IAAI,EAAE;gBACnC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE,CAAC;YAC9D,MAAM,CAAC,KAAK,CACV,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,EAAE,0CAAE,QAAQ,EAAE,wDAAwD,CACxF,CAAC;YACF,yBAAyB;YACzB,MAAM,qBAAqB,GACzB,MAAM,uBAAuB,CAAC,kCAAkC,CAAC;gBAC/D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,OAAO,qBAAqB,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,cAAc,EAAE,CAAC;YAC7D,uBAAuB;YACvB,MAAM,gBAAgB,GACpB,MAAM,kBAAkB,CAAC,kCAAkC,CAAC;gBAC1D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,gBAAgB,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,uBAAuB;YACvB,MAAM,mBAAmB,GACvB,MAAM,qBAAqB,CAAC,kCAAkC,CAAC;gBAC7D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,mBAAmB,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACnD,uBAAuB;YACvB,MAAM,gBAAgB,GACpB,MAAM,kBAAkB,CAAC,kCAAkC,CAAC;gBAC1D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,gBAAgB,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,uBAAuB;YACvB,MAAM,kBAAkB,GACtB,MAAM,oBAAoB,CAAC,kCAAkC,CAAC;gBAC5D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YAEL,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,kBAAkB,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,79 @@
1
+ import MonitorStatusTimeline from "../../../Models/DatabaseModels/MonitorStatusTimeline";
2
+ import SortOrder from "../../../Types/BaseDatabase/SortOrder";
3
+ import BadDataException from "../../../Types/Exception/BadDataException";
4
+ import MonitorStatusTimelineService from "../../Services/MonitorStatusTimelineService";
5
+ import logger from "../Logger";
6
+ export default class MonitorStatusTimelineUtil {
7
+ static async updateMonitorStatusTimeline(input) {
8
+ // criteria filters are met, now process the actions.
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
10
+ const lastMonitorStatusTimeline = await MonitorStatusTimelineService.findOneBy({
11
+ query: {
12
+ monitorId: input.monitor.id,
13
+ projectId: input.monitor.projectId,
14
+ },
15
+ select: {
16
+ _id: true,
17
+ monitorStatusId: true,
18
+ },
19
+ sort: {
20
+ startsAt: SortOrder.Descending,
21
+ },
22
+ props: {
23
+ isRoot: true,
24
+ },
25
+ });
26
+ let shouldUpdateStatus = false;
27
+ if (!lastMonitorStatusTimeline) {
28
+ // if monitor does not have any status timeline, then create one.
29
+ shouldUpdateStatus = true;
30
+ }
31
+ if (((_a = input.criteriaInstance.data) === null || _a === void 0 ? void 0 : _a.changeMonitorStatus) &&
32
+ ((_b = input.criteriaInstance.data) === null || _b === void 0 ? void 0 : _b.monitorStatusId) &&
33
+ ((_c = input.criteriaInstance.data) === null || _c === void 0 ? void 0 : _c.monitorStatusId.toString()) !==
34
+ ((_d = lastMonitorStatusTimeline === null || lastMonitorStatusTimeline === void 0 ? void 0 : lastMonitorStatusTimeline.id) === null || _d === void 0 ? void 0 : _d.toString())) {
35
+ // if monitor status is changed, then create a new status timeline.
36
+ shouldUpdateStatus = true;
37
+ }
38
+ // check if the current status is same as the last status.
39
+ if (((_e = input.criteriaInstance.data) === null || _e === void 0 ? void 0 : _e.changeMonitorStatus) &&
40
+ ((_f = input.criteriaInstance.data) === null || _f === void 0 ? void 0 : _f.monitorStatusId) &&
41
+ ((_g = input.criteriaInstance.data) === null || _g === void 0 ? void 0 : _g.monitorStatusId.toString()) !==
42
+ ((_h = input.monitor.currentMonitorStatusId) === null || _h === void 0 ? void 0 : _h.toString())) {
43
+ // if monitor status is changed, then create a new status timeline.
44
+ shouldUpdateStatus = true;
45
+ }
46
+ if (shouldUpdateStatus) {
47
+ logger.debug(`${(_j = input.monitor.id) === null || _j === void 0 ? void 0 : _j.toString()} - Change monitor status to ${(_l = (_k = input.criteriaInstance.data) === null || _k === void 0 ? void 0 : _k.monitorStatusId) === null || _l === void 0 ? void 0 : _l.toString()}`);
48
+ // change monitor status
49
+ const monitorStatusId = (_m = input.criteriaInstance.data) === null || _m === void 0 ? void 0 : _m.monitorStatusId;
50
+ if (!monitorStatusId) {
51
+ throw new BadDataException("Monitor status is not defined.");
52
+ }
53
+ //change monitor status.
54
+ // get last status of this monitor.
55
+ // get last monitor status timeline.
56
+ if (lastMonitorStatusTimeline &&
57
+ lastMonitorStatusTimeline.monitorStatusId &&
58
+ lastMonitorStatusTimeline.monitorStatusId.toString() ===
59
+ monitorStatusId.toString()) {
60
+ // status is same as last status. do not create new status timeline.
61
+ return null;
62
+ }
63
+ const monitorStatusTimeline = new MonitorStatusTimeline();
64
+ monitorStatusTimeline.monitorId = input.monitor.id;
65
+ monitorStatusTimeline.monitorStatusId = monitorStatusId;
66
+ monitorStatusTimeline.projectId = input.monitor.projectId;
67
+ monitorStatusTimeline.statusChangeLog = JSON.parse(JSON.stringify(input.dataToProcess));
68
+ monitorStatusTimeline.rootCause = input.rootCause;
69
+ return await MonitorStatusTimelineService.create({
70
+ data: monitorStatusTimeline,
71
+ props: {
72
+ isRoot: true,
73
+ },
74
+ });
75
+ }
76
+ return null;
77
+ }
78
+ }
79
+ //# sourceMappingURL=MonitorStatusTimeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorStatusTimeline.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorStatusTimeline.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ import RealtimeUtil from "Common/Utils/Realtime";
6
6
  import JSONWebToken from "./JsonWebToken";
7
7
  import { getModelTypeByName } from "../../Models/DatabaseModels/Index";
8
8
  import { getModelTypeByName as getAnalyticsModelTypeByname } from "../../Models/AnalyticsModels/Index";
9
- import DatabaseRequestType from "../Types/BaseDatabase/DatabaseRequestType";
10
9
  import ModelPermission from "../../Types/BaseDatabase/ModelPermission";
11
10
  import ModelEventType from "../../Types/Realtime/ModelEventType";
12
11
  import EventName from "../../Types/Realtime/EventName";
@@ -104,22 +103,9 @@ class Realtime {
104
103
  const projectId = new ObjectID(data.tenantId.toString());
105
104
  // if it has the access to the tenant, check if it has access to the model
106
105
  const userTenantAccessPermission = await UserPermissionUtil.getUserTenantAccessPermissionFromCache(userId, projectId);
107
- let databaseRequestType = DatabaseRequestType.Read;
108
- if (data.eventType === ModelEventType.Create) {
109
- logger.debug("Event type is Create, setting request type to Create");
110
- databaseRequestType = DatabaseRequestType.Create;
111
- }
112
- if (data.eventType === ModelEventType.Update) {
113
- logger.debug("Event type is Update, setting request type to Update");
114
- databaseRequestType = DatabaseRequestType.Update;
115
- }
116
- if (data.eventType === ModelEventType.Delete) {
117
- logger.debug("Event type is Delete, setting request type to Delete");
118
- databaseRequestType = DatabaseRequestType.Delete;
119
- }
120
106
  // check if the user has access to this model
121
107
  if (userTenantAccessPermission &&
122
- this.hasPermissionsByModelName(userTenantAccessPermission, data.modelName, databaseRequestType)) {
108
+ this.hasPermissionsByModelName(userTenantAccessPermission, data.modelName)) {
123
109
  logger.debug("User has access to the model, granting access");
124
110
  hasAccess = true;
125
111
  }
@@ -177,7 +163,7 @@ class Realtime {
177
163
  this.socketServer.to(roomId).emit(roomId, jsonObject);
178
164
  this.socketServer.to(modelRoomId).emit(modelRoomId, jsonObject);
179
165
  }
180
- static hasPermissionsByModelName(userProjectPermissions, modelName, requestType) {
166
+ static hasPermissionsByModelName(userProjectPermissions, modelName) {
181
167
  let modelPermissions = [];
182
168
  let modelType = getModelTypeByName(modelName);
183
169
  if (!modelType) {
@@ -187,18 +173,7 @@ class Realtime {
187
173
  return false;
188
174
  }
189
175
  }
190
- if (requestType === DatabaseRequestType.Create) {
191
- modelPermissions = new modelType().getCreatePermissions();
192
- }
193
- if (requestType === DatabaseRequestType.Read) {
194
- modelPermissions = new modelType().getReadPermissions();
195
- }
196
- if (requestType === DatabaseRequestType.Update) {
197
- modelPermissions = new modelType().getUpdatePermissions();
198
- }
199
- if (requestType === DatabaseRequestType.Delete) {
200
- modelPermissions = new modelType().getDeletePermissions();
201
- }
176
+ modelPermissions = new modelType().getReadPermissions();
202
177
  return ModelPermission.hasPermissions(userProjectPermissions, modelPermissions);
203
178
  }
204
179
  static getAccessTokenFromSocket(socket) {