@oneuptime/common 11.3.21 → 11.3.22

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 (148) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.ts +2 -0
  2. package/Models/AnalyticsModels/ExceptionInstance.ts +1 -0
  3. package/Models/AnalyticsModels/Log.ts +1 -0
  4. package/Models/AnalyticsModels/Metric.ts +1 -0
  5. package/Models/AnalyticsModels/MonitorLog.ts +1 -0
  6. package/Models/AnalyticsModels/Span.ts +1 -0
  7. package/Models/DatabaseModels/Alert.ts +100 -0
  8. package/Models/DatabaseModels/AlertInternalNote.ts +2 -0
  9. package/Models/DatabaseModels/AlertReminderRule.ts +597 -0
  10. package/Models/DatabaseModels/AlertSeverity.ts +2 -0
  11. package/Models/DatabaseModels/AlertState.ts +2 -0
  12. package/Models/DatabaseModels/AlertStateTimeline.ts +2 -0
  13. package/Models/DatabaseModels/Incident.ts +100 -0
  14. package/Models/DatabaseModels/IncidentInternalNote.ts +2 -0
  15. package/Models/DatabaseModels/IncidentPublicNote.ts +2 -0
  16. package/Models/DatabaseModels/IncidentReminderRule.ts +597 -0
  17. package/Models/DatabaseModels/IncidentSeverity.ts +2 -0
  18. package/Models/DatabaseModels/IncidentStateTimeline.ts +2 -0
  19. package/Models/DatabaseModels/Index.ts +6 -0
  20. package/Models/DatabaseModels/Label.ts +2 -0
  21. package/Models/DatabaseModels/MonitorStatusTimeline.ts +2 -0
  22. package/Models/DatabaseModels/ScheduledMaintenance.ts +100 -0
  23. package/Models/DatabaseModels/ScheduledMaintenanceReminderRule.ts +585 -0
  24. package/Models/DatabaseModels/ScheduledMaintenanceState.ts +2 -0
  25. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +2 -0
  26. package/Models/DatabaseModels/StatusPageAnnouncement.ts +2 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1783234451106-AddIncidentAlertReminderRules.ts +211 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1783320000000-AddScheduledMaintenanceReminderRules.ts +113 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1783330000000-AddRemindWhileScheduledToScheduledMaintenanceReminderRule.ts +20 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1783340000000-AddLabelsToIncidentAndAlertReminderRules.ts +69 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  32. package/Server/Services/AlertReminderRuleService.ts +253 -0
  33. package/Server/Services/AlertService.ts +106 -0
  34. package/Server/Services/IncidentReminderRuleService.ts +256 -0
  35. package/Server/Services/IncidentService.ts +143 -0
  36. package/Server/Services/Index.ts +6 -0
  37. package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +236 -0
  38. package/Server/Services/ScheduledMaintenanceService.ts +127 -0
  39. package/Server/Services/TelemetryExceptionService.ts +123 -0
  40. package/Server/Services/UserNotificationSettingService.ts +24 -0
  41. package/Server/Utils/AnalyticsDatabase/Statement.ts +7 -3
  42. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +35 -0
  43. package/Server/Utils/WhatsAppTemplateUtil.ts +10 -0
  44. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +49 -0
  45. package/Types/Email/EmailTemplateType.ts +3 -0
  46. package/Types/NotificationSetting/NotificationSettingEventType.ts +3 -0
  47. package/Types/Permission.ts +144 -0
  48. package/Types/Reminder/ReminderStopState.ts +6 -0
  49. package/Types/Reminder/ScheduledMaintenanceReminderStopState.ts +6 -0
  50. package/Types/WhatsApp/WhatsAppTemplates.ts +14 -0
  51. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.js.map +1 -1
  52. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +1 -0
  53. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  54. package/build/dist/Models/AnalyticsModels/Log.js +1 -0
  55. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  56. package/build/dist/Models/AnalyticsModels/Metric.js +1 -0
  57. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  58. package/build/dist/Models/AnalyticsModels/MonitorLog.js +1 -0
  59. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  60. package/build/dist/Models/AnalyticsModels/Span.js +1 -0
  61. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  62. package/build/dist/Models/DatabaseModels/Alert.js +103 -0
  63. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  64. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +2 -0
  65. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  66. package/build/dist/Models/DatabaseModels/AlertReminderRule.js +605 -0
  67. package/build/dist/Models/DatabaseModels/AlertReminderRule.js.map +1 -0
  68. package/build/dist/Models/DatabaseModels/AlertSeverity.js +2 -0
  69. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  70. package/build/dist/Models/DatabaseModels/AlertState.js +2 -0
  71. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  72. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +2 -0
  73. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  74. package/build/dist/Models/DatabaseModels/Incident.js +103 -0
  75. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  76. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +2 -0
  77. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  78. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +2 -0
  79. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  80. package/build/dist/Models/DatabaseModels/IncidentReminderRule.js +605 -0
  81. package/build/dist/Models/DatabaseModels/IncidentReminderRule.js.map +1 -0
  82. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +2 -0
  83. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  84. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +2 -0
  85. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  86. package/build/dist/Models/DatabaseModels/Index.js +6 -0
  87. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  88. package/build/dist/Models/DatabaseModels/Label.js +2 -0
  89. package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
  90. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +2 -0
  91. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  92. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +103 -0
  93. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  94. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceReminderRule.js +596 -0
  95. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceReminderRule.js.map +1 -0
  96. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +2 -0
  97. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -1
  98. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +2 -0
  99. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  100. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +2 -0
  101. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  102. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783234451106-AddIncidentAlertReminderRules.js +78 -0
  103. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783234451106-AddIncidentAlertReminderRules.js.map +1 -0
  104. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783320000000-AddScheduledMaintenanceReminderRules.js +44 -0
  105. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783320000000-AddScheduledMaintenanceReminderRules.js.map +1 -0
  106. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783330000000-AddRemindWhileScheduledToScheduledMaintenanceReminderRule.js +12 -0
  107. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783330000000-AddRemindWhileScheduledToScheduledMaintenanceReminderRule.js.map +1 -0
  108. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783340000000-AddLabelsToIncidentAndAlertReminderRules.js +30 -0
  109. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783340000000-AddLabelsToIncidentAndAlertReminderRules.js.map +1 -0
  110. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  111. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  112. package/build/dist/Server/Services/AlertReminderRuleService.js +228 -0
  113. package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -0
  114. package/build/dist/Server/Services/AlertService.js +87 -0
  115. package/build/dist/Server/Services/AlertService.js.map +1 -1
  116. package/build/dist/Server/Services/IncidentReminderRuleService.js +231 -0
  117. package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -0
  118. package/build/dist/Server/Services/IncidentService.js +116 -0
  119. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  120. package/build/dist/Server/Services/Index.js +6 -0
  121. package/build/dist/Server/Services/Index.js.map +1 -1
  122. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +214 -0
  123. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -0
  124. package/build/dist/Server/Services/ScheduledMaintenanceService.js +102 -0
  125. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  126. package/build/dist/Server/Services/TelemetryExceptionService.js +101 -0
  127. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  128. package/build/dist/Server/Services/UserNotificationSettingService.js +6 -0
  129. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  130. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +4 -2
  131. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  132. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +29 -0
  133. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  134. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +6 -0
  135. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  136. package/build/dist/Types/Email/EmailTemplateType.js +3 -0
  137. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  138. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  139. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  140. package/build/dist/Types/Permission.js +126 -0
  141. package/build/dist/Types/Permission.js.map +1 -1
  142. package/build/dist/Types/Reminder/ReminderStopState.js +7 -0
  143. package/build/dist/Types/Reminder/ReminderStopState.js.map +1 -0
  144. package/build/dist/Types/Reminder/ScheduledMaintenanceReminderStopState.js +7 -0
  145. package/build/dist/Types/Reminder/ScheduledMaintenanceReminderStopState.js.map +1 -0
  146. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +9 -0
  147. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
  148. package/package.json +1 -1
@@ -2663,6 +2663,106 @@ export default class Incident extends BaseModel {
2663
2663
  })
2664
2664
  public isPrivate?: boolean = undefined;
2665
2665
 
2666
+ @ColumnAccessControl({
2667
+ create: [
2668
+ Permission.ProjectOwner,
2669
+ Permission.ProjectAdmin,
2670
+ Permission.ProjectMember,
2671
+ Permission.IncidentAdmin,
2672
+ Permission.IncidentMember,
2673
+ Permission.CreateProjectIncident,
2674
+ ],
2675
+ read: [
2676
+ Permission.ProjectOwner,
2677
+ Permission.ProjectAdmin,
2678
+ Permission.ProjectMember,
2679
+ Permission.Viewer,
2680
+ Permission.IncidentAdmin,
2681
+ Permission.IncidentMember,
2682
+ Permission.IncidentViewer,
2683
+ Permission.ReadProjectIncident,
2684
+ ],
2685
+ update: [
2686
+ Permission.ProjectOwner,
2687
+ Permission.ProjectAdmin,
2688
+ Permission.ProjectMember,
2689
+ Permission.IncidentAdmin,
2690
+ Permission.IncidentMember,
2691
+ Permission.EditProjectIncident,
2692
+ ],
2693
+ })
2694
+ @TableColumn({
2695
+ isDefaultValueColumn: true,
2696
+ type: TableColumnType.Boolean,
2697
+ title: "Send Reminders?",
2698
+ description:
2699
+ "Should reminder notifications be sent to owners while this incident is still open? Reminders are sent based on the reminder rules configured for this project.",
2700
+ defaultValue: true,
2701
+ })
2702
+ @Column({
2703
+ type: ColumnType.Boolean,
2704
+ default: true,
2705
+ nullable: true,
2706
+ })
2707
+ public enableReminders?: boolean = undefined;
2708
+
2709
+ @ColumnAccessControl({
2710
+ create: [],
2711
+ read: [
2712
+ Permission.ProjectOwner,
2713
+ Permission.ProjectAdmin,
2714
+ Permission.ProjectMember,
2715
+ Permission.Viewer,
2716
+ Permission.IncidentAdmin,
2717
+ Permission.IncidentMember,
2718
+ Permission.IncidentViewer,
2719
+ Permission.ReadProjectIncident,
2720
+ ],
2721
+ update: [],
2722
+ })
2723
+ @Index()
2724
+ @TableColumn({
2725
+ type: TableColumnType.Date,
2726
+ required: false,
2727
+ isDefaultValueColumn: false,
2728
+ title: "Next Reminder Notification At",
2729
+ description:
2730
+ "When will the next reminder notification be sent to owners of this incident? This is set automatically based on the reminder rules configured for this project.",
2731
+ })
2732
+ @Column({
2733
+ type: ColumnType.Date,
2734
+ nullable: true,
2735
+ })
2736
+ public nextReminderNotificationAt?: Date = undefined;
2737
+
2738
+ @ColumnAccessControl({
2739
+ create: [],
2740
+ read: [
2741
+ Permission.ProjectOwner,
2742
+ Permission.ProjectAdmin,
2743
+ Permission.ProjectMember,
2744
+ Permission.Viewer,
2745
+ Permission.IncidentAdmin,
2746
+ Permission.IncidentMember,
2747
+ Permission.IncidentViewer,
2748
+ Permission.ReadProjectIncident,
2749
+ ],
2750
+ update: [],
2751
+ })
2752
+ @TableColumn({
2753
+ type: TableColumnType.Number,
2754
+ required: false,
2755
+ isDefaultValueColumn: false,
2756
+ title: "Reminder Notifications Sent Count",
2757
+ description:
2758
+ "How many reminder notifications have been sent to owners of this incident so far.",
2759
+ })
2760
+ @Column({
2761
+ type: ColumnType.Number,
2762
+ nullable: true,
2763
+ })
2764
+ public reminderNotificationSentCount?: number = undefined;
2765
+
2666
2766
  @ColumnAccessControl({
2667
2767
  create: [
2668
2768
  Permission.ProjectOwner,
@@ -11,6 +11,7 @@ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
11
11
  import ColumnType from "../../Types/Database/ColumnType";
12
12
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
13
13
  import EnableDocumentation from "../../Types/Database/EnableDocumentation";
14
+ import EnableMCP from "../../Types/Database/EnableMCP";
14
15
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
15
16
  import TableColumn from "../../Types/Database/TableColumn";
16
17
  import TableColumnType from "../../Types/Database/TableColumnType";
@@ -30,6 +31,7 @@ import {
30
31
  } from "typeorm";
31
32
 
32
33
  @EnableDocumentation()
34
+ @EnableMCP()
33
35
  @CanAccessIfCanReadOn("incident")
34
36
  @TenantColumn("projectId")
35
37
  @TableAccessControl({
@@ -11,6 +11,7 @@ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
11
11
  import ColumnType from "../../Types/Database/ColumnType";
12
12
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
13
13
  import EnableDocumentation from "../../Types/Database/EnableDocumentation";
14
+ import EnableMCP from "../../Types/Database/EnableMCP";
14
15
  import EnableWorkflow from "../../Types/Database/EnableWorkflow";
15
16
  import TableColumn from "../../Types/Database/TableColumn";
16
17
  import TableColumnType from "../../Types/Database/TableColumnType";
@@ -31,6 +32,7 @@ import {
31
32
  } from "typeorm";
32
33
 
33
34
  @EnableDocumentation()
35
+ @EnableMCP()
34
36
  @CanAccessIfCanReadOn("incident")
35
37
  @TenantColumn("projectId")
36
38
  @TableAccessControl({