@oneuptime/common 10.4.16 → 10.5.0

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 (318) hide show
  1. package/Models/AnalyticsModels/ExceptionInstance.ts +24 -0
  2. package/Models/AnalyticsModels/Log.ts +16 -0
  3. package/Models/AnalyticsModels/Metric.ts +31 -0
  4. package/Models/AnalyticsModels/MonitorLog.ts +5 -0
  5. package/Models/AnalyticsModels/Profile.ts +25 -0
  6. package/Models/AnalyticsModels/ProfileSample.ts +20 -0
  7. package/Models/AnalyticsModels/Span.ts +23 -0
  8. package/Models/DatabaseModels/AlertEpisodeMember.ts +2 -0
  9. package/Models/DatabaseModels/AlertGroupingRule.ts +0 -38
  10. package/Models/DatabaseModels/AlertLabelRule.ts +152 -0
  11. package/Models/DatabaseModels/AlertOwnerRule.ts +114 -0
  12. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +7 -0
  13. package/Models/DatabaseModels/IncidentEpisodeMember.ts +2 -0
  14. package/Models/DatabaseModels/IncidentGroupingRule.ts +0 -38
  15. package/Models/DatabaseModels/IncidentLabelRule.ts +114 -0
  16. package/Models/DatabaseModels/IncidentMember.ts +2 -0
  17. package/Models/DatabaseModels/IncidentOwnerRule.ts +114 -0
  18. package/Models/DatabaseModels/IncidentSla.ts +2 -0
  19. package/Models/DatabaseModels/IncidentTemplate.ts +224 -0
  20. package/Models/DatabaseModels/Index.ts +2 -2
  21. package/Models/DatabaseModels/MetricPipelineRule.ts +2 -0
  22. package/Models/DatabaseModels/MonitorProbe.ts +2 -0
  23. package/Models/DatabaseModels/MonitorTest.ts +2 -0
  24. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +2 -0
  25. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +2 -0
  26. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +2 -0
  27. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +2 -0
  28. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +2 -0
  29. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +2 -0
  30. package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +2 -0
  31. package/Models/DatabaseModels/OnCallDutyPolicyUserOverride.ts +2 -0
  32. package/Models/DatabaseModels/ProjectOidc.ts +4 -0
  33. package/Models/DatabaseModels/ProjectSCIM.ts +4 -0
  34. package/Models/DatabaseModels/ProjectSso.ts +4 -0
  35. package/Models/DatabaseModels/ScheduledMaintenance.ts +220 -0
  36. package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +152 -0
  37. package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +152 -0
  38. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +224 -0
  39. package/Models/DatabaseModels/StatusPageOidc.ts +6 -0
  40. package/Models/DatabaseModels/StatusPageSCIM.ts +4 -0
  41. package/Models/DatabaseModels/StatusPageSCIMLog.ts +2 -0
  42. package/Models/DatabaseModels/StatusPageSso.ts +6 -0
  43. package/Models/DatabaseModels/Team.ts +41 -0
  44. package/Models/DatabaseModels/TeamComplianceSetting.ts +4 -0
  45. package/Models/DatabaseModels/{ServiceMonitor.ts → TeamCustomField.ts} +95 -200
  46. package/Models/DatabaseModels/TelemetryException.ts +2 -0
  47. package/Models/DatabaseModels/UserOnCallLog.ts +2 -0
  48. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +2 -0
  49. package/Models/DatabaseModels/WorkflowLog.ts +2 -0
  50. package/Models/DatabaseModels/WorkflowVariable.ts +2 -0
  51. package/Server/EnvironmentConfig.ts +3 -0
  52. package/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.ts +1 -1
  53. package/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.ts +160 -0
  54. package/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.ts +197 -0
  55. package/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.ts +36 -0
  56. package/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.ts +128 -0
  57. package/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.ts +53 -0
  58. package/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.ts +73 -0
  59. package/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.ts +62 -0
  60. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
  61. package/Server/Middleware/TelemetryIngestionDisabled.ts +32 -0
  62. package/Server/Services/AlertGroupingEngineService.ts +0 -29
  63. package/Server/Services/AlertLabelRuleEngineService.ts +129 -0
  64. package/Server/Services/AlertOwnerRuleEngineService.ts +205 -1
  65. package/Server/Services/IncidentGroupingEngineService.ts +0 -37
  66. package/Server/Services/IncidentLabelRuleEngineService.ts +83 -0
  67. package/Server/Services/IncidentOwnerRuleEngineService.ts +208 -10
  68. package/Server/Services/IncidentService.ts +139 -1
  69. package/Server/Services/Index.ts +0 -2
  70. package/Server/Services/MonitorProbeService.ts +56 -0
  71. package/Server/Services/MonitorService.ts +55 -0
  72. package/Server/Services/ProjectService.ts +17 -8
  73. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +129 -0
  74. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +289 -7
  75. package/Server/Services/StatusPageService.ts +30 -0
  76. package/Server/Services/TeamCustomFieldService.ts +9 -0
  77. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +226 -28
  78. package/Server/Types/Database/Permissions/EditionPermission.ts +46 -0
  79. package/Server/Types/Database/Permissions/TablePermission.ts +8 -1
  80. package/Server/Utils/Monitor/MonitorAlert.ts +35 -0
  81. package/Server/Utils/Monitor/MonitorIncident.ts +244 -34
  82. package/Tests/Server/Middleware/UserAuthorization.test.ts +11 -19
  83. package/Tests/Types/Permission.test.ts +129 -1
  84. package/Types/Accounts/AccountsLanguage.ts +10 -1
  85. package/Types/AdminDashboard/AdminDashboardLanguage.ts +10 -1
  86. package/Types/BaseDatabase/TableEditionAccessControl.ts +3 -0
  87. package/Types/Dashboard/DashboardLanguage.ts +10 -1
  88. package/Types/Database/AccessControl/TableEditionAccessControl.ts +8 -0
  89. package/Types/Date.ts +1 -1
  90. package/Types/Docs/DocsLanguage.ts +10 -1
  91. package/Types/Permission.ts +87 -54
  92. package/Types/StatusPage/StatusPageLanguage.ts +10 -1
  93. package/UI/Components/Charts/Area/AreaChart.tsx +1 -1
  94. package/UI/Components/Charts/Bar/BarChart.tsx +1 -1
  95. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +5 -1
  96. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +1 -1
  97. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +11 -1
  98. package/UI/Components/Charts/Line/LineChart.tsx +1 -1
  99. package/UI/Components/Charts/Utils/XAxis.ts +21 -48
  100. package/UI/Components/EntityDropdown/EntityDropdown.tsx +1808 -0
  101. package/UI/Components/Forms/Fields/FormField.tsx +69 -29
  102. package/UI/Components/Link/Link.tsx +13 -1
  103. package/UI/Components/ModelDetail/ModelDetail.tsx +20 -19
  104. package/UI/Components/ModelTable/BaseModelTable.tsx +5 -0
  105. package/UI/Utils/User.ts +16 -0
  106. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +39 -2
  107. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  108. package/build/dist/Models/AnalyticsModels/Log.js +16 -0
  109. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  110. package/build/dist/Models/AnalyticsModels/Metric.js +31 -0
  111. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  112. package/build/dist/Models/AnalyticsModels/MonitorLog.js +5 -0
  113. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  114. package/build/dist/Models/AnalyticsModels/Profile.js +40 -2
  115. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  116. package/build/dist/Models/AnalyticsModels/ProfileSample.js +35 -2
  117. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  118. package/build/dist/Models/AnalyticsModels/Span.js +23 -0
  119. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +2 -0
  121. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
  122. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js +0 -39
  123. package/build/dist/Models/DatabaseModels/AlertGroupingRule.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/AlertLabelRule.js +156 -0
  125. package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
  126. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +117 -0
  127. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
  128. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  129. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +2 -0
  130. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
  131. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +0 -39
  132. package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -1
  133. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +117 -0
  134. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
  135. package/build/dist/Models/DatabaseModels/IncidentMember.js +2 -0
  136. package/build/dist/Models/DatabaseModels/IncidentMember.js.map +1 -1
  137. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +117 -0
  138. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
  139. package/build/dist/Models/DatabaseModels/IncidentSla.js +2 -0
  140. package/build/dist/Models/DatabaseModels/IncidentSla.js.map +1 -1
  141. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +216 -0
  142. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  143. package/build/dist/Models/DatabaseModels/Index.js +2 -2
  144. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  145. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js +2 -0
  146. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js.map +1 -1
  147. package/build/dist/Models/DatabaseModels/MonitorProbe.js +2 -0
  148. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  149. package/build/dist/Models/DatabaseModels/MonitorTest.js +2 -0
  150. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  151. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +2 -0
  152. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
  153. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +2 -0
  154. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -1
  155. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +2 -0
  156. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -1
  157. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +2 -0
  158. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -1
  159. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +2 -0
  160. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  161. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +2 -0
  162. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -1
  163. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +2 -0
  164. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
  165. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js +2 -0
  166. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js.map +1 -1
  167. package/build/dist/Models/DatabaseModels/ProjectOidc.js +4 -0
  168. package/build/dist/Models/DatabaseModels/ProjectOidc.js.map +1 -1
  169. package/build/dist/Models/DatabaseModels/ProjectSCIM.js +4 -0
  170. package/build/dist/Models/DatabaseModels/ProjectSCIM.js.map +1 -1
  171. package/build/dist/Models/DatabaseModels/ProjectSso.js +4 -0
  172. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  173. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +216 -0
  174. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  175. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +156 -0
  176. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
  177. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +156 -0
  178. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
  179. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +216 -0
  180. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  181. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +6 -0
  182. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
  183. package/build/dist/Models/DatabaseModels/StatusPageSCIM.js +4 -0
  184. package/build/dist/Models/DatabaseModels/StatusPageSCIM.js.map +1 -1
  185. package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js +2 -0
  186. package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js.map +1 -1
  187. package/build/dist/Models/DatabaseModels/StatusPageSso.js +6 -0
  188. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  189. package/build/dist/Models/DatabaseModels/Team.js +42 -0
  190. package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
  191. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +4 -0
  192. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/{ServiceMonitor.js → TeamCustomField.js} +108 -209
  194. package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -0
  195. package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
  196. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  197. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +2 -0
  198. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  199. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +2 -0
  200. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  201. package/build/dist/Models/DatabaseModels/WorkflowLog.js +2 -0
  202. package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
  203. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +2 -0
  204. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
  205. package/build/dist/Server/EnvironmentConfig.js +1 -0
  206. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  207. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.js.map +1 -1
  208. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.js +60 -0
  209. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.js.map +1 -0
  210. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.js +74 -0
  211. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.js.map +1 -0
  212. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.js +19 -0
  213. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.js.map +1 -0
  214. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.js +50 -0
  215. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.js.map +1 -0
  216. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.js +26 -0
  217. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.js.map +1 -0
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.js +30 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.js.map +1 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.js +50 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.js.map +1 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  224. package/build/dist/Server/Middleware/TelemetryIngestionDisabled.js +22 -0
  225. package/build/dist/Server/Middleware/TelemetryIngestionDisabled.js.map +1 -0
  226. package/build/dist/Server/Services/AlertGroupingEngineService.js +0 -25
  227. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  228. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +117 -3
  229. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  230. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +175 -5
  231. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  232. package/build/dist/Server/Services/IncidentGroupingEngineService.js +0 -31
  233. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  234. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +76 -3
  235. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  236. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +176 -14
  237. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  238. package/build/dist/Server/Services/IncidentService.js +104 -1
  239. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  240. package/build/dist/Server/Services/Index.js +0 -2
  241. package/build/dist/Server/Services/Index.js.map +1 -1
  242. package/build/dist/Server/Services/MonitorProbeService.js +46 -0
  243. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  244. package/build/dist/Server/Services/MonitorService.js +40 -0
  245. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  246. package/build/dist/Server/Services/ProjectService.js +17 -8
  247. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  248. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +117 -3
  249. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  250. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +245 -10
  251. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  252. package/build/dist/Server/Services/StatusPageService.js +24 -0
  253. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  254. package/build/dist/Server/Services/TeamCustomFieldService.js +9 -0
  255. package/build/dist/Server/Services/TeamCustomFieldService.js.map +1 -0
  256. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +166 -26
  257. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  258. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +45 -0
  259. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -0
  260. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +7 -1
  261. package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
  262. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +30 -0
  263. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  264. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +200 -31
  265. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  266. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +8 -15
  267. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
  268. package/build/dist/Tests/Types/Permission.test.js +90 -1
  269. package/build/dist/Tests/Types/Permission.test.js.map +1 -1
  270. package/build/dist/Types/Accounts/AccountsLanguage.js +10 -1
  271. package/build/dist/Types/Accounts/AccountsLanguage.js.map +1 -1
  272. package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js +10 -1
  273. package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js.map +1 -1
  274. package/build/dist/Types/BaseDatabase/TableEditionAccessControl.js +2 -0
  275. package/build/dist/Types/BaseDatabase/TableEditionAccessControl.js.map +1 -0
  276. package/build/dist/Types/Dashboard/DashboardLanguage.js +10 -1
  277. package/build/dist/Types/Dashboard/DashboardLanguage.js.map +1 -1
  278. package/build/dist/Types/Database/AccessControl/TableEditionAccessControl.js +6 -0
  279. package/build/dist/Types/Database/AccessControl/TableEditionAccessControl.js.map +1 -0
  280. package/build/dist/Types/Date.js +1 -1
  281. package/build/dist/Types/Date.js.map +1 -1
  282. package/build/dist/Types/Docs/DocsLanguage.js +10 -1
  283. package/build/dist/Types/Docs/DocsLanguage.js.map +1 -1
  284. package/build/dist/Types/Permission.js +80 -44
  285. package/build/dist/Types/Permission.js.map +1 -1
  286. package/build/dist/Types/StatusPage/StatusPageLanguage.js +10 -1
  287. package/build/dist/Types/StatusPage/StatusPageLanguage.js.map +1 -1
  288. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  289. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  290. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  291. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  292. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -1
  293. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  294. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +1 -1
  295. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  296. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +11 -1
  297. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  298. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  299. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  300. package/build/dist/UI/Components/Charts/Utils/XAxis.js +21 -47
  301. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  302. package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js +1125 -0
  303. package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js.map +1 -0
  304. package/build/dist/UI/Components/Forms/Fields/FormField.js +28 -10
  305. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  306. package/build/dist/UI/Components/Link/Link.js +11 -2
  307. package/build/dist/UI/Components/Link/Link.js.map +1 -1
  308. package/build/dist/UI/Components/ModelDetail/ModelDetail.js +20 -18
  309. package/build/dist/UI/Components/ModelDetail/ModelDetail.js.map +1 -1
  310. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +4 -0
  311. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  312. package/build/dist/UI/Utils/User.js +13 -0
  313. package/build/dist/UI/Utils/User.js.map +1 -1
  314. package/package.json +1 -1
  315. package/Server/Services/ServiceMonitorService.ts +0 -57
  316. package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +0 -1
  317. package/build/dist/Server/Services/ServiceMonitorService.js +0 -56
  318. package/build/dist/Server/Services/ServiceMonitorService.js.map +0 -1
@@ -809,6 +809,120 @@ export default class AlertOwnerRule extends BaseModel {
809
809
  })
810
810
  public inheritOwnersFromHosts?: boolean = undefined;
811
811
 
812
+ @ColumnAccessControl({
813
+ create: [
814
+ Permission.ProjectOwner,
815
+ Permission.ProjectAdmin,
816
+ Permission.CreateAlertOwnerRule,
817
+ ],
818
+ read: [
819
+ Permission.ProjectOwner,
820
+ Permission.ProjectAdmin,
821
+ Permission.ProjectMember,
822
+ Permission.Viewer,
823
+ Permission.AlertAdmin,
824
+ Permission.AlertMember,
825
+ Permission.AlertViewer,
826
+ Permission.ReadAlertOwnerRule,
827
+ ],
828
+ update: [
829
+ Permission.ProjectOwner,
830
+ Permission.ProjectAdmin,
831
+ Permission.EditAlertOwnerRule,
832
+ ],
833
+ })
834
+ @TableColumn({
835
+ required: false,
836
+ type: TableColumnType.Boolean,
837
+ title: "Inherit Owners From Kubernetes Clusters",
838
+ description:
839
+ "When this rule matches, also assign every owner of the alert's affected Kubernetes clusters to the alert.",
840
+ defaultValue: false,
841
+ isDefaultValueColumn: true,
842
+ })
843
+ @Column({
844
+ type: ColumnType.Boolean,
845
+ nullable: false,
846
+ default: false,
847
+ })
848
+ public inheritOwnersFromKubernetesClusters?: boolean = undefined;
849
+
850
+ @ColumnAccessControl({
851
+ create: [
852
+ Permission.ProjectOwner,
853
+ Permission.ProjectAdmin,
854
+ Permission.CreateAlertOwnerRule,
855
+ ],
856
+ read: [
857
+ Permission.ProjectOwner,
858
+ Permission.ProjectAdmin,
859
+ Permission.ProjectMember,
860
+ Permission.Viewer,
861
+ Permission.AlertAdmin,
862
+ Permission.AlertMember,
863
+ Permission.AlertViewer,
864
+ Permission.ReadAlertOwnerRule,
865
+ ],
866
+ update: [
867
+ Permission.ProjectOwner,
868
+ Permission.ProjectAdmin,
869
+ Permission.EditAlertOwnerRule,
870
+ ],
871
+ })
872
+ @TableColumn({
873
+ required: false,
874
+ type: TableColumnType.Boolean,
875
+ title: "Inherit Owners From Docker Hosts",
876
+ description:
877
+ "When this rule matches, also assign every owner of the alert's affected Docker hosts to the alert.",
878
+ defaultValue: false,
879
+ isDefaultValueColumn: true,
880
+ })
881
+ @Column({
882
+ type: ColumnType.Boolean,
883
+ nullable: false,
884
+ default: false,
885
+ })
886
+ public inheritOwnersFromDockerHosts?: boolean = undefined;
887
+
888
+ @ColumnAccessControl({
889
+ create: [
890
+ Permission.ProjectOwner,
891
+ Permission.ProjectAdmin,
892
+ Permission.CreateAlertOwnerRule,
893
+ ],
894
+ read: [
895
+ Permission.ProjectOwner,
896
+ Permission.ProjectAdmin,
897
+ Permission.ProjectMember,
898
+ Permission.Viewer,
899
+ Permission.AlertAdmin,
900
+ Permission.AlertMember,
901
+ Permission.AlertViewer,
902
+ Permission.ReadAlertOwnerRule,
903
+ ],
904
+ update: [
905
+ Permission.ProjectOwner,
906
+ Permission.ProjectAdmin,
907
+ Permission.EditAlertOwnerRule,
908
+ ],
909
+ })
910
+ @TableColumn({
911
+ required: false,
912
+ type: TableColumnType.Boolean,
913
+ title: "Inherit Owners From Services",
914
+ description:
915
+ "When this rule matches, also assign every owner of the alert's affected services to the alert.",
916
+ defaultValue: false,
917
+ isDefaultValueColumn: true,
918
+ })
919
+ @Column({
920
+ type: ColumnType.Boolean,
921
+ nullable: false,
922
+ default: false,
923
+ })
924
+ public inheritOwnersFromServices?: boolean = undefined;
925
+
812
926
  @ColumnAccessControl({
813
927
  create: [
814
928
  Permission.ProjectOwner,
@@ -119,6 +119,13 @@ export default class DatabaseBaseModel extends BaseEntity {
119
119
  public updateBillingPlan!: PlanType | null;
120
120
  public deleteBillingPlan!: PlanType | null;
121
121
 
122
+ /*
123
+ * Edition gating. When true, the model is only available on the
124
+ * Enterprise self-hosted edition or on the cloud Enterprise plan.
125
+ * Set by the @TableEditionAccessControl decorator.
126
+ */
127
+ public requiresEnterprise!: boolean;
128
+
122
129
  public allowAccessIfSubscriptionIsUnpaid!: boolean;
123
130
 
124
131
  public enableWorkflowOn!: EnableWorkflowOn;
@@ -8,6 +8,7 @@ import Route from "../../Types/API/Route";
8
8
  import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
9
9
  import OwnedThrough from "../../Types/Database/AccessControl/OwnedThrough";
10
10
  import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
11
+ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
11
12
  import ColumnLength from "../../Types/Database/ColumnLength";
12
13
  import ColumnType from "../../Types/Database/ColumnType";
13
14
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
@@ -29,6 +30,7 @@ export enum IncidentEpisodeMemberAddedBy {
29
30
  }
30
31
 
31
32
  @EnableDocumentation()
33
+ @CanAccessIfCanReadOn("incident")
32
34
  @TenantColumn("projectId")
33
35
  @TableAccessControl({
34
36
  create: [
@@ -815,44 +815,6 @@ export default class IncidentGroupingRule extends BaseModel {
815
815
  })
816
816
  public groupByIncidentTitle?: boolean = undefined;
817
817
 
818
- @ColumnAccessControl({
819
- create: [
820
- Permission.ProjectOwner,
821
- Permission.ProjectAdmin,
822
- Permission.CreateIncidentGroupingRule,
823
- ],
824
- read: [
825
- Permission.ProjectOwner,
826
- Permission.ProjectAdmin,
827
- Permission.ProjectMember,
828
- Permission.Viewer,
829
- Permission.IncidentAdmin,
830
- Permission.IncidentMember,
831
- Permission.IncidentViewer,
832
- Permission.ReadIncidentGroupingRule,
833
- ],
834
- update: [
835
- Permission.ProjectOwner,
836
- Permission.ProjectAdmin,
837
- Permission.EditIncidentGroupingRule,
838
- ],
839
- })
840
- @TableColumn({
841
- required: false,
842
- type: TableColumnType.Boolean,
843
- title: "Group By Service",
844
- description:
845
- "When enabled, incidents from monitors belonging to different services will be grouped into separate episodes. When disabled, incidents can be grouped together regardless of which service the monitor belongs to.",
846
- defaultValue: false,
847
- isDefaultValueColumn: true,
848
- })
849
- @Column({
850
- type: ColumnType.Boolean,
851
- nullable: false,
852
- default: false,
853
- })
854
- public groupByService?: boolean = undefined;
855
-
856
818
  @ColumnAccessControl({
857
819
  create: [
858
820
  Permission.ProjectOwner,
@@ -728,6 +728,120 @@ export default class IncidentLabelRule extends BaseModel {
728
728
  })
729
729
  public inheritLabelsFromHosts?: boolean = undefined;
730
730
 
731
+ @ColumnAccessControl({
732
+ create: [
733
+ Permission.ProjectOwner,
734
+ Permission.ProjectAdmin,
735
+ Permission.CreateIncidentLabelRule,
736
+ ],
737
+ read: [
738
+ Permission.ProjectOwner,
739
+ Permission.ProjectAdmin,
740
+ Permission.ProjectMember,
741
+ Permission.Viewer,
742
+ Permission.IncidentAdmin,
743
+ Permission.IncidentMember,
744
+ Permission.IncidentViewer,
745
+ Permission.ReadIncidentLabelRule,
746
+ ],
747
+ update: [
748
+ Permission.ProjectOwner,
749
+ Permission.ProjectAdmin,
750
+ Permission.EditIncidentLabelRule,
751
+ ],
752
+ })
753
+ @TableColumn({
754
+ required: false,
755
+ type: TableColumnType.Boolean,
756
+ title: "Inherit Labels From Kubernetes Clusters",
757
+ description:
758
+ "When this rule matches, also copy every label of the incident's affected Kubernetes clusters onto the incident.",
759
+ defaultValue: false,
760
+ isDefaultValueColumn: true,
761
+ })
762
+ @Column({
763
+ type: ColumnType.Boolean,
764
+ nullable: false,
765
+ default: false,
766
+ })
767
+ public inheritLabelsFromKubernetesClusters?: boolean = undefined;
768
+
769
+ @ColumnAccessControl({
770
+ create: [
771
+ Permission.ProjectOwner,
772
+ Permission.ProjectAdmin,
773
+ Permission.CreateIncidentLabelRule,
774
+ ],
775
+ read: [
776
+ Permission.ProjectOwner,
777
+ Permission.ProjectAdmin,
778
+ Permission.ProjectMember,
779
+ Permission.Viewer,
780
+ Permission.IncidentAdmin,
781
+ Permission.IncidentMember,
782
+ Permission.IncidentViewer,
783
+ Permission.ReadIncidentLabelRule,
784
+ ],
785
+ update: [
786
+ Permission.ProjectOwner,
787
+ Permission.ProjectAdmin,
788
+ Permission.EditIncidentLabelRule,
789
+ ],
790
+ })
791
+ @TableColumn({
792
+ required: false,
793
+ type: TableColumnType.Boolean,
794
+ title: "Inherit Labels From Docker Hosts",
795
+ description:
796
+ "When this rule matches, also copy every label of the incident's affected Docker hosts onto the incident.",
797
+ defaultValue: false,
798
+ isDefaultValueColumn: true,
799
+ })
800
+ @Column({
801
+ type: ColumnType.Boolean,
802
+ nullable: false,
803
+ default: false,
804
+ })
805
+ public inheritLabelsFromDockerHosts?: boolean = undefined;
806
+
807
+ @ColumnAccessControl({
808
+ create: [
809
+ Permission.ProjectOwner,
810
+ Permission.ProjectAdmin,
811
+ Permission.CreateIncidentLabelRule,
812
+ ],
813
+ read: [
814
+ Permission.ProjectOwner,
815
+ Permission.ProjectAdmin,
816
+ Permission.ProjectMember,
817
+ Permission.Viewer,
818
+ Permission.IncidentAdmin,
819
+ Permission.IncidentMember,
820
+ Permission.IncidentViewer,
821
+ Permission.ReadIncidentLabelRule,
822
+ ],
823
+ update: [
824
+ Permission.ProjectOwner,
825
+ Permission.ProjectAdmin,
826
+ Permission.EditIncidentLabelRule,
827
+ ],
828
+ })
829
+ @TableColumn({
830
+ required: false,
831
+ type: TableColumnType.Boolean,
832
+ title: "Inherit Labels From Services",
833
+ description:
834
+ "When this rule matches, also copy every label of the incident's affected services onto the incident.",
835
+ defaultValue: false,
836
+ isDefaultValueColumn: true,
837
+ })
838
+ @Column({
839
+ type: ColumnType.Boolean,
840
+ nullable: false,
841
+ default: false,
842
+ })
843
+ public inheritLabelsFromServices?: boolean = undefined;
844
+
731
845
  @ColumnAccessControl({
732
846
  create: [
733
847
  Permission.ProjectOwner,
@@ -7,6 +7,7 @@ import Route from "../../Types/API/Route";
7
7
  import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
8
8
  import OwnedThrough from "../../Types/Database/AccessControl/OwnedThrough";
9
9
  import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
10
+ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
10
11
  import ColumnLength from "../../Types/Database/ColumnLength";
11
12
  import ColumnType from "../../Types/Database/ColumnType";
12
13
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
@@ -22,6 +23,7 @@ import Permission from "../../Types/Permission";
22
23
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
23
24
 
24
25
  @EnableDocumentation()
26
+ @CanAccessIfCanReadOn("incident")
25
27
  @TenantColumn("projectId")
26
28
  @TableAccessControl({
27
29
  create: [
@@ -816,6 +816,120 @@ export default class IncidentOwnerRule extends BaseModel {
816
816
  })
817
817
  public inheritOwnersFromHosts?: boolean = undefined;
818
818
 
819
+ @ColumnAccessControl({
820
+ create: [
821
+ Permission.ProjectOwner,
822
+ Permission.ProjectAdmin,
823
+ Permission.CreateIncidentOwnerRule,
824
+ ],
825
+ read: [
826
+ Permission.ProjectOwner,
827
+ Permission.ProjectAdmin,
828
+ Permission.ProjectMember,
829
+ Permission.Viewer,
830
+ Permission.IncidentAdmin,
831
+ Permission.IncidentMember,
832
+ Permission.IncidentViewer,
833
+ Permission.ReadIncidentOwnerRule,
834
+ ],
835
+ update: [
836
+ Permission.ProjectOwner,
837
+ Permission.ProjectAdmin,
838
+ Permission.EditIncidentOwnerRule,
839
+ ],
840
+ })
841
+ @TableColumn({
842
+ required: false,
843
+ type: TableColumnType.Boolean,
844
+ title: "Inherit Owners From Kubernetes Clusters",
845
+ description:
846
+ "When this rule matches, also assign every owner of the incident's affected Kubernetes clusters to the incident.",
847
+ defaultValue: false,
848
+ isDefaultValueColumn: true,
849
+ })
850
+ @Column({
851
+ type: ColumnType.Boolean,
852
+ nullable: false,
853
+ default: false,
854
+ })
855
+ public inheritOwnersFromKubernetesClusters?: boolean = undefined;
856
+
857
+ @ColumnAccessControl({
858
+ create: [
859
+ Permission.ProjectOwner,
860
+ Permission.ProjectAdmin,
861
+ Permission.CreateIncidentOwnerRule,
862
+ ],
863
+ read: [
864
+ Permission.ProjectOwner,
865
+ Permission.ProjectAdmin,
866
+ Permission.ProjectMember,
867
+ Permission.Viewer,
868
+ Permission.IncidentAdmin,
869
+ Permission.IncidentMember,
870
+ Permission.IncidentViewer,
871
+ Permission.ReadIncidentOwnerRule,
872
+ ],
873
+ update: [
874
+ Permission.ProjectOwner,
875
+ Permission.ProjectAdmin,
876
+ Permission.EditIncidentOwnerRule,
877
+ ],
878
+ })
879
+ @TableColumn({
880
+ required: false,
881
+ type: TableColumnType.Boolean,
882
+ title: "Inherit Owners From Docker Hosts",
883
+ description:
884
+ "When this rule matches, also assign every owner of the incident's affected Docker hosts to the incident.",
885
+ defaultValue: false,
886
+ isDefaultValueColumn: true,
887
+ })
888
+ @Column({
889
+ type: ColumnType.Boolean,
890
+ nullable: false,
891
+ default: false,
892
+ })
893
+ public inheritOwnersFromDockerHosts?: boolean = undefined;
894
+
895
+ @ColumnAccessControl({
896
+ create: [
897
+ Permission.ProjectOwner,
898
+ Permission.ProjectAdmin,
899
+ Permission.CreateIncidentOwnerRule,
900
+ ],
901
+ read: [
902
+ Permission.ProjectOwner,
903
+ Permission.ProjectAdmin,
904
+ Permission.ProjectMember,
905
+ Permission.Viewer,
906
+ Permission.IncidentAdmin,
907
+ Permission.IncidentMember,
908
+ Permission.IncidentViewer,
909
+ Permission.ReadIncidentOwnerRule,
910
+ ],
911
+ update: [
912
+ Permission.ProjectOwner,
913
+ Permission.ProjectAdmin,
914
+ Permission.EditIncidentOwnerRule,
915
+ ],
916
+ })
917
+ @TableColumn({
918
+ required: false,
919
+ type: TableColumnType.Boolean,
920
+ title: "Inherit Owners From Services",
921
+ description:
922
+ "When this rule matches, also assign every owner of the incident's affected services to the incident.",
923
+ defaultValue: false,
924
+ isDefaultValueColumn: true,
925
+ })
926
+ @Column({
927
+ type: ColumnType.Boolean,
928
+ nullable: false,
929
+ default: false,
930
+ })
931
+ public inheritOwnersFromServices?: boolean = undefined;
932
+
819
933
  @ColumnAccessControl({
820
934
  create: [
821
935
  Permission.ProjectOwner,
@@ -7,6 +7,7 @@ import Route from "../../Types/API/Route";
7
7
  import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
8
8
  import OwnedThrough from "../../Types/Database/AccessControl/OwnedThrough";
9
9
  import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
10
+ import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
10
11
  import ColumnType from "../../Types/Database/ColumnType";
11
12
  import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
12
13
  import EnableDocumentation from "../../Types/Database/EnableDocumentation";
@@ -22,6 +23,7 @@ import Permission from "../../Types/Permission";
22
23
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
23
24
 
24
25
  @EnableDocumentation()
26
+ @CanAccessIfCanReadOn("incident")
25
27
  @TenantColumn("projectId")
26
28
  @TableAccessControl({
27
29
  create: [