@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,83 @@
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 { Blue500 } from "../../Types/BrandColors";
11
+ import OneUptimeDate from "../../Types/Date";
12
+ import BadDataException from "../../Types/Exception/BadDataException";
13
+ import { IsBillingEnabled } from "../EnvironmentConfig";
14
+ import logger from "../Utils/Logger";
15
+ import DatabaseService from "./DatabaseService";
16
+ import Model from "../../Models/DatabaseModels/IncidentEpisodeFeed";
17
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
18
+ export class Service extends DatabaseService {
19
+ constructor() {
20
+ super(Model);
21
+ if (IsBillingEnabled) {
22
+ this.hardDeleteItemsOlderThanInDays("createdAt", 3 * 365); // 3 years
23
+ }
24
+ }
25
+ async createIncidentEpisodeFeedItem(data) {
26
+ try {
27
+ if (!data.incidentEpisodeId) {
28
+ throw new BadDataException("Incident Episode ID is required");
29
+ }
30
+ if (!data.feedInfoInMarkdown) {
31
+ throw new BadDataException("Log in markdown is required");
32
+ }
33
+ if (!data.incidentEpisodeFeedEventType) {
34
+ throw new BadDataException("Incident episode log event is required");
35
+ }
36
+ if (!data.projectId) {
37
+ throw new BadDataException("Project ID is required");
38
+ }
39
+ const incidentEpisodeFeed = new Model();
40
+ if (!data.displayColor) {
41
+ data.displayColor = Blue500;
42
+ }
43
+ if (data.userId) {
44
+ incidentEpisodeFeed.userId = data.userId;
45
+ }
46
+ incidentEpisodeFeed.displayColor = data.displayColor;
47
+ incidentEpisodeFeed.incidentEpisodeId = data.incidentEpisodeId;
48
+ incidentEpisodeFeed.feedInfoInMarkdown = data.feedInfoInMarkdown;
49
+ incidentEpisodeFeed.incidentEpisodeFeedEventType =
50
+ data.incidentEpisodeFeedEventType;
51
+ incidentEpisodeFeed.projectId = data.projectId;
52
+ if (!data.postedAt) {
53
+ incidentEpisodeFeed.postedAt = OneUptimeDate.getCurrentDate();
54
+ }
55
+ else {
56
+ incidentEpisodeFeed.postedAt = data.postedAt;
57
+ }
58
+ if (data.moreInformationInMarkdown) {
59
+ incidentEpisodeFeed.moreInformationInMarkdown =
60
+ data.moreInformationInMarkdown;
61
+ }
62
+ await this.create({
63
+ data: incidentEpisodeFeed,
64
+ props: {
65
+ isRoot: true,
66
+ },
67
+ });
68
+ }
69
+ catch (error) {
70
+ logger.error("IncidentEpisodeFeedService.createIncidentEpisodeFeedItem");
71
+ logger.error(error);
72
+ // we dont want to throw the error here, as this is a non-critical operation
73
+ }
74
+ }
75
+ }
76
+ __decorate([
77
+ CaptureSpan(),
78
+ __metadata("design:type", Function),
79
+ __metadata("design:paramtypes", [Object]),
80
+ __metadata("design:returntype", Promise)
81
+ ], Service.prototype, "createIncidentEpisodeFeedItem", null);
82
+ export default new Service();
83
+ //# sourceMappingURL=IncidentEpisodeFeedService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentEpisodeFeedService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
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 DatabaseService from "./DatabaseService";
11
+ import Model from "../../Models/DatabaseModels/IncidentEpisodeInternalNote";
12
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
13
+ import File from "../../Models/DatabaseModels/File";
14
+ export class Service extends DatabaseService {
15
+ constructor() {
16
+ super(Model);
17
+ }
18
+ async addNote(data) {
19
+ const internalNote = new Model();
20
+ internalNote.createdByUserId = data.userId;
21
+ internalNote.incidentEpisodeId = data.incidentEpisodeId;
22
+ internalNote.projectId = data.projectId;
23
+ internalNote.note = data.note;
24
+ if (data.postedFromSlackMessageId) {
25
+ internalNote.postedFromSlackMessageId = data.postedFromSlackMessageId;
26
+ }
27
+ if (data.attachmentFileIds && data.attachmentFileIds.length > 0) {
28
+ internalNote.attachments = data.attachmentFileIds.map((fileId) => {
29
+ const file = new File();
30
+ file.id = fileId;
31
+ return file;
32
+ });
33
+ }
34
+ return this.create({
35
+ data: internalNote,
36
+ props: {
37
+ isRoot: true,
38
+ },
39
+ });
40
+ }
41
+ async hasNoteFromSlackMessage(data) {
42
+ const existingNote = await this.findOneBy({
43
+ query: {
44
+ incidentEpisodeId: data.incidentEpisodeId,
45
+ postedFromSlackMessageId: data.postedFromSlackMessageId,
46
+ },
47
+ select: {
48
+ _id: true,
49
+ },
50
+ props: {
51
+ isRoot: true,
52
+ },
53
+ });
54
+ return existingNote !== null;
55
+ }
56
+ }
57
+ __decorate([
58
+ CaptureSpan(),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [Object]),
61
+ __metadata("design:returntype", Promise)
62
+ ], Service.prototype, "addNote", null);
63
+ __decorate([
64
+ CaptureSpan(),
65
+ __metadata("design:type", Function),
66
+ __metadata("design:paramtypes", [Object]),
67
+ __metadata("design:returntype", Promise)
68
+ ], Service.prototype, "hasNoteFromSlackMessage", null);
69
+ export default new Service();
70
+ //# sourceMappingURL=IncidentEpisodeInternalNoteService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeInternalNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentEpisodeInternalNoteService.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,IAAI,MAAM,kCAAkC,CAAC;AAEpD,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAGY,AAAN,KAAK,CAAC,OAAO,CAAC,IAOpB;QACC,MAAM,YAAY,GAAU,IAAI,KAAK,EAAE,CAAC;QACxC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3C,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACnD,CAAC,MAAgB,EAAE,EAAE;gBACnB,MAAM,IAAI,GAAS,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,uBAAuB,CAAC,IAGpC;QACC,MAAM,YAAY,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YACtD,KAAK,EAAE;gBACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;aACxD;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,OAAO,YAAY,KAAK,IAAI,CAAC;IAC/B,CAAC;CACF;AAxDc;IADZ,WAAW,EAAE;;;;sCAmCb;AAGY;IADZ,WAAW,EAAE;;;;sDAmBb;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,298 @@
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 DatabaseService from "./DatabaseService";
11
+ import BadDataException from "../../Types/Exception/BadDataException";
12
+ import ObjectID from "../../Types/ObjectID";
13
+ import Model from "../../Models/DatabaseModels/IncidentEpisodeMember";
14
+ import { IsBillingEnabled } from "../EnvironmentConfig";
15
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
16
+ import logger from "../Utils/Logger";
17
+ import IncidentEpisodeFeedService from "./IncidentEpisodeFeedService";
18
+ import IncidentFeedService from "./IncidentFeedService";
19
+ import { IncidentEpisodeFeedEventType } from "../../Models/DatabaseModels/IncidentEpisodeFeed";
20
+ import { IncidentFeedEventType } from "../../Models/DatabaseModels/IncidentFeed";
21
+ import { Yellow500, Green500 } from "../../Types/BrandColors";
22
+ import OneUptimeDate from "../../Types/Date";
23
+ import IncidentService from "./IncidentService";
24
+ import IncidentEpisodeService from "./IncidentEpisodeService";
25
+ export class Service extends DatabaseService {
26
+ constructor() {
27
+ super(Model);
28
+ if (IsBillingEnabled) {
29
+ this.hardDeleteItemsOlderThanInDays("createdAt", 3 * 365); // 3 years
30
+ }
31
+ }
32
+ async onBeforeCreate(createBy) {
33
+ if (!createBy.data.incidentEpisodeId) {
34
+ throw new BadDataException("incidentEpisodeId is required");
35
+ }
36
+ if (!createBy.data.incidentId) {
37
+ throw new BadDataException("incidentId is required");
38
+ }
39
+ // Check if this incident is already in the episode
40
+ const existingMember = await this.findOneBy({
41
+ query: {
42
+ incidentEpisodeId: createBy.data.incidentEpisodeId,
43
+ incidentId: createBy.data.incidentId,
44
+ },
45
+ props: {
46
+ isRoot: true,
47
+ },
48
+ select: {
49
+ _id: true,
50
+ },
51
+ });
52
+ if (existingMember) {
53
+ throw new BadDataException("Incident is already a member of this episode");
54
+ }
55
+ // Set addedAt if not provided
56
+ if (!createBy.data.addedAt) {
57
+ createBy.data.addedAt = OneUptimeDate.getCurrentDate();
58
+ }
59
+ return { createBy, carryForward: null };
60
+ }
61
+ async onCreateSuccess(_onCreate, createdItem) {
62
+ if (!createdItem.incidentEpisodeId) {
63
+ throw new BadDataException("incidentEpisodeId is required");
64
+ }
65
+ if (!createdItem.incidentId) {
66
+ throw new BadDataException("incidentId is required");
67
+ }
68
+ if (!createdItem.projectId) {
69
+ throw new BadDataException("projectId is required");
70
+ }
71
+ // Update incident's episode reference
72
+ await IncidentService.updateOneById({
73
+ id: createdItem.incidentId,
74
+ data: {
75
+ incidentEpisodeId: createdItem.incidentEpisodeId,
76
+ },
77
+ props: {
78
+ isRoot: true,
79
+ },
80
+ });
81
+ // Update episode's incidentCount and lastIncidentAddedAt
82
+ Promise.resolve()
83
+ .then(async () => {
84
+ try {
85
+ await IncidentEpisodeService.updateIncidentCount(createdItem.incidentEpisodeId);
86
+ await IncidentEpisodeService.updateLastIncidentAddedAt(createdItem.incidentEpisodeId);
87
+ }
88
+ catch (error) {
89
+ logger.error(`Error updating episode counts in IncidentEpisodeMemberService.onCreateSuccess: ${error}`);
90
+ }
91
+ })
92
+ .catch((error) => {
93
+ logger.error(`Critical error in IncidentEpisodeMemberService.onCreateSuccess: ${error}`);
94
+ });
95
+ // Get incident details for feed
96
+ const incident = await IncidentService.findOneById({
97
+ id: createdItem.incidentId,
98
+ select: {
99
+ incidentNumber: true,
100
+ title: true,
101
+ },
102
+ props: {
103
+ isRoot: true,
104
+ },
105
+ });
106
+ // Get episode details for feed
107
+ const episode = await IncidentEpisodeService.findOneById({
108
+ id: createdItem.incidentEpisodeId,
109
+ select: {
110
+ episodeNumber: true,
111
+ title: true,
112
+ },
113
+ props: {
114
+ isRoot: true,
115
+ },
116
+ });
117
+ // Create feed item on episode
118
+ await IncidentEpisodeFeedService.createIncidentEpisodeFeedItem({
119
+ incidentEpisodeId: createdItem.incidentEpisodeId,
120
+ projectId: createdItem.projectId,
121
+ incidentEpisodeFeedEventType: IncidentEpisodeFeedEventType.IncidentAdded,
122
+ displayColor: Yellow500,
123
+ feedInfoInMarkdown: `**Incident #${(incident === null || incident === void 0 ? void 0 : incident.incidentNumber) || "N/A"}** added to episode: ${(incident === null || incident === void 0 ? void 0 : incident.title) || "No title"}`,
124
+ userId: createdItem.addedByUserId || undefined,
125
+ });
126
+ // Create feed item on incident
127
+ await IncidentFeedService.createIncidentFeedItem({
128
+ incidentId: createdItem.incidentId,
129
+ projectId: createdItem.projectId,
130
+ incidentFeedEventType: IncidentFeedEventType.IncidentUpdated,
131
+ displayColor: Yellow500,
132
+ feedInfoInMarkdown: `Added to **Episode #${(episode === null || episode === void 0 ? void 0 : episode.episodeNumber) || "N/A"}**: ${(episode === null || episode === void 0 ? void 0 : episode.title) || "No title"}`,
133
+ userId: createdItem.addedByUserId || undefined,
134
+ });
135
+ return createdItem;
136
+ }
137
+ async onBeforeDelete(deleteBy) {
138
+ // Get the member records before deletion
139
+ const membersToDelete = await this.findBy({
140
+ query: deleteBy.query,
141
+ props: {
142
+ isRoot: true,
143
+ },
144
+ select: {
145
+ incidentEpisodeId: true,
146
+ incidentId: true,
147
+ projectId: true,
148
+ },
149
+ limit: 100,
150
+ skip: 0,
151
+ });
152
+ return {
153
+ deleteBy,
154
+ carryForward: membersToDelete,
155
+ };
156
+ }
157
+ async onDeleteSuccess(onDelete, _itemIdsBeforeDelete) {
158
+ const membersDeleted = onDelete.carryForward;
159
+ if (membersDeleted && membersDeleted.length > 0) {
160
+ for (const member of membersDeleted) {
161
+ if (member.incidentId) {
162
+ // Clear the episode reference from the incident
163
+ await IncidentService.updateOneById({
164
+ id: member.incidentId,
165
+ data: {
166
+ incidentEpisodeId: undefined,
167
+ },
168
+ props: {
169
+ isRoot: true,
170
+ },
171
+ });
172
+ // Get incident details for feed
173
+ const incident = await IncidentService.findOneById({
174
+ id: member.incidentId,
175
+ select: {
176
+ incidentNumber: true,
177
+ title: true,
178
+ },
179
+ props: {
180
+ isRoot: true,
181
+ },
182
+ });
183
+ // Create feed item for removal
184
+ if (member.incidentEpisodeId && member.projectId) {
185
+ // Get episode details for feed
186
+ const episode = await IncidentEpisodeService.findOneById({
187
+ id: member.incidentEpisodeId,
188
+ select: {
189
+ episodeNumber: true,
190
+ title: true,
191
+ },
192
+ props: {
193
+ isRoot: true,
194
+ },
195
+ });
196
+ // Create feed item on episode
197
+ await IncidentEpisodeFeedService.createIncidentEpisodeFeedItem({
198
+ incidentEpisodeId: member.incidentEpisodeId,
199
+ projectId: member.projectId,
200
+ incidentEpisodeFeedEventType: IncidentEpisodeFeedEventType.IncidentRemoved,
201
+ displayColor: Green500,
202
+ feedInfoInMarkdown: `**Incident #${(incident === null || incident === void 0 ? void 0 : incident.incidentNumber) || "N/A"}** removed from episode: ${(incident === null || incident === void 0 ? void 0 : incident.title) || "No title"}`,
203
+ });
204
+ // Create feed item on incident
205
+ await IncidentFeedService.createIncidentFeedItem({
206
+ incidentId: member.incidentId,
207
+ projectId: member.projectId,
208
+ incidentFeedEventType: IncidentFeedEventType.IncidentUpdated,
209
+ displayColor: Green500,
210
+ feedInfoInMarkdown: `Removed from **Episode #${(episode === null || episode === void 0 ? void 0 : episode.episodeNumber) || "N/A"}**: ${(episode === null || episode === void 0 ? void 0 : episode.title) || "No title"}`,
211
+ });
212
+ }
213
+ }
214
+ if (member.incidentEpisodeId) {
215
+ // Update episode's incidentCount
216
+ await IncidentEpisodeService.updateIncidentCount(member.incidentEpisodeId);
217
+ }
218
+ }
219
+ }
220
+ return onDelete;
221
+ }
222
+ async getIncidentsInEpisode(episodeId) {
223
+ const members = await this.findBy({
224
+ query: {
225
+ incidentEpisodeId: episodeId,
226
+ },
227
+ props: {
228
+ isRoot: true,
229
+ },
230
+ select: {
231
+ incidentId: true,
232
+ },
233
+ limit: 1000,
234
+ skip: 0,
235
+ });
236
+ return members
237
+ .filter((m) => {
238
+ return m.incidentId;
239
+ })
240
+ .map((m) => {
241
+ return m.incidentId;
242
+ });
243
+ }
244
+ async isIncidentInEpisode(incidentId, episodeId) {
245
+ const member = await this.findOneBy({
246
+ query: {
247
+ incidentId: incidentId,
248
+ incidentEpisodeId: episodeId,
249
+ },
250
+ props: {
251
+ isRoot: true,
252
+ },
253
+ select: {
254
+ _id: true,
255
+ },
256
+ });
257
+ return member !== null;
258
+ }
259
+ }
260
+ __decorate([
261
+ CaptureSpan(),
262
+ __metadata("design:type", Function),
263
+ __metadata("design:paramtypes", [Object]),
264
+ __metadata("design:returntype", Promise)
265
+ ], Service.prototype, "onBeforeCreate", null);
266
+ __decorate([
267
+ CaptureSpan(),
268
+ __metadata("design:type", Function),
269
+ __metadata("design:paramtypes", [Object, Model]),
270
+ __metadata("design:returntype", Promise)
271
+ ], Service.prototype, "onCreateSuccess", null);
272
+ __decorate([
273
+ CaptureSpan(),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [Object]),
276
+ __metadata("design:returntype", Promise)
277
+ ], Service.prototype, "onBeforeDelete", null);
278
+ __decorate([
279
+ CaptureSpan(),
280
+ __metadata("design:type", Function),
281
+ __metadata("design:paramtypes", [Object, Array]),
282
+ __metadata("design:returntype", Promise)
283
+ ], Service.prototype, "onDeleteSuccess", null);
284
+ __decorate([
285
+ CaptureSpan(),
286
+ __metadata("design:type", Function),
287
+ __metadata("design:paramtypes", [ObjectID]),
288
+ __metadata("design:returntype", Promise)
289
+ ], Service.prototype, "getIncidentsInEpisode", null);
290
+ __decorate([
291
+ CaptureSpan(),
292
+ __metadata("design:type", Function),
293
+ __metadata("design:paramtypes", [ObjectID,
294
+ ObjectID]),
295
+ __metadata("design:returntype", Promise)
296
+ ], Service.prototype, "isIncidentInEpisode", null);
297
+ export default new Service();
298
+ //# sourceMappingURL=IncidentEpisodeMemberService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeMemberService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentEpisodeMemberService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/IncidentEpisodeOwnerTeam";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=IncidentEpisodeOwnerTeamService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeOwnerTeamService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentEpisodeOwnerTeamService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,sDAAsD,CAAC;AAEzE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import DatabaseService from "./DatabaseService";
2
+ import Model from "../../Models/DatabaseModels/IncidentEpisodeOwnerUser";
3
+ export class Service extends DatabaseService {
4
+ constructor() {
5
+ super(Model);
6
+ }
7
+ }
8
+ export default new Service();
9
+ //# sourceMappingURL=IncidentEpisodeOwnerUserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentEpisodeOwnerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentEpisodeOwnerUserService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,sDAAsD,CAAC;AAEzE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,eAAe,IAAI,OAAO,EAAE,CAAC"}