@oneuptime/common 9.4.11 → 9.4.13

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