@oneuptime/common 7.0.3786 → 7.0.3815

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 (115) hide show
  1. package/Server/API/SlackAPI.ts +68 -0
  2. package/Server/Services/AccessTokenService.ts +21 -0
  3. package/Server/Services/AlertFeedService.ts +98 -0
  4. package/Server/Services/AlertInternalNoteService.ts +49 -8
  5. package/Server/Services/AlertOwnerTeamService.ts +50 -2
  6. package/Server/Services/AlertOwnerUserService.ts +52 -2
  7. package/Server/Services/AlertService.ts +236 -37
  8. package/Server/Services/AlertStateService.ts +24 -0
  9. package/Server/Services/AlertStateTimelineService.ts +30 -2
  10. package/Server/Services/IncidentInternalNoteService.ts +6 -6
  11. package/Server/Services/IncidentPublicNoteService.ts +7 -4
  12. package/Server/Services/IncidentStateTimelineService.ts +2 -1
  13. package/Server/Services/ScheduledMaintenanceFeedService.ts +103 -0
  14. package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +50 -6
  15. package/Server/Services/ScheduledMaintenanceOwnerTeamService.ts +37 -0
  16. package/Server/Services/ScheduledMaintenanceOwnerUserService.ts +34 -0
  17. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +49 -7
  18. package/Server/Services/ScheduledMaintenanceService.ts +375 -12
  19. package/Server/Services/ScheduledMaintenanceStateService.ts +122 -34
  20. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +33 -1
  21. package/Server/Services/WorkspaceNotificationRuleService.ts +12 -0
  22. package/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.ts +38 -0
  23. package/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.ts +116 -0
  24. package/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.ts +36 -115
  25. package/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.ts +108 -0
  26. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +20 -2
  27. package/Server/Utils/Workspace/Slack/Actions/Alert.ts +697 -0
  28. package/Server/Utils/Workspace/Slack/Actions/Auth.ts +9 -2
  29. package/Server/Utils/Workspace/Slack/Actions/Incident.ts +9 -3
  30. package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +956 -0
  31. package/Server/Utils/Workspace/Slack/Messages/Alert.ts +116 -0
  32. package/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.ts +108 -0
  33. package/Server/Utils/Workspace/Slack/Slack.ts +48 -2
  34. package/Server/Utils/Workspace/Slack/app-manifest.json +3 -3
  35. package/Server/Utils/Workspace/WorkspaceBase.ts +14 -0
  36. package/Server/Utils/Workspace/WorkspaceMessages/Alert.ts +69 -0
  37. package/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.ts +73 -0
  38. package/Types/Date.ts +5 -0
  39. package/Types/Workspace/WorkspaceMessagePayload.ts +9 -0
  40. package/build/dist/Server/API/SlackAPI.js +54 -0
  41. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  42. package/build/dist/Server/Services/AccessTokenService.js +11 -0
  43. package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
  44. package/build/dist/Server/Services/AlertFeedService.js +60 -0
  45. package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
  46. package/build/dist/Server/Services/AlertInternalNoteService.js +39 -8
  47. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
  48. package/build/dist/Server/Services/AlertOwnerTeamService.js +40 -2
  49. package/build/dist/Server/Services/AlertOwnerTeamService.js.map +1 -1
  50. package/build/dist/Server/Services/AlertOwnerUserService.js +41 -3
  51. package/build/dist/Server/Services/AlertOwnerUserService.js.map +1 -1
  52. package/build/dist/Server/Services/AlertService.js +192 -35
  53. package/build/dist/Server/Services/AlertService.js.map +1 -1
  54. package/build/dist/Server/Services/AlertStateService.js +13 -0
  55. package/build/dist/Server/Services/AlertStateService.js.map +1 -1
  56. package/build/dist/Server/Services/AlertStateTimelineService.js +26 -2
  57. package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
  58. package/build/dist/Server/Services/IncidentInternalNoteService.js +6 -6
  59. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  60. package/build/dist/Server/Services/IncidentPublicNoteService.js +5 -4
  61. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  62. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  63. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  64. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +60 -0
  65. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -1
  66. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +36 -6
  67. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
  68. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js +24 -0
  69. package/build/dist/Server/Services/ScheduledMaintenanceOwnerTeamService.js.map +1 -1
  70. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js +22 -0
  71. package/build/dist/Server/Services/ScheduledMaintenanceOwnerUserService.js.map +1 -1
  72. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +36 -7
  73. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  74. package/build/dist/Server/Services/ScheduledMaintenanceService.js +275 -13
  75. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  76. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js +52 -4
  77. package/build/dist/Server/Services/ScheduledMaintenanceStateService.js.map +1 -1
  78. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +28 -1
  79. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  80. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +10 -0
  81. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  82. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js +37 -0
  83. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js.map +1 -0
  84. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.js +82 -0
  85. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.js.map +1 -0
  86. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js +33 -99
  87. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.js.map +1 -1
  88. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.js +74 -0
  89. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.js.map +1 -0
  90. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +20 -2
  91. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -1
  92. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +425 -0
  93. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -0
  94. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +2 -0
  95. package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -1
  96. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +5 -2
  97. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
  98. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +599 -0
  99. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js.map +1 -0
  100. package/build/dist/Server/Utils/Workspace/Slack/Messages/Alert.js +82 -0
  101. package/build/dist/Server/Utils/Workspace/Slack/Messages/Alert.js.map +1 -0
  102. package/build/dist/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.js +74 -0
  103. package/build/dist/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.js.map +1 -0
  104. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +34 -0
  105. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  106. package/build/dist/Server/Utils/Workspace/Slack/app-manifest.json +3 -3
  107. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js +8 -0
  108. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
  109. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js +48 -0
  110. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js.map +1 -0
  111. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.js +47 -0
  112. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/ScheduledMaintenance.js.map +1 -0
  113. package/build/dist/Types/Date.js +4 -0
  114. package/build/dist/Types/Date.js.map +1 -1
  115. package/package.json +2 -2
@@ -142,6 +142,17 @@ export class AccessTokenService extends BaseService {
142
142
  await GlobalCache.setJSON(PermissionNamespace.ProjectPermission, userId.toString() + projectId.toString(), permission);
143
143
  return permission;
144
144
  }
145
+ async getDatabaseCommonInteractionPropsByUserAndProject(data) {
146
+ const { userId, projectId } = data;
147
+ return {
148
+ userId: userId,
149
+ userGlobalAccessPermission: (await this.getUserGlobalAccessPermission(userId)) || undefined,
150
+ userTenantAccessPermission: {
151
+ [projectId.toString()]: (await this.getUserTenantAccessPermission(userId, projectId)),
152
+ },
153
+ tenantId: projectId,
154
+ };
155
+ }
145
156
  async getUserTenantAccessPermission(userId, projectId) {
146
157
  const json = await UserPermissionUtil.getUserTenantAccessPermissionFromCache(userId, projectId);
147
158
  if (!json) {
@@ -1 +1 @@
1
- {"version":3,"file":"AccessTokenService.js","sourceRoot":"","sources":["../../../../Server/Services/AccessTokenService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessTokenService.js","sourceRoot":"","sources":["../../../../Server/Services/AccessTokenService.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,12 @@ import OneUptimeDate from "../../Types/Date";
3
3
  import BadDataException from "../../Types/Exception/BadDataException";
4
4
  import { IsBillingEnabled } from "../EnvironmentConfig";
5
5
  import logger from "../Utils/Logger";
6
+ import AlertService from "./AlertService";
6
7
  import DatabaseService from "./DatabaseService";
7
8
  import Model from "Common/Models/DatabaseModels/AlertFeed";
9
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
10
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
11
+ import WorkspaceUtil from "../Utils/Workspace/Workspace";
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 createAlertFeedItem(data) {
20
+ var _a, _b;
16
21
  try {
17
22
  if (!data.alertId) {
18
23
  throw new BadDataException("Alert ID is required");
@@ -50,6 +55,61 @@ export class Service extends DatabaseService {
50
55
  isRoot: true,
51
56
  },
52
57
  });
58
+ try {
59
+ // send notification to slack and teams
60
+ if ((_a = data.workspaceNotification) === null || _a === void 0 ? void 0 : _a.sendWorkspaceNotification) {
61
+ let messageBlocksByWorkspaceTypes = [];
62
+ // use markdown to create blocks
63
+ messageBlocksByWorkspaceTypes =
64
+ await WorkspaceUtil.getMessageBlocksByMarkdown({
65
+ userId: data.workspaceNotification.notifyUserId,
66
+ markdown: data.feedInfoInMarkdown,
67
+ projectId: data.projectId,
68
+ });
69
+ if (data.workspaceNotification.appendMessageBlocks) {
70
+ for (const messageBlocksByWorkspaceType of data
71
+ .workspaceNotification.appendMessageBlocks) {
72
+ const workspaceType = messageBlocksByWorkspaceType.workspaceType;
73
+ (_b = messageBlocksByWorkspaceTypes
74
+ .find((messageBlocksByWorkspaceType) => {
75
+ return (messageBlocksByWorkspaceType.workspaceType ===
76
+ workspaceType);
77
+ })) === null || _b === void 0 ? void 0 : _b.messageBlocks.push(...messageBlocksByWorkspaceType.messageBlocks);
78
+ }
79
+ }
80
+ const workspaceNotificationPaylaods = [];
81
+ for (const messageBlocksByWorkspaceType of messageBlocksByWorkspaceTypes) {
82
+ const existingChannels = await WorkspaceNotificationRuleService.getExistingChannelNamesBasedOnEventType({
83
+ projectId: data.projectId,
84
+ notificationRuleEventType: NotificationRuleEventType.Alert,
85
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
86
+ });
87
+ const alertChannels = await AlertService.getWorkspaceChannelForAlert({
88
+ alertId: data.alertId,
89
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
90
+ });
91
+ const workspaceMessagePayload = {
92
+ _type: "WorkspaceMessagePayload",
93
+ workspaceType: messageBlocksByWorkspaceType.workspaceType,
94
+ messageBlocks: messageBlocksByWorkspaceType.messageBlocks,
95
+ channelNames: existingChannels,
96
+ channelIds: alertChannels.map((channel) => {
97
+ return channel.id;
98
+ }) || [],
99
+ };
100
+ workspaceNotificationPaylaods.push(workspaceMessagePayload);
101
+ }
102
+ await WorkspaceUtil.postMessageToAllWorkspaceChannelsAsBot({
103
+ projectId: data.projectId,
104
+ messagePayloadsByWorkspace: workspaceNotificationPaylaods,
105
+ });
106
+ }
107
+ }
108
+ catch (e) {
109
+ logger.error("Error in sending notification to slack and teams");
110
+ logger.error(e);
111
+ // we dont throw this error as it is not a critical error
112
+ }
53
113
  }
54
114
  catch (error) {
55
115
  logger.error("AlertFeedService.createAlertFeedItem");
@@ -1 +1 @@
1
- {"version":3,"file":"AlertFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertFeedService.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,wCAAwC,CAAC;AAEhD,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,mBAAmB,CAAC,IAShC;QACC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAE3C,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACvD,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACvD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;YACtD,CAAC;YAED,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACnC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC;YACvE,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,4EAA4E;QAC9E,CAAC;IACH,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"AlertFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertFeedService.ts"],"names":[],"mappings":"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"}
@@ -4,23 +4,45 @@ import AlertFeedService from "./AlertFeedService";
4
4
  import { AlertFeedEventType } from "../../Models/DatabaseModels/AlertFeed";
5
5
  import { Blue500 } from "../../Types/BrandColors";
6
6
  import { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
7
+ import AlertService from "./AlertService";
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.alertId = data.alertId;
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 alertId = createdItem.alertId;
29
+ const alertNumber = await AlertService.getAlertNumber({
30
+ alertId: alertId,
31
+ });
14
32
  await AlertFeedService.createAlertFeedItem({
15
33
  alertId: createdItem.alertId,
16
34
  projectId: createdItem.projectId,
17
35
  alertFeedEventType: AlertFeedEventType.PrivateNote,
18
36
  displayColor: Blue500,
19
37
  userId: userId || undefined,
20
- feedInfoInMarkdown: `**Posted Internal / Private Note**
21
-
22
- ${createdItem.note}
23
- `,
38
+ feedInfoInMarkdown: `📄 posted **private note** for this [Alert ${alertNumber}](${(await AlertService.getAlertLinkInDashboard(createdItem.projectId, alertId)).toString()}):
39
+
40
+ ${createdItem.note}
41
+ `,
42
+ workspaceNotification: {
43
+ sendWorkspaceNotification: true,
44
+ notifyUserId: userId || undefined,
45
+ },
24
46
  });
25
47
  return createdItem;
26
48
  }
@@ -38,6 +60,10 @@ export class Service extends DatabaseService {
38
60
  projectId: true,
39
61
  note: true,
40
62
  createdByUserId: true,
63
+ alert: {
64
+ projectId: true,
65
+ alertNumber: true,
66
+ },
41
67
  createdByUser: {
42
68
  _id: true,
43
69
  },
@@ -45,16 +71,21 @@ export class Service extends DatabaseService {
45
71
  });
46
72
  const userId = onUpdate.updateBy.props.userId;
47
73
  for (const updatedItem of updatedItems) {
74
+ const alert = updatedItem.alert;
48
75
  await AlertFeedService.createAlertFeedItem({
49
76
  alertId: updatedItem.alertId,
50
77
  projectId: updatedItem.projectId,
51
78
  alertFeedEventType: AlertFeedEventType.PrivateNote,
52
79
  displayColor: Blue500,
53
80
  userId: userId || undefined,
54
- feedInfoInMarkdown: `**Updated Internal / Private Note**
55
-
56
- ${updatedItem.note}
57
- `,
81
+ feedInfoInMarkdown: `📄 updated **Private Note** for this [Alert ${alert.alertNumber}](${(await AlertService.getAlertLinkInDashboard(alert.projectId, alert.id)).toString()})
82
+
83
+ ${updatedItem.note}
84
+ `,
85
+ workspaceNotification: {
86
+ sendWorkspaceNotification: true,
87
+ notifyUserId: userId || undefined,
88
+ },
58
89
  });
59
90
  }
60
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AlertInternalNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertInternalNoteService.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,gDAAgD,CAAC;AAEnE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,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,gBAAgB,CAAC,mBAAmB,CAAC;YACzC,OAAO,EAAE,WAAW,CAAC,OAAQ;YAC7B,SAAS,EAAE,WAAW,CAAC,SAAU;YACjC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;YAClD,YAAY,EAAE,OAAO;YACrB,MAAM,EAAE,MAAM,IAAI,SAAS;YAE3B,kBAAkB,EAAE;;IAEtB,WAAW,CAAC,IAAI;aACP;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,OAAO,EAAE,IAAI;oBACb,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,gBAAgB,CAAC,mBAAmB,CAAC;oBACzC,OAAO,EAAE,WAAW,CAAC,OAAQ;oBAC7B,SAAS,EAAE,WAAW,CAAC,SAAU;oBACjC,kBAAkB,EAAE,kBAAkB,CAAC,WAAW;oBAClD,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,MAAM,IAAI,SAAS;oBAE3B,kBAAkB,EAAE;;IAE1B,WAAW,CAAC,IAAI;aACP;iBACJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"AlertInternalNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertInternalNoteService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import TeamService from "./TeamService";
4
4
  import AlertFeedService from "./AlertFeedService";
5
5
  import { AlertFeedEventType } from "../../Models/DatabaseModels/AlertFeed";
6
6
  import { Gray500, Red500 } from "../../Types/BrandColors";
7
+ import AlertService from "./AlertService";
8
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
9
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
10
+ import logger from "../Utils/Logger";
7
11
  export class Service extends DatabaseService {
8
12
  constructor() {
9
13
  super(Model);
@@ -48,13 +52,20 @@ export class Service extends DatabaseService {
48
52
  },
49
53
  });
50
54
  if (team && team.name) {
55
+ const alertNumber = await AlertService.getAlertNumber({
56
+ alertId: alertId,
57
+ });
51
58
  await AlertFeedService.createAlertFeedItem({
52
59
  alertId: alertId,
53
60
  projectId: projectId,
54
61
  alertFeedEventType: AlertFeedEventType.OwnerTeamRemoved,
55
62
  displayColor: Red500,
56
- feedInfoInMarkdown: `Removed team **${team.name}** from the alert as the owner.`,
63
+ feedInfoInMarkdown: `👨🏻‍👩🏻‍👦🏻 Removed team **${team.name}** from the [Alert ${alertNumber}](${(await AlertService.getAlertLinkInDashboard(projectId, alertId)).toString()}) as the owner.`,
57
64
  userId: deleteByUserId || undefined,
65
+ workspaceNotification: {
66
+ sendWorkspaceNotification: true,
67
+ notifyUserId: deleteByUserId || undefined,
68
+ },
58
69
  });
59
70
  }
60
71
  }
@@ -78,16 +89,43 @@ export class Service extends DatabaseService {
78
89
  },
79
90
  });
80
91
  if (team && team.name) {
92
+ const alertNumber = await AlertService.getAlertNumber({
93
+ alertId: alertId,
94
+ });
81
95
  await AlertFeedService.createAlertFeedItem({
82
96
  alertId: alertId,
83
97
  projectId: projectId,
84
98
  alertFeedEventType: AlertFeedEventType.OwnerTeamAdded,
85
99
  displayColor: Gray500,
86
- feedInfoInMarkdown: `Added team **${team.name}** to the alert as the owner.`,
100
+ feedInfoInMarkdown: `👨🏻‍👩🏻‍👦🏻 Added team **${team.name}** to the [Alert ${alertNumber}](${(await AlertService.getAlertLinkInDashboard(projectId, alertId)).toString()}) as the owner.`,
87
101
  userId: createdByUserId || undefined,
102
+ workspaceNotification: {
103
+ sendWorkspaceNotification: true,
104
+ notifyUserId: createdByUserId || undefined,
105
+ },
88
106
  });
89
107
  }
90
108
  }
109
+ // get notification rule where inviteOwners is true.
110
+ const notificationRules = await WorkspaceNotificationRuleService.getNotificationRulesWhereInviteOwnersIsTrue({
111
+ projectId: projectId,
112
+ notificationFor: {
113
+ alertId: alertId,
114
+ },
115
+ notificationRuleEventType: NotificationRuleEventType.Alert,
116
+ });
117
+ logger.debug(`Notification Rules for Alert Owner Teams`);
118
+ logger.debug(notificationRules);
119
+ WorkspaceNotificationRuleService.inviteTeamsBasedOnRulesAndWorkspaceChannels({
120
+ notificationRules: notificationRules,
121
+ projectId: projectId,
122
+ workspaceChannels: await AlertService.getWorkspaceChannelForAlert({
123
+ alertId: alertId,
124
+ }),
125
+ teamIds: [teamId],
126
+ }).catch((error) => {
127
+ logger.error(error);
128
+ });
91
129
  return createdItem;
92
130
  }
93
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AlertOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertOwnerTeamService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AlertOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertOwnerTeamService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import UserService from "./UserService";
4
4
  import AlertFeedService from "./AlertFeedService";
5
5
  import { AlertFeedEventType } from "../../Models/DatabaseModels/AlertFeed";
6
6
  import { Gray500, Red500 } from "../../Types/BrandColors";
7
+ import AlertService from "./AlertService";
8
+ import WorkspaceNotificationRuleService from "./WorkspaceNotificationRuleService";
9
+ import NotificationRuleEventType from "../../Types/Workspace/NotificationRules/EventType";
10
+ import logger from "../Utils/Logger";
7
11
  export class Service extends DatabaseService {
8
12
  constructor() {
9
13
  super(Model);
@@ -49,13 +53,20 @@ export class Service extends DatabaseService {
49
53
  },
50
54
  });
51
55
  if (user && user.name) {
56
+ const alertNumber = await AlertService.getAlertNumber({
57
+ alertId: alertId,
58
+ });
52
59
  await AlertFeedService.createAlertFeedItem({
53
60
  alertId: alertId,
54
61
  projectId: projectId,
55
62
  alertFeedEventType: AlertFeedEventType.OwnerUserRemoved,
56
63
  displayColor: Red500,
57
- feedInfoInMarkdown: `Removed **${user.name.toString()}** (${(_b = user.email) === null || _b === void 0 ? void 0 : _b.toString()}) from the alert as the owner.`,
64
+ feedInfoInMarkdown: `👨🏻‍💻 Removed **${user.name.toString()}** (${(_b = user.email) === null || _b === void 0 ? void 0 : _b.toString()}) from the [Alert ${alertNumber}](${(await AlertService.getAlertLinkInDashboard(projectId, alertId)).toString()}) as the owner.`,
58
65
  userId: deleteByUserId || undefined,
66
+ workspaceNotification: {
67
+ sendWorkspaceNotification: true,
68
+ notifyUserId: userId || undefined,
69
+ },
59
70
  });
60
71
  }
61
72
  }
@@ -64,7 +75,6 @@ export class Service extends DatabaseService {
64
75
  }
65
76
  async onCreateSuccess(onCreate, createdItem) {
66
77
  // add alert feed.
67
- var _a;
68
78
  const alertId = createdItem.alertId;
69
79
  const projectId = createdItem.projectId;
70
80
  const userId = createdItem.userId;
@@ -81,16 +91,44 @@ export class Service extends DatabaseService {
81
91
  },
82
92
  });
83
93
  if (user && user.name) {
94
+ const alertNumber = await AlertService.getAlertNumber({
95
+ alertId: alertId,
96
+ });
84
97
  await AlertFeedService.createAlertFeedItem({
85
98
  alertId: alertId,
86
99
  projectId: projectId,
87
100
  alertFeedEventType: AlertFeedEventType.OwnerUserAdded,
88
101
  displayColor: Gray500,
89
- feedInfoInMarkdown: `**${user.name.toString()}** (${(_a = user.email) === null || _a === void 0 ? void 0 : _a.toString()}) was added to the alert as the owner.`,
102
+ feedInfoInMarkdown: `👨🏻‍💻 Added **${await UserService.getUserMarkdownString({
103
+ userId: userId,
104
+ projectId: projectId,
105
+ })}** to the [Alert ${alertNumber}](${(await AlertService.getAlertLinkInDashboard(projectId, alertId)).toString()}) as the owner.`,
90
106
  userId: createdByUserId || undefined,
107
+ workspaceNotification: {
108
+ sendWorkspaceNotification: true,
109
+ notifyUserId: userId || undefined,
110
+ },
91
111
  });
92
112
  }
93
113
  }
114
+ // get notification rule where inviteOwners is true.
115
+ const notificationRules = await WorkspaceNotificationRuleService.getNotificationRulesWhereInviteOwnersIsTrue({
116
+ projectId: projectId,
117
+ notificationFor: {
118
+ alertId: alertId,
119
+ },
120
+ notificationRuleEventType: NotificationRuleEventType.Alert,
121
+ });
122
+ WorkspaceNotificationRuleService.inviteUsersBasedOnRulesAndWorkspaceChannels({
123
+ notificationRules: notificationRules,
124
+ projectId: projectId,
125
+ workspaceChannels: await AlertService.getWorkspaceChannelForAlert({
126
+ alertId: alertId,
127
+ }),
128
+ userIds: [userId],
129
+ }).catch((error) => {
130
+ logger.error(error);
131
+ });
94
132
  return createdItem;
95
133
  }
96
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AlertOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertOwnerUserService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AlertOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/AlertOwnerUserService.ts"],"names":[],"mappings":"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"}