@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
@@ -5,6 +5,10 @@ import { IsBillingEnabled } from "../EnvironmentConfig";
5
5
  import logger from "../Utils/Logger";
6
6
  import DatabaseService from "./DatabaseService";
7
7
  import Model from "Common/Models/DatabaseModels/ScheduledMaintenanceFeed";
8
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
9
+ import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
10
+ import WorkspaceUtil from "../Utils/Workspace/Workspace";
11
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
8
12
  export class Service extends DatabaseService {
9
13
  constructor() {
10
14
  super(Model);
@@ -13,6 +17,7 @@ export class Service extends DatabaseService {
13
17
  }
14
18
  }
15
19
  async createScheduledMaintenanceFeedItem(data) {
20
+ var _a, _b;
16
21
  try {
17
22
  if (!data.scheduledMaintenanceId) {
18
23
  throw new BadDataException("Scheduled Maintenance ID is required");
@@ -53,6 +58,61 @@ export class Service extends DatabaseService {
53
58
  isRoot: true,
54
59
  },
55
60
  });
61
+ try {
62
+ // send notification to slack and teams
63
+ if ((_a = data.workspaceNotification) === null || _a === void 0 ? void 0 : _a.sendWorkspaceNotification) {
64
+ let messageBlocksByWorkspaceTypes = [];
65
+ // use markdown to create blocks
66
+ messageBlocksByWorkspaceTypes =
67
+ await WorkspaceUtil.getMessageBlocksByMarkdown({
68
+ userId: data.workspaceNotification.notifyUserId,
69
+ markdown: data.feedInfoInMarkdown,
70
+ projectId: data.projectId,
71
+ });
72
+ if (data.workspaceNotification.appendMessageBlocks) {
73
+ for (const messageBlocksByWorkspaceType of data
74
+ .workspaceNotification.appendMessageBlocks) {
75
+ const workspaceType = messageBlocksByWorkspaceType.workspaceType;
76
+ (_b = messageBlocksByWorkspaceTypes
77
+ .find((messageBlocksByWorkspaceType) => {
78
+ return (messageBlocksByWorkspaceType.workspaceType ===
79
+ workspaceType);
80
+ })) === null || _b === void 0 ? void 0 : _b.messageBlocks.push(...messageBlocksByWorkspaceType.messageBlocks);
81
+ }
82
+ }
83
+ const workspaceNotificationPaylaods = [];
84
+ for (const messageBlocksByWorkspaceType of messageBlocksByWorkspaceTypes) {
85
+ const existingChannels = await WorkspaceNotificationRuleService.getExistingChannelNamesBasedOnEventType({
86
+ projectId: data.projectId,
87
+ notificationRuleEventType: NotificationRuleEventType.ScheduledMaintenance,
88
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
89
+ });
90
+ const scheduledMaintenanceChannels = await ScheduledMaintenanceService.getWorkspaceChannelForScheduledMaintenance({
91
+ scheduledMaintenanceId: data.scheduledMaintenanceId,
92
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
93
+ });
94
+ const workspaceMessagePayload = {
95
+ _type: "WorkspaceMessagePayload",
96
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
97
+ messageBlocks: messageBlocksByWorkspaceType.messageBlocks,
98
+ channelNames: existingChannels,
99
+ channelIds: scheduledMaintenanceChannels.map((channel) => {
100
+ return channel.id;
101
+ }) || [],
102
+ };
103
+ workspaceNotificationPaylaods.push(workspaceMessagePayload);
104
+ }
105
+ await WorkspaceUtil.postMessageToAllWorkspaceChannelsAsBot({
106
+ projectId: data.projectId,
107
+ messagePayloadsByWorkspace: workspaceNotificationPaylaods,
108
+ });
109
+ }
110
+ }
111
+ catch (e) {
112
+ logger.error("Error in sending notification to slack and teams");
113
+ logger.error(e);
114
+ // we dont throw this error as it is not a critical error
115
+ }
56
116
  }
57
117
  catch (error) {
58
118
  logger.error("ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem");
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenanceFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceFeedService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAEN,MAAM,uDAAuD,CAAC;AAE/D,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kCAAkC,CAAC,IAS/C;QACC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjC,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;gBAC5C,MAAM,IAAI,gBAAgB,CACxB,6CAA6C,CAC9C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC;YAED,MAAM,wBAAwB,GAAU,IAAI,KAAK,EAAE,CAAC;YAEpD,wBAAwB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC1D,wBAAwB,CAAC,sBAAsB;gBAC7C,IAAI,CAAC,sBAAsB,CAAC;YAC9B,wBAAwB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACtE,wBAAwB,CAAC,iCAAiC;gBACxD,IAAI,CAAC,iCAAiC,CAAC;YACzC,wBAAwB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,wBAAwB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC;YAED,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACnC,wBAAwB,CAAC,yBAAyB;oBAChD,IAAI,CAAC,yBAAyB,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,wBAAwB,CAAC,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,oEAAoE,CACrE,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,qFAAqF;QACvF,CAAC;IACH,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ScheduledMaintenanceFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceFeedService.ts"],"names":[],"mappings":"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"}
@@ -4,23 +4,45 @@ import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
4
4
  import { ScheduledMaintenanceFeedEventType } from "../../Models/DatabaseModels/ScheduledMaintenanceFeed";
5
5
  import { Blue500 } from "../../Types/BrandColors";
6
6
  import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
7
+ import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
7
8
  export class Service extends DatabaseService {
8
9
  constructor() {
9
10
  super(Model);
10
11
  }
12
+ async addNote(data) {
13
+ const internalNote = new Model();
14
+ internalNote.createdByUserId = data.userId;
15
+ internalNote.scheduledMaintenanceId = data.scheduledMaintenanceId;
16
+ internalNote.projectId = data.projectId;
17
+ internalNote.note = data.note;
18
+ return this.create({
19
+ data: internalNote,
20
+ props: {
21
+ isRoot: true,
22
+ },
23
+ });
24
+ }
11
25
  async onCreateSuccess(_onCreate, createdItem) {
12
26
  var _a;
13
27
  const userId = createdItem.createdByUserId || ((_a = createdItem.createdByUser) === null || _a === void 0 ? void 0 : _a.id);
28
+ const scheduledMaintenanceId = createdItem.scheduledMaintenanceId;
29
+ const scheduledMaintenanceNumber = await ScheduledMaintenanceService.getScheduledMaintenanceNumber({
30
+ scheduledMaintenanceId: scheduledMaintenanceId,
31
+ });
14
32
  await ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem({
15
33
  scheduledMaintenanceId: createdItem.scheduledMaintenanceId,
16
34
  projectId: createdItem.projectId,
17
35
  scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PrivateNote,
18
36
  displayColor: Blue500,
19
37
  userId: userId || undefined,
20
- feedInfoInMarkdown: `**Posted Internal / Private Note**
21
-
38
+ feedInfoInMarkdown: `📄 posted **private note** for this [Scheduled Maintenance ${scheduledMaintenanceNumber}](${(await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(createdItem.projectId, scheduledMaintenanceId)).toString()}):
39
+
22
40
  ${createdItem.note}
23
- `,
41
+ `,
42
+ workspaceNotification: {
43
+ sendWorkspaceNotification: true,
44
+ notifyUserId: userId || undefined,
45
+ },
24
46
  });
25
47
  return createdItem;
26
48
  }
@@ -41,20 +63,28 @@ ${createdItem.note}
41
63
  createdByUser: {
42
64
  _id: true,
43
65
  },
66
+ scheduledMaintenance: {
67
+ scheduledMaintenanceNumber: true,
68
+ },
44
69
  },
45
70
  });
46
71
  const userId = onUpdate.updateBy.props.userId;
47
72
  for (const updatedItem of updatedItems) {
73
+ const scheduledMaintenance = updatedItem.scheduledMaintenance;
48
74
  await ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem({
49
75
  scheduledMaintenanceId: updatedItem.scheduledMaintenanceId,
50
76
  projectId: updatedItem.projectId,
51
77
  scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PrivateNote,
52
78
  displayColor: Blue500,
53
79
  userId: userId || undefined,
54
- feedInfoInMarkdown: `**Updated Private Note**
55
-
80
+ feedInfoInMarkdown: `📄 updated **Private Note** for this [Scheduled Maintenance ${scheduledMaintenance.scheduledMaintenanceNumber}](${(await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(scheduledMaintenance.projectId, scheduledMaintenance.id)).toString()})
81
+
56
82
  ${updatedItem.note}
57
- `,
83
+ `,
84
+ workspaceNotification: {
85
+ sendWorkspaceNotification: true,
86
+ notifyUserId: userId || undefined,
87
+ },
58
88
  });
59
89
  }
60
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenanceInternalNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceInternalNoteService.ts"],"names":[],"mappings":"AAEA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,+DAA+D,CAAC;AAClF,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,SAA0B,EAC1B,WAAkB;;QAElB,MAAM,MAAM,GACV,WAAW,CAAC,eAAe,KAAI,MAAA,WAAW,CAAC,aAAa,0CAAE,EAAE,CAAA,CAAC;QAE/D,MAAM,+BAA+B,CAAC,kCAAkC,CAAC;YACvE,sBAAsB,EAAE,WAAW,CAAC,sBAAuB;YAC3D,SAAS,EAAE,WAAW,CAAC,SAAU;YACjC,iCAAiC,EAC/B,iCAAiC,CAAC,WAAW;YAC/C,YAAY,EAAE,OAAO;YACrB,MAAM,EAAE,MAAM,IAAI,SAAS;YAE3B,kBAAkB,EAAE;;EAExB,WAAW,CAAC,IAAI;aACL;SACR,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,QAAyB,EACzB,eAAgC;QAEhC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,YAAY,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAC9B,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,sBAAsB,EAAE,IAAI;oBAC5B,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,IAAI;oBACV,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE;wBACb,GAAG,EAAE,IAAI;qBACV;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GACV,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAEjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,+BAA+B,CAAC,kCAAkC,CACtE;oBACE,sBAAsB,EAAE,WAAW,CAAC,sBAAuB;oBAC3D,SAAS,EAAE,WAAW,CAAC,SAAU;oBACjC,iCAAiC,EAC/B,iCAAiC,CAAC,WAAW;oBAC/C,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,MAAM,IAAI,SAAS;oBAE3B,kBAAkB,EAAE;;EAE9B,WAAW,CAAC,IAAI;iBACD;iBACN,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ScheduledMaintenanceInternalNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceInternalNoteService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import TeamService from "./TeamService";
4
4
  import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
5
5
  import { ScheduledMaintenanceFeedEventType } from "../../Models/DatabaseModels/ScheduledMaintenanceFeed";
6
6
  import { Gray500, Red500 } from "../../Types/BrandColors";
7
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
8
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
9
+ import logger from "../Utils/Logger";
10
+ import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
7
11
  export class Service extends DatabaseService {
8
12
  constructor() {
9
13
  super(Model);
@@ -88,6 +92,26 @@ export class Service extends DatabaseService {
88
92
  });
89
93
  }
90
94
  }
95
+ // get notification rule where inviteOwners is true.
96
+ const notificationRules = await WorkspaceNotificationRuleService.getNotificationRulesWhereInviteOwnersIsTrue({
97
+ projectId: projectId,
98
+ notificationFor: {
99
+ scheduledMaintenanceId: scheduledMaintenanceId,
100
+ },
101
+ notificationRuleEventType: NotificationRuleEventType.ScheduledMaintenance,
102
+ });
103
+ logger.debug(`Notification Rules for ScheduledMaintenance Owner Teams`);
104
+ logger.debug(notificationRules);
105
+ WorkspaceNotificationRuleService.inviteTeamsBasedOnRulesAndWorkspaceChannels({
106
+ notificationRules: notificationRules,
107
+ projectId: projectId,
108
+ workspaceChannels: await ScheduledMaintenanceService.getWorkspaceChannelForScheduledMaintenance({
109
+ scheduledMaintenanceId: scheduledMaintenanceId,
110
+ }),
111
+ teamIds: [teamId],
112
+ }).catch((error) => {
113
+ logger.error(error);
114
+ });
91
115
  return createdItem;
92
116
  }
93
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenanceOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceOwnerTeamService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScheduledMaintenanceOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceOwnerTeamService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import UserService from "./UserService";
4
4
  import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
5
5
  import { ScheduledMaintenanceFeedEventType } from "../../Models/DatabaseModels/ScheduledMaintenanceFeed";
6
6
  import { Gray500, Red500 } from "../../Types/BrandColors";
7
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
8
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
9
+ import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
10
+ import logger from "../Utils/Logger";
7
11
  export class Service extends DatabaseService {
8
12
  constructor() {
9
13
  super(Model);
@@ -83,6 +87,24 @@ export class Service extends DatabaseService {
83
87
  });
84
88
  }
85
89
  }
90
+ // get notification rule where inviteOwners is true.
91
+ const notificationRules = await WorkspaceNotificationRuleService.getNotificationRulesWhereInviteOwnersIsTrue({
92
+ projectId: projectId,
93
+ notificationFor: {
94
+ scheduledMaintenanceId: scheduledMaintenanceId,
95
+ },
96
+ notificationRuleEventType: NotificationRuleEventType.ScheduledMaintenance,
97
+ });
98
+ WorkspaceNotificationRuleService.inviteUsersBasedOnRulesAndWorkspaceChannels({
99
+ notificationRules: notificationRules,
100
+ projectId: projectId,
101
+ workspaceChannels: await ScheduledMaintenanceService.getWorkspaceChannelForScheduledMaintenance({
102
+ scheduledMaintenanceId: scheduledMaintenanceId,
103
+ }),
104
+ userIds: [userId],
105
+ }).catch((error) => {
106
+ logger.error(error);
107
+ });
86
108
  return createdItem;
87
109
  }
88
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenanceOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceOwnerUserService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScheduledMaintenanceOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenanceOwnerUserService.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
5
5
  import { ScheduledMaintenanceFeedEventType } from "../../Models/DatabaseModels/ScheduledMaintenanceFeed";
6
6
  import { Blue500, Indigo500 } from "../../Types/BrandColors";
7
7
  import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
8
+ import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
8
9
  export class Service extends DatabaseService {
9
10
  constructor() {
10
11
  super(Model);
@@ -21,16 +22,25 @@ export class Service extends DatabaseService {
21
22
  async onCreateSuccess(_onCreate, createdItem) {
22
23
  var _a;
23
24
  const userId = createdItem.createdByUserId || ((_a = createdItem.createdByUser) === null || _a === void 0 ? void 0 : _a.id);
25
+ const scheduledMaintenanceId = createdItem.scheduledMaintenanceId;
26
+ const projectId = createdItem.projectId;
27
+ const scheduledMaintenanceNumber = await ScheduledMaintenanceService.getScheduledMaintenanceNumber({
28
+ scheduledMaintenanceId: scheduledMaintenanceId,
29
+ });
24
30
  await ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem({
25
31
  scheduledMaintenanceId: createdItem.scheduledMaintenanceId,
26
32
  projectId: createdItem.projectId,
27
33
  scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PublicNote,
28
34
  displayColor: Indigo500,
29
35
  userId: userId || undefined,
30
- feedInfoInMarkdown: `**Posted public note for this scheduled maintenance on status page**
31
-
36
+ feedInfoInMarkdown: `📄 posted **public note** for this [Scheduled Maintenance ${scheduledMaintenanceNumber}](${(await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(projectId, scheduledMaintenanceId)).toString()}) on status page:
37
+
32
38
  ${createdItem.note}
33
- `,
39
+ `,
40
+ workspaceNotification: {
41
+ sendWorkspaceNotification: true,
42
+ notifyUserId: userId || undefined,
43
+ },
34
44
  });
35
45
  return createdItem;
36
46
  }
@@ -55,21 +65,40 @@ ${createdItem.note}
55
65
  });
56
66
  const userId = onUpdate.updateBy.props.userId;
57
67
  for (const updatedItem of updatedItems) {
68
+ const scheduledMaintenance = updatedItem.scheduledMaintenance;
58
69
  await ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem({
59
70
  scheduledMaintenanceId: updatedItem.scheduledMaintenanceId,
60
71
  projectId: updatedItem.projectId,
61
- scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PublicNote,
72
+ scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PrivateNote,
62
73
  displayColor: Blue500,
63
74
  userId: userId || undefined,
64
- feedInfoInMarkdown: `**Updated Public Note**
65
-
75
+ feedInfoInMarkdown: `📄 updated **Public Note** for this [Scheduled Maintenance ${scheduledMaintenance.scheduledMaintenanceNumber}](${(await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(scheduledMaintenance.projectId, scheduledMaintenance.id)).toString()})
76
+
66
77
  ${updatedItem.note}
67
- `,
78
+ `,
79
+ workspaceNotification: {
80
+ sendWorkspaceNotification: true,
81
+ notifyUserId: userId || undefined,
82
+ },
68
83
  });
69
84
  }
70
85
  }
71
86
  return onUpdate;
72
87
  }
88
+ async addNote(data) {
89
+ const publicNote = new Model();
90
+ publicNote.createdByUserId = data.userId;
91
+ publicNote.scheduledMaintenanceId = data.scheduledMaintenanceId;
92
+ publicNote.projectId = data.projectId;
93
+ publicNote.note = data.note;
94
+ publicNote.postedAt = OneUptimeDate.getCurrentDate();
95
+ return this.create({
96
+ data: publicNote,
97
+ props: {
98
+ isRoot: true,
99
+ },
100
+ });
101
+ }
73
102
  }
74
103
  export default new Service();
75
104
  //# sourceMappingURL=ScheduledMaintenancePublicNoteService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenancePublicNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenancePublicNoteService.ts"],"names":[],"mappings":"AAEA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,6DAA6D,CAAC;AAChF,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEkB,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,SAA0B,EAC1B,WAAkB;;QAElB,MAAM,MAAM,GACV,WAAW,CAAC,eAAe,KAAI,MAAA,WAAW,CAAC,aAAa,0CAAE,EAAE,CAAA,CAAC;QAE/D,MAAM,+BAA+B,CAAC,kCAAkC,CAAC;YACvE,sBAAsB,EAAE,WAAW,CAAC,sBAAuB;YAC3D,SAAS,EAAE,WAAW,CAAC,SAAU;YACjC,iCAAiC,EAC/B,iCAAiC,CAAC,UAAU;YAC9C,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,kBAAkB,EAAE;;EAExB,WAAW,CAAC,IAAI;aACL;SACR,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,QAAyB,EACzB,eAAgC;QAEhC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,YAAY,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;gBACnD,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAC9B,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,sBAAsB,EAAE,IAAI;oBAC5B,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,IAAI;oBACV,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE;wBACb,GAAG,EAAE,IAAI;qBACV;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GACV,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAEjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,+BAA+B,CAAC,kCAAkC,CACtE;oBACE,sBAAsB,EAAE,WAAW,CAAC,sBAAuB;oBAC3D,SAAS,EAAE,WAAW,CAAC,SAAU;oBACjC,iCAAiC,EAC/B,iCAAiC,CAAC,UAAU;oBAC9C,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,MAAM,IAAI,SAAS;oBAE3B,kBAAkB,EAAE;;EAE9B,WAAW,CAAC,IAAI;eACH;iBACJ,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ScheduledMaintenancePublicNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenancePublicNoteService.ts"],"names":[],"mappings":"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"}