@oneuptime/common 7.0.2928 → 7.0.2936

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 (469) hide show
  1. package/{AnalyticsModels/BaseModel.ts → Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts} +19 -17
  2. package/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/CommonModel.ts +15 -15
  3. package/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/NestedModel.ts +1 -1
  4. package/Models/AnalyticsModels/Index.ts +16 -0
  5. package/Models/AnalyticsModels/Log.ts +365 -0
  6. package/Models/AnalyticsModels/Metric.ts +693 -0
  7. package/Models/AnalyticsModels/MonitorMetricsByMinute.ts +177 -0
  8. package/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.ts +59 -0
  9. package/Models/AnalyticsModels/Span.ts +643 -0
  10. package/Models/AnalyticsModels/TelemetryAttribute.ts +163 -0
  11. package/Models/DatabaseModels/AcmeCertificate.ts +142 -0
  12. package/Models/DatabaseModels/AcmeChallenge.ts +118 -0
  13. package/Models/DatabaseModels/ApiKey.ts +379 -0
  14. package/Models/DatabaseModels/ApiKeyPermission.ts +434 -0
  15. package/Models/DatabaseModels/BillingInvoice.ts +339 -0
  16. package/Models/DatabaseModels/BillingPaymentMethod.ts +317 -0
  17. package/Models/DatabaseModels/CallLog.ts +303 -0
  18. package/Models/DatabaseModels/CopilotAction.ts +545 -0
  19. package/Models/DatabaseModels/CopilotCodeRepository.ts +639 -0
  20. package/Models/DatabaseModels/CopilotPullRequest.ts +468 -0
  21. package/Models/DatabaseModels/DataMigration.ts +183 -0
  22. package/Models/{AccessControlModel.ts → DatabaseModels/DatabaseBaseModel/AccessControlModel.ts} +2 -2
  23. package/Models/{BaseModel.ts → DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts} +53 -48
  24. package/Models/{FileModel.ts → DatabaseModels/DatabaseBaseModel/FileModel.ts} +10 -10
  25. package/Models/{GlobalConfig.ts → DatabaseModels/DatabaseBaseModel/GlobalConfig.ts} +2 -2
  26. package/Models/{TenantModel.ts → DatabaseModels/DatabaseBaseModel/TenantModel.ts} +2 -2
  27. package/Models/{UserModel.ts → DatabaseModels/DatabaseBaseModel/UserModel.ts} +2 -2
  28. package/Models/DatabaseModels/Domain.ts +354 -0
  29. package/Models/DatabaseModels/EmailLog.ts +337 -0
  30. package/Models/DatabaseModels/EmailVerificationToken.ts +163 -0
  31. package/Models/DatabaseModels/File.ts +27 -0
  32. package/Models/DatabaseModels/GlobalConfig.ts +371 -0
  33. package/Models/DatabaseModels/GreenlockCertificate.ts +117 -0
  34. package/Models/DatabaseModels/GreenlockChallenge.ts +118 -0
  35. package/Models/DatabaseModels/Incident.ts +1094 -0
  36. package/Models/DatabaseModels/IncidentCustomField.ts +340 -0
  37. package/Models/DatabaseModels/IncidentInternalNote.ts +371 -0
  38. package/Models/DatabaseModels/IncidentNoteTemplate.ts +344 -0
  39. package/Models/DatabaseModels/IncidentOwnerTeam.ts +416 -0
  40. package/Models/DatabaseModels/IncidentOwnerUser.ts +415 -0
  41. package/Models/DatabaseModels/IncidentPublicNote.ts +453 -0
  42. package/Models/DatabaseModels/IncidentSeverity.ts +426 -0
  43. package/Models/DatabaseModels/IncidentState.ts +526 -0
  44. package/Models/DatabaseModels/IncidentStateTimeline.ts +579 -0
  45. package/Models/DatabaseModels/IncidentTemplate.ts +746 -0
  46. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +418 -0
  47. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +429 -0
  48. package/Models/DatabaseModels/Index.ts +292 -0
  49. package/Models/DatabaseModels/Label.ts +381 -0
  50. package/Models/DatabaseModels/Monitor.ts +1045 -0
  51. package/Models/DatabaseModels/MonitorCustomField.ts +340 -0
  52. package/Models/DatabaseModels/MonitorGroup.ts +410 -0
  53. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +426 -0
  54. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +425 -0
  55. package/Models/DatabaseModels/MonitorGroupResource.ts +386 -0
  56. package/Models/DatabaseModels/MonitorOwnerTeam.ts +424 -0
  57. package/Models/DatabaseModels/MonitorOwnerUser.ts +423 -0
  58. package/Models/DatabaseModels/MonitorProbe.ts +480 -0
  59. package/Models/DatabaseModels/MonitorSecret.ts +402 -0
  60. package/Models/DatabaseModels/MonitorStatus.ts +493 -0
  61. package/Models/DatabaseModels/MonitorStatusTimeline.ts +527 -0
  62. package/Models/DatabaseModels/OnCallDutyPolicy.ts +499 -0
  63. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +340 -0
  64. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +439 -0
  65. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +439 -0
  66. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +438 -0
  67. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +437 -0
  68. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +665 -0
  69. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +726 -0
  70. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +403 -0
  71. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +555 -0
  72. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.ts +496 -0
  73. package/Models/DatabaseModels/Probe.ts +567 -0
  74. package/Models/DatabaseModels/ProbeOwnerTeam.ts +424 -0
  75. package/Models/DatabaseModels/ProbeOwnerUser.ts +423 -0
  76. package/Models/DatabaseModels/Project.ts +1168 -0
  77. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +430 -0
  78. package/Models/DatabaseModels/ProjectSmtpConfig.ts +521 -0
  79. package/Models/DatabaseModels/ProjectSso.ts +582 -0
  80. package/Models/DatabaseModels/PromoCode.ts +413 -0
  81. package/Models/DatabaseModels/Reseller.ts +278 -0
  82. package/Models/DatabaseModels/ResellerPlan.ts +306 -0
  83. package/Models/DatabaseModels/ScheduledMaintenance.ts +883 -0
  84. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +340 -0
  85. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +371 -0
  86. package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +345 -0
  87. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +418 -0
  88. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +417 -0
  89. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +454 -0
  90. package/Models/DatabaseModels/ScheduledMaintenanceState.ts +559 -0
  91. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +527 -0
  92. package/Models/DatabaseModels/ServiceCatalog.ts +512 -0
  93. package/Models/DatabaseModels/ServiceCatalogDependency.ts +412 -0
  94. package/Models/DatabaseModels/ServiceCatalogMonitor.ts +410 -0
  95. package/Models/DatabaseModels/ServiceCatalogOwnerTeam.ts +396 -0
  96. package/Models/DatabaseModels/ServiceCatalogOwnerUser.ts +395 -0
  97. package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +410 -0
  98. package/Models/DatabaseModels/ServiceCopilotCodeRepository.ts +542 -0
  99. package/Models/DatabaseModels/ShortLink.ts +119 -0
  100. package/Models/DatabaseModels/SmsLog.ts +303 -0
  101. package/Models/DatabaseModels/StatusPage.ts +1867 -0
  102. package/Models/DatabaseModels/StatusPageAnnouncement.ts +512 -0
  103. package/Models/DatabaseModels/StatusPageCustomField.ts +340 -0
  104. package/Models/DatabaseModels/StatusPageDomain.ts +541 -0
  105. package/Models/DatabaseModels/StatusPageFooterLink.ts +421 -0
  106. package/Models/DatabaseModels/StatusPageGroup.ts +479 -0
  107. package/Models/DatabaseModels/StatusPageHeaderLink.ts +421 -0
  108. package/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.ts +416 -0
  109. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +424 -0
  110. package/Models/DatabaseModels/StatusPageOwnerUser.ts +423 -0
  111. package/Models/DatabaseModels/StatusPagePrivateUser.ts +464 -0
  112. package/Models/DatabaseModels/StatusPageResource.ts +810 -0
  113. package/Models/DatabaseModels/StatusPageSso.ts +583 -0
  114. package/Models/DatabaseModels/StatusPageSubscriber.ts +578 -0
  115. package/Models/DatabaseModels/Team.ts +439 -0
  116. package/Models/DatabaseModels/TeamMember.ts +422 -0
  117. package/Models/DatabaseModels/TeamPermission.ts +440 -0
  118. package/Models/DatabaseModels/TelemetryIngestionKey.ts +316 -0
  119. package/Models/DatabaseModels/TelemetryService.ts +523 -0
  120. package/Models/DatabaseModels/TelemetryUsageBilling.ts +415 -0
  121. package/Models/DatabaseModels/User.ts +722 -0
  122. package/Models/DatabaseModels/UserCall.ts +285 -0
  123. package/Models/DatabaseModels/UserEmail.ts +285 -0
  124. package/Models/DatabaseModels/UserNotificationRule.ts +455 -0
  125. package/Models/DatabaseModels/UserNotificationSetting.ts +280 -0
  126. package/Models/DatabaseModels/UserOnCallLog.ts +700 -0
  127. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +848 -0
  128. package/Models/DatabaseModels/UserSMS.ts +285 -0
  129. package/Models/DatabaseModels/UserTwoFactorAuth.ts +208 -0
  130. package/Models/DatabaseModels/Workflow.ts +524 -0
  131. package/Models/DatabaseModels/WorkflowLog.ts +302 -0
  132. package/Models/DatabaseModels/WorkflowVariable.ts +428 -0
  133. package/Models/Permissions/Permission.ts +0 -0
  134. package/Tests/AppModels/File.test.ts +10 -0
  135. package/Tests/Types/Database/Date.test.ts +17 -12
  136. package/Tests/Types/JSONFunctions.test.ts +1 -1
  137. package/Types/API/HTTPResponse.ts +2 -2
  138. package/Types/AnalyticsDatabase/TableColumn.ts +1 -1
  139. package/Types/BaseDatabase/InBetween.ts +18 -2
  140. package/Types/Database/AccessControl/ColumnAccessControl.ts +1 -1
  141. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +1 -1
  142. package/Types/Database/TableColumn.ts +2 -2
  143. package/Types/Database/UniqueColumnBy.ts +1 -1
  144. package/Types/Date.ts +47 -0
  145. package/Types/JSONFunctions.ts +3 -1
  146. package/Types/Log/LogSeverity.ts +11 -0
  147. package/Types/Monitor/CriteriaFilter.ts +3 -0
  148. package/Types/Monitor/LogMonitor/LogMonitorResponse.ts +8 -0
  149. package/Types/Monitor/MonitorCriteriaInstance.ts +54 -0
  150. package/Types/Monitor/MonitorStep.ts +26 -0
  151. package/Types/Monitor/MonitorStepLogMonitor.ts +95 -0
  152. package/Types/Monitor/MonitorType.ts +26 -0
  153. package/Types/ObjectID.ts +19 -0
  154. package/Types/OnCallDutyPolicy/Layer.ts +1 -1
  155. package/Types/Workflow/Components/BaseModel.ts +1 -1
  156. package/Utils/API.ts +2 -2
  157. package/Utils/Uptime/Event.ts +11 -0
  158. package/Utils/Uptime/MonitorEvent.ts +6 -0
  159. package/Utils/Uptime/UptimeUtil.ts +362 -0
  160. package/build/dist/{AnalyticsModels/BaseModel.js → Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js} +7 -7
  161. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -0
  162. package/build/dist/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/CommonModel.js +5 -5
  163. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.js.map +1 -0
  164. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/NestedModel.js.map +1 -0
  165. package/build/dist/Models/AnalyticsModels/Index.js +14 -0
  166. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -0
  167. package/build/dist/Models/AnalyticsModels/Log.js +333 -0
  168. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -0
  169. package/build/dist/Models/AnalyticsModels/Metric.js +627 -0
  170. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -0
  171. package/build/dist/Models/AnalyticsModels/MonitorMetricsByMinute.js +149 -0
  172. package/build/dist/Models/AnalyticsModels/MonitorMetricsByMinute.js.map +1 -0
  173. package/build/dist/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.js +51 -0
  174. package/build/dist/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.js.map +1 -0
  175. package/build/dist/Models/AnalyticsModels/Span.js +575 -0
  176. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -0
  177. package/build/dist/Models/AnalyticsModels/TelemetryAttribute.js +153 -0
  178. package/build/dist/Models/AnalyticsModels/TelemetryAttribute.js.map +1 -0
  179. package/build/dist/Models/DatabaseModels/AcmeCertificate.js +167 -0
  180. package/build/dist/Models/DatabaseModels/AcmeCertificate.js.map +1 -0
  181. package/build/dist/Models/DatabaseModels/AcmeChallenge.js +139 -0
  182. package/build/dist/Models/DatabaseModels/AcmeChallenge.js.map +1 -0
  183. package/build/dist/Models/DatabaseModels/ApiKey.js +404 -0
  184. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -0
  185. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +444 -0
  186. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -0
  187. package/build/dist/Models/DatabaseModels/BillingInvoice.js +368 -0
  188. package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -0
  189. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js +341 -0
  190. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js.map +1 -0
  191. package/build/dist/Models/DatabaseModels/CallLog.js +330 -0
  192. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -0
  193. package/build/dist/Models/DatabaseModels/CopilotAction.js +561 -0
  194. package/build/dist/Models/DatabaseModels/CopilotAction.js.map +1 -0
  195. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js +658 -0
  196. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js.map +1 -0
  197. package/build/dist/Models/DatabaseModels/CopilotPullRequest.js +482 -0
  198. package/build/dist/Models/DatabaseModels/CopilotPullRequest.js.map +1 -0
  199. package/build/dist/Models/DatabaseModels/DataMigration.js +203 -0
  200. package/build/dist/Models/DatabaseModels/DataMigration.js.map +1 -0
  201. package/build/dist/Models/{AccessControlModel.js → DatabaseModels/DatabaseBaseModel/AccessControlModel.js} +1 -1
  202. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/AccessControlModel.js.map +1 -0
  203. package/build/dist/Models/{BaseModel.js → DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js} +22 -22
  204. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -0
  205. package/build/dist/Models/{FileModel.js → DatabaseModels/DatabaseBaseModel/FileModel.js} +10 -10
  206. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js.map +1 -0
  207. package/build/dist/Models/{GlobalConfig.js → DatabaseModels/DatabaseBaseModel/GlobalConfig.js} +1 -1
  208. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/GlobalConfig.js.map +1 -0
  209. package/build/dist/Models/{TenantModel.js → DatabaseModels/DatabaseBaseModel/TenantModel.js} +1 -1
  210. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/TenantModel.js.map +1 -0
  211. package/build/dist/Models/{UserModel.js → DatabaseModels/DatabaseBaseModel/UserModel.js} +1 -1
  212. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/UserModel.js.map +1 -0
  213. package/build/dist/Models/DatabaseModels/Domain.js +376 -0
  214. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -0
  215. package/build/dist/Models/DatabaseModels/EmailLog.js +362 -0
  216. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -0
  217. package/build/dist/Models/DatabaseModels/EmailVerificationToken.js +184 -0
  218. package/build/dist/Models/DatabaseModels/EmailVerificationToken.js.map +1 -0
  219. package/build/dist/Models/DatabaseModels/File.js +37 -0
  220. package/build/dist/Models/DatabaseModels/File.js.map +1 -0
  221. package/build/dist/Models/DatabaseModels/GlobalConfig.js +419 -0
  222. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -0
  223. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js +138 -0
  224. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js.map +1 -0
  225. package/build/dist/Models/DatabaseModels/GreenlockChallenge.js +139 -0
  226. package/build/dist/Models/DatabaseModels/GreenlockChallenge.js.map +1 -0
  227. package/build/dist/Models/DatabaseModels/Incident.js +1106 -0
  228. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -0
  229. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +360 -0
  230. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -0
  231. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +391 -0
  232. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -0
  233. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +364 -0
  234. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +434 -0
  236. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -0
  237. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +433 -0
  238. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -0
  239. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +478 -0
  240. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -0
  241. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +450 -0
  242. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -0
  243. package/build/dist/Models/DatabaseModels/IncidentState.js +556 -0
  244. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -0
  245. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +606 -0
  246. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -0
  247. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +758 -0
  248. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -0
  249. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +434 -0
  250. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -0
  251. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +445 -0
  252. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -0
  253. package/build/dist/Models/DatabaseModels/Index.js +252 -0
  254. package/build/dist/Models/DatabaseModels/Index.js.map +1 -0
  255. package/build/dist/Models/DatabaseModels/Label.js +403 -0
  256. package/build/dist/Models/DatabaseModels/Label.js.map +1 -0
  257. package/build/dist/Models/DatabaseModels/Monitor.js +1077 -0
  258. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -0
  259. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +360 -0
  260. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -0
  261. package/build/dist/Models/DatabaseModels/MonitorGroup.js +420 -0
  262. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -0
  263. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +442 -0
  264. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -0
  265. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +441 -0
  266. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -0
  267. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +402 -0
  268. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -0
  269. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +442 -0
  270. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -0
  271. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +441 -0
  272. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -0
  273. package/build/dist/Models/DatabaseModels/MonitorProbe.js +499 -0
  274. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -0
  275. package/build/dist/Models/DatabaseModels/MonitorSecret.js +399 -0
  276. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -0
  277. package/build/dist/Models/DatabaseModels/MonitorStatus.js +520 -0
  278. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -0
  279. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +550 -0
  280. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -0
  281. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +513 -0
  282. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -0
  283. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +360 -0
  284. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -0
  285. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +459 -0
  286. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -0
  287. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +450 -0
  288. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -0
  289. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +450 -0
  290. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -0
  291. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +449 -0
  292. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -0
  293. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +690 -0
  294. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -0
  295. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +747 -0
  296. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -0
  297. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +413 -0
  298. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -0
  299. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +579 -0
  300. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -0
  301. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js +510 -0
  302. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js.map +1 -0
  303. package/build/dist/Models/DatabaseModels/Probe.js +593 -0
  304. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -0
  305. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +442 -0
  306. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -0
  307. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +441 -0
  308. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -0
  309. package/build/dist/Models/DatabaseModels/Project.js +1264 -0
  310. package/build/dist/Models/DatabaseModels/Project.js.map +1 -0
  311. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +456 -0
  312. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -0
  313. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +556 -0
  314. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -0
  315. package/build/dist/Models/DatabaseModels/ProjectSso.js +600 -0
  316. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -0
  317. package/build/dist/Models/DatabaseModels/PromoCode.js +436 -0
  318. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -0
  319. package/build/dist/Models/DatabaseModels/Reseller.js +307 -0
  320. package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -0
  321. package/build/dist/Models/DatabaseModels/ResellerPlan.js +332 -0
  322. package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -0
  323. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +898 -0
  324. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -0
  325. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +360 -0
  326. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -0
  327. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +389 -0
  328. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -0
  329. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +364 -0
  330. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -0
  331. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +434 -0
  332. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -0
  333. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +433 -0
  334. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -0
  335. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +478 -0
  336. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -0
  337. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +591 -0
  338. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -0
  339. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +551 -0
  340. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -0
  341. package/build/dist/Models/DatabaseModels/ServiceCatalog.js +527 -0
  342. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -0
  343. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js +424 -0
  344. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +1 -0
  345. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js +425 -0
  346. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +1 -0
  347. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js +410 -0
  348. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +1 -0
  349. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js +409 -0
  350. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +1 -0
  351. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +425 -0
  352. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +1 -0
  353. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js +559 -0
  354. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js.map +1 -0
  355. package/build/dist/Models/DatabaseModels/ShortLink.js +137 -0
  356. package/build/dist/Models/DatabaseModels/ShortLink.js.map +1 -0
  357. package/build/dist/Models/DatabaseModels/SmsLog.js +330 -0
  358. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -0
  359. package/build/dist/Models/DatabaseModels/StatusPage.js +1927 -0
  360. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -0
  361. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +532 -0
  362. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -0
  363. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +360 -0
  364. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -0
  365. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +568 -0
  366. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -0
  367. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +438 -0
  368. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -0
  369. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +502 -0
  370. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -0
  371. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +438 -0
  372. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -0
  373. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js +435 -0
  374. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js.map +1 -0
  375. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +442 -0
  376. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -0
  377. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +441 -0
  378. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -0
  379. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +489 -0
  380. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -0
  381. package/build/dist/Models/DatabaseModels/StatusPageResource.js +839 -0
  382. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -0
  383. package/build/dist/Models/DatabaseModels/StatusPageSso.js +607 -0
  384. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -0
  385. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +594 -0
  386. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -0
  387. package/build/dist/Models/DatabaseModels/Team.js +463 -0
  388. package/build/dist/Models/DatabaseModels/Team.js.map +1 -0
  389. package/build/dist/Models/DatabaseModels/TeamMember.js +442 -0
  390. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -0
  391. package/build/dist/Models/DatabaseModels/TeamPermission.js +450 -0
  392. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -0
  393. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +337 -0
  394. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -0
  395. package/build/dist/Models/DatabaseModels/TelemetryService.js +539 -0
  396. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -0
  397. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +439 -0
  398. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -0
  399. package/build/dist/Models/DatabaseModels/User.js +782 -0
  400. package/build/dist/Models/DatabaseModels/User.js.map +1 -0
  401. package/build/dist/Models/DatabaseModels/UserCall.js +305 -0
  402. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -0
  403. package/build/dist/Models/DatabaseModels/UserEmail.js +305 -0
  404. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -0
  405. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +475 -0
  406. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -0
  407. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +302 -0
  408. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -0
  409. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +714 -0
  410. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -0
  411. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +870 -0
  412. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -0
  413. package/build/dist/Models/DatabaseModels/UserSMS.js +305 -0
  414. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -0
  415. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js +228 -0
  416. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js.map +1 -0
  417. package/build/dist/Models/DatabaseModels/Workflow.js +542 -0
  418. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -0
  419. package/build/dist/Models/DatabaseModels/WorkflowLog.js +327 -0
  420. package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -0
  421. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +448 -0
  422. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -0
  423. package/build/dist/Models/Permissions/Permission.js +2 -0
  424. package/build/dist/Models/Permissions/Permission.js.map +1 -0
  425. package/build/dist/Tests/AppModels/File.test.js +10 -0
  426. package/build/dist/Tests/AppModels/File.test.js.map +1 -0
  427. package/build/dist/Tests/Types/Database/Date.test.js +10 -12
  428. package/build/dist/Tests/Types/Database/Date.test.js.map +1 -1
  429. package/build/dist/Tests/Types/JSONFunctions.test.js +1 -1
  430. package/build/dist/Tests/Types/JSONFunctions.test.js.map +1 -1
  431. package/build/dist/Types/BaseDatabase/InBetween.js +14 -2
  432. package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -1
  433. package/build/dist/Types/Date.js +33 -0
  434. package/build/dist/Types/Date.js.map +1 -1
  435. package/build/dist/Types/JSONFunctions.js +4 -1
  436. package/build/dist/Types/JSONFunctions.js.map +1 -1
  437. package/build/dist/Types/Log/LogSeverity.js +12 -0
  438. package/build/dist/Types/Log/LogSeverity.js.map +1 -0
  439. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  440. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  441. package/build/dist/Types/Monitor/LogMonitor/LogMonitorResponse.js +2 -0
  442. package/build/dist/Types/Monitor/LogMonitor/LogMonitorResponse.js.map +1 -0
  443. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +49 -0
  444. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  445. package/build/dist/Types/Monitor/MonitorStep.js +18 -0
  446. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  447. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +59 -0
  448. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -0
  449. package/build/dist/Types/Monitor/MonitorType.js +25 -0
  450. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  451. package/build/dist/Types/ObjectID.js +16 -0
  452. package/build/dist/Types/ObjectID.js.map +1 -1
  453. package/build/dist/Utils/Uptime/Event.js +2 -0
  454. package/build/dist/Utils/Uptime/Event.js.map +1 -0
  455. package/build/dist/Utils/Uptime/MonitorEvent.js +2 -0
  456. package/build/dist/Utils/Uptime/MonitorEvent.js.map +1 -0
  457. package/build/dist/Utils/Uptime/UptimeUtil.js +238 -0
  458. package/build/dist/Utils/Uptime/UptimeUtil.js.map +1 -0
  459. package/package.json +1 -1
  460. package/build/dist/AnalyticsModels/BaseModel.js.map +0 -1
  461. package/build/dist/AnalyticsModels/CommonModel.js.map +0 -1
  462. package/build/dist/AnalyticsModels/NestedModel.js.map +0 -1
  463. package/build/dist/Models/AccessControlModel.js.map +0 -1
  464. package/build/dist/Models/BaseModel.js.map +0 -1
  465. package/build/dist/Models/FileModel.js.map +0 -1
  466. package/build/dist/Models/GlobalConfig.js.map +0 -1
  467. package/build/dist/Models/TenantModel.js.map +0 -1
  468. package/build/dist/Models/UserModel.js.map +0 -1
  469. /package/build/dist/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/NestedModel.js +0 -0
@@ -0,0 +1,1094 @@
1
+ import IncidentSeverity from "./IncidentSeverity";
2
+ import IncidentState from "./IncidentState";
3
+ import Label from "./Label";
4
+ import Monitor from "./Monitor";
5
+ import MonitorStatus from "./MonitorStatus";
6
+ import OnCallDutyPolicy from "./OnCallDutyPolicy";
7
+ import Probe from "./Probe";
8
+ import Project from "./Project";
9
+ import User from "./User";
10
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
11
+ import Route from "../../Types/API/Route";
12
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
13
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
14
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
15
+ import ColumnLength from "../../Types/Database/ColumnLength";
16
+ import ColumnType from "../../Types/Database/ColumnType";
17
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
18
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
19
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
20
+ import MultiTenentQueryAllowed from "../../Types/Database/MultiTenentQueryAllowed";
21
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
22
+ import TableColumn from "../../Types/Database/TableColumn";
23
+ import TableColumnType from "../../Types/Database/TableColumnType";
24
+ import TableMetadata from "../../Types/Database/TableMetadata";
25
+ import TenantColumn from "../../Types/Database/TenantColumn";
26
+ import IconProp from "../../Types/Icon/IconProp";
27
+ import { JSONObject } from "../../Types/JSON";
28
+ import ObjectID from "../../Types/ObjectID";
29
+ import Permission from "../../Types/Permission";
30
+ import {
31
+ Column,
32
+ Entity,
33
+ Index,
34
+ JoinColumn,
35
+ JoinTable,
36
+ ManyToMany,
37
+ ManyToOne,
38
+ } from "typeorm";
39
+ import TelemetryType from "../../Types/Telemetry/TelemetryType";
40
+ import Query from "../../Types/BaseDatabase/Query";
41
+ import Log from "../AnalyticsModels/Log";
42
+ import Span from "../AnalyticsModels/Span";
43
+ import Metric from "../AnalyticsModels/Metric";
44
+
45
+ export interface TelemetryIncidentQuery {
46
+ telemetryType: TelemetryType;
47
+ telemetryQuery: Query<Log> | Query<Span> | Query<Metric>;
48
+ }
49
+
50
+ @EnableDocumentation()
51
+ @AccessControlColumn("labels")
52
+ @MultiTenentQueryAllowed(true)
53
+ @TenantColumn("projectId")
54
+ @TableAccessControl({
55
+ create: [
56
+ Permission.ProjectOwner,
57
+ Permission.ProjectAdmin,
58
+ Permission.ProjectMember,
59
+ Permission.CreateProjectIncident,
60
+ ],
61
+ read: [
62
+ Permission.ProjectOwner,
63
+ Permission.ProjectAdmin,
64
+ Permission.ProjectMember,
65
+ Permission.ReadProjectIncident,
66
+ ],
67
+ delete: [
68
+ Permission.ProjectOwner,
69
+ Permission.ProjectAdmin,
70
+ Permission.ProjectMember,
71
+ Permission.DeleteProjectIncident,
72
+ ],
73
+ update: [
74
+ Permission.ProjectOwner,
75
+ Permission.ProjectAdmin,
76
+ Permission.ProjectMember,
77
+ Permission.EditProjectIncident,
78
+ ],
79
+ })
80
+ @CrudApiEndpoint(new Route("/incident"))
81
+ @SlugifyColumn("name", "slug")
82
+ @Entity({
83
+ name: "Incident",
84
+ })
85
+ @EnableWorkflow({
86
+ create: true,
87
+ delete: true,
88
+ update: true,
89
+ read: true,
90
+ })
91
+ @TableMetadata({
92
+ tableName: "Incident",
93
+ singularName: "Incident",
94
+ pluralName: "Incidents",
95
+ icon: IconProp.Alert,
96
+ tableDescription: "Manage incidents for your project",
97
+ })
98
+ export default class Incident extends BaseModel {
99
+ @ColumnAccessControl({
100
+ create: [
101
+ Permission.ProjectOwner,
102
+ Permission.ProjectAdmin,
103
+ Permission.ProjectMember,
104
+ Permission.CreateProjectIncident,
105
+ ],
106
+ read: [
107
+ Permission.ProjectOwner,
108
+ Permission.ProjectAdmin,
109
+ Permission.ProjectMember,
110
+ Permission.ReadProjectIncident,
111
+ ],
112
+ update: [],
113
+ })
114
+ @TableColumn({
115
+ manyToOneRelationColumn: "projectId",
116
+ type: TableColumnType.Entity,
117
+ modelType: Project,
118
+ title: "Project",
119
+ description: "Relation to Project Resource in which this object belongs",
120
+ })
121
+ @ManyToOne(
122
+ () => {
123
+ return Project;
124
+ },
125
+ {
126
+ eager: false,
127
+ nullable: true,
128
+ onDelete: "CASCADE",
129
+ orphanedRowAction: "nullify",
130
+ },
131
+ )
132
+ @JoinColumn({ name: "projectId" })
133
+ public project?: Project = undefined;
134
+
135
+ @ColumnAccessControl({
136
+ create: [
137
+ Permission.ProjectOwner,
138
+ Permission.ProjectAdmin,
139
+ Permission.ProjectMember,
140
+ Permission.CreateProjectIncident,
141
+ ],
142
+ read: [
143
+ Permission.ProjectOwner,
144
+ Permission.ProjectAdmin,
145
+ Permission.ProjectMember,
146
+ Permission.ReadProjectIncident,
147
+ ],
148
+ update: [],
149
+ })
150
+ @Index()
151
+ @TableColumn({
152
+ type: TableColumnType.ObjectID,
153
+ required: true,
154
+ canReadOnRelationQuery: true,
155
+ title: "Project ID",
156
+ description: "ID of your OneUptime Project in which this object belongs",
157
+ })
158
+ @Column({
159
+ type: ColumnType.ObjectID,
160
+ nullable: false,
161
+ transformer: ObjectID.getDatabaseTransformer(),
162
+ })
163
+ public projectId?: ObjectID = undefined;
164
+
165
+ @ColumnAccessControl({
166
+ create: [
167
+ Permission.ProjectOwner,
168
+ Permission.ProjectAdmin,
169
+ Permission.ProjectMember,
170
+ Permission.CreateProjectIncident,
171
+ ],
172
+ read: [
173
+ Permission.ProjectOwner,
174
+ Permission.ProjectAdmin,
175
+ Permission.ProjectMember,
176
+ Permission.ReadProjectIncident,
177
+ ],
178
+ update: [
179
+ Permission.ProjectOwner,
180
+ Permission.ProjectAdmin,
181
+ Permission.ProjectMember,
182
+ Permission.EditProjectIncident,
183
+ ],
184
+ })
185
+ @Index()
186
+ @TableColumn({
187
+ required: true,
188
+ type: TableColumnType.LongText,
189
+ canReadOnRelationQuery: true,
190
+ title: "Title",
191
+ description: "Title of this incident",
192
+ })
193
+ @Column({
194
+ nullable: false,
195
+ type: ColumnType.LongText,
196
+ length: ColumnLength.LongText,
197
+ })
198
+ public title?: string = undefined;
199
+
200
+ @ColumnAccessControl({
201
+ create: [
202
+ Permission.ProjectOwner,
203
+ Permission.ProjectAdmin,
204
+ Permission.ProjectMember,
205
+ Permission.CreateProjectIncident,
206
+ ],
207
+ read: [
208
+ Permission.ProjectOwner,
209
+ Permission.ProjectAdmin,
210
+ Permission.ProjectMember,
211
+ Permission.ReadProjectIncident,
212
+ ],
213
+ update: [
214
+ Permission.ProjectOwner,
215
+ Permission.ProjectAdmin,
216
+ Permission.ProjectMember,
217
+ Permission.EditProjectIncident,
218
+ ],
219
+ })
220
+ @TableColumn({
221
+ required: false,
222
+ type: TableColumnType.Markdown,
223
+ title: "Description",
224
+ description:
225
+ "Short description of this incident. This is in markdown and will be visible on the status page.",
226
+ })
227
+ @Column({
228
+ nullable: true,
229
+ type: ColumnType.Markdown,
230
+ })
231
+ public description?: string = undefined;
232
+
233
+ @Index()
234
+ @ColumnAccessControl({
235
+ create: [
236
+ Permission.ProjectOwner,
237
+ Permission.ProjectAdmin,
238
+ Permission.ProjectMember,
239
+ Permission.CreateProjectIncident,
240
+ ],
241
+ read: [
242
+ Permission.ProjectOwner,
243
+ Permission.ProjectAdmin,
244
+ Permission.ProjectMember,
245
+ Permission.ReadProjectIncident,
246
+ ],
247
+ update: [],
248
+ })
249
+ @TableColumn({
250
+ required: true,
251
+ unique: true,
252
+ type: TableColumnType.Slug,
253
+ title: "Slug",
254
+ description: "Friendly globally unique name for your object",
255
+ })
256
+ @Column({
257
+ nullable: false,
258
+ type: ColumnType.Slug,
259
+ length: ColumnLength.Slug,
260
+ unique: true,
261
+ })
262
+ public slug?: string = undefined;
263
+
264
+ @ColumnAccessControl({
265
+ create: [
266
+ Permission.ProjectOwner,
267
+ Permission.ProjectAdmin,
268
+ Permission.ProjectMember,
269
+ Permission.CreateProjectIncident,
270
+ ],
271
+ read: [
272
+ Permission.ProjectOwner,
273
+ Permission.ProjectAdmin,
274
+ Permission.ProjectMember,
275
+ Permission.ReadProjectIncident,
276
+ ],
277
+ update: [],
278
+ })
279
+ @TableColumn({
280
+ manyToOneRelationColumn: "createdByUserId",
281
+ type: TableColumnType.Entity,
282
+ modelType: User,
283
+ title: "Created by User",
284
+ description:
285
+ "Relation to User who created this object (if this object was created by a User)",
286
+ })
287
+ @ManyToOne(
288
+ () => {
289
+ return User;
290
+ },
291
+ {
292
+ eager: false,
293
+ nullable: true,
294
+ onDelete: "CASCADE",
295
+ orphanedRowAction: "nullify",
296
+ },
297
+ )
298
+ @JoinColumn({ name: "createdByUserId" })
299
+ public createdByUser?: User = undefined;
300
+
301
+ @ColumnAccessControl({
302
+ create: [
303
+ Permission.ProjectOwner,
304
+ Permission.ProjectAdmin,
305
+ Permission.ProjectMember,
306
+ Permission.CreateProjectIncident,
307
+ ],
308
+ read: [
309
+ Permission.ProjectOwner,
310
+ Permission.ProjectAdmin,
311
+ Permission.ProjectMember,
312
+ Permission.ReadProjectIncident,
313
+ ],
314
+ update: [],
315
+ })
316
+ @TableColumn({
317
+ type: TableColumnType.ObjectID,
318
+ title: "Created by User ID",
319
+ description:
320
+ "User ID who created this object (if this object was created by a User)",
321
+ })
322
+ @Column({
323
+ type: ColumnType.ObjectID,
324
+ nullable: true,
325
+ transformer: ObjectID.getDatabaseTransformer(),
326
+ })
327
+ public createdByUserId?: ObjectID = undefined;
328
+
329
+ @ColumnAccessControl({
330
+ create: [],
331
+ read: [],
332
+ update: [],
333
+ })
334
+ @TableColumn({
335
+ manyToOneRelationColumn: "deletedByUserId",
336
+ type: TableColumnType.Entity,
337
+ title: "Deleted by User",
338
+ description:
339
+ "Relation to User who deleted this object (if this object was deleted by a User)",
340
+ })
341
+ @ManyToOne(
342
+ () => {
343
+ return User;
344
+ },
345
+ {
346
+ cascade: false,
347
+ eager: false,
348
+ nullable: true,
349
+ onDelete: "CASCADE",
350
+ orphanedRowAction: "nullify",
351
+ },
352
+ )
353
+ @JoinColumn({ name: "deletedByUserId" })
354
+ public deletedByUser?: User = undefined;
355
+
356
+ @ColumnAccessControl({
357
+ create: [],
358
+ read: [],
359
+ update: [],
360
+ })
361
+ @TableColumn({
362
+ type: TableColumnType.ObjectID,
363
+ title: "Deleted by User ID",
364
+ description:
365
+ "User ID who deleted this object (if this object was deleted by a User)",
366
+ })
367
+ @Column({
368
+ type: ColumnType.ObjectID,
369
+ nullable: true,
370
+ transformer: ObjectID.getDatabaseTransformer(),
371
+ })
372
+ public deletedByUserId?: ObjectID = undefined;
373
+
374
+ @ColumnAccessControl({
375
+ create: [
376
+ Permission.ProjectOwner,
377
+ Permission.ProjectAdmin,
378
+ Permission.ProjectMember,
379
+ Permission.CreateProjectIncident,
380
+ ],
381
+ read: [
382
+ Permission.ProjectOwner,
383
+ Permission.ProjectAdmin,
384
+ Permission.ProjectMember,
385
+ Permission.ReadProjectIncident,
386
+ ],
387
+ update: [
388
+ Permission.ProjectOwner,
389
+ Permission.ProjectAdmin,
390
+ Permission.ProjectMember,
391
+ Permission.EditProjectIncident,
392
+ ],
393
+ })
394
+ @TableColumn({
395
+ required: false,
396
+ type: TableColumnType.EntityArray,
397
+ modelType: Monitor,
398
+ title: "Monitors",
399
+ description: "List of monitors affected by this incident",
400
+ })
401
+ @ManyToMany(
402
+ () => {
403
+ return Monitor;
404
+ },
405
+ { eager: false },
406
+ )
407
+ @JoinTable({
408
+ name: "IncidentMonitor",
409
+ inverseJoinColumn: {
410
+ name: "monitorId",
411
+ referencedColumnName: "_id",
412
+ },
413
+ joinColumn: {
414
+ name: "incidentId",
415
+ referencedColumnName: "_id",
416
+ },
417
+ })
418
+ public monitors?: Array<Monitor> = undefined; // monitors affected by this incident.
419
+
420
+ @ColumnAccessControl({
421
+ create: [
422
+ Permission.ProjectOwner,
423
+ Permission.ProjectAdmin,
424
+ Permission.ProjectMember,
425
+ Permission.CreateProjectIncident,
426
+ ],
427
+ read: [
428
+ Permission.ProjectOwner,
429
+ Permission.ProjectAdmin,
430
+ Permission.ProjectMember,
431
+ Permission.ReadProjectIncident,
432
+ ],
433
+ update: [
434
+ Permission.ProjectOwner,
435
+ Permission.ProjectAdmin,
436
+ Permission.ProjectMember,
437
+ Permission.EditProjectIncident,
438
+ ],
439
+ })
440
+ @TableColumn({
441
+ required: false,
442
+ type: TableColumnType.EntityArray,
443
+ modelType: Monitor,
444
+ title: "On-Call Duty Policies",
445
+ description: "List of on-call duty policy affected by this incident.",
446
+ })
447
+ @ManyToMany(
448
+ () => {
449
+ return OnCallDutyPolicy;
450
+ },
451
+ { eager: false },
452
+ )
453
+ @JoinTable({
454
+ name: "IncidentOnCallDutyPolicy",
455
+ inverseJoinColumn: {
456
+ name: "monitorId",
457
+ referencedColumnName: "_id",
458
+ },
459
+ joinColumn: {
460
+ name: "onCallDutyPolicyId",
461
+ referencedColumnName: "_id",
462
+ },
463
+ })
464
+ public onCallDutyPolicies?: Array<OnCallDutyPolicy> = undefined; // monitors affected by this incident.
465
+
466
+ @ColumnAccessControl({
467
+ create: [
468
+ Permission.ProjectOwner,
469
+ Permission.ProjectAdmin,
470
+ Permission.ProjectMember,
471
+ Permission.CreateProjectIncident,
472
+ ],
473
+ read: [
474
+ Permission.ProjectOwner,
475
+ Permission.ProjectAdmin,
476
+ Permission.ProjectMember,
477
+ Permission.ReadProjectIncident,
478
+ ],
479
+ update: [
480
+ Permission.ProjectOwner,
481
+ Permission.ProjectAdmin,
482
+ Permission.ProjectMember,
483
+ Permission.EditProjectIncident,
484
+ ],
485
+ })
486
+ @TableColumn({
487
+ required: false,
488
+ type: TableColumnType.EntityArray,
489
+ modelType: Label,
490
+ title: "Labels",
491
+ description:
492
+ "Relation to Labels Array where this object is categorized in.",
493
+ })
494
+ @ManyToMany(
495
+ () => {
496
+ return Label;
497
+ },
498
+ { eager: false },
499
+ )
500
+ @JoinTable({
501
+ name: "IncidentLabel",
502
+ inverseJoinColumn: {
503
+ name: "labelId",
504
+ referencedColumnName: "_id",
505
+ },
506
+ joinColumn: {
507
+ name: "incidentId",
508
+ referencedColumnName: "_id",
509
+ },
510
+ })
511
+ public labels?: Array<Label> = undefined;
512
+
513
+ @ColumnAccessControl({
514
+ create: [
515
+ Permission.ProjectOwner,
516
+ Permission.ProjectAdmin,
517
+ Permission.ProjectMember,
518
+ Permission.CreateProjectIncident,
519
+ ],
520
+ read: [
521
+ Permission.ProjectOwner,
522
+ Permission.ProjectAdmin,
523
+ Permission.ProjectMember,
524
+ Permission.ReadProjectIncident,
525
+ ],
526
+ update: [
527
+ Permission.ProjectOwner,
528
+ Permission.ProjectAdmin,
529
+ Permission.ProjectMember,
530
+ Permission.EditProjectIncident,
531
+ ],
532
+ })
533
+ @TableColumn({
534
+ manyToOneRelationColumn: "currentIncidentStateId",
535
+ type: TableColumnType.Entity,
536
+ modelType: IncidentState,
537
+ title: "Current Incident State",
538
+ description:
539
+ "Current state of this incident. Is the incident acknowledged? or resolved?. This is related to Incident State",
540
+ })
541
+ @ManyToOne(
542
+ () => {
543
+ return IncidentState;
544
+ },
545
+ {
546
+ eager: false,
547
+ nullable: true,
548
+ orphanedRowAction: "nullify",
549
+ },
550
+ )
551
+ @JoinColumn({ name: "currentIncidentStateId" })
552
+ public currentIncidentState?: IncidentState = undefined;
553
+
554
+ @ColumnAccessControl({
555
+ create: [
556
+ Permission.ProjectOwner,
557
+ Permission.ProjectAdmin,
558
+ Permission.ProjectMember,
559
+ Permission.CreateProjectIncident,
560
+ ],
561
+ read: [
562
+ Permission.ProjectOwner,
563
+ Permission.ProjectAdmin,
564
+ Permission.ProjectMember,
565
+ Permission.ReadProjectIncident,
566
+ ],
567
+ update: [
568
+ Permission.ProjectOwner,
569
+ Permission.ProjectAdmin,
570
+ Permission.ProjectMember,
571
+ Permission.EditProjectIncident,
572
+ ],
573
+ })
574
+ @Index()
575
+ @TableColumn({
576
+ type: TableColumnType.ObjectID,
577
+ required: true,
578
+ title: "Current Incident State ID",
579
+ description: "Current Incident State ID",
580
+ })
581
+ @Column({
582
+ type: ColumnType.ObjectID,
583
+ nullable: false,
584
+ transformer: ObjectID.getDatabaseTransformer(),
585
+ })
586
+ public currentIncidentStateId?: ObjectID = undefined;
587
+
588
+ @ColumnAccessControl({
589
+ create: [
590
+ Permission.ProjectOwner,
591
+ Permission.ProjectAdmin,
592
+ Permission.ProjectMember,
593
+ Permission.CreateProjectIncident,
594
+ ],
595
+ read: [
596
+ Permission.ProjectOwner,
597
+ Permission.ProjectAdmin,
598
+ Permission.ProjectMember,
599
+ Permission.ReadProjectIncident,
600
+ ],
601
+ update: [
602
+ Permission.ProjectOwner,
603
+ Permission.ProjectAdmin,
604
+ Permission.ProjectMember,
605
+ Permission.EditProjectIncident,
606
+ ],
607
+ })
608
+ @TableColumn({
609
+ manyToOneRelationColumn: "incidentSeverityId",
610
+ type: TableColumnType.Entity,
611
+ modelType: IncidentSeverity,
612
+ title: "Incident Severity",
613
+ description:
614
+ "How severe is this incident. Is it critical? or a minor incident?. This is related to Incident Severity.",
615
+ })
616
+ @ManyToOne(
617
+ () => {
618
+ return IncidentSeverity;
619
+ },
620
+ {
621
+ eager: false,
622
+ nullable: true,
623
+ orphanedRowAction: "nullify",
624
+ },
625
+ )
626
+ @JoinColumn({ name: "incidentSeverityId" })
627
+ public incidentSeverity?: IncidentSeverity = undefined;
628
+
629
+ @ColumnAccessControl({
630
+ create: [
631
+ Permission.ProjectOwner,
632
+ Permission.ProjectAdmin,
633
+ Permission.ProjectMember,
634
+ Permission.CreateProjectIncident,
635
+ ],
636
+ read: [
637
+ Permission.ProjectOwner,
638
+ Permission.ProjectAdmin,
639
+ Permission.ProjectMember,
640
+ Permission.ReadProjectIncident,
641
+ ],
642
+ update: [
643
+ Permission.ProjectOwner,
644
+ Permission.ProjectAdmin,
645
+ Permission.ProjectMember,
646
+ Permission.EditProjectIncident,
647
+ ],
648
+ })
649
+ @Index()
650
+ @TableColumn({
651
+ type: TableColumnType.ObjectID,
652
+ required: true,
653
+ title: "Incident Severity ID",
654
+ description: "Incident Severity ID",
655
+ })
656
+ @Column({
657
+ type: ColumnType.ObjectID,
658
+ nullable: false,
659
+ transformer: ObjectID.getDatabaseTransformer(),
660
+ })
661
+ public incidentSeverityId?: ObjectID = undefined;
662
+
663
+ @ColumnAccessControl({
664
+ create: [
665
+ Permission.ProjectOwner,
666
+ Permission.ProjectAdmin,
667
+ Permission.ProjectMember,
668
+ Permission.CreateProjectIncident,
669
+ ],
670
+ read: [
671
+ Permission.ProjectOwner,
672
+ Permission.ProjectAdmin,
673
+ Permission.ProjectMember,
674
+ Permission.ReadProjectIncident,
675
+ ],
676
+ update: [],
677
+ })
678
+ @TableColumn({
679
+ manyToOneRelationColumn: "changeMonitorStatusToId",
680
+ type: TableColumnType.Entity,
681
+ modelType: IncidentState,
682
+ title: "Change Monitor Status To",
683
+ description:
684
+ "Relation to Monitor Status Object. All monitors connected to this incident will be changed to this status when the incident is created.",
685
+ })
686
+ @ManyToOne(
687
+ () => {
688
+ return MonitorStatus;
689
+ },
690
+ {
691
+ eager: false,
692
+ nullable: true,
693
+ orphanedRowAction: "nullify",
694
+ },
695
+ )
696
+ @JoinColumn({ name: "changeMonitorStatusToId" })
697
+ public changeMonitorStatusTo?: MonitorStatus = undefined;
698
+
699
+ @ColumnAccessControl({
700
+ create: [
701
+ Permission.ProjectOwner,
702
+ Permission.ProjectAdmin,
703
+ Permission.ProjectMember,
704
+ Permission.CreateProjectIncident,
705
+ ],
706
+ read: [
707
+ Permission.ProjectOwner,
708
+ Permission.ProjectAdmin,
709
+ Permission.ProjectMember,
710
+ Permission.ReadProjectIncident,
711
+ ],
712
+ update: [
713
+ Permission.ProjectOwner,
714
+ Permission.ProjectAdmin,
715
+ Permission.ProjectMember,
716
+ Permission.EditProjectIncident,
717
+ ],
718
+ })
719
+ @Index()
720
+ @TableColumn({
721
+ type: TableColumnType.ObjectID,
722
+ required: false,
723
+ title: "Change Monitor Status To ID",
724
+ description:
725
+ "Relation to Monitor Status Object ID. All monitors connected to this incident will be changed to this status when the incident is created.",
726
+ })
727
+ @Column({
728
+ type: ColumnType.ObjectID,
729
+ nullable: true,
730
+ transformer: ObjectID.getDatabaseTransformer(),
731
+ })
732
+ public changeMonitorStatusToId?: ObjectID = undefined;
733
+
734
+ @ColumnAccessControl({
735
+ create: [],
736
+ read: [
737
+ Permission.ProjectOwner,
738
+ Permission.ProjectAdmin,
739
+ Permission.ProjectMember,
740
+ Permission.ReadProjectIncident,
741
+ ],
742
+ update: [],
743
+ })
744
+ @TableColumn({
745
+ isDefaultValueColumn: true,
746
+ type: TableColumnType.Boolean,
747
+ title: "Are subscribers notified?",
748
+ description: "Are subscribers notified about this incident?",
749
+ })
750
+ @Column({
751
+ type: ColumnType.Boolean,
752
+ default: false,
753
+ })
754
+ public isStatusPageSubscribersNotifiedOnIncidentCreated?: boolean = undefined;
755
+
756
+ @ColumnAccessControl({
757
+ create: [
758
+ Permission.ProjectOwner,
759
+ Permission.ProjectAdmin,
760
+ Permission.ProjectMember,
761
+ Permission.CreateProjectIncident,
762
+ ],
763
+ read: [
764
+ Permission.ProjectOwner,
765
+ Permission.ProjectAdmin,
766
+ Permission.ProjectMember,
767
+ Permission.ReadProjectIncident,
768
+ ],
769
+ update: [],
770
+ })
771
+ @TableColumn({
772
+ isDefaultValueColumn: true,
773
+ type: TableColumnType.Boolean,
774
+ title: "Should subscribers be notified?",
775
+ description: "Should subscribers be notified about this incident?",
776
+ })
777
+ @Column({
778
+ type: ColumnType.Boolean,
779
+ default: true,
780
+ })
781
+ public shouldStatusPageSubscribersBeNotifiedOnIncidentCreated?: boolean =
782
+ undefined;
783
+
784
+ @ColumnAccessControl({
785
+ create: [
786
+ Permission.ProjectOwner,
787
+ Permission.ProjectAdmin,
788
+ Permission.ProjectMember,
789
+ Permission.CreateProjectIncident,
790
+ ],
791
+ read: [
792
+ Permission.ProjectOwner,
793
+ Permission.ProjectAdmin,
794
+ Permission.ProjectMember,
795
+ Permission.ReadProjectIncident,
796
+ ],
797
+ update: [
798
+ Permission.ProjectOwner,
799
+ Permission.ProjectAdmin,
800
+ Permission.ProjectMember,
801
+ Permission.EditProjectIncident,
802
+ ],
803
+ })
804
+ @TableColumn({
805
+ isDefaultValueColumn: false,
806
+ required: false,
807
+ type: TableColumnType.JSON,
808
+ title: "Custom Fields",
809
+ description: "Custom Fields on this resource.",
810
+ })
811
+ @Column({
812
+ type: ColumnType.JSON,
813
+ nullable: true,
814
+ })
815
+ public customFields?: JSONObject = undefined;
816
+
817
+ @ColumnAccessControl({
818
+ create: [
819
+ Permission.ProjectOwner,
820
+ Permission.ProjectAdmin,
821
+ Permission.ProjectMember,
822
+ Permission.CreateProjectIncident,
823
+ ],
824
+ read: [
825
+ Permission.ProjectOwner,
826
+ Permission.ProjectAdmin,
827
+ Permission.ProjectMember,
828
+ Permission.ReadProjectIncident,
829
+ ],
830
+ update: [],
831
+ })
832
+ @Index()
833
+ @TableColumn({
834
+ type: TableColumnType.Boolean,
835
+ required: true,
836
+ isDefaultValueColumn: true,
837
+ title: "Are Owners Notified Of Resource Creation?",
838
+ description: "Are owners notified of when this resource is created?",
839
+ })
840
+ @Column({
841
+ type: ColumnType.Boolean,
842
+ nullable: false,
843
+ default: false,
844
+ })
845
+ public isOwnerNotifiedOfResourceCreation?: boolean = undefined;
846
+
847
+ @ColumnAccessControl({
848
+ create: [
849
+ Permission.ProjectOwner,
850
+ Permission.ProjectAdmin,
851
+ Permission.ProjectMember,
852
+ Permission.CreateProjectIncident,
853
+ ],
854
+ read: [
855
+ Permission.ProjectOwner,
856
+ Permission.ProjectAdmin,
857
+ Permission.ProjectMember,
858
+ Permission.ReadProjectIncident,
859
+ ],
860
+ update: [],
861
+ })
862
+ @Index()
863
+ @TableColumn({
864
+ type: TableColumnType.Markdown,
865
+ required: false,
866
+ isDefaultValueColumn: false,
867
+ title: "Root Cause",
868
+ description: "What is the root cause of this incident?",
869
+ })
870
+ @Column({
871
+ type: ColumnType.Markdown,
872
+ nullable: true,
873
+ })
874
+ public rootCause?: string = undefined;
875
+
876
+ @ColumnAccessControl({
877
+ create: [],
878
+ read: [
879
+ Permission.ProjectOwner,
880
+ Permission.ProjectAdmin,
881
+ Permission.ProjectMember,
882
+ Permission.ReadProjectIncident,
883
+ ],
884
+ update: [],
885
+ })
886
+ @TableColumn({
887
+ isDefaultValueColumn: false,
888
+ required: false,
889
+ type: TableColumnType.JSON,
890
+ })
891
+ @Column({
892
+ type: ColumnType.JSON,
893
+ nullable: true,
894
+ unique: false,
895
+ })
896
+ public createdStateLog?: JSONObject = undefined;
897
+
898
+ @ColumnAccessControl({
899
+ create: [],
900
+ read: [
901
+ Permission.ProjectOwner,
902
+ Permission.ProjectAdmin,
903
+ Permission.ProjectMember,
904
+ Permission.ReadProjectIncident,
905
+ ],
906
+ update: [],
907
+ })
908
+ @Index()
909
+ @TableColumn({
910
+ type: TableColumnType.LongText,
911
+ required: false,
912
+ isDefaultValueColumn: false,
913
+ title: "Created Criteria ID",
914
+ description:
915
+ "If this incident was created by a Probe, this is the ID of the criteria that created it.",
916
+ })
917
+ @Column({
918
+ type: ColumnType.LongText,
919
+ nullable: true,
920
+ })
921
+ public createdCriteriaId?: string = undefined;
922
+
923
+ @ColumnAccessControl({
924
+ create: [],
925
+ read: [
926
+ Permission.ProjectOwner,
927
+ Permission.ProjectAdmin,
928
+ Permission.ProjectMember,
929
+ Permission.ReadProjectIncident,
930
+ ],
931
+ update: [],
932
+ })
933
+ @Index()
934
+ @TableColumn({
935
+ type: TableColumnType.LongText,
936
+ required: false,
937
+ isDefaultValueColumn: false,
938
+ title: "Created Incident Template ID",
939
+ description:
940
+ "If this incident was created by a Probe, this is the ID of the incident template that was used for creation.",
941
+ })
942
+ @Column({
943
+ type: ColumnType.LongText,
944
+ nullable: true,
945
+ })
946
+ public createdIncidentTemplateId?: string = undefined;
947
+
948
+ @ColumnAccessControl({
949
+ create: [],
950
+ read: [
951
+ Permission.ProjectOwner,
952
+ Permission.ProjectAdmin,
953
+ Permission.ProjectMember,
954
+ Permission.ReadProjectIncident,
955
+ ],
956
+ update: [],
957
+ })
958
+ @TableColumn({
959
+ manyToOneRelationColumn: "createdByProbeId",
960
+ type: TableColumnType.Entity,
961
+ modelType: Probe,
962
+ title: "Created By Probe",
963
+ description:
964
+ "If this incident was created by a Probe, this is the probe that created it.",
965
+ })
966
+ @ManyToOne(
967
+ () => {
968
+ return Probe;
969
+ },
970
+ {
971
+ eager: false,
972
+ nullable: true,
973
+ onDelete: "CASCADE",
974
+ orphanedRowAction: "nullify",
975
+ },
976
+ )
977
+ @JoinColumn({ name: "createdByProbeId" })
978
+ public createdByProbe?: Probe = undefined;
979
+
980
+ @ColumnAccessControl({
981
+ create: [],
982
+ read: [
983
+ Permission.ProjectOwner,
984
+ Permission.ProjectAdmin,
985
+ Permission.ProjectMember,
986
+ Permission.ReadProjectIncident,
987
+ ],
988
+ update: [],
989
+ })
990
+ @Index()
991
+ @TableColumn({
992
+ type: TableColumnType.ObjectID,
993
+ required: false,
994
+ canReadOnRelationQuery: true,
995
+ title: "Created By Probe ID",
996
+ description:
997
+ "If this incident was created by a Probe, this is the ID of the probe that created it.",
998
+ })
999
+ @Column({
1000
+ type: ColumnType.ObjectID,
1001
+ nullable: true,
1002
+ transformer: ObjectID.getDatabaseTransformer(),
1003
+ })
1004
+ public createdByProbeId?: ObjectID = undefined;
1005
+
1006
+ @ColumnAccessControl({
1007
+ create: [],
1008
+ read: [
1009
+ Permission.ProjectOwner,
1010
+ Permission.ProjectAdmin,
1011
+ Permission.ProjectMember,
1012
+ Permission.ReadProjectIncident,
1013
+ ],
1014
+ update: [],
1015
+ })
1016
+ @TableColumn({
1017
+ isDefaultValueColumn: true,
1018
+ type: TableColumnType.Boolean,
1019
+ title: "Is created automatically?",
1020
+ description:
1021
+ "Is this incident created by OneUptime Probe or Workers automatically (and not created manually by a user)?",
1022
+ })
1023
+ @Column({
1024
+ type: ColumnType.Boolean,
1025
+ default: false,
1026
+ })
1027
+ public isCreatedAutomatically?: boolean = undefined;
1028
+
1029
+ @ColumnAccessControl({
1030
+ create: [
1031
+ Permission.ProjectOwner,
1032
+ Permission.ProjectAdmin,
1033
+ Permission.ProjectMember,
1034
+ Permission.CreateProjectIncident,
1035
+ ],
1036
+ read: [
1037
+ Permission.ProjectOwner,
1038
+ Permission.ProjectAdmin,
1039
+ Permission.ProjectMember,
1040
+ Permission.ReadProjectIncident,
1041
+ ],
1042
+ update: [
1043
+ Permission.ProjectOwner,
1044
+ Permission.ProjectAdmin,
1045
+ Permission.ProjectMember,
1046
+ Permission.EditProjectIncident,
1047
+ ],
1048
+ })
1049
+ @TableColumn({
1050
+ required: false,
1051
+ type: TableColumnType.Markdown,
1052
+ title: "Remediation Notes",
1053
+ description:
1054
+ "Notes on how to remediate this incident. This is in markdown.",
1055
+ })
1056
+ @Column({
1057
+ nullable: true,
1058
+ type: ColumnType.Markdown,
1059
+ })
1060
+ public remediationNotes?: string = undefined;
1061
+
1062
+ @ColumnAccessControl({
1063
+ create: [
1064
+ Permission.ProjectOwner,
1065
+ Permission.ProjectAdmin,
1066
+ Permission.ProjectMember,
1067
+ Permission.CreateProjectIncident,
1068
+ ],
1069
+ read: [
1070
+ Permission.ProjectOwner,
1071
+ Permission.ProjectAdmin,
1072
+ Permission.ProjectMember,
1073
+ Permission.ReadProjectIncident,
1074
+ ],
1075
+ update: [
1076
+ Permission.ProjectOwner,
1077
+ Permission.ProjectAdmin,
1078
+ Permission.ProjectMember,
1079
+ Permission.EditProjectIncident,
1080
+ ],
1081
+ })
1082
+ @TableColumn({
1083
+ isDefaultValueColumn: false,
1084
+ required: false,
1085
+ type: TableColumnType.JSON,
1086
+ title: "Telemetry Query",
1087
+ description: "Telemetry query for this incident",
1088
+ })
1089
+ @Column({
1090
+ type: ColumnType.JSON,
1091
+ nullable: true,
1092
+ })
1093
+ public telemetryQuery?: TelemetryIncidentQuery = undefined;
1094
+ }