@oneuptime/common 9.5.2 → 9.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/DatabaseModels/Alert.ts +28 -0
- package/Models/DatabaseModels/AlertEpisode.ts +27 -0
- package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +1 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +1 -0
- package/Models/DatabaseModels/Incident.ts +28 -0
- package/Models/DatabaseModels/IncidentEpisode.ts +182 -0
- package/Models/DatabaseModels/IncidentEpisodeFeed.ts +2 -0
- package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +611 -0
- package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +84 -0
- package/Models/DatabaseModels/IncidentGroupingRule.ts +36 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
- package/Models/DatabaseModels/Index.ts +2 -0
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +1 -0
- package/Models/DatabaseModels/Project.ts +252 -1
- package/Models/DatabaseModels/ProjectCallSMSConfig.ts +1 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +28 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +1 -0
- package/Models/DatabaseModels/StatusPage.ts +120 -0
- package/Server/API/IncidentEpisodePublicNoteAPI.ts +98 -0
- package/Server/API/StatusPageAPI.ts +1092 -45
- package/Server/Infrastructure/Postgres/SchemaMigrations/1770232207959-MigrationName.ts +181 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1770237245069-MigrationName.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1770237245070-MigrationName.ts +57 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1770407024682-MigrationName.ts +83 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Services/AlertEpisodeMemberService.ts +6 -3
- package/Server/Services/AlertEpisodeService.ts +45 -97
- package/Server/Services/AlertEpisodeStateTimelineService.ts +4 -2
- package/Server/Services/AlertInternalNoteService.ts +5 -2
- package/Server/Services/AlertOwnerTeamService.ts +10 -4
- package/Server/Services/AlertOwnerUserService.ts +10 -4
- package/Server/Services/AlertService.ts +24 -38
- package/Server/Services/AlertStateTimelineService.ts +6 -3
- package/Server/Services/DatabaseService.ts +12 -0
- package/Server/Services/IncidentEpisodeMemberService.ts +8 -4
- package/Server/Services/IncidentEpisodePublicNoteService.ts +257 -0
- package/Server/Services/IncidentEpisodeService.ts +67 -93
- package/Server/Services/IncidentEpisodeStateTimelineService.ts +4 -2
- package/Server/Services/IncidentInternalNoteService.ts +10 -5
- package/Server/Services/IncidentMemberService.ts +20 -10
- package/Server/Services/IncidentOwnerTeamService.ts +20 -10
- package/Server/Services/IncidentOwnerUserService.ts +20 -10
- package/Server/Services/IncidentPublicNoteService.ts +10 -5
- package/Server/Services/IncidentService.ts +34 -110
- package/Server/Services/IncidentStateTimelineService.ts +11 -6
- package/Server/Services/Index.ts +2 -0
- package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +61 -39
- package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +31 -19
- package/Server/Services/ProjectService.ts +227 -0
- package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +9 -6
- package/Server/Services/ScheduledMaintenancePublicNoteService.ts +9 -6
- package/Server/Services/ScheduledMaintenanceService.ts +27 -39
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +8 -6
- package/Server/Services/UserNotificationRuleService.ts +32 -21
- package/Server/Utils/AI/IncidentEpisodeAIContextBuilder.ts +4 -2
- package/Server/Utils/Browser.ts +28 -20
- package/Server/Utils/Monitor/MonitorAlert.ts +5 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +13 -0
- package/Server/Utils/PushNotificationUtil.ts +69 -26
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +8 -4
- package/Server/Utils/Workspace/Slack/Actions/Alert.ts +20 -8
- package/Server/Utils/Workspace/Slack/Actions/Incident.ts +42 -22
- package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +23 -17
- package/Server/Utils/Workspace/WorkspaceMessages/Alert.ts +1 -0
- package/Server/Utils/Workspace/WorkspaceMessages/Incident.ts +1 -0
- package/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.ts +1 -0
- package/Types/Email/EmailTemplateType.ts +4 -0
- package/Types/Icon/IconProp.ts +172 -0
- package/Types/Monitor/CriteriaIncident.ts +2 -0
- package/Types/Monitor/MonitorEvaluationSummary.ts +2 -0
- package/Types/Permission.ts +40 -0
- package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +5 -0
- package/UI/Components/Icon/Icon.tsx +1333 -1
- package/Utils/Analytics.ts +11 -0
- package/build/dist/Models/DatabaseModels/Alert.js +30 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisode.js +29 -0
- package/build/dist/Models/DatabaseModels/AlertEpisode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +30 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js +189 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js +2 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +626 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +86 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +37 -0
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +2 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +267 -1
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +1 -0
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +29 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +126 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Server/API/IncidentEpisodePublicNoteAPI.js +68 -0
- package/build/dist/Server/API/IncidentEpisodePublicNoteAPI.js.map +1 -0
- package/build/dist/Server/API/StatusPageAPI.js +874 -47
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770232207959-MigrationName.js +68 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770232207959-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770237245069-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770237245069-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770237245070-MigrationName.js +27 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770237245070-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770407024682-MigrationName.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1770407024682-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeMemberService.js +6 -3
- package/build/dist/Server/Services/AlertEpisodeMemberService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeService.js +33 -90
- package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js +3 -2
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/AlertInternalNoteService.js +2 -2
- package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerTeamService.js +4 -4
- package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerUserService.js +4 -4
- package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +16 -34
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AlertStateTimelineService.js +3 -3
- package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +9 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeMemberService.js +8 -4
- package/build/dist/Server/Services/IncidentEpisodeMemberService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +224 -0
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -0
- package/build/dist/Server/Services/IncidentEpisodeService.js +47 -82
- package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +3 -2
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentInternalNoteService.js +4 -2
- package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
- package/build/dist/Server/Services/IncidentMemberService.js +8 -4
- package/build/dist/Server/Services/IncidentMemberService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerTeamService.js +8 -4
- package/build/dist/Server/Services/IncidentOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerUserService.js +8 -4
- package/build/dist/Server/Services/IncidentOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPublicNoteService.js +4 -2
- package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +24 -94
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js +5 -3
- package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +2 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +20 -16
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +10 -8
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +207 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +4 -3
- package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +4 -3
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +16 -37
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +3 -3
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationRuleService.js +33 -25
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Utils/AI/IncidentEpisodeAIContextBuilder.js +4 -2
- package/build/dist/Server/Utils/AI/IncidentEpisodeAIContextBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Browser.js +19 -12
- package/build/dist/Server/Utils/Browser.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +4 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +9 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/PushNotificationUtil.js +36 -28
- package/build/dist/Server/Utils/PushNotificationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +8 -4
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +8 -8
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +18 -10
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +8 -8
- package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +3 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Icon/IconProp.js +172 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaIncident.js +1 -0
- package/build/dist/Types/Monitor/CriteriaIncident.js.map +1 -1
- package/build/dist/Types/Permission.js +34 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +4 -0
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +502 -1
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/Utils/Analytics.js +5 -0
- package/build/dist/Utils/Analytics.js.map +1 -1
- package/package.json +1 -1
|
@@ -862,6 +862,7 @@ export default class Alert extends BaseModel {
|
|
|
862
862
|
isDefaultValueColumn: false,
|
|
863
863
|
required: false,
|
|
864
864
|
type: TableColumnType.JSON,
|
|
865
|
+
computed: true,
|
|
865
866
|
})
|
|
866
867
|
@Column({
|
|
867
868
|
type: ColumnType.JSON,
|
|
@@ -1083,6 +1084,33 @@ export default class Alert extends BaseModel {
|
|
|
1083
1084
|
})
|
|
1084
1085
|
public alertNumber?: number = undefined;
|
|
1085
1086
|
|
|
1087
|
+
@ColumnAccessControl({
|
|
1088
|
+
create: [],
|
|
1089
|
+
read: [
|
|
1090
|
+
Permission.ProjectOwner,
|
|
1091
|
+
Permission.ProjectAdmin,
|
|
1092
|
+
Permission.ProjectMember,
|
|
1093
|
+
Permission.ReadAlert,
|
|
1094
|
+
Permission.ReadAllProjectResources,
|
|
1095
|
+
],
|
|
1096
|
+
update: [],
|
|
1097
|
+
})
|
|
1098
|
+
@TableColumn({
|
|
1099
|
+
isDefaultValueColumn: false,
|
|
1100
|
+
required: false,
|
|
1101
|
+
type: TableColumnType.ShortText,
|
|
1102
|
+
title: "Alert Number With Prefix",
|
|
1103
|
+
description: "Alert number with prefix (e.g., 'ALT-42' or '#42')",
|
|
1104
|
+
computed: true,
|
|
1105
|
+
canReadOnRelationQuery: true,
|
|
1106
|
+
})
|
|
1107
|
+
@Column({
|
|
1108
|
+
type: ColumnType.ShortText,
|
|
1109
|
+
length: ColumnLength.ShortText,
|
|
1110
|
+
nullable: true,
|
|
1111
|
+
})
|
|
1112
|
+
public alertNumberWithPrefix?: string = undefined;
|
|
1113
|
+
|
|
1086
1114
|
@ColumnAccessControl({
|
|
1087
1115
|
create: [],
|
|
1088
1116
|
read: [],
|
|
@@ -260,6 +260,32 @@ export default class AlertEpisode extends BaseModel {
|
|
|
260
260
|
})
|
|
261
261
|
public episodeNumber?: number = undefined;
|
|
262
262
|
|
|
263
|
+
@ColumnAccessControl({
|
|
264
|
+
create: [],
|
|
265
|
+
read: [
|
|
266
|
+
Permission.ProjectOwner,
|
|
267
|
+
Permission.ProjectAdmin,
|
|
268
|
+
Permission.ProjectMember,
|
|
269
|
+
Permission.ReadAlertEpisode,
|
|
270
|
+
Permission.ReadAllProjectResources,
|
|
271
|
+
],
|
|
272
|
+
update: [],
|
|
273
|
+
})
|
|
274
|
+
@TableColumn({
|
|
275
|
+
isDefaultValueColumn: false,
|
|
276
|
+
required: false,
|
|
277
|
+
type: TableColumnType.ShortText,
|
|
278
|
+
title: "Episode Number With Prefix",
|
|
279
|
+
description: "Episode number with prefix (e.g., 'AE-42' or '#42')",
|
|
280
|
+
computed: true,
|
|
281
|
+
})
|
|
282
|
+
@Column({
|
|
283
|
+
type: ColumnType.ShortText,
|
|
284
|
+
length: ColumnLength.ShortText,
|
|
285
|
+
nullable: true,
|
|
286
|
+
})
|
|
287
|
+
public episodeNumberWithPrefix?: string = undefined;
|
|
288
|
+
|
|
263
289
|
@ColumnAccessControl({
|
|
264
290
|
create: [
|
|
265
291
|
Permission.ProjectOwner,
|
|
@@ -840,6 +866,7 @@ export default class AlertEpisode extends BaseModel {
|
|
|
840
866
|
type: TableColumnType.Number,
|
|
841
867
|
required: true,
|
|
842
868
|
isDefaultValueColumn: true,
|
|
869
|
+
computed: true,
|
|
843
870
|
title: "Alert Count",
|
|
844
871
|
description: "Denormalized count of alerts in this episode",
|
|
845
872
|
defaultValue: 0,
|
|
@@ -1271,6 +1271,7 @@ export default class Incident extends BaseModel {
|
|
|
1271
1271
|
isDefaultValueColumn: false,
|
|
1272
1272
|
required: false,
|
|
1273
1273
|
type: TableColumnType.JSON,
|
|
1274
|
+
computed: true,
|
|
1274
1275
|
})
|
|
1275
1276
|
@Column({
|
|
1276
1277
|
type: ColumnType.JSON,
|
|
@@ -1511,6 +1512,33 @@ export default class Incident extends BaseModel {
|
|
|
1511
1512
|
})
|
|
1512
1513
|
public incidentNumber?: number = undefined;
|
|
1513
1514
|
|
|
1515
|
+
@ColumnAccessControl({
|
|
1516
|
+
create: [],
|
|
1517
|
+
read: [
|
|
1518
|
+
Permission.ProjectOwner,
|
|
1519
|
+
Permission.ProjectAdmin,
|
|
1520
|
+
Permission.ProjectMember,
|
|
1521
|
+
Permission.ReadProjectIncident,
|
|
1522
|
+
Permission.ReadAllProjectResources,
|
|
1523
|
+
],
|
|
1524
|
+
update: [],
|
|
1525
|
+
})
|
|
1526
|
+
@TableColumn({
|
|
1527
|
+
isDefaultValueColumn: false,
|
|
1528
|
+
required: false,
|
|
1529
|
+
type: TableColumnType.ShortText,
|
|
1530
|
+
title: "Incident Number With Prefix",
|
|
1531
|
+
description: "Incident number with prefix (e.g., 'INC-42' or '#42')",
|
|
1532
|
+
computed: true,
|
|
1533
|
+
canReadOnRelationQuery: true,
|
|
1534
|
+
})
|
|
1535
|
+
@Column({
|
|
1536
|
+
type: ColumnType.ShortText,
|
|
1537
|
+
length: ColumnLength.ShortText,
|
|
1538
|
+
nullable: true,
|
|
1539
|
+
})
|
|
1540
|
+
public incidentNumberWithPrefix?: string = undefined;
|
|
1541
|
+
|
|
1514
1542
|
@ColumnAccessControl({
|
|
1515
1543
|
create: [],
|
|
1516
1544
|
read: [],
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
ManyToOne,
|
|
35
35
|
} from "typeorm";
|
|
36
36
|
import NotificationRuleWorkspaceChannel from "../../Types/Workspace/NotificationRules/NotificationRuleWorkspaceChannel";
|
|
37
|
+
import StatusPageSubscriberNotificationStatus from "../../Types/StatusPage/StatusPageSubscriberNotificationStatus";
|
|
37
38
|
|
|
38
39
|
@EnableDocumentation()
|
|
39
40
|
@AccessControlColumn("labels")
|
|
@@ -258,6 +259,32 @@ export default class IncidentEpisode extends BaseModel {
|
|
|
258
259
|
})
|
|
259
260
|
public episodeNumber?: number = undefined;
|
|
260
261
|
|
|
262
|
+
@ColumnAccessControl({
|
|
263
|
+
create: [],
|
|
264
|
+
read: [
|
|
265
|
+
Permission.ProjectOwner,
|
|
266
|
+
Permission.ProjectAdmin,
|
|
267
|
+
Permission.ProjectMember,
|
|
268
|
+
Permission.ReadIncidentEpisode,
|
|
269
|
+
Permission.ReadAllProjectResources,
|
|
270
|
+
],
|
|
271
|
+
update: [],
|
|
272
|
+
})
|
|
273
|
+
@TableColumn({
|
|
274
|
+
isDefaultValueColumn: false,
|
|
275
|
+
required: false,
|
|
276
|
+
type: TableColumnType.ShortText,
|
|
277
|
+
title: "Episode Number With Prefix",
|
|
278
|
+
description: "Episode number with prefix (e.g., 'IE-42' or '#42')",
|
|
279
|
+
computed: true,
|
|
280
|
+
})
|
|
281
|
+
@Column({
|
|
282
|
+
type: ColumnType.ShortText,
|
|
283
|
+
length: ColumnLength.ShortText,
|
|
284
|
+
nullable: true,
|
|
285
|
+
})
|
|
286
|
+
public episodeNumberWithPrefix?: string = undefined;
|
|
287
|
+
|
|
261
288
|
@ColumnAccessControl({
|
|
262
289
|
create: [
|
|
263
290
|
Permission.ProjectOwner,
|
|
@@ -760,6 +787,7 @@ export default class IncidentEpisode extends BaseModel {
|
|
|
760
787
|
type: TableColumnType.Number,
|
|
761
788
|
required: true,
|
|
762
789
|
isDefaultValueColumn: true,
|
|
790
|
+
computed: true,
|
|
763
791
|
title: "Incident Count",
|
|
764
792
|
description: "Denormalized count of incidents in this episode",
|
|
765
793
|
defaultValue: 0,
|
|
@@ -1253,4 +1281,158 @@ export default class IncidentEpisode extends BaseModel {
|
|
|
1253
1281
|
})
|
|
1254
1282
|
public postUpdatesToWorkspaceChannels?: Array<NotificationRuleWorkspaceChannel> =
|
|
1255
1283
|
undefined;
|
|
1284
|
+
|
|
1285
|
+
@ColumnAccessControl({
|
|
1286
|
+
create: [
|
|
1287
|
+
Permission.ProjectOwner,
|
|
1288
|
+
Permission.ProjectAdmin,
|
|
1289
|
+
Permission.ProjectMember,
|
|
1290
|
+
Permission.CreateIncidentEpisode,
|
|
1291
|
+
],
|
|
1292
|
+
read: [
|
|
1293
|
+
Permission.ProjectOwner,
|
|
1294
|
+
Permission.ProjectAdmin,
|
|
1295
|
+
Permission.ProjectMember,
|
|
1296
|
+
Permission.ReadIncidentEpisode,
|
|
1297
|
+
Permission.ReadAllProjectResources,
|
|
1298
|
+
],
|
|
1299
|
+
update: [
|
|
1300
|
+
Permission.ProjectOwner,
|
|
1301
|
+
Permission.ProjectAdmin,
|
|
1302
|
+
Permission.ProjectMember,
|
|
1303
|
+
Permission.EditIncidentEpisode,
|
|
1304
|
+
],
|
|
1305
|
+
})
|
|
1306
|
+
@Index()
|
|
1307
|
+
@TableColumn({
|
|
1308
|
+
type: TableColumnType.Boolean,
|
|
1309
|
+
required: true,
|
|
1310
|
+
isDefaultValueColumn: true,
|
|
1311
|
+
title: "Visible on Status Page",
|
|
1312
|
+
description: "Should this episode be visible on the status page?",
|
|
1313
|
+
defaultValue: false,
|
|
1314
|
+
})
|
|
1315
|
+
@Column({
|
|
1316
|
+
type: ColumnType.Boolean,
|
|
1317
|
+
nullable: false,
|
|
1318
|
+
default: false,
|
|
1319
|
+
})
|
|
1320
|
+
public isVisibleOnStatusPage?: boolean = undefined;
|
|
1321
|
+
|
|
1322
|
+
@ColumnAccessControl({
|
|
1323
|
+
create: [
|
|
1324
|
+
Permission.ProjectOwner,
|
|
1325
|
+
Permission.ProjectAdmin,
|
|
1326
|
+
Permission.ProjectMember,
|
|
1327
|
+
Permission.CreateIncidentEpisode,
|
|
1328
|
+
],
|
|
1329
|
+
read: [
|
|
1330
|
+
Permission.ProjectOwner,
|
|
1331
|
+
Permission.ProjectAdmin,
|
|
1332
|
+
Permission.ProjectMember,
|
|
1333
|
+
Permission.ReadIncidentEpisode,
|
|
1334
|
+
Permission.ReadAllProjectResources,
|
|
1335
|
+
],
|
|
1336
|
+
update: [
|
|
1337
|
+
Permission.ProjectOwner,
|
|
1338
|
+
Permission.ProjectAdmin,
|
|
1339
|
+
Permission.ProjectMember,
|
|
1340
|
+
Permission.EditIncidentEpisode,
|
|
1341
|
+
],
|
|
1342
|
+
})
|
|
1343
|
+
@Index()
|
|
1344
|
+
@TableColumn({
|
|
1345
|
+
type: TableColumnType.Date,
|
|
1346
|
+
title: "Declared At",
|
|
1347
|
+
description: "When this episode was declared",
|
|
1348
|
+
})
|
|
1349
|
+
@Column({
|
|
1350
|
+
type: ColumnType.Date,
|
|
1351
|
+
nullable: true,
|
|
1352
|
+
unique: false,
|
|
1353
|
+
})
|
|
1354
|
+
public declaredAt?: Date = undefined;
|
|
1355
|
+
|
|
1356
|
+
@ColumnAccessControl({
|
|
1357
|
+
create: [
|
|
1358
|
+
Permission.ProjectOwner,
|
|
1359
|
+
Permission.ProjectAdmin,
|
|
1360
|
+
Permission.ProjectMember,
|
|
1361
|
+
Permission.CreateIncidentEpisode,
|
|
1362
|
+
],
|
|
1363
|
+
read: [
|
|
1364
|
+
Permission.ProjectOwner,
|
|
1365
|
+
Permission.ProjectAdmin,
|
|
1366
|
+
Permission.ProjectMember,
|
|
1367
|
+
Permission.ReadIncidentEpisode,
|
|
1368
|
+
Permission.ReadAllProjectResources,
|
|
1369
|
+
],
|
|
1370
|
+
update: [],
|
|
1371
|
+
})
|
|
1372
|
+
@TableColumn({
|
|
1373
|
+
isDefaultValueColumn: true,
|
|
1374
|
+
type: TableColumnType.Boolean,
|
|
1375
|
+
title: "Should subscribers be notified on episode created?",
|
|
1376
|
+
description:
|
|
1377
|
+
"Should status page subscribers be notified when this episode is created?",
|
|
1378
|
+
defaultValue: true,
|
|
1379
|
+
})
|
|
1380
|
+
@Column({
|
|
1381
|
+
type: ColumnType.Boolean,
|
|
1382
|
+
default: true,
|
|
1383
|
+
})
|
|
1384
|
+
public shouldStatusPageSubscribersBeNotifiedOnEpisodeCreated?: boolean =
|
|
1385
|
+
undefined;
|
|
1386
|
+
|
|
1387
|
+
@ColumnAccessControl({
|
|
1388
|
+
create: [],
|
|
1389
|
+
read: [
|
|
1390
|
+
Permission.ProjectOwner,
|
|
1391
|
+
Permission.ProjectAdmin,
|
|
1392
|
+
Permission.ProjectMember,
|
|
1393
|
+
Permission.ReadIncidentEpisode,
|
|
1394
|
+
Permission.ReadAllProjectResources,
|
|
1395
|
+
],
|
|
1396
|
+
update: [],
|
|
1397
|
+
})
|
|
1398
|
+
@TableColumn({
|
|
1399
|
+
isDefaultValueColumn: true,
|
|
1400
|
+
computed: true,
|
|
1401
|
+
hideColumnInDocumentation: true,
|
|
1402
|
+
type: TableColumnType.ShortText,
|
|
1403
|
+
title: "Subscriber Notification Status on Episode Created",
|
|
1404
|
+
description:
|
|
1405
|
+
"Status of notification sent to subscribers when this episode was created",
|
|
1406
|
+
defaultValue: StatusPageSubscriberNotificationStatus.Pending,
|
|
1407
|
+
})
|
|
1408
|
+
@Column({
|
|
1409
|
+
type: ColumnType.ShortText,
|
|
1410
|
+
default: StatusPageSubscriberNotificationStatus.Pending,
|
|
1411
|
+
})
|
|
1412
|
+
public subscriberNotificationStatusOnEpisodeCreated?: StatusPageSubscriberNotificationStatus =
|
|
1413
|
+
undefined;
|
|
1414
|
+
|
|
1415
|
+
@ColumnAccessControl({
|
|
1416
|
+
create: [],
|
|
1417
|
+
read: [
|
|
1418
|
+
Permission.ProjectOwner,
|
|
1419
|
+
Permission.ProjectAdmin,
|
|
1420
|
+
Permission.ProjectMember,
|
|
1421
|
+
Permission.ReadIncidentEpisode,
|
|
1422
|
+
Permission.ReadAllProjectResources,
|
|
1423
|
+
],
|
|
1424
|
+
update: [],
|
|
1425
|
+
})
|
|
1426
|
+
@TableColumn({
|
|
1427
|
+
type: TableColumnType.VeryLongText,
|
|
1428
|
+
title: "Subscriber Notification Status Message",
|
|
1429
|
+
description:
|
|
1430
|
+
"Status message for subscriber notifications - includes success messages, failure reasons, or skip reasons",
|
|
1431
|
+
required: false,
|
|
1432
|
+
})
|
|
1433
|
+
@Column({
|
|
1434
|
+
type: ColumnType.VeryLongText,
|
|
1435
|
+
nullable: true,
|
|
1436
|
+
})
|
|
1437
|
+
public subscriberNotificationStatusMessage?: string = undefined;
|
|
1256
1438
|
}
|
|
@@ -34,12 +34,14 @@ export enum IncidentEpisodeFeedEventType {
|
|
|
34
34
|
OwnerTeamRemoved = "OwnerTeamRemoved",
|
|
35
35
|
OwnerNotificationSent = "OwnerNotificationSent",
|
|
36
36
|
PrivateNote = "PrivateNote",
|
|
37
|
+
PublicNote = "PublicNote",
|
|
37
38
|
RootCause = "RootCause",
|
|
38
39
|
RemediationNotes = "RemediationNotes",
|
|
39
40
|
PostmortemNote = "PostmortemNote",
|
|
40
41
|
OnCallPolicy = "OnCallPolicy",
|
|
41
42
|
OnCallNotification = "OnCallNotification",
|
|
42
43
|
SeverityChanged = "SeverityChanged",
|
|
44
|
+
SubscriberNotificationSent = "SubscriberNotificationSent",
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
@EnableDocumentation()
|