@oneuptime/common 9.4.7 → 9.4.8

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 (304) hide show
  1. package/Models/DatabaseModels/Alert.ts +76 -0
  2. package/Models/DatabaseModels/AlertEpisode.ts +1201 -0
  3. package/Models/DatabaseModels/AlertEpisodeFeed.ts +529 -0
  4. package/Models/DatabaseModels/AlertEpisodeInternalNote.ts +455 -0
  5. package/Models/DatabaseModels/AlertEpisodeMember.ts +586 -0
  6. package/Models/DatabaseModels/AlertEpisodeOwnerTeam.ts +421 -0
  7. package/Models/DatabaseModels/AlertEpisodeOwnerUser.ts +419 -0
  8. package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +523 -0
  9. package/Models/DatabaseModels/AlertFeed.ts +1 -0
  10. package/Models/DatabaseModels/AlertGroupingRule.ts +1432 -0
  11. package/Models/DatabaseModels/Index.ts +18 -0
  12. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +70 -0
  13. package/Models/DatabaseModels/StatusPageDomain.ts +2 -0
  14. package/Models/DatabaseModels/WorkspaceNotificationLog.ts +57 -0
  15. package/Server/API/SlackAPI.ts +21 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1768938069147-MigrationName.ts +751 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/1769125561322-MigrationName.ts +41 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1769170578688-MigrationName.ts +29 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1769172358833-MigrationName.ts +177 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1769176450526-MigrationName.ts +71 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1769190495840-MigrationName.ts +35 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1769199303656-MigrationName.ts +29 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1769202898645-MigrationName.ts +29 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1769428619414-MigrationName.ts +35 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1769428821686-MigrationName.ts +47 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  27. package/Server/Services/AlertEpisodeFeedService.ts +94 -0
  28. package/Server/Services/AlertEpisodeInternalNoteService.ts +71 -0
  29. package/Server/Services/AlertEpisodeMemberService.ts +267 -0
  30. package/Server/Services/AlertEpisodeOwnerTeamService.ts +10 -0
  31. package/Server/Services/AlertEpisodeOwnerUserService.ts +10 -0
  32. package/Server/Services/AlertEpisodeService.ts +988 -0
  33. package/Server/Services/AlertEpisodeStateTimelineService.ts +557 -0
  34. package/Server/Services/AlertGroupingEngineService.ts +1120 -0
  35. package/Server/Services/AlertGroupingRuleService.ts +14 -0
  36. package/Server/Services/AlertService.ts +12 -0
  37. package/Server/Services/CallService.ts +2 -0
  38. package/Server/Services/Index.ts +21 -0
  39. package/Server/Services/MailService.ts +5 -0
  40. package/Server/Services/OnCallDutyPolicyService.ts +5 -0
  41. package/Server/Services/SmsService.ts +2 -0
  42. package/Server/Services/UserNotificationSettingService.ts +23 -0
  43. package/Server/Services/WhatsAppService.ts +5 -0
  44. package/Server/Services/WorkspaceNotificationRuleService.ts +26 -0
  45. package/Server/Utils/AnalyticsDatabase/Statement.ts +6 -2
  46. package/Server/Utils/WhatsAppTemplateUtil.ts +13 -0
  47. package/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.ts +18 -0
  48. package/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.ts +689 -0
  49. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +16 -0
  50. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +11 -0
  51. package/Server/Utils/Workspace/Slack/Actions/AlertEpisode.ts +915 -0
  52. package/Server/Utils/Workspace/Slack/Messages/AlertEpisode.ts +120 -0
  53. package/Server/Utils/Workspace/WorkspaceMessages/AlertEpisode.ts +74 -0
  54. package/Tests/Server/Services/AlertEpisodeMemberService.test.ts +200 -0
  55. package/Tests/Server/Services/AlertEpisodeService.test.ts +240 -0
  56. package/Tests/Server/Services/AlertGroupingEngineService.test.ts +542 -0
  57. package/Tests/Server/Services/AlertGroupingRuleService.test.ts +383 -0
  58. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +1 -1
  59. package/Tests/UI/Components/Input.test.tsx +1 -1
  60. package/Tests/UI/Components/TextArea.test.tsx +2 -2
  61. package/Types/BaseDatabase/SortOrder.ts +9 -0
  62. package/Types/Email/EmailTemplateType.ts +5 -0
  63. package/Types/NotificationRule/NotificationRuleType.ts +1 -0
  64. package/Types/NotificationSetting/NotificationSettingEventType.ts +7 -0
  65. package/Types/Permission.ts +309 -0
  66. package/Types/UserNotification/UserNotificationEventType.ts +1 -0
  67. package/Types/WhatsApp/WhatsAppTemplates.ts +20 -0
  68. package/Types/Workspace/NotificationRules/EventType.ts +1 -0
  69. package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +32 -3
  70. package/UI/Components/Accordion/Accordion.tsx +20 -2
  71. package/UI/Components/Alerts/Alert.tsx +1 -0
  72. package/UI/Components/Button/Button.tsx +29 -0
  73. package/UI/Components/CardSelect/CardSelect.tsx +5 -1
  74. package/UI/Components/Checkbox/Checkbox.tsx +7 -3
  75. package/UI/Components/ColorCircle/ColorCircle.tsx +2 -0
  76. package/UI/Components/ColorViewer/ColorViewer.tsx +19 -3
  77. package/UI/Components/CopyableButton/CopyableButton.tsx +22 -5
  78. package/UI/Components/Detail/Detail.tsx +1 -1
  79. package/UI/Components/Dropdown/Dropdown.tsx +14 -1
  80. package/UI/Components/Forms/Fields/FormField.tsx +28 -0
  81. package/UI/Components/FullPageModal/FullPageModal.tsx +35 -4
  82. package/UI/Components/Input/Input.tsx +14 -2
  83. package/UI/Components/Link/Link.tsx +1 -0
  84. package/UI/Components/Loader/Loader.tsx +8 -2
  85. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +76 -1
  86. package/UI/Components/Modal/Modal.tsx +47 -3
  87. package/UI/Components/ModelTable/BaseModelTable.tsx +42 -1
  88. package/UI/Components/MoreMenu/MoreMenu.tsx +84 -2
  89. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +30 -8
  90. package/UI/Components/Pagination/Pagination.tsx +113 -8
  91. package/UI/Components/ProgressBar/ProgressBar.tsx +12 -2
  92. package/UI/Components/Radio/Radio.tsx +21 -3
  93. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +54 -27
  94. package/UI/Components/StatusBubble/StatusBubble.tsx +7 -2
  95. package/UI/Components/Table/TableHeader.tsx +20 -3
  96. package/UI/Components/Tabs/Tab.tsx +16 -1
  97. package/UI/Components/Tabs/Tabs.tsx +12 -1
  98. package/UI/Components/TextArea/TextArea.tsx +12 -2
  99. package/UI/Components/Toggle/Toggle.tsx +14 -3
  100. package/UI/Components/Tooltip/Tooltip.tsx +11 -1
  101. package/UI/Components/TopAlert/TopAlert.tsx +2 -0
  102. package/build/dist/Models/DatabaseModels/Alert.js +77 -0
  103. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  104. package/build/dist/Models/DatabaseModels/AlertEpisode.js +1225 -0
  105. package/build/dist/Models/DatabaseModels/AlertEpisode.js.map +1 -0
  106. package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js +553 -0
  107. package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js.map +1 -0
  108. package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js +467 -0
  109. package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js.map +1 -0
  110. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +607 -0
  111. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -0
  112. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js +437 -0
  113. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js.map +1 -0
  114. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js +436 -0
  115. package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js.map +1 -0
  116. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +546 -0
  117. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -0
  118. package/build/dist/Models/DatabaseModels/AlertFeed.js +1 -0
  119. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js +1437 -0
  121. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js.map +1 -0
  122. package/build/dist/Models/DatabaseModels/Index.js +16 -0
  123. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +69 -0
  125. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  126. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +2 -0
  127. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  128. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js +58 -0
  129. package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js.map +1 -1
  130. package/build/dist/Server/API/SlackAPI.js +18 -0
  131. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768938069147-MigrationName.js +266 -0
  133. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768938069147-MigrationName.js.map +1 -0
  134. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769125561322-MigrationName.js +20 -0
  135. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769125561322-MigrationName.js.map +1 -0
  136. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769170578688-MigrationName.js +16 -0
  137. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769170578688-MigrationName.js.map +1 -0
  138. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769172358833-MigrationName.js +68 -0
  139. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769172358833-MigrationName.js.map +1 -0
  140. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769176450526-MigrationName.js +30 -0
  141. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769176450526-MigrationName.js.map +1 -0
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769190495840-MigrationName.js +18 -0
  143. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769190495840-MigrationName.js.map +1 -0
  144. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769199303656-MigrationName.js +16 -0
  145. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769199303656-MigrationName.js.map +1 -0
  146. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769202898645-MigrationName.js +16 -0
  147. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769202898645-MigrationName.js.map +1 -0
  148. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769428619414-MigrationName.js +18 -0
  149. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769428619414-MigrationName.js.map +1 -0
  150. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769428821686-MigrationName.js +22 -0
  151. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769428821686-MigrationName.js.map +1 -0
  152. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  153. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  154. package/build/dist/Server/Services/AlertEpisodeFeedService.js +83 -0
  155. package/build/dist/Server/Services/AlertEpisodeFeedService.js.map +1 -0
  156. package/build/dist/Server/Services/AlertEpisodeInternalNoteService.js +70 -0
  157. package/build/dist/Server/Services/AlertEpisodeInternalNoteService.js.map +1 -0
  158. package/build/dist/Server/Services/AlertEpisodeMemberService.js +256 -0
  159. package/build/dist/Server/Services/AlertEpisodeMemberService.js.map +1 -0
  160. package/build/dist/Server/Services/AlertEpisodeOwnerTeamService.js +9 -0
  161. package/build/dist/Server/Services/AlertEpisodeOwnerTeamService.js.map +1 -0
  162. package/build/dist/Server/Services/AlertEpisodeOwnerUserService.js +9 -0
  163. package/build/dist/Server/Services/AlertEpisodeOwnerUserService.js.map +1 -0
  164. package/build/dist/Server/Services/AlertEpisodeService.js +885 -0
  165. package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -0
  166. package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js +494 -0
  167. package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js.map +1 -0
  168. package/build/dist/Server/Services/AlertGroupingEngineService.js +893 -0
  169. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -0
  170. package/build/dist/Server/Services/AlertGroupingRuleService.js +13 -0
  171. package/build/dist/Server/Services/AlertGroupingRuleService.js.map +1 -0
  172. package/build/dist/Server/Services/AlertService.js +11 -0
  173. package/build/dist/Server/Services/AlertService.js.map +1 -1
  174. package/build/dist/Server/Services/CallService.js +11 -10
  175. package/build/dist/Server/Services/CallService.js.map +1 -1
  176. package/build/dist/Server/Services/Index.js +18 -0
  177. package/build/dist/Server/Services/Index.js.map +1 -1
  178. package/build/dist/Server/Services/MailService.js +3 -0
  179. package/build/dist/Server/Services/MailService.js.map +1 -1
  180. package/build/dist/Server/Services/OnCallDutyPolicyService.js +3 -0
  181. package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
  182. package/build/dist/Server/Services/SmsService.js +11 -10
  183. package/build/dist/Server/Services/SmsService.js.map +1 -1
  184. package/build/dist/Server/Services/UserNotificationSettingService.js +9 -0
  185. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  186. package/build/dist/Server/Services/WhatsAppService.js +3 -0
  187. package/build/dist/Server/Services/WhatsAppService.js.map +1 -1
  188. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +25 -0
  189. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  190. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +4 -2
  191. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  192. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +8 -0
  193. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  194. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js +17 -0
  195. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ActionTypes.js.map +1 -1
  196. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js +545 -0
  197. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js.map +1 -0
  198. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +13 -0
  199. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  200. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +10 -0
  201. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -1
  202. package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js +651 -0
  203. package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js.map +1 -0
  204. package/build/dist/Server/Utils/Workspace/Slack/Messages/AlertEpisode.js +100 -0
  205. package/build/dist/Server/Utils/Workspace/Slack/Messages/AlertEpisode.js.map +1 -0
  206. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/AlertEpisode.js +70 -0
  207. package/build/dist/Server/Utils/Workspace/WorkspaceMessages/AlertEpisode.js.map +1 -0
  208. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +165 -0
  209. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +1 -0
  210. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +193 -0
  211. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +1 -0
  212. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +412 -0
  213. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +1 -0
  214. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +308 -0
  215. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +1 -0
  216. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +1 -1
  217. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +1 -1
  218. package/build/dist/Tests/UI/Components/Input.test.js +1 -1
  219. package/build/dist/Tests/UI/Components/Input.test.js.map +1 -1
  220. package/build/dist/Tests/UI/Components/TextArea.test.js +2 -2
  221. package/build/dist/Tests/UI/Components/TextArea.test.js.map +1 -1
  222. package/build/dist/Types/BaseDatabase/SortOrder.js +5 -0
  223. package/build/dist/Types/BaseDatabase/SortOrder.js.map +1 -1
  224. package/build/dist/Types/Email/EmailTemplateType.js +4 -0
  225. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  226. package/build/dist/Types/NotificationRule/NotificationRuleType.js +1 -0
  227. package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
  228. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +5 -0
  229. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  230. package/build/dist/Types/Permission.js +264 -0
  231. package/build/dist/Types/Permission.js.map +1 -1
  232. package/build/dist/Types/UserNotification/UserNotificationEventType.js +1 -0
  233. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
  234. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +12 -0
  235. package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
  236. package/build/dist/Types/Workspace/NotificationRules/EventType.js +1 -0
  237. package/build/dist/Types/Workspace/NotificationRules/EventType.js.map +1 -1
  238. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +28 -3
  239. package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
  240. package/build/dist/UI/Components/Accordion/Accordion.js +10 -3
  241. package/build/dist/UI/Components/Accordion/Accordion.js.map +1 -1
  242. package/build/dist/UI/Components/Alerts/Alert.js +1 -1
  243. package/build/dist/UI/Components/Alerts/Alert.js.map +1 -1
  244. package/build/dist/UI/Components/Button/Button.js +8 -2
  245. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  246. package/build/dist/UI/Components/CardSelect/CardSelect.js +1 -1
  247. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  248. package/build/dist/UI/Components/Checkbox/Checkbox.js +2 -2
  249. package/build/dist/UI/Components/Checkbox/Checkbox.js.map +1 -1
  250. package/build/dist/UI/Components/ColorCircle/ColorCircle.js +1 -1
  251. package/build/dist/UI/Components/ColorCircle/ColorCircle.js.map +1 -1
  252. package/build/dist/UI/Components/ColorViewer/ColorViewer.js +12 -3
  253. package/build/dist/UI/Components/ColorViewer/ColorViewer.js.map +1 -1
  254. package/build/dist/UI/Components/CopyableButton/CopyableButton.js +12 -5
  255. package/build/dist/UI/Components/CopyableButton/CopyableButton.js.map +1 -1
  256. package/build/dist/UI/Components/Detail/Detail.js +1 -1
  257. package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
  258. package/build/dist/UI/Components/Dropdown/Dropdown.js +5 -3
  259. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  260. package/build/dist/UI/Components/Forms/Fields/FormField.js +19 -1
  261. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  262. package/build/dist/UI/Components/FullPageModal/FullPageModal.js +24 -5
  263. package/build/dist/UI/Components/FullPageModal/FullPageModal.js.map +1 -1
  264. package/build/dist/UI/Components/Input/Input.js +3 -3
  265. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  266. package/build/dist/UI/Components/Link/Link.js +1 -1
  267. package/build/dist/UI/Components/Link/Link.js.map +1 -1
  268. package/build/dist/UI/Components/Loader/Loader.js +6 -4
  269. package/build/dist/UI/Components/Loader/Loader.js.map +1 -1
  270. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +56 -3
  271. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  272. package/build/dist/UI/Components/Modal/Modal.js +28 -3
  273. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  274. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +23 -1
  275. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  276. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +67 -6
  277. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  278. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +14 -3
  279. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  280. package/build/dist/UI/Components/Pagination/Pagination.js +69 -13
  281. package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
  282. package/build/dist/UI/Components/ProgressBar/ProgressBar.js +2 -2
  283. package/build/dist/UI/Components/ProgressBar/ProgressBar.js.map +1 -1
  284. package/build/dist/UI/Components/Radio/Radio.js +8 -5
  285. package/build/dist/UI/Components/Radio/Radio.js.map +1 -1
  286. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +23 -4
  287. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  288. package/build/dist/UI/Components/StatusBubble/StatusBubble.js +2 -2
  289. package/build/dist/UI/Components/StatusBubble/StatusBubble.js.map +1 -1
  290. package/build/dist/UI/Components/Table/TableHeader.js +12 -4
  291. package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
  292. package/build/dist/UI/Components/Tabs/Tab.js +8 -1
  293. package/build/dist/UI/Components/Tabs/Tab.js.map +1 -1
  294. package/build/dist/UI/Components/Tabs/Tabs.js +4 -3
  295. package/build/dist/UI/Components/Tabs/Tabs.js.map +1 -1
  296. package/build/dist/UI/Components/TextArea/TextArea.js +3 -3
  297. package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
  298. package/build/dist/UI/Components/Toggle/Toggle.js +7 -4
  299. package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
  300. package/build/dist/UI/Components/Tooltip/Tooltip.js +4 -1
  301. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  302. package/build/dist/UI/Components/TopAlert/TopAlert.js +1 -1
  303. package/build/dist/UI/Components/TopAlert/TopAlert.js.map +1 -1
  304. package/package.json +2 -1
@@ -0,0 +1,1225 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import AlertSeverity from "./AlertSeverity";
11
+ import AlertState from "./AlertState";
12
+ import Label from "./Label";
13
+ import OnCallDutyPolicy from "./OnCallDutyPolicy";
14
+ import Project from "./Project";
15
+ import Team from "./Team";
16
+ import User from "./User";
17
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
18
+ import Route from "../../Types/API/Route";
19
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
20
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
21
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
22
+ import ColumnLength from "../../Types/Database/ColumnLength";
23
+ import ColumnType from "../../Types/Database/ColumnType";
24
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
25
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
26
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
27
+ import MultiTenentQueryAllowed from "../../Types/Database/MultiTenentQueryAllowed";
28
+ import TableColumn from "../../Types/Database/TableColumn";
29
+ import TableColumnType from "../../Types/Database/TableColumnType";
30
+ import TableMetadata from "../../Types/Database/TableMetadata";
31
+ import TenantColumn from "../../Types/Database/TenantColumn";
32
+ import IconProp from "../../Types/Icon/IconProp";
33
+ import ObjectID from "../../Types/ObjectID";
34
+ import Permission from "../../Types/Permission";
35
+ import { Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, } from "typeorm";
36
+ import AlertGroupingRule from "./AlertGroupingRule";
37
+ let AlertEpisode = class AlertEpisode extends BaseModel {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.project = undefined;
41
+ this.projectId = undefined;
42
+ this.title = undefined;
43
+ this.description = undefined;
44
+ this.episodeNumber = undefined;
45
+ this.currentAlertState = undefined;
46
+ this.currentAlertStateId = undefined;
47
+ this.alertSeverity = undefined;
48
+ this.alertSeverityId = undefined;
49
+ this.rootCause = undefined;
50
+ this.lastAlertAddedAt = undefined;
51
+ this.resolvedAt = undefined;
52
+ this.assignedToUser = undefined;
53
+ this.assignedToUserId = undefined;
54
+ this.assignedToTeam = undefined;
55
+ this.assignedToTeamId = undefined;
56
+ this.alertGroupingRule = undefined;
57
+ this.alertGroupingRuleId = undefined;
58
+ this.onCallDutyPolicies = undefined;
59
+ this.isOnCallPolicyExecuted = undefined;
60
+ this.alertCount = undefined;
61
+ this.titleTemplate = undefined;
62
+ this.descriptionTemplate = undefined;
63
+ this.isManuallyCreated = undefined;
64
+ this.labels = undefined;
65
+ this.createdByUser = undefined;
66
+ this.createdByUserId = undefined;
67
+ this.deletedByUser = undefined;
68
+ this.deletedByUserId = undefined;
69
+ this.isOwnerNotifiedOfEpisodeCreation = undefined;
70
+ this.groupingKey = undefined;
71
+ this.remediationNotes = undefined;
72
+ this.postUpdatesToWorkspaceChannels = undefined;
73
+ }
74
+ };
75
+ __decorate([
76
+ ColumnAccessControl({
77
+ create: [
78
+ Permission.ProjectOwner,
79
+ Permission.ProjectAdmin,
80
+ Permission.ProjectMember,
81
+ Permission.CreateAlertEpisode,
82
+ ],
83
+ read: [
84
+ Permission.ProjectOwner,
85
+ Permission.ProjectAdmin,
86
+ Permission.ProjectMember,
87
+ Permission.ReadAlertEpisode,
88
+ ],
89
+ update: [],
90
+ }),
91
+ TableColumn({
92
+ manyToOneRelationColumn: "projectId",
93
+ type: TableColumnType.Entity,
94
+ modelType: Project,
95
+ title: "Project",
96
+ description: "Relation to Project Resource in which this object belongs",
97
+ }),
98
+ ManyToOne(() => {
99
+ return Project;
100
+ }, {
101
+ eager: false,
102
+ nullable: true,
103
+ onDelete: "CASCADE",
104
+ orphanedRowAction: "nullify",
105
+ }),
106
+ JoinColumn({ name: "projectId" }),
107
+ __metadata("design:type", Project)
108
+ ], AlertEpisode.prototype, "project", void 0);
109
+ __decorate([
110
+ ColumnAccessControl({
111
+ create: [
112
+ Permission.ProjectOwner,
113
+ Permission.ProjectAdmin,
114
+ Permission.ProjectMember,
115
+ Permission.CreateAlertEpisode,
116
+ ],
117
+ read: [
118
+ Permission.ProjectOwner,
119
+ Permission.ProjectAdmin,
120
+ Permission.ProjectMember,
121
+ Permission.ReadAlertEpisode,
122
+ ],
123
+ update: [],
124
+ }),
125
+ Index(),
126
+ TableColumn({
127
+ type: TableColumnType.ObjectID,
128
+ required: true,
129
+ canReadOnRelationQuery: true,
130
+ title: "Project ID",
131
+ description: "ID of your OneUptime Project in which this object belongs",
132
+ }),
133
+ Column({
134
+ type: ColumnType.ObjectID,
135
+ nullable: false,
136
+ transformer: ObjectID.getDatabaseTransformer(),
137
+ }),
138
+ __metadata("design:type", ObjectID)
139
+ ], AlertEpisode.prototype, "projectId", void 0);
140
+ __decorate([
141
+ ColumnAccessControl({
142
+ create: [
143
+ Permission.ProjectOwner,
144
+ Permission.ProjectAdmin,
145
+ Permission.ProjectMember,
146
+ Permission.CreateAlertEpisode,
147
+ ],
148
+ read: [
149
+ Permission.ProjectOwner,
150
+ Permission.ProjectAdmin,
151
+ Permission.ProjectMember,
152
+ Permission.ReadAlertEpisode,
153
+ ],
154
+ update: [
155
+ Permission.ProjectOwner,
156
+ Permission.ProjectAdmin,
157
+ Permission.ProjectMember,
158
+ Permission.EditAlertEpisode,
159
+ ],
160
+ }),
161
+ Index(),
162
+ TableColumn({
163
+ required: true,
164
+ type: TableColumnType.LongText,
165
+ canReadOnRelationQuery: true,
166
+ title: "Title",
167
+ description: "Title of this alert episode",
168
+ }),
169
+ Column({
170
+ nullable: false,
171
+ type: ColumnType.LongText,
172
+ length: ColumnLength.LongText,
173
+ }),
174
+ __metadata("design:type", String)
175
+ ], AlertEpisode.prototype, "title", void 0);
176
+ __decorate([
177
+ ColumnAccessControl({
178
+ create: [
179
+ Permission.ProjectOwner,
180
+ Permission.ProjectAdmin,
181
+ Permission.ProjectMember,
182
+ Permission.CreateAlertEpisode,
183
+ ],
184
+ read: [
185
+ Permission.ProjectOwner,
186
+ Permission.ProjectAdmin,
187
+ Permission.ProjectMember,
188
+ Permission.ReadAlertEpisode,
189
+ ],
190
+ update: [
191
+ Permission.ProjectOwner,
192
+ Permission.ProjectAdmin,
193
+ Permission.ProjectMember,
194
+ Permission.EditAlertEpisode,
195
+ ],
196
+ }),
197
+ TableColumn({
198
+ required: false,
199
+ type: TableColumnType.Markdown,
200
+ title: "Description",
201
+ description: "Description of this alert episode. This is in markdown format.",
202
+ }),
203
+ Column({
204
+ nullable: true,
205
+ type: ColumnType.Markdown,
206
+ }),
207
+ __metadata("design:type", String)
208
+ ], AlertEpisode.prototype, "description", void 0);
209
+ __decorate([
210
+ ColumnAccessControl({
211
+ create: [
212
+ Permission.ProjectOwner,
213
+ Permission.ProjectAdmin,
214
+ Permission.ProjectMember,
215
+ Permission.CreateAlertEpisode,
216
+ ],
217
+ read: [
218
+ Permission.ProjectOwner,
219
+ Permission.ProjectAdmin,
220
+ Permission.ProjectMember,
221
+ Permission.ReadAlertEpisode,
222
+ ],
223
+ update: [],
224
+ }),
225
+ Index(),
226
+ TableColumn({
227
+ isDefaultValueColumn: false,
228
+ required: false,
229
+ type: TableColumnType.Number,
230
+ title: "Episode Number",
231
+ description: "Auto-incrementing episode number per project",
232
+ }),
233
+ Column({
234
+ type: ColumnType.Number,
235
+ nullable: true,
236
+ }),
237
+ __metadata("design:type", Number)
238
+ ], AlertEpisode.prototype, "episodeNumber", void 0);
239
+ __decorate([
240
+ ColumnAccessControl({
241
+ create: [
242
+ Permission.ProjectOwner,
243
+ Permission.ProjectAdmin,
244
+ Permission.ProjectMember,
245
+ Permission.CreateAlertEpisode,
246
+ ],
247
+ read: [
248
+ Permission.ProjectOwner,
249
+ Permission.ProjectAdmin,
250
+ Permission.ProjectMember,
251
+ Permission.ReadAlertEpisode,
252
+ ],
253
+ update: [
254
+ Permission.ProjectOwner,
255
+ Permission.ProjectAdmin,
256
+ Permission.ProjectMember,
257
+ Permission.EditAlertEpisode,
258
+ ],
259
+ }),
260
+ TableColumn({
261
+ manyToOneRelationColumn: "currentAlertStateId",
262
+ type: TableColumnType.Entity,
263
+ modelType: AlertState,
264
+ title: "Current Alert State",
265
+ description: "Current state of this episode. Is the episode acknowledged? or resolved?",
266
+ }),
267
+ ManyToOne(() => {
268
+ return AlertState;
269
+ }, {
270
+ eager: false,
271
+ nullable: true,
272
+ orphanedRowAction: "nullify",
273
+ }),
274
+ JoinColumn({ name: "currentAlertStateId" }),
275
+ __metadata("design:type", AlertState)
276
+ ], AlertEpisode.prototype, "currentAlertState", void 0);
277
+ __decorate([
278
+ ColumnAccessControl({
279
+ create: [
280
+ Permission.ProjectOwner,
281
+ Permission.ProjectAdmin,
282
+ Permission.ProjectMember,
283
+ Permission.CreateAlertEpisode,
284
+ ],
285
+ read: [
286
+ Permission.ProjectOwner,
287
+ Permission.ProjectAdmin,
288
+ Permission.ProjectMember,
289
+ Permission.ReadAlertEpisode,
290
+ ],
291
+ update: [
292
+ Permission.ProjectOwner,
293
+ Permission.ProjectAdmin,
294
+ Permission.ProjectMember,
295
+ Permission.EditAlertEpisode,
296
+ ],
297
+ }),
298
+ Index(),
299
+ TableColumn({
300
+ type: TableColumnType.ObjectID,
301
+ required: true,
302
+ isDefaultValueColumn: true,
303
+ title: "Current Alert State ID",
304
+ description: "Current Alert State ID",
305
+ }),
306
+ Column({
307
+ type: ColumnType.ObjectID,
308
+ nullable: false,
309
+ transformer: ObjectID.getDatabaseTransformer(),
310
+ }),
311
+ __metadata("design:type", ObjectID)
312
+ ], AlertEpisode.prototype, "currentAlertStateId", void 0);
313
+ __decorate([
314
+ ColumnAccessControl({
315
+ create: [
316
+ Permission.ProjectOwner,
317
+ Permission.ProjectAdmin,
318
+ Permission.ProjectMember,
319
+ Permission.CreateAlertEpisode,
320
+ ],
321
+ read: [
322
+ Permission.ProjectOwner,
323
+ Permission.ProjectAdmin,
324
+ Permission.ProjectMember,
325
+ Permission.ReadAlertEpisode,
326
+ ],
327
+ update: [
328
+ Permission.ProjectOwner,
329
+ Permission.ProjectAdmin,
330
+ Permission.ProjectMember,
331
+ Permission.EditAlertEpisode,
332
+ ],
333
+ }),
334
+ TableColumn({
335
+ manyToOneRelationColumn: "alertSeverityId",
336
+ type: TableColumnType.Entity,
337
+ modelType: AlertSeverity,
338
+ title: "Alert Severity",
339
+ description: "High-water mark severity of this episode. Represents the highest severity among all member alerts.",
340
+ }),
341
+ ManyToOne(() => {
342
+ return AlertSeverity;
343
+ }, {
344
+ eager: false,
345
+ nullable: true,
346
+ orphanedRowAction: "nullify",
347
+ }),
348
+ JoinColumn({ name: "alertSeverityId" }),
349
+ __metadata("design:type", AlertSeverity)
350
+ ], AlertEpisode.prototype, "alertSeverity", void 0);
351
+ __decorate([
352
+ ColumnAccessControl({
353
+ create: [
354
+ Permission.ProjectOwner,
355
+ Permission.ProjectAdmin,
356
+ Permission.ProjectMember,
357
+ Permission.CreateAlertEpisode,
358
+ ],
359
+ read: [
360
+ Permission.ProjectOwner,
361
+ Permission.ProjectAdmin,
362
+ Permission.ProjectMember,
363
+ Permission.ReadAlertEpisode,
364
+ ],
365
+ update: [
366
+ Permission.ProjectOwner,
367
+ Permission.ProjectAdmin,
368
+ Permission.ProjectMember,
369
+ Permission.EditAlertEpisode,
370
+ ],
371
+ }),
372
+ Index(),
373
+ TableColumn({
374
+ type: TableColumnType.ObjectID,
375
+ required: false,
376
+ title: "Alert Severity ID",
377
+ description: "Alert Severity ID",
378
+ }),
379
+ Column({
380
+ type: ColumnType.ObjectID,
381
+ nullable: true,
382
+ transformer: ObjectID.getDatabaseTransformer(),
383
+ }),
384
+ __metadata("design:type", ObjectID)
385
+ ], AlertEpisode.prototype, "alertSeverityId", void 0);
386
+ __decorate([
387
+ ColumnAccessControl({
388
+ create: [
389
+ Permission.ProjectOwner,
390
+ Permission.ProjectAdmin,
391
+ Permission.ProjectMember,
392
+ Permission.CreateAlertEpisode,
393
+ ],
394
+ read: [
395
+ Permission.ProjectOwner,
396
+ Permission.ProjectAdmin,
397
+ Permission.ProjectMember,
398
+ Permission.ReadAlertEpisode,
399
+ ],
400
+ update: [
401
+ Permission.ProjectOwner,
402
+ Permission.ProjectAdmin,
403
+ Permission.ProjectMember,
404
+ Permission.EditAlertEpisode,
405
+ ],
406
+ }),
407
+ TableColumn({
408
+ type: TableColumnType.Markdown,
409
+ required: false,
410
+ isDefaultValueColumn: false,
411
+ title: "Root Cause",
412
+ description: "User-documented root cause of this episode",
413
+ }),
414
+ Column({
415
+ type: ColumnType.Markdown,
416
+ nullable: true,
417
+ }),
418
+ __metadata("design:type", String)
419
+ ], AlertEpisode.prototype, "rootCause", void 0);
420
+ __decorate([
421
+ ColumnAccessControl({
422
+ create: [
423
+ Permission.ProjectOwner,
424
+ Permission.ProjectAdmin,
425
+ Permission.ProjectMember,
426
+ Permission.CreateAlertEpisode,
427
+ ],
428
+ read: [
429
+ Permission.ProjectOwner,
430
+ Permission.ProjectAdmin,
431
+ Permission.ProjectMember,
432
+ Permission.ReadAlertEpisode,
433
+ ],
434
+ update: [
435
+ Permission.ProjectOwner,
436
+ Permission.ProjectAdmin,
437
+ Permission.ProjectMember,
438
+ Permission.EditAlertEpisode,
439
+ ],
440
+ }),
441
+ Index(),
442
+ TableColumn({
443
+ type: TableColumnType.Date,
444
+ title: "Last Alert Added At",
445
+ description: "When the last alert was added to this episode",
446
+ }),
447
+ Column({
448
+ type: ColumnType.Date,
449
+ nullable: true,
450
+ unique: false,
451
+ }),
452
+ __metadata("design:type", Date)
453
+ ], AlertEpisode.prototype, "lastAlertAddedAt", void 0);
454
+ __decorate([
455
+ ColumnAccessControl({
456
+ create: [
457
+ Permission.ProjectOwner,
458
+ Permission.ProjectAdmin,
459
+ Permission.ProjectMember,
460
+ Permission.CreateAlertEpisode,
461
+ ],
462
+ read: [
463
+ Permission.ProjectOwner,
464
+ Permission.ProjectAdmin,
465
+ Permission.ProjectMember,
466
+ Permission.ReadAlertEpisode,
467
+ ],
468
+ update: [
469
+ Permission.ProjectOwner,
470
+ Permission.ProjectAdmin,
471
+ Permission.ProjectMember,
472
+ Permission.EditAlertEpisode,
473
+ ],
474
+ }),
475
+ Index(),
476
+ TableColumn({
477
+ type: TableColumnType.Date,
478
+ title: "Resolved At",
479
+ description: "When this episode was resolved",
480
+ }),
481
+ Column({
482
+ type: ColumnType.Date,
483
+ nullable: true,
484
+ unique: false,
485
+ }),
486
+ __metadata("design:type", Date)
487
+ ], AlertEpisode.prototype, "resolvedAt", void 0);
488
+ __decorate([
489
+ ColumnAccessControl({
490
+ create: [
491
+ Permission.ProjectOwner,
492
+ Permission.ProjectAdmin,
493
+ Permission.ProjectMember,
494
+ Permission.CreateAlertEpisode,
495
+ ],
496
+ read: [
497
+ Permission.ProjectOwner,
498
+ Permission.ProjectAdmin,
499
+ Permission.ProjectMember,
500
+ Permission.ReadAlertEpisode,
501
+ ],
502
+ update: [
503
+ Permission.ProjectOwner,
504
+ Permission.ProjectAdmin,
505
+ Permission.ProjectMember,
506
+ Permission.EditAlertEpisode,
507
+ ],
508
+ }),
509
+ TableColumn({
510
+ manyToOneRelationColumn: "assignedToUserId",
511
+ type: TableColumnType.Entity,
512
+ modelType: User,
513
+ title: "Assigned To User",
514
+ description: "User who is assigned to this episode",
515
+ }),
516
+ ManyToOne(() => {
517
+ return User;
518
+ }, {
519
+ eager: false,
520
+ nullable: true,
521
+ onDelete: "SET NULL",
522
+ orphanedRowAction: "nullify",
523
+ }),
524
+ JoinColumn({ name: "assignedToUserId" }),
525
+ __metadata("design:type", User)
526
+ ], AlertEpisode.prototype, "assignedToUser", void 0);
527
+ __decorate([
528
+ ColumnAccessControl({
529
+ create: [
530
+ Permission.ProjectOwner,
531
+ Permission.ProjectAdmin,
532
+ Permission.ProjectMember,
533
+ Permission.CreateAlertEpisode,
534
+ ],
535
+ read: [
536
+ Permission.ProjectOwner,
537
+ Permission.ProjectAdmin,
538
+ Permission.ProjectMember,
539
+ Permission.ReadAlertEpisode,
540
+ ],
541
+ update: [
542
+ Permission.ProjectOwner,
543
+ Permission.ProjectAdmin,
544
+ Permission.ProjectMember,
545
+ Permission.EditAlertEpisode,
546
+ ],
547
+ }),
548
+ Index(),
549
+ TableColumn({
550
+ type: TableColumnType.ObjectID,
551
+ required: false,
552
+ title: "Assigned To User ID",
553
+ description: "User ID who is assigned to this episode",
554
+ }),
555
+ Column({
556
+ type: ColumnType.ObjectID,
557
+ nullable: true,
558
+ transformer: ObjectID.getDatabaseTransformer(),
559
+ }),
560
+ __metadata("design:type", ObjectID)
561
+ ], AlertEpisode.prototype, "assignedToUserId", void 0);
562
+ __decorate([
563
+ ColumnAccessControl({
564
+ create: [
565
+ Permission.ProjectOwner,
566
+ Permission.ProjectAdmin,
567
+ Permission.ProjectMember,
568
+ Permission.CreateAlertEpisode,
569
+ ],
570
+ read: [
571
+ Permission.ProjectOwner,
572
+ Permission.ProjectAdmin,
573
+ Permission.ProjectMember,
574
+ Permission.ReadAlertEpisode,
575
+ ],
576
+ update: [
577
+ Permission.ProjectOwner,
578
+ Permission.ProjectAdmin,
579
+ Permission.ProjectMember,
580
+ Permission.EditAlertEpisode,
581
+ ],
582
+ }),
583
+ TableColumn({
584
+ manyToOneRelationColumn: "assignedToTeamId",
585
+ type: TableColumnType.Entity,
586
+ modelType: Team,
587
+ title: "Assigned To Team",
588
+ description: "Team that is assigned to this episode",
589
+ }),
590
+ ManyToOne(() => {
591
+ return Team;
592
+ }, {
593
+ eager: false,
594
+ nullable: true,
595
+ onDelete: "SET NULL",
596
+ orphanedRowAction: "nullify",
597
+ }),
598
+ JoinColumn({ name: "assignedToTeamId" }),
599
+ __metadata("design:type", Team)
600
+ ], AlertEpisode.prototype, "assignedToTeam", void 0);
601
+ __decorate([
602
+ ColumnAccessControl({
603
+ create: [
604
+ Permission.ProjectOwner,
605
+ Permission.ProjectAdmin,
606
+ Permission.ProjectMember,
607
+ Permission.CreateAlertEpisode,
608
+ ],
609
+ read: [
610
+ Permission.ProjectOwner,
611
+ Permission.ProjectAdmin,
612
+ Permission.ProjectMember,
613
+ Permission.ReadAlertEpisode,
614
+ ],
615
+ update: [
616
+ Permission.ProjectOwner,
617
+ Permission.ProjectAdmin,
618
+ Permission.ProjectMember,
619
+ Permission.EditAlertEpisode,
620
+ ],
621
+ }),
622
+ Index(),
623
+ TableColumn({
624
+ type: TableColumnType.ObjectID,
625
+ required: false,
626
+ title: "Assigned To Team ID",
627
+ description: "Team ID that is assigned to this episode",
628
+ }),
629
+ Column({
630
+ type: ColumnType.ObjectID,
631
+ nullable: true,
632
+ transformer: ObjectID.getDatabaseTransformer(),
633
+ }),
634
+ __metadata("design:type", ObjectID)
635
+ ], AlertEpisode.prototype, "assignedToTeamId", void 0);
636
+ __decorate([
637
+ ColumnAccessControl({
638
+ create: [
639
+ Permission.ProjectOwner,
640
+ Permission.ProjectAdmin,
641
+ Permission.ProjectMember,
642
+ Permission.CreateAlertEpisode,
643
+ ],
644
+ read: [
645
+ Permission.ProjectOwner,
646
+ Permission.ProjectAdmin,
647
+ Permission.ProjectMember,
648
+ Permission.ReadAlertEpisode,
649
+ ],
650
+ update: [
651
+ Permission.ProjectOwner,
652
+ Permission.ProjectAdmin,
653
+ Permission.ProjectMember,
654
+ Permission.EditAlertEpisode,
655
+ ],
656
+ }),
657
+ TableColumn({
658
+ manyToOneRelationColumn: "alertGroupingRuleId",
659
+ type: TableColumnType.Entity,
660
+ modelType: AlertGroupingRule,
661
+ title: "Alert Grouping Rule",
662
+ description: "The grouping rule that created this episode (null for manually created episodes)",
663
+ }),
664
+ ManyToOne(() => {
665
+ return AlertGroupingRule;
666
+ }, {
667
+ eager: false,
668
+ nullable: true,
669
+ onDelete: "SET NULL",
670
+ orphanedRowAction: "nullify",
671
+ }),
672
+ JoinColumn({ name: "alertGroupingRuleId" }),
673
+ __metadata("design:type", AlertGroupingRule)
674
+ ], AlertEpisode.prototype, "alertGroupingRule", void 0);
675
+ __decorate([
676
+ ColumnAccessControl({
677
+ create: [
678
+ Permission.ProjectOwner,
679
+ Permission.ProjectAdmin,
680
+ Permission.ProjectMember,
681
+ Permission.CreateAlertEpisode,
682
+ ],
683
+ read: [
684
+ Permission.ProjectOwner,
685
+ Permission.ProjectAdmin,
686
+ Permission.ProjectMember,
687
+ Permission.ReadAlertEpisode,
688
+ ],
689
+ update: [
690
+ Permission.ProjectOwner,
691
+ Permission.ProjectAdmin,
692
+ Permission.ProjectMember,
693
+ Permission.EditAlertEpisode,
694
+ ],
695
+ }),
696
+ Index(),
697
+ TableColumn({
698
+ type: TableColumnType.ObjectID,
699
+ required: false,
700
+ title: "Alert Grouping Rule ID",
701
+ description: "Alert Grouping Rule ID that created this episode",
702
+ }),
703
+ Column({
704
+ type: ColumnType.ObjectID,
705
+ nullable: true,
706
+ transformer: ObjectID.getDatabaseTransformer(),
707
+ }),
708
+ __metadata("design:type", ObjectID)
709
+ ], AlertEpisode.prototype, "alertGroupingRuleId", void 0);
710
+ __decorate([
711
+ ColumnAccessControl({
712
+ create: [
713
+ Permission.ProjectOwner,
714
+ Permission.ProjectAdmin,
715
+ Permission.ProjectMember,
716
+ Permission.CreateAlertEpisode,
717
+ ],
718
+ read: [
719
+ Permission.ProjectOwner,
720
+ Permission.ProjectAdmin,
721
+ Permission.ProjectMember,
722
+ Permission.ReadAlertEpisode,
723
+ ],
724
+ update: [
725
+ Permission.ProjectOwner,
726
+ Permission.ProjectAdmin,
727
+ Permission.ProjectMember,
728
+ Permission.EditAlertEpisode,
729
+ ],
730
+ }),
731
+ TableColumn({
732
+ required: false,
733
+ type: TableColumnType.EntityArray,
734
+ modelType: OnCallDutyPolicy,
735
+ title: "On-Call Duty Policies",
736
+ description: "List of on-call duty policies to execute for this episode.",
737
+ }),
738
+ ManyToMany(() => {
739
+ return OnCallDutyPolicy;
740
+ }, { eager: false }),
741
+ JoinTable({
742
+ name: "AlertEpisodeOnCallDutyPolicy",
743
+ inverseJoinColumn: {
744
+ name: "onCallDutyPolicyId",
745
+ referencedColumnName: "_id",
746
+ },
747
+ joinColumn: {
748
+ name: "alertEpisodeId",
749
+ referencedColumnName: "_id",
750
+ },
751
+ }),
752
+ __metadata("design:type", Array)
753
+ ], AlertEpisode.prototype, "onCallDutyPolicies", void 0);
754
+ __decorate([
755
+ ColumnAccessControl({
756
+ create: [],
757
+ read: [
758
+ Permission.ProjectOwner,
759
+ Permission.ProjectAdmin,
760
+ Permission.ProjectMember,
761
+ Permission.ReadAlertEpisode,
762
+ ],
763
+ update: [],
764
+ }),
765
+ Index(),
766
+ TableColumn({
767
+ type: TableColumnType.Boolean,
768
+ required: true,
769
+ isDefaultValueColumn: true,
770
+ title: "Is On-Call Policy Executed?",
771
+ description: "Whether the on-call policy has been executed for this episode",
772
+ defaultValue: false,
773
+ }),
774
+ Column({
775
+ type: ColumnType.Boolean,
776
+ nullable: false,
777
+ default: false,
778
+ }),
779
+ __metadata("design:type", Boolean)
780
+ ], AlertEpisode.prototype, "isOnCallPolicyExecuted", void 0);
781
+ __decorate([
782
+ ColumnAccessControl({
783
+ create: [],
784
+ read: [
785
+ Permission.ProjectOwner,
786
+ Permission.ProjectAdmin,
787
+ Permission.ProjectMember,
788
+ Permission.ReadAlertEpisode,
789
+ ],
790
+ update: [],
791
+ }),
792
+ Index(),
793
+ TableColumn({
794
+ type: TableColumnType.Number,
795
+ required: true,
796
+ isDefaultValueColumn: true,
797
+ title: "Alert Count",
798
+ description: "Denormalized count of alerts in this episode",
799
+ defaultValue: 0,
800
+ }),
801
+ Column({
802
+ type: ColumnType.Number,
803
+ nullable: false,
804
+ default: 0,
805
+ }),
806
+ __metadata("design:type", Number)
807
+ ], AlertEpisode.prototype, "alertCount", void 0);
808
+ __decorate([
809
+ ColumnAccessControl({
810
+ create: [
811
+ Permission.ProjectOwner,
812
+ Permission.ProjectAdmin,
813
+ Permission.ProjectMember,
814
+ Permission.CreateAlertEpisode,
815
+ ],
816
+ read: [
817
+ Permission.ProjectOwner,
818
+ Permission.ProjectAdmin,
819
+ Permission.ProjectMember,
820
+ Permission.ReadAlertEpisode,
821
+ ],
822
+ update: [],
823
+ }),
824
+ TableColumn({
825
+ required: false,
826
+ type: TableColumnType.LongText,
827
+ title: "Title Template",
828
+ description: "Template used to generate the episode title. Stored for dynamic variable updates.",
829
+ }),
830
+ Column({
831
+ type: ColumnType.LongText,
832
+ nullable: true,
833
+ }),
834
+ __metadata("design:type", String)
835
+ ], AlertEpisode.prototype, "titleTemplate", void 0);
836
+ __decorate([
837
+ ColumnAccessControl({
838
+ create: [
839
+ Permission.ProjectOwner,
840
+ Permission.ProjectAdmin,
841
+ Permission.ProjectMember,
842
+ Permission.CreateAlertEpisode,
843
+ ],
844
+ read: [
845
+ Permission.ProjectOwner,
846
+ Permission.ProjectAdmin,
847
+ Permission.ProjectMember,
848
+ Permission.ReadAlertEpisode,
849
+ ],
850
+ update: [],
851
+ }),
852
+ TableColumn({
853
+ required: false,
854
+ type: TableColumnType.LongText,
855
+ title: "Description Template",
856
+ description: "Template used to generate the episode description. Stored for dynamic variable updates.",
857
+ }),
858
+ Column({
859
+ type: ColumnType.LongText,
860
+ nullable: true,
861
+ }),
862
+ __metadata("design:type", String)
863
+ ], AlertEpisode.prototype, "descriptionTemplate", void 0);
864
+ __decorate([
865
+ ColumnAccessControl({
866
+ create: [
867
+ Permission.ProjectOwner,
868
+ Permission.ProjectAdmin,
869
+ Permission.ProjectMember,
870
+ Permission.CreateAlertEpisode,
871
+ ],
872
+ read: [
873
+ Permission.ProjectOwner,
874
+ Permission.ProjectAdmin,
875
+ Permission.ProjectMember,
876
+ Permission.ReadAlertEpisode,
877
+ ],
878
+ update: [],
879
+ }),
880
+ Index(),
881
+ TableColumn({
882
+ type: TableColumnType.Boolean,
883
+ required: true,
884
+ isDefaultValueColumn: true,
885
+ title: "Is Manually Created?",
886
+ description: "Whether this episode was manually created vs auto-created by a rule",
887
+ defaultValue: false,
888
+ }),
889
+ Column({
890
+ type: ColumnType.Boolean,
891
+ nullable: false,
892
+ default: false,
893
+ }),
894
+ __metadata("design:type", Boolean)
895
+ ], AlertEpisode.prototype, "isManuallyCreated", void 0);
896
+ __decorate([
897
+ ColumnAccessControl({
898
+ create: [
899
+ Permission.ProjectOwner,
900
+ Permission.ProjectAdmin,
901
+ Permission.ProjectMember,
902
+ Permission.CreateAlertEpisode,
903
+ ],
904
+ read: [
905
+ Permission.ProjectOwner,
906
+ Permission.ProjectAdmin,
907
+ Permission.ProjectMember,
908
+ Permission.ReadAlertEpisode,
909
+ ],
910
+ update: [
911
+ Permission.ProjectOwner,
912
+ Permission.ProjectAdmin,
913
+ Permission.ProjectMember,
914
+ Permission.EditAlertEpisode,
915
+ ],
916
+ }),
917
+ TableColumn({
918
+ required: false,
919
+ type: TableColumnType.EntityArray,
920
+ modelType: Label,
921
+ title: "Labels",
922
+ description: "Relation to Labels Array where this object is categorized in.",
923
+ }),
924
+ ManyToMany(() => {
925
+ return Label;
926
+ }, { eager: false }),
927
+ JoinTable({
928
+ name: "AlertEpisodeLabel",
929
+ inverseJoinColumn: {
930
+ name: "labelId",
931
+ referencedColumnName: "_id",
932
+ },
933
+ joinColumn: {
934
+ name: "alertEpisodeId",
935
+ referencedColumnName: "_id",
936
+ },
937
+ }),
938
+ __metadata("design:type", Array)
939
+ ], AlertEpisode.prototype, "labels", void 0);
940
+ __decorate([
941
+ ColumnAccessControl({
942
+ create: [
943
+ Permission.ProjectOwner,
944
+ Permission.ProjectAdmin,
945
+ Permission.ProjectMember,
946
+ Permission.CreateAlertEpisode,
947
+ ],
948
+ read: [
949
+ Permission.ProjectOwner,
950
+ Permission.ProjectAdmin,
951
+ Permission.ProjectMember,
952
+ Permission.ReadAlertEpisode,
953
+ ],
954
+ update: [],
955
+ }),
956
+ TableColumn({
957
+ manyToOneRelationColumn: "createdByUserId",
958
+ type: TableColumnType.Entity,
959
+ modelType: User,
960
+ title: "Created by User",
961
+ description: "Relation to User who created this object (if this object was created by a User)",
962
+ }),
963
+ ManyToOne(() => {
964
+ return User;
965
+ }, {
966
+ eager: false,
967
+ nullable: true,
968
+ onDelete: "SET NULL",
969
+ orphanedRowAction: "nullify",
970
+ }),
971
+ JoinColumn({ name: "createdByUserId" }),
972
+ __metadata("design:type", User)
973
+ ], AlertEpisode.prototype, "createdByUser", void 0);
974
+ __decorate([
975
+ ColumnAccessControl({
976
+ create: [
977
+ Permission.ProjectOwner,
978
+ Permission.ProjectAdmin,
979
+ Permission.ProjectMember,
980
+ Permission.CreateAlertEpisode,
981
+ ],
982
+ read: [
983
+ Permission.ProjectOwner,
984
+ Permission.ProjectAdmin,
985
+ Permission.ProjectMember,
986
+ Permission.ReadAlertEpisode,
987
+ ],
988
+ update: [],
989
+ }),
990
+ TableColumn({
991
+ type: TableColumnType.ObjectID,
992
+ title: "Created by User ID",
993
+ description: "User ID who created this object (if this object was created by a User)",
994
+ }),
995
+ Column({
996
+ type: ColumnType.ObjectID,
997
+ nullable: true,
998
+ transformer: ObjectID.getDatabaseTransformer(),
999
+ }),
1000
+ __metadata("design:type", ObjectID)
1001
+ ], AlertEpisode.prototype, "createdByUserId", void 0);
1002
+ __decorate([
1003
+ ColumnAccessControl({
1004
+ create: [],
1005
+ read: [],
1006
+ update: [],
1007
+ }),
1008
+ TableColumn({
1009
+ manyToOneRelationColumn: "deletedByUserId",
1010
+ type: TableColumnType.Entity,
1011
+ title: "Deleted by User",
1012
+ modelType: User,
1013
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
1014
+ }),
1015
+ ManyToOne(() => {
1016
+ return User;
1017
+ }, {
1018
+ cascade: false,
1019
+ eager: false,
1020
+ nullable: true,
1021
+ onDelete: "SET NULL",
1022
+ orphanedRowAction: "nullify",
1023
+ }),
1024
+ JoinColumn({ name: "deletedByUserId" }),
1025
+ __metadata("design:type", User)
1026
+ ], AlertEpisode.prototype, "deletedByUser", void 0);
1027
+ __decorate([
1028
+ ColumnAccessControl({
1029
+ create: [],
1030
+ read: [],
1031
+ update: [],
1032
+ }),
1033
+ TableColumn({
1034
+ type: TableColumnType.ObjectID,
1035
+ title: "Deleted by User ID",
1036
+ description: "User ID who deleted this object (if this object was deleted by a User)",
1037
+ }),
1038
+ Column({
1039
+ type: ColumnType.ObjectID,
1040
+ nullable: true,
1041
+ transformer: ObjectID.getDatabaseTransformer(),
1042
+ }),
1043
+ __metadata("design:type", ObjectID)
1044
+ ], AlertEpisode.prototype, "deletedByUserId", void 0);
1045
+ __decorate([
1046
+ ColumnAccessControl({
1047
+ create: [],
1048
+ read: [
1049
+ Permission.ProjectOwner,
1050
+ Permission.ProjectAdmin,
1051
+ Permission.ProjectMember,
1052
+ Permission.ReadAlertEpisode,
1053
+ ],
1054
+ update: [],
1055
+ }),
1056
+ Index(),
1057
+ TableColumn({
1058
+ type: TableColumnType.Boolean,
1059
+ required: true,
1060
+ isDefaultValueColumn: true,
1061
+ title: "Are Owners Notified Of Episode Creation?",
1062
+ description: "Are owners notified when this episode is created?",
1063
+ defaultValue: false,
1064
+ }),
1065
+ Column({
1066
+ type: ColumnType.Boolean,
1067
+ nullable: false,
1068
+ default: false,
1069
+ }),
1070
+ __metadata("design:type", Boolean)
1071
+ ], AlertEpisode.prototype, "isOwnerNotifiedOfEpisodeCreation", void 0);
1072
+ __decorate([
1073
+ ColumnAccessControl({
1074
+ create: [
1075
+ Permission.ProjectOwner,
1076
+ Permission.ProjectAdmin,
1077
+ Permission.ProjectMember,
1078
+ Permission.CreateAlertEpisode,
1079
+ ],
1080
+ read: [
1081
+ Permission.ProjectOwner,
1082
+ Permission.ProjectAdmin,
1083
+ Permission.ProjectMember,
1084
+ Permission.ReadAlertEpisode,
1085
+ ],
1086
+ update: [],
1087
+ }),
1088
+ Index(),
1089
+ TableColumn({
1090
+ type: TableColumnType.LongText,
1091
+ required: false,
1092
+ title: "Grouping Key",
1093
+ description: "Key used for grouping alerts into this episode. Generated from groupByFields of the matching rule.",
1094
+ }),
1095
+ Column({
1096
+ type: ColumnType.LongText,
1097
+ nullable: true,
1098
+ length: ColumnLength.LongText,
1099
+ }),
1100
+ __metadata("design:type", String)
1101
+ ], AlertEpisode.prototype, "groupingKey", void 0);
1102
+ __decorate([
1103
+ ColumnAccessControl({
1104
+ create: [
1105
+ Permission.ProjectOwner,
1106
+ Permission.ProjectAdmin,
1107
+ Permission.ProjectMember,
1108
+ Permission.CreateAlertEpisode,
1109
+ ],
1110
+ read: [
1111
+ Permission.ProjectOwner,
1112
+ Permission.ProjectAdmin,
1113
+ Permission.ProjectMember,
1114
+ Permission.ReadAlertEpisode,
1115
+ ],
1116
+ update: [
1117
+ Permission.ProjectOwner,
1118
+ Permission.ProjectAdmin,
1119
+ Permission.ProjectMember,
1120
+ Permission.EditAlertEpisode,
1121
+ ],
1122
+ }),
1123
+ TableColumn({
1124
+ type: TableColumnType.Markdown,
1125
+ required: false,
1126
+ isDefaultValueColumn: false,
1127
+ title: "Remediation Notes",
1128
+ description: "User-documented remediation steps and notes for this episode",
1129
+ }),
1130
+ Column({
1131
+ type: ColumnType.Markdown,
1132
+ nullable: true,
1133
+ }),
1134
+ __metadata("design:type", String)
1135
+ ], AlertEpisode.prototype, "remediationNotes", void 0);
1136
+ __decorate([
1137
+ ColumnAccessControl({
1138
+ create: [
1139
+ Permission.ProjectOwner,
1140
+ Permission.ProjectAdmin,
1141
+ Permission.ProjectMember,
1142
+ Permission.CreateAlertEpisode,
1143
+ ],
1144
+ read: [
1145
+ Permission.ProjectOwner,
1146
+ Permission.ProjectAdmin,
1147
+ Permission.ProjectMember,
1148
+ Permission.ReadAlertEpisode,
1149
+ ],
1150
+ update: [
1151
+ Permission.ProjectOwner,
1152
+ Permission.ProjectAdmin,
1153
+ Permission.ProjectMember,
1154
+ Permission.EditAlertEpisode,
1155
+ ],
1156
+ }),
1157
+ TableColumn({
1158
+ type: TableColumnType.JSON,
1159
+ required: false,
1160
+ isDefaultValueColumn: false,
1161
+ title: "Post Updates to Workspace Channels",
1162
+ description: "Workspace channels to post episode updates to (e.g., Slack, Microsoft Teams)",
1163
+ }),
1164
+ Column({
1165
+ type: ColumnType.JSON,
1166
+ nullable: true,
1167
+ }),
1168
+ __metadata("design:type", Array)
1169
+ ], AlertEpisode.prototype, "postUpdatesToWorkspaceChannels", void 0);
1170
+ AlertEpisode = __decorate([
1171
+ EnableDocumentation(),
1172
+ AccessControlColumn("labels"),
1173
+ MultiTenentQueryAllowed(true),
1174
+ TenantColumn("projectId"),
1175
+ TableAccessControl({
1176
+ create: [
1177
+ Permission.ProjectOwner,
1178
+ Permission.ProjectAdmin,
1179
+ Permission.ProjectMember,
1180
+ Permission.CreateAlertEpisode,
1181
+ ],
1182
+ read: [
1183
+ Permission.ProjectOwner,
1184
+ Permission.ProjectAdmin,
1185
+ Permission.ProjectMember,
1186
+ Permission.ReadAlertEpisode,
1187
+ ],
1188
+ delete: [
1189
+ Permission.ProjectOwner,
1190
+ Permission.ProjectAdmin,
1191
+ Permission.ProjectMember,
1192
+ Permission.DeleteAlertEpisode,
1193
+ ],
1194
+ update: [
1195
+ Permission.ProjectOwner,
1196
+ Permission.ProjectAdmin,
1197
+ Permission.ProjectMember,
1198
+ Permission.EditAlertEpisode,
1199
+ ],
1200
+ }),
1201
+ CrudApiEndpoint(new Route("/alert-episode")),
1202
+ Entity({
1203
+ name: "AlertEpisode",
1204
+ }),
1205
+ EnableWorkflow({
1206
+ create: true,
1207
+ delete: true,
1208
+ update: true,
1209
+ read: true,
1210
+ }),
1211
+ TableMetadata({
1212
+ tableName: "AlertEpisode",
1213
+ singularName: "Alert Episode",
1214
+ pluralName: "Alert Episodes",
1215
+ icon: IconProp.Layers,
1216
+ tableDescription: "Manage alert episodes (groups of related alerts) for your project",
1217
+ enableRealtimeEventsOn: {
1218
+ create: true,
1219
+ update: true,
1220
+ delete: true,
1221
+ },
1222
+ })
1223
+ ], AlertEpisode);
1224
+ export default AlertEpisode;
1225
+ //# sourceMappingURL=AlertEpisode.js.map