@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
@@ -0,0 +1,158 @@
1
+ import QueryHelper from "../Types/Database/QueryHelper";
2
+ import DatabaseService from "./DatabaseService";
3
+ import SortOrder from "../../Types/BaseDatabase/SortOrder";
4
+ import LIMIT_MAX from "../../Types/Database/LimitMax";
5
+ import BadDataException from "../../Types/Exception/BadDataException";
6
+ import AlertState from "Common/Models/DatabaseModels/AlertState";
7
+ export class Service extends DatabaseService {
8
+ constructor() {
9
+ super(AlertState);
10
+ }
11
+ async onBeforeCreate(createBy) {
12
+ if (!createBy.data.order) {
13
+ throw new BadDataException("Alert State order is required");
14
+ }
15
+ if (!createBy.data.projectId) {
16
+ throw new BadDataException("Alert State projectId is required");
17
+ }
18
+ await this.rearrangeOrder(createBy.data.order, createBy.data.projectId, true);
19
+ return {
20
+ createBy: createBy,
21
+ carryForward: null,
22
+ };
23
+ }
24
+ async onBeforeDelete(deleteBy) {
25
+ if (!deleteBy.query._id && !deleteBy.props.isRoot) {
26
+ throw new BadDataException("_id should be present when deleting alert states. Please try the delete with objectId");
27
+ }
28
+ let alertState = null;
29
+ if (!deleteBy.props.isRoot) {
30
+ alertState = await this.findOneBy({
31
+ query: deleteBy.query,
32
+ props: {
33
+ isRoot: true,
34
+ },
35
+ select: {
36
+ order: true,
37
+ projectId: true,
38
+ },
39
+ });
40
+ }
41
+ return {
42
+ deleteBy,
43
+ carryForward: alertState,
44
+ };
45
+ }
46
+ async onDeleteSuccess(onDelete, _itemIdsBeforeDelete) {
47
+ const deleteBy = onDelete.deleteBy;
48
+ const alertState = onDelete.carryForward;
49
+ if (!deleteBy.props.isRoot && alertState) {
50
+ if (alertState && alertState.order && alertState.projectId) {
51
+ await this.rearrangeOrder(alertState.order, alertState.projectId, false);
52
+ }
53
+ }
54
+ return {
55
+ deleteBy: deleteBy,
56
+ carryForward: null,
57
+ };
58
+ }
59
+ async onBeforeUpdate(updateBy) {
60
+ if (updateBy.data.order && !updateBy.props.isRoot) {
61
+ throw new BadDataException("Alert State order should not be updated. Delete this alert state and create a new state with the right order.");
62
+ }
63
+ return { updateBy, carryForward: null };
64
+ }
65
+ async rearrangeOrder(currentOrder, projectId, increaseOrder = true) {
66
+ // get alert with this order.
67
+ const alertStates = await this.findBy({
68
+ query: {
69
+ order: QueryHelper.greaterThanEqualTo(currentOrder),
70
+ projectId: projectId,
71
+ },
72
+ limit: LIMIT_MAX,
73
+ skip: 0,
74
+ props: {
75
+ isRoot: true,
76
+ },
77
+ select: {
78
+ _id: true,
79
+ order: true,
80
+ },
81
+ sort: {
82
+ order: SortOrder.Ascending,
83
+ },
84
+ });
85
+ let newOrder = currentOrder;
86
+ for (const alertState of alertStates) {
87
+ if (increaseOrder) {
88
+ newOrder = alertState.order + 1;
89
+ }
90
+ else {
91
+ newOrder = alertState.order - 1;
92
+ }
93
+ await this.updateOneBy({
94
+ query: {
95
+ _id: alertState._id,
96
+ },
97
+ data: {
98
+ order: newOrder,
99
+ },
100
+ props: {
101
+ isRoot: true,
102
+ },
103
+ });
104
+ }
105
+ }
106
+ async getAllAlertStates(data) {
107
+ const alertStates = await this.findBy({
108
+ query: {
109
+ projectId: data.projectId,
110
+ },
111
+ skip: 0,
112
+ limit: LIMIT_MAX,
113
+ sort: {
114
+ order: SortOrder.Ascending,
115
+ },
116
+ select: {
117
+ _id: true,
118
+ isResolvedState: true,
119
+ isAcknowledgedState: true,
120
+ isCreatedState: true,
121
+ order: true,
122
+ },
123
+ props: data.props,
124
+ });
125
+ return alertStates;
126
+ }
127
+ async getUnresolvedAlertStates(projectId, props) {
128
+ const alertStates = await this.getAllAlertStates({
129
+ projectId: projectId,
130
+ props: props,
131
+ });
132
+ const unresolvedAlertStates = [];
133
+ for (const state of alertStates) {
134
+ if (!state.isResolvedState) {
135
+ unresolvedAlertStates.push(state);
136
+ }
137
+ else {
138
+ break; // everything after resolved state is resolved
139
+ }
140
+ }
141
+ return unresolvedAlertStates;
142
+ }
143
+ async getAcknowledgedAlertState(data) {
144
+ const alertStates = await this.getAllAlertStates({
145
+ projectId: data.projectId,
146
+ props: data.props,
147
+ });
148
+ const ackAlertState = alertStates.find((alertState) => {
149
+ return alertState === null || alertState === void 0 ? void 0 : alertState.isAcknowledgedState;
150
+ });
151
+ if (!ackAlertState) {
152
+ throw new BadDataException("Acknowledged Alert State not found for this project");
153
+ }
154
+ return ackAlertState;
155
+ }
156
+ }
157
+ export default new Service();
158
+ //# sourceMappingURL=AlertStateService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertStateService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertStateService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ import QueryHelper from "../Types/Database/QueryHelper";
2
+ import DatabaseService from "./DatabaseService";
3
+ import AlertService from "./AlertService";
4
+ import AlertStateService from "./AlertStateService";
5
+ import UserService from "./UserService";
6
+ import SortOrder from "../../Types/BaseDatabase/SortOrder";
7
+ import OneUptimeDate from "../../Types/Date";
8
+ import BadDataException from "../../Types/Exception/BadDataException";
9
+ import ObjectID from "../../Types/ObjectID";
10
+ import AlertStateTimeline from "Common/Models/DatabaseModels/AlertStateTimeline";
11
+ import { IsBillingEnabled } from "../EnvironmentConfig";
12
+ import AlertInternalNote from "../../Models/DatabaseModels/AlertInternalNote";
13
+ import AlertInternalNoteService from "./AlertInternalNoteService";
14
+ export class Service extends DatabaseService {
15
+ constructor() {
16
+ super(AlertStateTimeline);
17
+ if (IsBillingEnabled) {
18
+ this.hardDeleteItemsOlderThanInDays("createdAt", 120);
19
+ }
20
+ }
21
+ async getResolvedStateIdForProject(projectId) {
22
+ const resolvedState = await AlertStateService.findOneBy({
23
+ query: {
24
+ projectId: projectId,
25
+ isResolvedState: true,
26
+ },
27
+ props: {
28
+ isRoot: true,
29
+ },
30
+ select: {
31
+ _id: true,
32
+ },
33
+ });
34
+ if (!resolvedState) {
35
+ throw new BadDataException("No resolved state found for the project");
36
+ }
37
+ return resolvedState.id;
38
+ }
39
+ async onBeforeCreate(createBy) {
40
+ var _a;
41
+ if (!createBy.data.alertId) {
42
+ throw new BadDataException("alertId is null");
43
+ }
44
+ if (!createBy.data.startsAt) {
45
+ createBy.data.startsAt = OneUptimeDate.getCurrentDate();
46
+ }
47
+ if ((createBy.data.createdByUserId ||
48
+ createBy.data.createdByUser ||
49
+ createBy.props.userId) &&
50
+ !createBy.data.rootCause) {
51
+ let userId = createBy.data.createdByUserId;
52
+ if (createBy.props.userId) {
53
+ userId = createBy.props.userId;
54
+ }
55
+ if (createBy.data.createdByUser && createBy.data.createdByUser.id) {
56
+ userId = createBy.data.createdByUser.id;
57
+ }
58
+ const user = await UserService.findOneBy({
59
+ query: {
60
+ _id: userId === null || userId === void 0 ? void 0 : userId.toString(),
61
+ },
62
+ select: {
63
+ _id: true,
64
+ name: true,
65
+ email: true,
66
+ },
67
+ props: {
68
+ isRoot: true,
69
+ },
70
+ });
71
+ if (user) {
72
+ createBy.data.rootCause = `Alert state created by ${user.name} (${user.email})`;
73
+ }
74
+ }
75
+ const lastAlertStateTimeline = await this.findOneBy({
76
+ query: {
77
+ alertId: createBy.data.alertId,
78
+ },
79
+ sort: {
80
+ createdAt: SortOrder.Descending,
81
+ },
82
+ props: {
83
+ isRoot: true,
84
+ },
85
+ select: {
86
+ _id: true,
87
+ },
88
+ });
89
+ const internalNote = (_a = createBy.miscDataProps) === null || _a === void 0 ? void 0 : _a["internalNote"];
90
+ if (internalNote) {
91
+ const alertNote = new AlertInternalNote();
92
+ alertNote.alertId = createBy.data.alertId;
93
+ alertNote.note = internalNote;
94
+ alertNote.createdAt = createBy.data.startsAt;
95
+ alertNote.projectId = createBy.data.projectId;
96
+ await AlertInternalNoteService.create({
97
+ data: alertNote,
98
+ props: createBy.props,
99
+ });
100
+ }
101
+ return {
102
+ createBy,
103
+ carryForward: {
104
+ lastAlertStateTimelineId: (lastAlertStateTimeline === null || lastAlertStateTimeline === void 0 ? void 0 : lastAlertStateTimeline.id) || null,
105
+ },
106
+ };
107
+ }
108
+ async onCreateSuccess(onCreate, createdItem) {
109
+ var _a;
110
+ if (!createdItem.alertId) {
111
+ throw new BadDataException("alertId is null");
112
+ }
113
+ if (!createdItem.alertStateId) {
114
+ throw new BadDataException("alertStateId is null");
115
+ }
116
+ // update the last status as ended.
117
+ if (onCreate.carryForward.lastAlertStateTimelineId) {
118
+ await this.updateOneById({
119
+ id: onCreate.carryForward.lastAlertStateTimelineId,
120
+ data: {
121
+ endsAt: createdItem.createdAt || OneUptimeDate.getCurrentDate(),
122
+ },
123
+ props: {
124
+ isRoot: true,
125
+ },
126
+ });
127
+ }
128
+ await AlertService.updateOneBy({
129
+ query: {
130
+ _id: (_a = createdItem.alertId) === null || _a === void 0 ? void 0 : _a.toString(),
131
+ },
132
+ data: {
133
+ currentAlertStateId: createdItem.alertStateId,
134
+ },
135
+ props: onCreate.createBy.props,
136
+ });
137
+ return createdItem;
138
+ }
139
+ async onBeforeDelete(deleteBy) {
140
+ if (deleteBy.query._id) {
141
+ const alertStateTimelineToBeDeleted = await this.findOneById({
142
+ id: new ObjectID(deleteBy.query._id),
143
+ select: {
144
+ alertId: true,
145
+ startsAt: true,
146
+ },
147
+ props: {
148
+ isRoot: true,
149
+ },
150
+ });
151
+ const alertId = alertStateTimelineToBeDeleted === null || alertStateTimelineToBeDeleted === void 0 ? void 0 : alertStateTimelineToBeDeleted.alertId;
152
+ if (alertId) {
153
+ const alertStateTimeline = await this.countBy({
154
+ query: {
155
+ alertId: alertId,
156
+ },
157
+ props: {
158
+ isRoot: true,
159
+ },
160
+ });
161
+ if (alertStateTimeline.isOne()) {
162
+ throw new BadDataException("Cannot delete the only state timeline. Alert should have at least one state in its timeline.");
163
+ }
164
+ if (alertStateTimelineToBeDeleted === null || alertStateTimelineToBeDeleted === void 0 ? void 0 : alertStateTimelineToBeDeleted.startsAt) {
165
+ const beforeState = await this.findOneBy({
166
+ query: {
167
+ alertId: alertId,
168
+ startsAt: QueryHelper.lessThan(alertStateTimelineToBeDeleted === null || alertStateTimelineToBeDeleted === void 0 ? void 0 : alertStateTimelineToBeDeleted.startsAt),
169
+ },
170
+ sort: {
171
+ createdAt: SortOrder.Descending,
172
+ },
173
+ props: {
174
+ isRoot: true,
175
+ },
176
+ select: {
177
+ _id: true,
178
+ startsAt: true,
179
+ },
180
+ });
181
+ if (beforeState) {
182
+ const afterState = await this.findOneBy({
183
+ query: {
184
+ alertId: alertId,
185
+ startsAt: QueryHelper.greaterThan(alertStateTimelineToBeDeleted === null || alertStateTimelineToBeDeleted === void 0 ? void 0 : alertStateTimelineToBeDeleted.startsAt),
186
+ },
187
+ sort: {
188
+ createdAt: SortOrder.Ascending,
189
+ },
190
+ props: {
191
+ isRoot: true,
192
+ },
193
+ select: {
194
+ _id: true,
195
+ startsAt: true,
196
+ },
197
+ });
198
+ if (!afterState) {
199
+ // if there's nothing after then end date of before state is null.
200
+ await this.updateOneById({
201
+ id: beforeState.id,
202
+ data: {
203
+ endsAt: null,
204
+ },
205
+ props: {
206
+ isRoot: true,
207
+ },
208
+ });
209
+ }
210
+ else {
211
+ // if there's something after then end date of before state is start date of after state.
212
+ await this.updateOneById({
213
+ id: beforeState.id,
214
+ data: {
215
+ endsAt: afterState.startsAt,
216
+ },
217
+ props: {
218
+ isRoot: true,
219
+ },
220
+ });
221
+ }
222
+ }
223
+ }
224
+ }
225
+ return { deleteBy, carryForward: alertId };
226
+ }
227
+ return { deleteBy, carryForward: null };
228
+ }
229
+ async onDeleteSuccess(onDelete, _itemIdsBeforeDelete) {
230
+ if (onDelete.carryForward) {
231
+ // this is alertId.
232
+ const alertId = onDelete.carryForward;
233
+ // get last status of this monitor.
234
+ const alertStateTimeline = await this.findOneBy({
235
+ query: {
236
+ alertId: alertId,
237
+ },
238
+ sort: {
239
+ createdAt: SortOrder.Descending,
240
+ },
241
+ props: {
242
+ isRoot: true,
243
+ },
244
+ select: {
245
+ _id: true,
246
+ alertStateId: true,
247
+ },
248
+ });
249
+ if (alertStateTimeline && alertStateTimeline.alertStateId) {
250
+ await AlertService.updateOneBy({
251
+ query: {
252
+ _id: alertId.toString(),
253
+ },
254
+ data: {
255
+ currentAlertStateId: alertStateTimeline.alertStateId,
256
+ },
257
+ props: {
258
+ isRoot: true,
259
+ },
260
+ });
261
+ }
262
+ }
263
+ return onDelete;
264
+ }
265
+ }
266
+ export default new Service();
267
+ //# sourceMappingURL=AlertStateTimelineService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertStateTimelineService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertStateTimelineService.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
+ import { IsBillingEnabled } from "../EnvironmentConfig";
1
2
  import DatabaseService from "./DatabaseService";
2
3
  import Model from "Common/Models/DatabaseModels/CallLog";
3
4
  export class Service extends DatabaseService {
4
5
  constructor() {
5
6
  super(Model);
6
- this.hardDeleteItemsOlderThanInDays("createdAt", 3);
7
+ if (IsBillingEnabled) {
8
+ this.hardDeleteItemsOlderThanInDays("createdAt", 3);
9
+ }
7
10
  }
8
11
  }
9
12
  export default new Service();
@@ -1 +1 @@
1
- {"version":3,"file":"CallLogService.js","sourceRoot":"","sources":["../../../../Server/Services/CallLogService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,sCAAsC,CAAC;AAEzD,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"CallLogService.js","sourceRoot":"","sources":["../../../../Server/Services/CallLogService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,sCAAsC,CAAC;AAEzD,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -427,16 +427,16 @@ class DatabaseService extends BaseService {
427
427
  carryForward,
428
428
  }, createBy.data);
429
429
  }
430
+ let tenantId = createBy.props.tenantId;
431
+ if (!tenantId && this.getModel().getTenantColumn()) {
432
+ tenantId = createBy.data.getValue(this.getModel().getTenantColumn());
433
+ }
430
434
  // hit workflow.;
431
- if ((_a = this.getModel().enableWorkflowOn) === null || _a === void 0 ? void 0 : _a.create) {
432
- let tenantId = createBy.props.tenantId;
433
- if (!tenantId && this.getModel().getTenantColumn()) {
434
- tenantId = createBy.data.getValue(this.getModel().getTenantColumn());
435
- }
436
- if (tenantId) {
437
- await this.onTriggerWorkflow(createBy.data.id, tenantId, "on-create");
438
- await this.onTriggerRealtime(createBy.data.id, tenantId, ModelEventType.Create);
439
- }
435
+ if (((_a = this.getModel().enableWorkflowOn) === null || _a === void 0 ? void 0 : _a.create) && tenantId) {
436
+ await this.onTriggerWorkflow(createBy.data.id, tenantId, "on-create");
437
+ }
438
+ if (tenantId) {
439
+ await this.onTriggerRealtime(createBy.data.id, tenantId, ModelEventType.Create);
440
440
  }
441
441
  return createBy.data;
442
442
  }