@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.
- package/Models/DatabaseModels/Alert.ts +1010 -0
- package/Models/DatabaseModels/AlertCustomField.ts +340 -0
- package/Models/DatabaseModels/AlertInternalNote.ts +371 -0
- package/Models/DatabaseModels/AlertNoteTemplate.ts +352 -0
- package/Models/DatabaseModels/AlertOwnerTeam.ts +416 -0
- package/Models/DatabaseModels/AlertOwnerUser.ts +415 -0
- package/Models/DatabaseModels/AlertSeverity.ts +426 -0
- package/Models/DatabaseModels/AlertState.ts +502 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +525 -0
- package/Models/DatabaseModels/Incident.ts +2 -11
- package/Models/DatabaseModels/Index.ts +34 -12
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +55 -0
- package/Models/DatabaseModels/TableView.ts +452 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.ts +51 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.ts +553 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Services/AlertCustomFieldService.ts +9 -0
- package/Server/Services/AlertInternalNoteService.ts +10 -0
- package/Server/Services/AlertNoteTemplateService.ts +9 -0
- package/Server/Services/AlertOwnerTeamService.ts +10 -0
- package/Server/Services/AlertOwnerUserService.ts +10 -0
- package/Server/Services/AlertService.ts +568 -0
- package/Server/Services/AlertSeverityService.ts +154 -0
- package/Server/Services/AlertStateService.ts +227 -0
- package/Server/Services/AlertStateTimelineService.ts +334 -0
- package/Server/Services/CallLogService.ts +4 -1
- package/Server/Services/DatabaseService.ts +17 -20
- package/Server/Services/EmailLogService.ts +4 -1
- package/Server/Services/IncidentService.ts +4 -1
- package/Server/Services/IncidentStateTimelineService.ts +4 -1
- package/Server/Services/Index.ts +23 -0
- package/Server/Services/MonitorStatusTimelineService.ts +4 -1
- package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +4 -1
- package/Server/Services/OnCallDutyPolicyService.ts +15 -0
- package/Server/Services/ProjectService.ts +99 -1
- package/Server/Services/ScheduledMaintenanceService.ts +4 -1
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +4 -1
- package/Server/Services/ShortLinkService.ts +4 -1
- package/Server/Services/SmsLogService.ts +4 -1
- package/Server/Services/TableViewService.ts +10 -0
- package/Server/Services/TelemetryUsageBillingService.ts +4 -1
- package/Server/Services/UserNotificationSettingService.ts +58 -0
- package/Server/Services/UserOnCallLogService.ts +4 -1
- package/Server/Services/WorkflowLogService.ts +4 -1
- package/Server/Types/Workflow/Components/API/Post.ts +25 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +273 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +298 -0
- package/Server/Utils/Monitor/MonitorResource.ts +67 -387
- package/Server/Utils/Monitor/MonitorStatusTimeline.ts +120 -0
- package/Server/Utils/Realtime.ts +1 -35
- package/Types/Email/EmailTemplateType.ts +7 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Monitor/CriteriaAlert.ts +11 -0
- package/Types/Monitor/MonitorCriteria.ts +2 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +134 -1
- package/Types/Monitor/MonitorStep.ts +1 -0
- package/Types/Monitor/MonitorSteps.ts +1 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +7 -0
- package/Types/Permission.ts +369 -1
- package/Types/Telemetry/TelemetryQuery.ts +10 -0
- package/Types/UserNotification/UserNotificationEventType.ts +1 -0
- package/UI/Components/Card/Card.tsx +40 -31
- package/UI/Components/Card/CardButtons/MoreButton.ts +15 -0
- package/UI/Components/HeaderAlert/HeaderAlert.tsx +75 -16
- package/UI/Components/HeaderAlert/HeaderAlertGroup.tsx +50 -0
- package/UI/Components/HeaderAlert/HeaderModelAlert.tsx +5 -1
- package/UI/Components/Icon/Icon.tsx +8 -0
- package/UI/Components/ModelDetail/CardModelDetail.tsx +4 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +70 -2
- package/UI/Components/ModelTable/TableView.tsx +317 -0
- package/UI/Components/MoreMenu/Divider.tsx +7 -0
- package/UI/Components/MoreMenu/MoreMenu.tsx +54 -0
- package/UI/Components/MoreMenu/MoreMenuItem.tsx +37 -0
- package/UI/Components/MoreMenu/MoreMenuSection.tsx +22 -0
- package/UI/Components/Toggle/Toggle.tsx +14 -0
- package/build/dist/Models/DatabaseModels/Alert.js +1028 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +360 -0
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js +391 -0
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +372 -0
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +434 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +433 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +450 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertState.js +530 -0
- package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +548 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +29 -9
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +55 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TableView.js +475 -0
- package/build/dist/Models/DatabaseModels/TableView.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727894983857-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.js +198 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727906598804-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertCustomFieldService.js +9 -0
- package/build/dist/Server/Services/AlertCustomFieldService.js.map +1 -0
- package/build/dist/Server/Services/AlertInternalNoteService.js +9 -0
- package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -0
- package/build/dist/Server/Services/AlertNoteTemplateService.js +9 -0
- package/build/dist/Server/Services/AlertNoteTemplateService.js.map +1 -0
- package/build/dist/Server/Services/AlertOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/AlertOwnerUserService.js +9 -0
- package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/AlertService.js +418 -0
- package/build/dist/Server/Services/AlertService.js.map +1 -0
- package/build/dist/Server/Services/AlertSeverityService.js +108 -0
- package/build/dist/Server/Services/AlertSeverityService.js.map +1 -0
- package/build/dist/Server/Services/AlertStateService.js +158 -0
- package/build/dist/Server/Services/AlertStateService.js.map +1 -0
- package/build/dist/Server/Services/AlertStateTimelineService.js +267 -0
- package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -0
- package/build/dist/Server/Services/CallLogService.js +4 -1
- package/build/dist/Server/Services/CallLogService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +9 -9
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/EmailLogService.js +4 -1
- package/build/dist/Server/Services/EmailLogService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +4 -1
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js +4 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +21 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +4 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +4 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyService.js +8 -0
- package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +80 -1
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +4 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +4 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ShortLinkService.js +4 -1
- package/build/dist/Server/Services/ShortLinkService.js.map +1 -1
- package/build/dist/Server/Services/SmsLogService.js +4 -1
- package/build/dist/Server/Services/SmsLogService.js.map +1 -1
- package/build/dist/Server/Services/TableViewService.js +9 -0
- package/build/dist/Server/Services/TableViewService.js.map +1 -0
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +4 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +49 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserOnCallLogService.js +4 -1
- package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowLogService.js +4 -1
- package/build/dist/Server/Services/WorkflowLogService.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js +14 -0
- package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +177 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +187 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +46 -254
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +79 -0
- package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -0
- package/build/dist/Server/Utils/Realtime.js +3 -28
- package/build/dist/Server/Utils/Realtime.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +4 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaAlert.js +2 -0
- package/build/dist/Types/Monitor/CriteriaAlert.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorCriteria.js +1 -0
- package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +120 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +5 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/Permission.js +323 -1
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Telemetry/TelemetryQuery.js +2 -0
- package/build/dist/Types/Telemetry/TelemetryQuery.js.map +1 -0
- package/build/dist/Types/UserNotification/UserNotificationEventType.js +1 -0
- package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
- package/build/dist/UI/Components/Card/Card.js +3 -2
- package/build/dist/UI/Components/Card/Card.js.map +1 -1
- package/build/dist/UI/Components/Card/CardButtons/MoreButton.js +12 -0
- package/build/dist/UI/Components/Card/CardButtons/MoreButton.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js +53 -9
- package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js.map +1 -1
- package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js +25 -0
- package/build/dist/UI/Components/HeaderAlert/HeaderAlertGroup.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/HeaderModelAlert.js +1 -1
- package/build/dist/UI/Components/HeaderAlert/HeaderModelAlert.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +3 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +46 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/TableView.js +183 -0
- package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -0
- package/build/dist/UI/Components/MoreMenu/Divider.js +6 -0
- package/build/dist/UI/Components/MoreMenu/Divider.js.map +1 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js +19 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +13 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenuSection.js +10 -0
- package/build/dist/UI/Components/MoreMenu/MoreMenuSection.js.map +1 -0
- package/build/dist/UI/Components/Toggle/Toggle.js +7 -1
- package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
- package/package.json +2 -2
package/Server/Utils/Realtime.ts
CHANGED
|
@@ -15,7 +15,6 @@ import Permission, {
|
|
|
15
15
|
} from "../../Types/Permission";
|
|
16
16
|
import { getModelTypeByName } from "../../Models/DatabaseModels/Index";
|
|
17
17
|
import { getModelTypeByName as getAnalyticsModelTypeByname } from "../../Models/AnalyticsModels/Index";
|
|
18
|
-
import DatabaseRequestType from "../Types/BaseDatabase/DatabaseRequestType";
|
|
19
18
|
import ModelPermission from "../../Types/BaseDatabase/ModelPermission";
|
|
20
19
|
import ModelEventType from "../../Types/Realtime/ModelEventType";
|
|
21
20
|
import ListenToModelEventJSON from "../../Types/Realtime/ListenToModelEventJSON";
|
|
@@ -161,30 +160,12 @@ export default abstract class Realtime {
|
|
|
161
160
|
projectId,
|
|
162
161
|
);
|
|
163
162
|
|
|
164
|
-
let databaseRequestType: DatabaseRequestType = DatabaseRequestType.Read;
|
|
165
|
-
|
|
166
|
-
if (data.eventType === ModelEventType.Create) {
|
|
167
|
-
logger.debug("Event type is Create, setting request type to Create");
|
|
168
|
-
databaseRequestType = DatabaseRequestType.Create;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (data.eventType === ModelEventType.Update) {
|
|
172
|
-
logger.debug("Event type is Update, setting request type to Update");
|
|
173
|
-
databaseRequestType = DatabaseRequestType.Update;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
if (data.eventType === ModelEventType.Delete) {
|
|
177
|
-
logger.debug("Event type is Delete, setting request type to Delete");
|
|
178
|
-
databaseRequestType = DatabaseRequestType.Delete;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
163
|
// check if the user has access to this model
|
|
182
164
|
if (
|
|
183
165
|
userTenantAccessPermission &&
|
|
184
166
|
this.hasPermissionsByModelName(
|
|
185
167
|
userTenantAccessPermission,
|
|
186
168
|
data.modelName,
|
|
187
|
-
databaseRequestType,
|
|
188
169
|
)
|
|
189
170
|
) {
|
|
190
171
|
logger.debug("User has access to the model, granting access");
|
|
@@ -297,7 +278,6 @@ export default abstract class Realtime {
|
|
|
297
278
|
public static hasPermissionsByModelName(
|
|
298
279
|
userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
|
|
299
280
|
modelName: string,
|
|
300
|
-
requestType: DatabaseRequestType,
|
|
301
281
|
): boolean {
|
|
302
282
|
let modelPermissions: Array<Permission> = [];
|
|
303
283
|
|
|
@@ -315,21 +295,7 @@ export default abstract class Realtime {
|
|
|
315
295
|
}
|
|
316
296
|
}
|
|
317
297
|
|
|
318
|
-
|
|
319
|
-
modelPermissions = new modelType().getCreatePermissions();
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
if (requestType === DatabaseRequestType.Read) {
|
|
323
|
-
modelPermissions = new modelType().getReadPermissions();
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
if (requestType === DatabaseRequestType.Update) {
|
|
327
|
-
modelPermissions = new modelType().getUpdatePermissions();
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
if (requestType === DatabaseRequestType.Delete) {
|
|
331
|
-
modelPermissions = new modelType().getDeletePermissions();
|
|
332
|
-
}
|
|
298
|
+
modelPermissions = new modelType().getReadPermissions();
|
|
333
299
|
|
|
334
300
|
return ModelPermission.hasPermissions(
|
|
335
301
|
userProjectPermissions,
|
|
@@ -25,10 +25,17 @@ enum EmailTemplateType {
|
|
|
25
25
|
MonitorOwnerResourceCreated = "MonitorOwnerResourceCreated.hbs",
|
|
26
26
|
MonitorProbesStatus = "MonitorProbesStatus.hbs",
|
|
27
27
|
MonitorOwnerStatusChanged = "MonitorOwnerStatusChanged.hbs",
|
|
28
|
+
|
|
28
29
|
IncidentOwnerAdded = "IncidentOwnerAdded.hbs",
|
|
29
30
|
IncidentOwnerStateChanged = "IncidentOwnerStateChanged.hbs",
|
|
30
31
|
IncidentOwnerNotePosted = "IncidentOwnerNotePosted.hbs",
|
|
31
32
|
IncidentOwnerResourceCreated = "IncidentOwnerResourceCreated.hbs",
|
|
33
|
+
|
|
34
|
+
AlertOwnerAdded = "AlertOwnerAdded.hbs",
|
|
35
|
+
AlertOwnerStateChanged = "AlertOwnerStateChanged.hbs",
|
|
36
|
+
AlertOwnerNotePosted = "AlertOwnerNotePosted.hbs",
|
|
37
|
+
AlertOwnerResourceCreated = "AlertOwnerResourceCreated.hbs",
|
|
38
|
+
|
|
32
39
|
ScheduledMaintenanceOwnerNotePosted = "ScheduledMaintenanceOwnerNotePosted.hbs",
|
|
33
40
|
ScheduledMaintenanceOwnerAdded = "ScheduledMaintenanceOwnerAdded.hbs",
|
|
34
41
|
ScheduledMaintenanceOwnerStateChanged = "ScheduledMaintenanceOwnerStateChanged.hbs",
|
package/Types/Icon/IconProp.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import ObjectID from "../ObjectID";
|
|
2
|
+
|
|
3
|
+
export interface CriteriaAlert {
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
alertSeverityId?: ObjectID | undefined;
|
|
7
|
+
autoResolveAlert?: boolean | undefined;
|
|
8
|
+
remediationNotes?: string | undefined;
|
|
9
|
+
id: string;
|
|
10
|
+
onCallPolicyIds?: Array<ObjectID> | undefined;
|
|
11
|
+
}
|
|
@@ -27,6 +27,7 @@ export default class MonitorCriteria extends DatabaseProperty {
|
|
|
27
27
|
onlineMonitorStatusId: ObjectID;
|
|
28
28
|
offlineMonitorStatusId: ObjectID;
|
|
29
29
|
defaultIncidentSeverityId: ObjectID;
|
|
30
|
+
defaultAlertSeverityId: ObjectID;
|
|
30
31
|
}): MonitorCriteria {
|
|
31
32
|
const monitorCriteria: MonitorCriteria = new MonitorCriteria();
|
|
32
33
|
const offlineCriteria: MonitorCriteriaInstance =
|
|
@@ -34,6 +35,7 @@ export default class MonitorCriteria extends DatabaseProperty {
|
|
|
34
35
|
monitorType: arg.monitorType,
|
|
35
36
|
monitorStatusId: arg.offlineMonitorStatusId,
|
|
36
37
|
incidentSeverityId: arg.defaultIncidentSeverityId,
|
|
38
|
+
alertSeverityId: arg.defaultAlertSeverityId,
|
|
37
39
|
monitorName: arg.monitorName,
|
|
38
40
|
});
|
|
39
41
|
|
|
@@ -4,6 +4,7 @@ import { JSONObject, ObjectType } from "../JSON";
|
|
|
4
4
|
import JSONFunctions from "../JSONFunctions";
|
|
5
5
|
import ObjectID from "../ObjectID";
|
|
6
6
|
import Typeof from "../Typeof";
|
|
7
|
+
import { CriteriaAlert } from "./CriteriaAlert";
|
|
7
8
|
import {
|
|
8
9
|
CheckOn,
|
|
9
10
|
CriteriaFilter,
|
|
@@ -19,10 +20,12 @@ export interface MonitorCriteriaInstanceType {
|
|
|
19
20
|
filterCondition: FilterCondition;
|
|
20
21
|
filters: Array<CriteriaFilter>;
|
|
21
22
|
incidents: Array<CriteriaIncident>;
|
|
23
|
+
alerts: Array<CriteriaAlert>;
|
|
22
24
|
name: string;
|
|
23
25
|
description: string;
|
|
24
26
|
changeMonitorStatus?: boolean | undefined;
|
|
25
27
|
createIncidents?: boolean | undefined;
|
|
28
|
+
createAlerts?: boolean | undefined;
|
|
26
29
|
id: string;
|
|
27
30
|
}
|
|
28
31
|
|
|
@@ -43,8 +46,10 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
43
46
|
},
|
|
44
47
|
],
|
|
45
48
|
createIncidents: false,
|
|
49
|
+
createAlerts: false,
|
|
46
50
|
changeMonitorStatus: false,
|
|
47
51
|
incidents: [],
|
|
52
|
+
alerts: [],
|
|
48
53
|
name: "",
|
|
49
54
|
description: "",
|
|
50
55
|
};
|
|
@@ -71,6 +76,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
71
76
|
},
|
|
72
77
|
],
|
|
73
78
|
incidents: [],
|
|
79
|
+
alerts: [],
|
|
80
|
+
createAlerts: false,
|
|
74
81
|
changeMonitorStatus: true,
|
|
75
82
|
createIncidents: false,
|
|
76
83
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -96,8 +103,10 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
96
103
|
},
|
|
97
104
|
],
|
|
98
105
|
incidents: [],
|
|
106
|
+
alerts: [],
|
|
99
107
|
changeMonitorStatus: true,
|
|
100
108
|
createIncidents: false,
|
|
109
|
+
createAlerts: false,
|
|
101
110
|
name: `Check if ${arg.monitorName} is online`,
|
|
102
111
|
description: `This criteria checks if the ${arg.monitorName} is online`,
|
|
103
112
|
};
|
|
@@ -121,6 +130,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
121
130
|
},
|
|
122
131
|
],
|
|
123
132
|
incidents: [],
|
|
133
|
+
alerts: [],
|
|
134
|
+
createAlerts: false,
|
|
124
135
|
changeMonitorStatus: true,
|
|
125
136
|
createIncidents: false,
|
|
126
137
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -146,6 +157,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
146
157
|
},
|
|
147
158
|
],
|
|
148
159
|
incidents: [],
|
|
160
|
+
alerts: [],
|
|
161
|
+
createAlerts: false,
|
|
149
162
|
changeMonitorStatus: true,
|
|
150
163
|
createIncidents: false,
|
|
151
164
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -174,6 +187,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
174
187
|
},
|
|
175
188
|
],
|
|
176
189
|
incidents: [],
|
|
190
|
+
alerts: [],
|
|
191
|
+
createAlerts: false,
|
|
177
192
|
changeMonitorStatus: true,
|
|
178
193
|
createIncidents: false,
|
|
179
194
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -199,6 +214,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
199
214
|
},
|
|
200
215
|
],
|
|
201
216
|
incidents: [],
|
|
217
|
+
alerts: [],
|
|
218
|
+
createAlerts: false,
|
|
202
219
|
changeMonitorStatus: true,
|
|
203
220
|
createIncidents: false,
|
|
204
221
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -230,6 +247,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
230
247
|
},
|
|
231
248
|
],
|
|
232
249
|
incidents: [],
|
|
250
|
+
alerts: [],
|
|
251
|
+
createAlerts: false,
|
|
233
252
|
changeMonitorStatus: true,
|
|
234
253
|
createIncidents: false,
|
|
235
254
|
name: `Check if ${arg.monitorName} is online`,
|
|
@@ -257,6 +276,7 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
257
276
|
monitorType: MonitorType;
|
|
258
277
|
monitorStatusId: ObjectID;
|
|
259
278
|
incidentSeverityId: ObjectID;
|
|
279
|
+
alertSeverityId: ObjectID;
|
|
260
280
|
monitorName: string;
|
|
261
281
|
}): MonitorCriteriaInstance {
|
|
262
282
|
const monitorCriteriaInstance: MonitorCriteriaInstance =
|
|
@@ -291,6 +311,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
291
311
|
],
|
|
292
312
|
changeMonitorStatus: true,
|
|
293
313
|
createIncidents: true,
|
|
314
|
+
createAlerts: false,
|
|
315
|
+
alerts: [
|
|
316
|
+
{
|
|
317
|
+
title: `${arg.monitorName} is offline`,
|
|
318
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
319
|
+
alertSeverityId: arg.alertSeverityId,
|
|
320
|
+
autoResolveAlert: true,
|
|
321
|
+
id: ObjectID.generate().toString(),
|
|
322
|
+
onCallPolicyIds: [],
|
|
323
|
+
},
|
|
324
|
+
],
|
|
294
325
|
name: `Check if ${arg.monitorName} is offline`,
|
|
295
326
|
description: `This criteria checks if the ${arg.monitorName} is offline`,
|
|
296
327
|
};
|
|
@@ -316,6 +347,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
316
347
|
value: 200,
|
|
317
348
|
},
|
|
318
349
|
],
|
|
350
|
+
alerts: [
|
|
351
|
+
{
|
|
352
|
+
title: `${arg.monitorName} is offline`,
|
|
353
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
354
|
+
alertSeverityId: arg.alertSeverityId,
|
|
355
|
+
autoResolveAlert: true,
|
|
356
|
+
id: ObjectID.generate().toString(),
|
|
357
|
+
onCallPolicyIds: [],
|
|
358
|
+
},
|
|
359
|
+
],
|
|
360
|
+
createAlerts: false,
|
|
319
361
|
incidents: [
|
|
320
362
|
{
|
|
321
363
|
title: `${arg.monitorName} is offline`,
|
|
@@ -355,6 +397,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
355
397
|
onCallPolicyIds: [],
|
|
356
398
|
},
|
|
357
399
|
],
|
|
400
|
+
alerts: [
|
|
401
|
+
{
|
|
402
|
+
title: `${arg.monitorName} is offline`,
|
|
403
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
404
|
+
alertSeverityId: arg.alertSeverityId,
|
|
405
|
+
autoResolveAlert: true,
|
|
406
|
+
id: ObjectID.generate().toString(),
|
|
407
|
+
onCallPolicyIds: [],
|
|
408
|
+
},
|
|
409
|
+
],
|
|
410
|
+
createAlerts: false,
|
|
358
411
|
changeMonitorStatus: true,
|
|
359
412
|
createIncidents: true,
|
|
360
413
|
name: `Check if ${arg.monitorName} is offline`,
|
|
@@ -374,6 +427,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
374
427
|
value: 0, // if there are no logs then the monitor is offline
|
|
375
428
|
},
|
|
376
429
|
],
|
|
430
|
+
alerts: [
|
|
431
|
+
{
|
|
432
|
+
title: `${arg.monitorName} is offline`,
|
|
433
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
434
|
+
alertSeverityId: arg.alertSeverityId,
|
|
435
|
+
autoResolveAlert: true,
|
|
436
|
+
id: ObjectID.generate().toString(),
|
|
437
|
+
onCallPolicyIds: [],
|
|
438
|
+
},
|
|
439
|
+
],
|
|
440
|
+
createAlerts: false,
|
|
377
441
|
incidents: [
|
|
378
442
|
{
|
|
379
443
|
title: `${arg.monitorName} is offline`,
|
|
@@ -403,6 +467,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
403
467
|
value: 30, // if the request is not recieved in 30 minutes, then the monitor is offline
|
|
404
468
|
},
|
|
405
469
|
],
|
|
470
|
+
alerts: [
|
|
471
|
+
{
|
|
472
|
+
title: `${arg.monitorName} is offline`,
|
|
473
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
474
|
+
alertSeverityId: arg.alertSeverityId,
|
|
475
|
+
autoResolveAlert: true,
|
|
476
|
+
id: ObjectID.generate().toString(),
|
|
477
|
+
onCallPolicyIds: [],
|
|
478
|
+
},
|
|
479
|
+
],
|
|
480
|
+
createAlerts: false,
|
|
406
481
|
incidents: [
|
|
407
482
|
{
|
|
408
483
|
title: `${arg.monitorName} is offline`,
|
|
@@ -435,6 +510,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
435
510
|
value: undefined,
|
|
436
511
|
},
|
|
437
512
|
],
|
|
513
|
+
alerts: [
|
|
514
|
+
{
|
|
515
|
+
title: `${arg.monitorName} is offline`,
|
|
516
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
517
|
+
alertSeverityId: arg.alertSeverityId,
|
|
518
|
+
autoResolveAlert: true,
|
|
519
|
+
id: ObjectID.generate().toString(),
|
|
520
|
+
onCallPolicyIds: [],
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
createAlerts: false,
|
|
438
524
|
incidents: [
|
|
439
525
|
{
|
|
440
526
|
title: `${arg.monitorName} is offline`,
|
|
@@ -457,6 +543,17 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
457
543
|
id: ObjectID.generate().toString(),
|
|
458
544
|
monitorStatusId: arg.monitorStatusId,
|
|
459
545
|
filterCondition: FilterCondition.Any,
|
|
546
|
+
alerts: [
|
|
547
|
+
{
|
|
548
|
+
title: `${arg.monitorName} is offline`,
|
|
549
|
+
description: `${arg.monitorName} is currently offline.`,
|
|
550
|
+
alertSeverityId: arg.alertSeverityId,
|
|
551
|
+
autoResolveAlert: true,
|
|
552
|
+
id: ObjectID.generate().toString(),
|
|
553
|
+
onCallPolicyIds: [],
|
|
554
|
+
},
|
|
555
|
+
],
|
|
556
|
+
createAlerts: false,
|
|
460
557
|
filters: [
|
|
461
558
|
{
|
|
462
559
|
checkOn: CheckOn.IsNotAValidCertificate,
|
|
@@ -626,6 +723,14 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
626
723
|
return this;
|
|
627
724
|
}
|
|
628
725
|
|
|
726
|
+
public setAlerts(alerts: Array<CriteriaAlert>): MonitorCriteriaInstance {
|
|
727
|
+
if (this.data) {
|
|
728
|
+
this.data.alerts = [...alerts];
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
return this;
|
|
732
|
+
}
|
|
733
|
+
|
|
629
734
|
public setChangeMonitorStatus(
|
|
630
735
|
changeMonitorStatus: boolean | undefined,
|
|
631
736
|
): MonitorCriteriaInstance {
|
|
@@ -646,6 +751,16 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
646
751
|
return this;
|
|
647
752
|
}
|
|
648
753
|
|
|
754
|
+
public setCreateAlerts(
|
|
755
|
+
createAlerts: boolean | undefined,
|
|
756
|
+
): MonitorCriteriaInstance {
|
|
757
|
+
if (this.data) {
|
|
758
|
+
this.data.createAlerts = createAlerts;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
return this;
|
|
762
|
+
}
|
|
763
|
+
|
|
649
764
|
public override toJSON(): JSONObject {
|
|
650
765
|
if (!this.data) {
|
|
651
766
|
return MonitorCriteriaInstance.getNewMonitorCriteriaInstanceAsJSON();
|
|
@@ -659,6 +774,8 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
659
774
|
filterCondition: this.data.filterCondition,
|
|
660
775
|
filters: this.data.filters,
|
|
661
776
|
incidents: this.data.incidents,
|
|
777
|
+
alerts: this.data.alerts,
|
|
778
|
+
createAlerts: this.data.createAlerts,
|
|
662
779
|
changeMonitorStatus: this.data.changeMonitorStatus,
|
|
663
780
|
createIncidents: this.data.createIncidents,
|
|
664
781
|
name: this.data.name,
|
|
@@ -705,13 +822,21 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
705
822
|
}
|
|
706
823
|
|
|
707
824
|
if (!json["incidents"]) {
|
|
708
|
-
|
|
825
|
+
json["incidents"] = [];
|
|
709
826
|
}
|
|
710
827
|
|
|
711
828
|
if (!Array.isArray(json["incidents"])) {
|
|
712
829
|
throw new BadDataException("json.incidents should be an array");
|
|
713
830
|
}
|
|
714
831
|
|
|
832
|
+
if (!json["alerts"]) {
|
|
833
|
+
json["alerts"] = [];
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
if (!Array.isArray(json["alerts"])) {
|
|
837
|
+
throw new BadDataException("json.alerts should be an array");
|
|
838
|
+
}
|
|
839
|
+
|
|
715
840
|
let monitorStatusId: ObjectID | undefined = undefined;
|
|
716
841
|
|
|
717
842
|
if (
|
|
@@ -744,6 +869,12 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
744
869
|
incidents.push({ ...(incident as any) });
|
|
745
870
|
}
|
|
746
871
|
|
|
872
|
+
const alerts: Array<CriteriaAlert> = [];
|
|
873
|
+
|
|
874
|
+
for (const alert of json["alerts"]) {
|
|
875
|
+
alerts.push({ ...(alert as any) });
|
|
876
|
+
}
|
|
877
|
+
|
|
747
878
|
const monitorCriteriaInstance: MonitorCriteriaInstance =
|
|
748
879
|
new MonitorCriteriaInstance();
|
|
749
880
|
|
|
@@ -753,8 +884,10 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
|
|
|
753
884
|
filterCondition,
|
|
754
885
|
changeMonitorStatus: (json["changeMonitorStatus"] as boolean) || false,
|
|
755
886
|
createIncidents: (json["createIncidents"] as boolean) || false,
|
|
887
|
+
createAlerts: (json["createAlerts"] as boolean) || false,
|
|
756
888
|
filters: filters as any,
|
|
757
889
|
incidents: incidents as any,
|
|
890
|
+
alerts: alerts as any,
|
|
758
891
|
name: (json["name"] as string) || "",
|
|
759
892
|
description: (json["description"] as string) || "",
|
|
760
893
|
}) as any;
|
|
@@ -77,6 +77,7 @@ export default class MonitorStep extends DatabaseProperty {
|
|
|
77
77
|
onlineMonitorStatusId: ObjectID;
|
|
78
78
|
offlineMonitorStatusId: ObjectID;
|
|
79
79
|
defaultIncidentSeverityId: ObjectID;
|
|
80
|
+
defaultAlertSeverityId: ObjectID;
|
|
80
81
|
}): MonitorStep {
|
|
81
82
|
const monitorStep: MonitorStep = new MonitorStep();
|
|
82
83
|
|
|
@@ -40,6 +40,7 @@ export default class MonitorSteps extends DatabaseProperty {
|
|
|
40
40
|
onlineMonitorStatusId: ObjectID;
|
|
41
41
|
offlineMonitorStatusId: ObjectID;
|
|
42
42
|
defaultIncidentSeverityId: ObjectID;
|
|
43
|
+
defaultAlertSeverityId: ObjectID;
|
|
43
44
|
}): MonitorSteps {
|
|
44
45
|
const monitorSteps: MonitorSteps = new MonitorSteps();
|
|
45
46
|
|
|
@@ -5,6 +5,13 @@ enum NotificationSettingEventType {
|
|
|
5
5
|
SEND_INCIDENT_STATE_CHANGED_OWNER_NOTIFICATION = "Send incident state changed notification when I am the owner of the incident",
|
|
6
6
|
SEND_INCIDENT_OWNER_ADDED_NOTIFICATION = "Send notification when I am added as a owner to the incident",
|
|
7
7
|
|
|
8
|
+
// Alerts
|
|
9
|
+
|
|
10
|
+
SEND_ALERT_CREATED_OWNER_NOTIFICATION = "Send alert created notification when I am the owner of the alert",
|
|
11
|
+
SEND_ALERT_NOTE_POSTED_OWNER_NOTIFICATION = "Send alert note posted notification when I am the owner of the alert",
|
|
12
|
+
SEND_ALERT_STATE_CHANGED_OWNER_NOTIFICATION = "Send alert state changed notification when I am the owner of the alert",
|
|
13
|
+
SEND_ALERT_OWNER_ADDED_NOTIFICATION = "Send notification when I am added as a owner to the alert",
|
|
14
|
+
|
|
8
15
|
// Monitors
|
|
9
16
|
SEND_MONITOR_OWNER_ADDED_NOTIFICATION = "Send notification when I am added as a owner to the monitor",
|
|
10
17
|
SEND_MONITOR_CREATED_OWNER_NOTIFICATION = "Send monitor created notification when I am the owner of the monitor",
|