@oneuptime/common 7.0.3786 → 7.0.3822

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 (137) hide show
  1. package/Models/DatabaseModels/AlertStateTimeline.ts +1 -1
  2. package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -1
  3. package/Models/DatabaseModels/MonitorStatusTimeline.ts +1 -1
  4. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -1
  5. package/Models/DatabaseModels/WorkspaceNotificationRule.ts +8 -0
  6. package/Server/API/SlackAPI.ts +68 -0
  7. package/Server/Services/AccessTokenService.ts +21 -0
  8. package/Server/Services/AlertFeedService.ts +98 -0
  9. package/Server/Services/AlertInternalNoteService.ts +49 -8
  10. package/Server/Services/AlertOwnerTeamService.ts +50 -2
  11. package/Server/Services/AlertOwnerUserService.ts +52 -2
  12. package/Server/Services/AlertService.ts +236 -37
  13. package/Server/Services/AlertStateService.ts +24 -0
  14. package/Server/Services/AlertStateTimelineService.ts +30 -2
  15. package/Server/Services/IncidentInternalNoteService.ts +6 -6
  16. package/Server/Services/IncidentPublicNoteService.ts +7 -4
  17. package/Server/Services/IncidentStateTimelineService.ts +2 -1
  18. package/Server/Services/MonitorStatusTimelineService.ts +202 -101
  19. package/Server/Services/ScheduledMaintenanceFeedService.ts +103 -0
  20. package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +50 -6
  21. package/Server/Services/ScheduledMaintenanceOwnerTeamService.ts +37 -0
  22. package/Server/Services/ScheduledMaintenanceOwnerUserService.ts +34 -0
  23. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +49 -7
  24. package/Server/Services/ScheduledMaintenanceService.ts +375 -12
  25. package/Server/Services/ScheduledMaintenanceStateService.ts +122 -34
  26. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +33 -1
  27. package/Server/Services/WorkspaceNotificationRuleService.ts +12 -0
  28. package/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.ts +38 -0
  29. package/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.ts +116 -0
  30. package/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.ts +36 -115
  31. package/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.ts +108 -0
  32. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +20 -2
  33. package/Server/Utils/Workspace/Slack/Actions/Alert.ts +697 -0
  34. package/Server/Utils/Workspace/Slack/Actions/Auth.ts +9 -2
  35. package/Server/Utils/Workspace/Slack/Actions/Incident.ts +9 -3
  36. package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +956 -0
  37. package/Server/Utils/Workspace/Slack/Messages/Alert.ts +116 -0
  38. package/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.ts +108 -0
  39. package/Server/Utils/Workspace/Slack/Slack.ts +48 -2
  40. package/Server/Utils/Workspace/Slack/app-manifest.json +3 -3
  41. package/Server/Utils/Workspace/WorkspaceBase.ts +14 -0
  42. package/Server/Utils/Workspace/WorkspaceMessages/Alert.ts +69 -0
  43. package/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.ts +73 -0
  44. package/Types/Date.ts +5 -0
  45. package/Types/Workspace/WorkspaceMessagePayload.ts +9 -0
  46. package/UI/Components/Forms/BasicForm.tsx +4 -0
  47. package/UI/Components/Forms/Types/Field.ts +3 -0
  48. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +1 -1
  49. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  50. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -1
  51. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +1 -1
  53. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -1
  55. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js +8 -0
  57. package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js.map +1 -1
  58. package/build/dist/Server/API/SlackAPI.js +54 -0
  59. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  60. package/build/dist/Server/Services/AccessTokenService.js +11 -0
  61. package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
  62. package/build/dist/Server/Services/AlertFeedService.js +60 -0
  63. package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
  64. package/build/dist/Server/Services/AlertInternalNoteService.js +39 -8
  65. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
  66. package/build/dist/Server/Services/AlertOwnerTeamService.js +40 -2
  67. package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -1
  68. package/build/dist/Server/Services/AlertOwnerUserService.js +41 -3
  69. package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -1
  70. package/build/dist/Server/Services/AlertService.js +192 -35
  71. package/build/dist/Server/Services/AlertService.js.map +1 -1
  72. package/build/dist/Server/Services/AlertStateService.js +13 -0
  73. package/build/dist/Server/Services/AlertStateService.js.map +1 -1
  74. package/build/dist/Server/Services/AlertStateTimelineService.js +26 -2
  75. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
  76. package/build/dist/Server/Services/IncidentInternalNoteService.js +6 -6
  77. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  78. package/build/dist/Server/Services/IncidentPublicNoteService.js +5 -4
  79. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  80. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  81. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  82. package/build/dist/Server/Services/MonitorStatusTimelineService.js +168 -72
  83. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  84. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +60 -0
  85. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -1
  86. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +36 -6
  87. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
  88. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js +24 -0
  89. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js.map +1 -1
  90. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js +22 -0
  91. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js.map +1 -1
  92. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +36 -7
  93. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  94. package/build/dist/Server/Services/ScheduledMaintenanceService.js +275 -13
  95. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  96. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js +52 -4
  97. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js.map +1 -1
  98. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +28 -1
  99. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  100. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +10 -0
  101. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  102. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js +37 -0
  103. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js.map +1 -0
  104. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.js +82 -0
  105. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.js.map +1 -0
  106. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js +33 -99
  107. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js.map +1 -1
  108. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.js +74 -0
  109. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.js.map +1 -0
  110. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +20 -2
  111. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -1
  112. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +425 -0
  113. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -0
  114. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +2 -0
  115. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -1
  116. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +5 -2
  117. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
  118. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +599 -0
  119. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js.map +1 -0
  120. package/build/dist/Server/Utils/Workspace/Slack/Messages/Alert.js +82 -0
  121. package/build/dist/Server/Utils/Workspace/Slack/Messages/Alert.js.map +1 -0
  122. package/build/dist/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.js +74 -0
  123. package/build/dist/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.js.map +1 -0
  124. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +34 -0
  125. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  126. package/build/dist/Server/Utils/Workspace/Slack/app-manifest.json +3 -3
  127. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js +8 -0
  128. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
  129. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js +48 -0
  130. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js.map +1 -0
  131. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.js +47 -0
  132. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.js.map +1 -0
  133. package/build/dist/Types/Date.js +4 -0
  134. package/build/dist/Types/Date.js.map +1 -1
  135. package/build/dist/UI/Components/Forms/BasicForm.js +3 -0
  136. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  137. package/package.json +2 -2
@@ -0,0 +1,108 @@
1
+ import BadDataException from "../../../../../Types/Exception/BadDataException";
2
+ import ObjectID from "../../../../../Types/ObjectID";
3
+ import {
4
+ WorkspaceMessageBlock,
5
+ WorkspaceMessagePayloadButton,
6
+ WorkspacePayloadButtons,
7
+ WorkspacePayloadDivider,
8
+ } from "../../../../../Types/Workspace/WorkspaceMessagePayload";
9
+ import ScheduledMaintenanceService from "../../../../Services/ScheduledMaintenanceService";
10
+ import MicrosoftTeamsActionType from "../../../../Utils/Workspace/MicrosoftTeams/Actions/ActionTypes";
11
+
12
+ export default class MicrosoftTeamsScheduledMaintenanceMessages {
13
+ public static async getScheduledMaintenanceCreateMessageBlocks(data: {
14
+ scheduledMaintenanceId: ObjectID;
15
+ projectId: ObjectID;
16
+ }): Promise<Array<WorkspaceMessageBlock>> {
17
+ if (!data.scheduledMaintenanceId) {
18
+ throw new BadDataException("ScheduledMaintenance ID is required");
19
+ }
20
+
21
+ // MicrosoftTeams.
22
+
23
+ const blockMicrosoftTeams: Array<WorkspaceMessageBlock> = [];
24
+
25
+ // add divider.
26
+
27
+ const dividerBlock: WorkspacePayloadDivider = {
28
+ _type: "WorkspacePayloadDivider",
29
+ };
30
+
31
+ blockMicrosoftTeams.push(dividerBlock);
32
+
33
+ // now add buttons.
34
+ // View data.
35
+ // Execute On Call
36
+ // Acknowledge scheduledMaintenance
37
+ // Resolve data.
38
+ // Change ScheduledMaintenance State.
39
+ // Add Note.
40
+
41
+ const buttons: Array<WorkspaceMessagePayloadButton> = [];
42
+
43
+ // view data.
44
+ const viewScheduledMaintenanceButton: WorkspaceMessagePayloadButton = {
45
+ _type: "WorkspaceMessagePayloadButton",
46
+ title: "🔗 View ScheduledMaintenance",
47
+ url: await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(
48
+ data.projectId!,
49
+ data.scheduledMaintenanceId!,
50
+ ),
51
+ value: data.scheduledMaintenanceId?.toString() || "",
52
+ actionId: MicrosoftTeamsActionType.ViewScheduledMaintenance,
53
+ };
54
+
55
+ buttons.push(viewScheduledMaintenanceButton);
56
+
57
+ // acknowledge data.
58
+ const acknowledgeScheduledMaintenanceButton: WorkspaceMessagePayloadButton =
59
+ {
60
+ _type: "WorkspaceMessagePayloadButton",
61
+ title: "⌛ Mark as Ongoing",
62
+ value: data.scheduledMaintenanceId?.toString() || "",
63
+ actionId: MicrosoftTeamsActionType.MarkScheduledMaintenanceAsOngoing,
64
+ };
65
+
66
+ buttons.push(acknowledgeScheduledMaintenanceButton);
67
+
68
+ // resolve data.
69
+ const resolveScheduledMaintenanceButton: WorkspaceMessagePayloadButton = {
70
+ _type: "WorkspaceMessagePayloadButton",
71
+ title: "✅ Mark as Completed",
72
+ value: data.scheduledMaintenanceId?.toString() || "",
73
+ actionId: MicrosoftTeamsActionType.MarkScheduledMaintenanceAsComplete,
74
+ };
75
+
76
+ buttons.push(resolveScheduledMaintenanceButton);
77
+
78
+ // change scheduledMaintenance state.
79
+ const changeScheduledMaintenanceStateButton: WorkspaceMessagePayloadButton =
80
+ {
81
+ _type: "WorkspaceMessagePayloadButton",
82
+ title: "➡️ Change Scheduled Maintenance State",
83
+ value: data.scheduledMaintenanceId?.toString() || "",
84
+ actionId: MicrosoftTeamsActionType.ViewChangeScheduledMaintenanceState,
85
+ };
86
+
87
+ buttons.push(changeScheduledMaintenanceStateButton);
88
+
89
+ // add note.
90
+ const addNoteButton: WorkspaceMessagePayloadButton = {
91
+ _type: "WorkspaceMessagePayloadButton",
92
+ title: "📄 Add Note",
93
+ value: data.scheduledMaintenanceId?.toString() || "",
94
+ actionId: MicrosoftTeamsActionType.ViewAddScheduledMaintenanceNote,
95
+ };
96
+
97
+ buttons.push(addNoteButton);
98
+
99
+ const workspacePayloadButtons: WorkspacePayloadButtons = {
100
+ buttons: buttons,
101
+ _type: "WorkspacePayloadButtons",
102
+ };
103
+
104
+ blockMicrosoftTeams.push(workspacePayloadButtons);
105
+
106
+ return blockMicrosoftTeams;
107
+ }
108
+ }
@@ -12,9 +12,27 @@ enum SlackActionType {
12
12
  NewIncident = "/incident", // new incident slash command
13
13
  SubmitNewIncident = "SubmitNewIncident",
14
14
 
15
- // Alert Actions
15
+ // Alert Actions just like Incident Actions
16
+ AcknowledgeAlert = "AcknowledgeAlert",
17
+ ResolveAlert = "ResolveAlert",
18
+ ViewAddAlertNote = "ViewAddAlertNote",
19
+ SubmitAlertNote = "SubmitAlertNote",
20
+ ViewChangeAlertState = "ViewChangeAlertState",
21
+ SubmitChangeAlertState = "SubmitChangeAlertState",
22
+ ViewExecuteAlertOnCallPolicy = "ViewExecuteAlertOnCallPolicy",
23
+ SubmitExecuteAlertOnCallPolicy = "SubmitExecuteAlertOnCallPolicy",
24
+ ViewAlert = "ViewAlert",
16
25
 
17
- // Scheduled Maintenance Actions.
26
+ // Scheduled Maintenance Actions just like Incident Actions.
27
+ MarkScheduledMaintenanceAsComplete = "MarkScheduledMaintenanceAsComplete",
28
+ MarkScheduledMaintenanceAsOngoing = "MarkScheduledMaintenanceAsOngoing",
29
+ ViewAddScheduledMaintenanceNote = "ViewAddScheduledMaintenanceNote",
30
+ SubmitScheduledMaintenanceNote = "SubmitScheduledMaintenanceNote",
31
+ ViewChangeScheduledMaintenanceState = "ViewChangeScheduledMaintenanceState",
32
+ SubmitChangeScheduledMaintenanceState = "SubmitChangeScheduledMaintenanceState",
33
+ ViewScheduledMaintenance = "ViewScheduledMaintenance",
34
+ NewScheduledMaintenance = "/maintenance", // new scheduled maintenance slash command
35
+ SubmitNewScheduledMaintenance = "SubmitNewScheduledMaintenance",
18
36
  }
19
37
 
20
38
  export default SlackActionType;