@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,529 @@
1
+ import AlertEpisode from "./AlertEpisode";
2
+ import Project from "./Project";
3
+ import User from "./User";
4
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
5
+ import Route from "../../Types/API/Route";
6
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
7
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
8
+ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
9
+ import ColumnLength from "../../Types/Database/ColumnLength";
10
+ import ColumnType from "../../Types/Database/ColumnType";
11
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
12
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
13
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
14
+ import ColorField from "../../Types/Database/ColorField";
15
+ import TableColumn from "../../Types/Database/TableColumn";
16
+ import TableColumnType from "../../Types/Database/TableColumnType";
17
+ import TableMetadata from "../../Types/Database/TableMetadata";
18
+ import TenantColumn from "../../Types/Database/TenantColumn";
19
+ import Color from "../../Types/Color";
20
+ import IconProp from "../../Types/Icon/IconProp";
21
+ import ObjectID from "../../Types/ObjectID";
22
+ import Permission from "../../Types/Permission";
23
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
24
+
25
+ export enum AlertEpisodeFeedEventType {
26
+ EpisodeCreated = "EpisodeCreated",
27
+ EpisodeStateChanged = "EpisodeStateChanged",
28
+ EpisodeUpdated = "EpisodeUpdated",
29
+ AlertAdded = "AlertAdded",
30
+ AlertRemoved = "AlertRemoved",
31
+ OwnerUserAdded = "OwnerUserAdded",
32
+ OwnerTeamAdded = "OwnerTeamAdded",
33
+ OwnerUserRemoved = "OwnerUserRemoved",
34
+ OwnerTeamRemoved = "OwnerTeamRemoved",
35
+ OwnerNotificationSent = "OwnerNotificationSent",
36
+ PrivateNote = "PrivateNote",
37
+ RootCause = "RootCause",
38
+ OnCallPolicy = "OnCallPolicy",
39
+ OnCallNotification = "OnCallNotification",
40
+ SeverityChanged = "SeverityChanged",
41
+ }
42
+
43
+ @EnableDocumentation()
44
+ @CanAccessIfCanReadOn("alertEpisode")
45
+ @TenantColumn("projectId")
46
+ @TableAccessControl({
47
+ create: [
48
+ Permission.ProjectOwner,
49
+ Permission.ProjectAdmin,
50
+ Permission.ProjectMember,
51
+ Permission.CreateAlertEpisodeFeed,
52
+ ],
53
+ read: [
54
+ Permission.ProjectOwner,
55
+ Permission.ProjectAdmin,
56
+ Permission.ProjectMember,
57
+ Permission.ReadAlertEpisodeFeed,
58
+ ],
59
+ delete: [],
60
+ update: [],
61
+ })
62
+ @EnableWorkflow({
63
+ create: true,
64
+ delete: true,
65
+ update: true,
66
+ read: true,
67
+ })
68
+ @CrudApiEndpoint(new Route("/alert-episode-feed"))
69
+ @Entity({
70
+ name: "AlertEpisodeFeed",
71
+ })
72
+ @TableMetadata({
73
+ tableName: "AlertEpisodeFeed",
74
+ singularName: "Alert Episode Feed",
75
+ pluralName: "Alert Episode Feeds",
76
+ icon: IconProp.List,
77
+ tableDescription:
78
+ "Log of the entire alert episode activity. This is a log of all the episode state changes, alerts added/removed, notes, etc.",
79
+ })
80
+ export default class AlertEpisodeFeed extends BaseModel {
81
+ @ColumnAccessControl({
82
+ create: [
83
+ Permission.ProjectOwner,
84
+ Permission.ProjectAdmin,
85
+ Permission.ProjectMember,
86
+ Permission.CreateAlertEpisodeFeed,
87
+ ],
88
+ read: [
89
+ Permission.ProjectOwner,
90
+ Permission.ProjectAdmin,
91
+ Permission.ProjectMember,
92
+ Permission.ReadAlertEpisodeFeed,
93
+ ],
94
+ update: [],
95
+ })
96
+ @TableColumn({
97
+ manyToOneRelationColumn: "projectId",
98
+ type: TableColumnType.Entity,
99
+ modelType: Project,
100
+ title: "Project",
101
+ description: "Relation to Project Resource in which this object belongs",
102
+ })
103
+ @ManyToOne(
104
+ () => {
105
+ return Project;
106
+ },
107
+ {
108
+ eager: false,
109
+ nullable: true,
110
+ onDelete: "CASCADE",
111
+ orphanedRowAction: "nullify",
112
+ },
113
+ )
114
+ @JoinColumn({ name: "projectId" })
115
+ public project?: Project = undefined;
116
+
117
+ @ColumnAccessControl({
118
+ create: [
119
+ Permission.ProjectOwner,
120
+ Permission.ProjectAdmin,
121
+ Permission.ProjectMember,
122
+ Permission.CreateAlertEpisodeFeed,
123
+ ],
124
+ read: [
125
+ Permission.ProjectOwner,
126
+ Permission.ProjectAdmin,
127
+ Permission.ProjectMember,
128
+ Permission.ReadAlertEpisodeFeed,
129
+ ],
130
+ update: [],
131
+ })
132
+ @Index()
133
+ @TableColumn({
134
+ type: TableColumnType.ObjectID,
135
+ required: true,
136
+ canReadOnRelationQuery: true,
137
+ title: "Project ID",
138
+ description: "ID of your OneUptime Project in which this object belongs",
139
+ })
140
+ @Column({
141
+ type: ColumnType.ObjectID,
142
+ nullable: false,
143
+ transformer: ObjectID.getDatabaseTransformer(),
144
+ })
145
+ public projectId?: ObjectID = undefined;
146
+
147
+ @ColumnAccessControl({
148
+ create: [
149
+ Permission.ProjectOwner,
150
+ Permission.ProjectAdmin,
151
+ Permission.ProjectMember,
152
+ Permission.CreateAlertEpisodeFeed,
153
+ ],
154
+ read: [
155
+ Permission.ProjectOwner,
156
+ Permission.ProjectAdmin,
157
+ Permission.ProjectMember,
158
+ Permission.ReadAlertEpisodeFeed,
159
+ ],
160
+ update: [],
161
+ })
162
+ @TableColumn({
163
+ manyToOneRelationColumn: "alertEpisodeId",
164
+ type: TableColumnType.Entity,
165
+ modelType: AlertEpisode,
166
+ title: "Alert Episode",
167
+ description: "Relation to Alert Episode in which this resource belongs",
168
+ })
169
+ @ManyToOne(
170
+ () => {
171
+ return AlertEpisode;
172
+ },
173
+ {
174
+ eager: false,
175
+ nullable: true,
176
+ onDelete: "CASCADE",
177
+ orphanedRowAction: "nullify",
178
+ },
179
+ )
180
+ @JoinColumn({ name: "alertEpisodeId" })
181
+ public alertEpisode?: AlertEpisode = undefined;
182
+
183
+ @ColumnAccessControl({
184
+ create: [
185
+ Permission.ProjectOwner,
186
+ Permission.ProjectAdmin,
187
+ Permission.ProjectMember,
188
+ Permission.CreateAlertEpisodeFeed,
189
+ ],
190
+ read: [
191
+ Permission.ProjectOwner,
192
+ Permission.ProjectAdmin,
193
+ Permission.ProjectMember,
194
+ Permission.ReadAlertEpisodeFeed,
195
+ ],
196
+ update: [],
197
+ })
198
+ @Index()
199
+ @TableColumn({
200
+ type: TableColumnType.ObjectID,
201
+ required: true,
202
+ title: "Alert Episode ID",
203
+ description: "Relation to Alert Episode ID in which this resource belongs",
204
+ })
205
+ @Column({
206
+ type: ColumnType.ObjectID,
207
+ nullable: false,
208
+ transformer: ObjectID.getDatabaseTransformer(),
209
+ })
210
+ public alertEpisodeId?: ObjectID = undefined;
211
+
212
+ @ColumnAccessControl({
213
+ create: [
214
+ Permission.ProjectOwner,
215
+ Permission.ProjectAdmin,
216
+ Permission.ProjectMember,
217
+ Permission.CreateAlertEpisodeFeed,
218
+ ],
219
+ read: [
220
+ Permission.ProjectOwner,
221
+ Permission.ProjectAdmin,
222
+ Permission.ProjectMember,
223
+ Permission.ReadAlertEpisodeFeed,
224
+ ],
225
+ update: [],
226
+ })
227
+ @TableColumn({
228
+ manyToOneRelationColumn: "createdByUserId",
229
+ type: TableColumnType.Entity,
230
+ modelType: User,
231
+ title: "Created by User",
232
+ description:
233
+ "Relation to User who created this object (if this object was created by a User)",
234
+ })
235
+ @ManyToOne(
236
+ () => {
237
+ return User;
238
+ },
239
+ {
240
+ eager: false,
241
+ nullable: true,
242
+ onDelete: "SET NULL",
243
+ orphanedRowAction: "nullify",
244
+ },
245
+ )
246
+ @JoinColumn({ name: "createdByUserId" })
247
+ public createdByUser?: User = undefined;
248
+
249
+ @ColumnAccessControl({
250
+ create: [
251
+ Permission.ProjectOwner,
252
+ Permission.ProjectAdmin,
253
+ Permission.ProjectMember,
254
+ Permission.CreateAlertEpisodeFeed,
255
+ ],
256
+ read: [
257
+ Permission.ProjectOwner,
258
+ Permission.ProjectAdmin,
259
+ Permission.ProjectMember,
260
+ Permission.ReadAlertEpisodeFeed,
261
+ ],
262
+ update: [],
263
+ })
264
+ @TableColumn({
265
+ type: TableColumnType.ObjectID,
266
+ title: "Created by User ID",
267
+ description:
268
+ "User ID who created this object (if this object was created by a User)",
269
+ })
270
+ @Column({
271
+ type: ColumnType.ObjectID,
272
+ nullable: true,
273
+ transformer: ObjectID.getDatabaseTransformer(),
274
+ })
275
+ public createdByUserId?: ObjectID = undefined;
276
+
277
+ @ColumnAccessControl({
278
+ create: [],
279
+ read: [],
280
+ update: [],
281
+ })
282
+ @TableColumn({
283
+ manyToOneRelationColumn: "deletedByUserId",
284
+ type: TableColumnType.Entity,
285
+ title: "Deleted by User",
286
+ modelType: User,
287
+ description:
288
+ "Relation to User who deleted this object (if this object was deleted by a User)",
289
+ })
290
+ @ManyToOne(
291
+ () => {
292
+ return User;
293
+ },
294
+ {
295
+ cascade: false,
296
+ eager: false,
297
+ nullable: true,
298
+ onDelete: "SET NULL",
299
+ orphanedRowAction: "nullify",
300
+ },
301
+ )
302
+ @JoinColumn({ name: "deletedByUserId" })
303
+ public deletedByUser?: User = undefined;
304
+
305
+ @ColumnAccessControl({
306
+ create: [],
307
+ read: [],
308
+ update: [],
309
+ })
310
+ @TableColumn({
311
+ type: TableColumnType.ObjectID,
312
+ title: "Deleted by User ID",
313
+ description:
314
+ "User ID who deleted this object (if this object was deleted by a User)",
315
+ })
316
+ @Column({
317
+ type: ColumnType.ObjectID,
318
+ nullable: true,
319
+ transformer: ObjectID.getDatabaseTransformer(),
320
+ })
321
+ public deletedByUserId?: ObjectID = undefined;
322
+
323
+ @ColumnAccessControl({
324
+ create: [
325
+ Permission.ProjectOwner,
326
+ Permission.ProjectAdmin,
327
+ Permission.ProjectMember,
328
+ Permission.CreateAlertEpisodeFeed,
329
+ ],
330
+ read: [
331
+ Permission.ProjectOwner,
332
+ Permission.ProjectAdmin,
333
+ Permission.ProjectMember,
334
+ Permission.ReadAlertEpisodeFeed,
335
+ ],
336
+ update: [],
337
+ })
338
+ @TableColumn({
339
+ type: TableColumnType.Markdown,
340
+ required: true,
341
+ title: "Log (in Markdown)",
342
+ description: "Log of the entire alert episode activity in Markdown",
343
+ })
344
+ @Column({
345
+ type: ColumnType.Markdown,
346
+ nullable: false,
347
+ unique: false,
348
+ })
349
+ public feedInfoInMarkdown?: string = undefined;
350
+
351
+ @ColumnAccessControl({
352
+ create: [
353
+ Permission.ProjectOwner,
354
+ Permission.ProjectAdmin,
355
+ Permission.ProjectMember,
356
+ Permission.CreateAlertEpisodeFeed,
357
+ ],
358
+ read: [
359
+ Permission.ProjectOwner,
360
+ Permission.ProjectAdmin,
361
+ Permission.ProjectMember,
362
+ Permission.ReadAlertEpisodeFeed,
363
+ ],
364
+ update: [],
365
+ })
366
+ @TableColumn({
367
+ type: TableColumnType.Markdown,
368
+ required: false,
369
+ title: "More Information (in Markdown)",
370
+ description: "More information in Markdown",
371
+ })
372
+ @Column({
373
+ type: ColumnType.Markdown,
374
+ nullable: true,
375
+ unique: false,
376
+ })
377
+ public moreInformationInMarkdown?: string = undefined;
378
+
379
+ @ColumnAccessControl({
380
+ create: [
381
+ Permission.ProjectOwner,
382
+ Permission.ProjectAdmin,
383
+ Permission.ProjectMember,
384
+ Permission.CreateAlertEpisodeFeed,
385
+ ],
386
+ read: [
387
+ Permission.ProjectOwner,
388
+ Permission.ProjectAdmin,
389
+ Permission.ProjectMember,
390
+ Permission.ReadAlertEpisodeFeed,
391
+ ],
392
+ update: [],
393
+ })
394
+ @TableColumn({
395
+ type: TableColumnType.ShortText,
396
+ required: true,
397
+ title: "Alert Episode Feed Event",
398
+ description: "Alert Episode Feed Event Type",
399
+ })
400
+ @Column({
401
+ type: ColumnType.ShortText,
402
+ nullable: false,
403
+ unique: false,
404
+ })
405
+ public alertEpisodeFeedEventType?: AlertEpisodeFeedEventType = undefined;
406
+
407
+ @ColumnAccessControl({
408
+ create: [
409
+ Permission.ProjectOwner,
410
+ Permission.ProjectAdmin,
411
+ Permission.ProjectMember,
412
+ Permission.CreateAlertEpisodeFeed,
413
+ ],
414
+ read: [
415
+ Permission.ProjectOwner,
416
+ Permission.ProjectAdmin,
417
+ Permission.ProjectMember,
418
+ Permission.ReadAlertEpisodeFeed,
419
+ ],
420
+ update: [],
421
+ })
422
+ @ColorField()
423
+ @TableColumn({
424
+ type: TableColumnType.Color,
425
+ required: true,
426
+ title: "Color",
427
+ description: "Display color for the alert episode log",
428
+ })
429
+ @Column({
430
+ type: ColumnType.Color,
431
+ length: ColumnLength.Color,
432
+ nullable: false,
433
+ unique: false,
434
+ transformer: Color.getDatabaseTransformer(),
435
+ })
436
+ public displayColor?: Color = undefined;
437
+
438
+ @ColumnAccessControl({
439
+ create: [
440
+ Permission.ProjectOwner,
441
+ Permission.ProjectAdmin,
442
+ Permission.ProjectMember,
443
+ Permission.CreateAlertEpisodeFeed,
444
+ ],
445
+ read: [
446
+ Permission.ProjectOwner,
447
+ Permission.ProjectAdmin,
448
+ Permission.ProjectMember,
449
+ Permission.ReadAlertEpisodeFeed,
450
+ ],
451
+ update: [],
452
+ })
453
+ @TableColumn({
454
+ manyToOneRelationColumn: "userId",
455
+ type: TableColumnType.Entity,
456
+ modelType: User,
457
+ title: "User",
458
+ description:
459
+ "Relation to User who this feed belongs to (if this feed belongs to a User)",
460
+ })
461
+ @ManyToOne(
462
+ () => {
463
+ return User;
464
+ },
465
+ {
466
+ eager: false,
467
+ nullable: true,
468
+ onDelete: "SET NULL",
469
+ orphanedRowAction: "nullify",
470
+ },
471
+ )
472
+ @JoinColumn({ name: "userId" })
473
+ public user?: User = undefined;
474
+
475
+ @ColumnAccessControl({
476
+ create: [
477
+ Permission.ProjectOwner,
478
+ Permission.ProjectAdmin,
479
+ Permission.ProjectMember,
480
+ Permission.CreateAlertEpisodeFeed,
481
+ ],
482
+ read: [
483
+ Permission.ProjectOwner,
484
+ Permission.ProjectAdmin,
485
+ Permission.ProjectMember,
486
+ Permission.ReadAlertEpisodeFeed,
487
+ ],
488
+ update: [],
489
+ })
490
+ @TableColumn({
491
+ type: TableColumnType.ObjectID,
492
+ title: "User ID",
493
+ description:
494
+ "User who this feed belongs to (if this feed belongs to a User)",
495
+ })
496
+ @Column({
497
+ type: ColumnType.ObjectID,
498
+ nullable: true,
499
+ transformer: ObjectID.getDatabaseTransformer(),
500
+ })
501
+ public userId?: ObjectID = undefined;
502
+
503
+ @ColumnAccessControl({
504
+ create: [
505
+ Permission.ProjectOwner,
506
+ Permission.ProjectAdmin,
507
+ Permission.ProjectMember,
508
+ Permission.CreateAlertEpisodeFeed,
509
+ ],
510
+ read: [
511
+ Permission.ProjectOwner,
512
+ Permission.ProjectAdmin,
513
+ Permission.ProjectMember,
514
+ Permission.ReadAlertEpisodeFeed,
515
+ ],
516
+ update: [],
517
+ })
518
+ @TableColumn({
519
+ title: "Feed Posted At",
520
+ description: "Date and time when the feed was posted",
521
+ type: TableColumnType.Date,
522
+ })
523
+ @Column({
524
+ type: ColumnType.Date,
525
+ nullable: true,
526
+ unique: false,
527
+ })
528
+ public postedAt?: Date = undefined;
529
+ }