@oneuptime/common 10.4.17 → 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.
- package/Models/AnalyticsModels/ExceptionInstance.ts +24 -0
- package/Models/AnalyticsModels/Log.ts +16 -0
- package/Models/AnalyticsModels/Metric.ts +31 -0
- package/Models/AnalyticsModels/MonitorLog.ts +5 -0
- package/Models/AnalyticsModels/Profile.ts +25 -0
- package/Models/AnalyticsModels/ProfileSample.ts +20 -0
- package/Models/AnalyticsModels/Span.ts +23 -0
- package/Models/DatabaseModels/AlertEpisodeMember.ts +2 -0
- package/Models/DatabaseModels/AlertGroupingRule.ts +0 -38
- package/Models/DatabaseModels/AlertLabelRule.ts +152 -0
- package/Models/DatabaseModels/AlertOwnerRule.ts +114 -0
- package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +7 -0
- package/Models/DatabaseModels/IncidentEpisodeMember.ts +2 -0
- package/Models/DatabaseModels/IncidentGroupingRule.ts +0 -38
- package/Models/DatabaseModels/IncidentLabelRule.ts +114 -0
- package/Models/DatabaseModels/IncidentMember.ts +2 -0
- package/Models/DatabaseModels/IncidentOwnerRule.ts +114 -0
- package/Models/DatabaseModels/IncidentSla.ts +2 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +224 -0
- package/Models/DatabaseModels/Index.ts +2 -2
- package/Models/DatabaseModels/MetricPipelineRule.ts +2 -0
- package/Models/DatabaseModels/MonitorProbe.ts +2 -0
- package/Models/DatabaseModels/MonitorTest.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +2 -0
- package/Models/DatabaseModels/OnCallDutyPolicyUserOverride.ts +2 -0
- package/Models/DatabaseModels/ProjectOidc.ts +4 -0
- package/Models/DatabaseModels/ProjectSCIM.ts +4 -0
- package/Models/DatabaseModels/ProjectSso.ts +4 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +220 -0
- package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +152 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +152 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +224 -0
- package/Models/DatabaseModels/StatusPageOidc.ts +6 -0
- package/Models/DatabaseModels/StatusPageSCIM.ts +4 -0
- package/Models/DatabaseModels/StatusPageSCIMLog.ts +2 -0
- package/Models/DatabaseModels/StatusPageSso.ts +6 -0
- package/Models/DatabaseModels/Team.ts +41 -0
- package/Models/DatabaseModels/TeamComplianceSetting.ts +4 -0
- package/Models/DatabaseModels/{ServiceMonitor.ts → TeamCustomField.ts} +95 -200
- package/Models/DatabaseModels/TelemetryException.ts +2 -0
- package/Models/DatabaseModels/UserOnCallLog.ts +2 -0
- package/Models/DatabaseModels/UserOnCallLogTimeline.ts +2 -0
- package/Models/DatabaseModels/WorkflowLog.ts +2 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +2 -0
- package/Server/EnvironmentConfig.ts +3 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.ts +1 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.ts +160 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.ts +197 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.ts +36 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.ts +128 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.ts +53 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.ts +73 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.ts +62 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
- package/Server/Middleware/TelemetryIngestionDisabled.ts +32 -0
- package/Server/Services/AlertGroupingEngineService.ts +0 -29
- package/Server/Services/AlertLabelRuleEngineService.ts +129 -0
- package/Server/Services/AlertOwnerRuleEngineService.ts +205 -1
- package/Server/Services/IncidentGroupingEngineService.ts +0 -37
- package/Server/Services/IncidentLabelRuleEngineService.ts +83 -0
- package/Server/Services/IncidentOwnerRuleEngineService.ts +208 -10
- package/Server/Services/IncidentService.ts +139 -1
- package/Server/Services/Index.ts +0 -2
- package/Server/Services/MonitorProbeService.ts +56 -0
- package/Server/Services/MonitorService.ts +55 -0
- package/Server/Services/ProjectService.ts +17 -8
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +129 -0
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +289 -7
- package/Server/Services/StatusPageService.ts +30 -0
- package/Server/Services/TeamCustomFieldService.ts +9 -0
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +226 -28
- package/Server/Types/Database/Permissions/EditionPermission.ts +46 -0
- package/Server/Types/Database/Permissions/TablePermission.ts +8 -1
- package/Server/Utils/Monitor/MonitorAlert.ts +35 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +244 -34
- package/Tests/Server/Middleware/UserAuthorization.test.ts +11 -19
- package/Tests/Types/Permission.test.ts +129 -1
- package/Types/Accounts/AccountsLanguage.ts +10 -1
- package/Types/AdminDashboard/AdminDashboardLanguage.ts +10 -1
- package/Types/BaseDatabase/TableEditionAccessControl.ts +3 -0
- package/Types/Dashboard/DashboardLanguage.ts +10 -1
- package/Types/Database/AccessControl/TableEditionAccessControl.ts +8 -0
- package/Types/Date.ts +1 -1
- package/Types/Docs/DocsLanguage.ts +10 -1
- package/Types/Permission.ts +87 -54
- package/Types/StatusPage/StatusPageLanguage.ts +10 -1
- package/UI/Components/Charts/Area/AreaChart.tsx +1 -1
- package/UI/Components/Charts/Bar/BarChart.tsx +1 -1
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +5 -1
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +1 -1
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +11 -1
- package/UI/Components/Charts/Line/LineChart.tsx +1 -1
- package/UI/Components/Charts/Utils/XAxis.ts +21 -48
- package/UI/Components/EntityDropdown/EntityDropdown.tsx +1808 -0
- package/UI/Components/Forms/Fields/FormField.tsx +69 -29
- package/UI/Components/Link/Link.tsx +13 -1
- package/UI/Components/ModelDetail/ModelDetail.tsx +20 -19
- package/UI/Components/ModelTable/BaseModelTable.tsx +5 -0
- package/UI/Utils/User.ts +16 -0
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +39 -2
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Log.js +16 -0
- package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Metric.js +31 -0
- package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MonitorLog.js +5 -0
- package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Profile.js +40 -2
- package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ProfileSample.js +35 -2
- package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Span.js +23 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +2 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertGroupingRule.js +0 -39
- package/build/dist/Models/DatabaseModels/AlertGroupingRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertLabelRule.js +156 -0
- package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +117 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +2 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +0 -39
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +117 -0
- package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentMember.js +2 -0
- package/build/dist/Models/DatabaseModels/IncidentMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +117 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSla.js +2 -0
- package/build/dist/Models/DatabaseModels/IncidentSla.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +216 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +2 -2
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MetricPipelineRule.js +2 -0
- package/build/dist/Models/DatabaseModels/MetricPipelineRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorProbe.js +2 -0
- package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js +2 -0
- package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js +2 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectOidc.js +4 -0
- package/build/dist/Models/DatabaseModels/ProjectOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSCIM.js +4 -0
- package/build/dist/Models/DatabaseModels/ProjectSCIM.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js +4 -0
- package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +216 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +156 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +156 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +216 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js +6 -0
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSCIM.js +4 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIM.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js +2 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSso.js +6 -0
- package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Team.js +42 -0
- package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +4 -0
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
- package/build/dist/Models/DatabaseModels/{ServiceMonitor.js → TeamCustomField.js} +108 -209
- package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js +2 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +2 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowLog.js +2 -0
- package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +2 -0
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +1 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.js +60 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779653508434-AddLabelInheritanceAndScheduledMaintenanceResources.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.js +74 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779708719656-AddAffectedResourcesToTemplates.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.js +19 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779739410559-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.js +50 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779742211961-AttachServiceToScheduledMaintenanceTemplatesAndLabelRules.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779790539196-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.js +30 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779823516881-ExpandOwnerRuleInheritFlags.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.js +50 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779827700000-RenameStatusPageZhToZhCN.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngestionDisabled.js +22 -0
- package/build/dist/Server/Middleware/TelemetryIngestionDisabled.js.map +1 -0
- package/build/dist/Server/Services/AlertGroupingEngineService.js +0 -25
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +117 -3
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +175 -5
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +0 -31
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +76 -3
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +176 -14
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +104 -1
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +0 -2
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +46 -0
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +40 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +17 -8
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +117 -3
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +245 -10
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +24 -0
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/TeamCustomFieldService.js +9 -0
- package/build/dist/Server/Services/TeamCustomFieldService.js.map +1 -0
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +166 -26
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +45 -0
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -0
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js +7 -1
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +30 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +200 -31
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +8 -15
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
- package/build/dist/Tests/Types/Permission.test.js +90 -1
- package/build/dist/Tests/Types/Permission.test.js.map +1 -1
- package/build/dist/Types/Accounts/AccountsLanguage.js +10 -1
- package/build/dist/Types/Accounts/AccountsLanguage.js.map +1 -1
- package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js +10 -1
- package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js.map +1 -1
- package/build/dist/Types/BaseDatabase/TableEditionAccessControl.js +2 -0
- package/build/dist/Types/BaseDatabase/TableEditionAccessControl.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardLanguage.js +10 -1
- package/build/dist/Types/Dashboard/DashboardLanguage.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/TableEditionAccessControl.js +6 -0
- package/build/dist/Types/Database/AccessControl/TableEditionAccessControl.js.map +1 -0
- package/build/dist/Types/Date.js +1 -1
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Docs/DocsLanguage.js +10 -1
- package/build/dist/Types/Docs/DocsLanguage.js.map +1 -1
- package/build/dist/Types/Permission.js +80 -44
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/StatusPage/StatusPageLanguage.js +10 -1
- package/build/dist/Types/StatusPage/StatusPageLanguage.js.map +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +11 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +21 -47
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js +1125 -0
- package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js.map +1 -0
- package/build/dist/UI/Components/Forms/Fields/FormField.js +28 -10
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Link/Link.js +11 -2
- package/build/dist/UI/Components/Link/Link.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/ModelDetail.js +20 -18
- package/build/dist/UI/Components/ModelDetail/ModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +4 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Utils/User.js +13 -0
- package/build/dist/UI/Utils/User.js.map +1 -1
- package/package.json +1 -1
- package/Server/Services/ServiceMonitorService.ts +0 -57
- package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +0 -1
- package/build/dist/Server/Services/ServiceMonitorService.js +0 -56
- package/build/dist/Server/Services/ServiceMonitorService.js.map +0 -1
package/Server/Services/Index.ts
CHANGED
|
@@ -104,7 +104,6 @@ import ScheduledMaintenanceStateTimelineService from "./ScheduledMaintenanceStat
|
|
|
104
104
|
import ServiceOwnerTeamService from "./ServiceOwnerTeamService";
|
|
105
105
|
import ServiceOwnerUserService from "./ServiceOwnerUserService";
|
|
106
106
|
import ServiceService from "./ServiceService";
|
|
107
|
-
import ServiceMonitorService from "./ServiceMonitorService";
|
|
108
107
|
import ServiceCodeRepositoryService from "./ServiceCodeRepositoryService";
|
|
109
108
|
import ShortLinkService from "./ShortLinkService";
|
|
110
109
|
// SMS Log Service
|
|
@@ -387,7 +386,6 @@ const services: Array<BaseService> = [
|
|
|
387
386
|
ServiceService,
|
|
388
387
|
ServiceOwnerTeamService,
|
|
389
388
|
ServiceOwnerUserService,
|
|
390
|
-
ServiceMonitorService,
|
|
391
389
|
ServiceCodeRepositoryService,
|
|
392
390
|
|
|
393
391
|
TelemetryExceptionService,
|
|
@@ -18,6 +18,62 @@ export class Service extends DatabaseService<MonitorProbe> {
|
|
|
18
18
|
super(MonitorProbe);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
public async pruneStaleLastMonitoringLogEntries(data: {
|
|
22
|
+
monitorId: ObjectID;
|
|
23
|
+
validMonitorStepIds: Array<string>;
|
|
24
|
+
}): Promise<void> {
|
|
25
|
+
const validIdSet: Set<string> = new Set(data.validMonitorStepIds);
|
|
26
|
+
|
|
27
|
+
const monitorProbes: Array<MonitorProbe> = await this.findBy({
|
|
28
|
+
query: {
|
|
29
|
+
monitorId: data.monitorId,
|
|
30
|
+
},
|
|
31
|
+
select: {
|
|
32
|
+
_id: true,
|
|
33
|
+
lastMonitoringLog: true,
|
|
34
|
+
},
|
|
35
|
+
limit: LIMIT_PER_PROJECT,
|
|
36
|
+
skip: 0,
|
|
37
|
+
props: {
|
|
38
|
+
isRoot: true,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
for (const monitorProbe of monitorProbes) {
|
|
43
|
+
if (!monitorProbe.id || !monitorProbe.lastMonitoringLog) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const existingLog: Record<string, unknown> =
|
|
48
|
+
monitorProbe.lastMonitoringLog as unknown as Record<string, unknown>;
|
|
49
|
+
const existingKeys: Array<string> = Object.keys(existingLog);
|
|
50
|
+
const prunedLog: Record<string, unknown> = {};
|
|
51
|
+
let removedAny: boolean = false;
|
|
52
|
+
|
|
53
|
+
for (const key of existingKeys) {
|
|
54
|
+
if (validIdSet.has(key)) {
|
|
55
|
+
prunedLog[key] = existingLog[key];
|
|
56
|
+
} else {
|
|
57
|
+
removedAny = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (!removedAny) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
await this.updateOneById({
|
|
66
|
+
id: monitorProbe.id,
|
|
67
|
+
data: {
|
|
68
|
+
lastMonitoringLog: prunedLog as any,
|
|
69
|
+
},
|
|
70
|
+
props: {
|
|
71
|
+
isRoot: true,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
21
77
|
public async updateNextPingAtForMonitor(data: {
|
|
22
78
|
monitorId: ObjectID;
|
|
23
79
|
}): Promise<void> {
|
|
@@ -155,6 +155,50 @@ export class Service extends DatabaseService<Model> {
|
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
public extractMonitorStepIds(
|
|
159
|
+
monitorSteps: MonitorSteps | JSONObject,
|
|
160
|
+
): Array<string> {
|
|
161
|
+
const stepIds: Array<string> = [];
|
|
162
|
+
|
|
163
|
+
let stepsArray: Array<MonitorStep | JSONObject> = [];
|
|
164
|
+
|
|
165
|
+
if (monitorSteps instanceof MonitorSteps) {
|
|
166
|
+
stepsArray = monitorSteps.data?.monitorStepsInstanceArray || [];
|
|
167
|
+
} else if (monitorSteps && typeof monitorSteps === "object") {
|
|
168
|
+
const value: JSONObject | undefined = (monitorSteps as JSONObject)[
|
|
169
|
+
"value"
|
|
170
|
+
] as JSONObject | undefined;
|
|
171
|
+
const rawArray: unknown = value
|
|
172
|
+
? value["monitorStepsInstanceArray"]
|
|
173
|
+
: (monitorSteps as JSONObject)["monitorStepsInstanceArray"];
|
|
174
|
+
|
|
175
|
+
if (Array.isArray(rawArray)) {
|
|
176
|
+
stepsArray = rawArray as Array<JSONObject>;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
for (const step of stepsArray) {
|
|
181
|
+
let stepId: string | undefined;
|
|
182
|
+
|
|
183
|
+
if (step instanceof MonitorStep) {
|
|
184
|
+
stepId = step.data?.id;
|
|
185
|
+
} else if (step && typeof step === "object") {
|
|
186
|
+
const wrappedValue: JSONObject | undefined = (step as JSONObject)[
|
|
187
|
+
"value"
|
|
188
|
+
] as JSONObject | undefined;
|
|
189
|
+
stepId = (wrappedValue?.["id"] || (step as JSONObject)["id"]) as
|
|
190
|
+
| string
|
|
191
|
+
| undefined;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (stepId) {
|
|
195
|
+
stepIds.push(stepId.toString());
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return stepIds;
|
|
200
|
+
}
|
|
201
|
+
|
|
158
202
|
public async refreshMonitorCurrentStatus(monitorId: ObjectID): Promise<void> {
|
|
159
203
|
const monitor: Model | null = await this.findOneById({
|
|
160
204
|
id: monitorId,
|
|
@@ -363,6 +407,17 @@ export class Service extends DatabaseService<Model> {
|
|
|
363
407
|
});
|
|
364
408
|
}
|
|
365
409
|
|
|
410
|
+
if (onUpdate.updateBy.data.monitorSteps) {
|
|
411
|
+
const validMonitorStepIds: Array<string> = this.extractMonitorStepIds(
|
|
412
|
+
onUpdate.updateBy.data.monitorSteps as MonitorSteps | JSONObject,
|
|
413
|
+
);
|
|
414
|
+
|
|
415
|
+
await MonitorProbeService.pruneStaleLastMonitoringLogEntries({
|
|
416
|
+
monitorId: monitorId,
|
|
417
|
+
validMonitorStepIds: validMonitorStepIds,
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
|
|
366
421
|
if (onUpdate.updateBy.data.name) {
|
|
367
422
|
// add monitor feed.
|
|
368
423
|
|
|
@@ -775,14 +775,23 @@ export class ProjectService extends DatabaseService<Model> {
|
|
|
775
775
|
}
|
|
776
776
|
}
|
|
777
777
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
778
|
+
/*
|
|
779
|
+
* Each addDefault* method only reads `createdItem.id` and writes rows to a
|
|
780
|
+
* distinct table; none of them mutate `createdItem`. Running them in
|
|
781
|
+
* parallel cuts the onCreate hook latency from sum-of-8 sequential DB
|
|
782
|
+
* round-trips to max-of-8, which removes ~hundreds of ms on project
|
|
783
|
+
* create.
|
|
784
|
+
*/
|
|
785
|
+
await Promise.all([
|
|
786
|
+
this.addDefaultIncidentSeverity(createdItem),
|
|
787
|
+
this.addDefaultAlertSeverity(createdItem),
|
|
788
|
+
this.addDefaultProjectTeams(createdItem),
|
|
789
|
+
this.addDefaultMonitorStatus(createdItem),
|
|
790
|
+
this.addDefaultIncidentState(createdItem),
|
|
791
|
+
this.addDefaultScheduledMaintenanceState(createdItem),
|
|
792
|
+
this.addDefaultAlertState(createdItem),
|
|
793
|
+
this.addDefaultIncidentRoles(createdItem),
|
|
794
|
+
]);
|
|
786
795
|
|
|
787
796
|
if (NotificationSlackWebhookOnCreateProject) {
|
|
788
797
|
// fetch project again.
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
import DockerHost from "../../Models/DatabaseModels/DockerHost";
|
|
2
|
+
import Host from "../../Models/DatabaseModels/Host";
|
|
3
|
+
import KubernetesCluster from "../../Models/DatabaseModels/KubernetesCluster";
|
|
1
4
|
import Label from "../../Models/DatabaseModels/Label";
|
|
2
5
|
import Monitor from "../../Models/DatabaseModels/Monitor";
|
|
3
6
|
import ScheduledMaintenance from "../../Models/DatabaseModels/ScheduledMaintenance";
|
|
4
7
|
import ScheduledMaintenanceLabelRule from "../../Models/DatabaseModels/ScheduledMaintenanceLabelRule";
|
|
8
|
+
import Service from "../../Models/DatabaseModels/Service";
|
|
9
|
+
import DockerHostService from "./DockerHostService";
|
|
10
|
+
import HostService from "./HostService";
|
|
11
|
+
import KubernetesClusterService from "./KubernetesClusterService";
|
|
5
12
|
import LabelService from "./LabelService";
|
|
6
13
|
import MonitorService from "./MonitorService";
|
|
14
|
+
import ServiceService from "./ServiceService";
|
|
7
15
|
import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
|
|
8
16
|
import ScheduledMaintenanceLabelRuleService from "./ScheduledMaintenanceLabelRuleService";
|
|
9
17
|
import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
|
|
@@ -21,6 +29,10 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
|
|
|
21
29
|
* attaches matched labels to the event. Each matched rule contributes:
|
|
22
30
|
* - labels listed on `labelsToAdd`
|
|
23
31
|
* - all labels of the event's monitors when `inheritLabelsFromMonitors`
|
|
32
|
+
* - all labels of the event's hosts when `inheritLabelsFromHosts`
|
|
33
|
+
* - all labels of the event's Kubernetes clusters when `inheritLabelsFromKubernetesClusters`
|
|
34
|
+
* - all labels of the event's Docker hosts when `inheritLabelsFromDockerHosts`
|
|
35
|
+
* - all labels of the event's services when `inheritLabelsFromServices`
|
|
24
36
|
* The union is deduped against labels already on the event before insert
|
|
25
37
|
* to avoid PK conflicts on the ScheduledMaintenanceLabel join table.
|
|
26
38
|
*/
|
|
@@ -52,6 +64,10 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
|
|
|
52
64
|
monitorDescriptionPattern: true,
|
|
53
65
|
labelsToAdd: { _id: true },
|
|
54
66
|
inheritLabelsFromMonitors: true,
|
|
67
|
+
inheritLabelsFromHosts: true,
|
|
68
|
+
inheritLabelsFromKubernetesClusters: true,
|
|
69
|
+
inheritLabelsFromDockerHosts: true,
|
|
70
|
+
inheritLabelsFromServices: true,
|
|
55
71
|
},
|
|
56
72
|
limit: 100,
|
|
57
73
|
skip: 0,
|
|
@@ -63,6 +79,10 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
|
|
|
63
79
|
|
|
64
80
|
const labelIdsToAdd: Set<string> = new Set();
|
|
65
81
|
let inheritFromMonitors: boolean = false;
|
|
82
|
+
let inheritFromHosts: boolean = false;
|
|
83
|
+
let inheritFromKubernetesClusters: boolean = false;
|
|
84
|
+
let inheritFromDockerHosts: boolean = false;
|
|
85
|
+
let inheritFromServices: boolean = false;
|
|
66
86
|
const matchedRules: Array<ScheduledMaintenanceLabelRule> = [];
|
|
67
87
|
|
|
68
88
|
for (const rule of rules) {
|
|
@@ -82,6 +102,38 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
|
|
|
82
102
|
if (rule.inheritLabelsFromMonitors) {
|
|
83
103
|
inheritFromMonitors = true;
|
|
84
104
|
}
|
|
105
|
+
if (rule.inheritLabelsFromHosts) {
|
|
106
|
+
inheritFromHosts = true;
|
|
107
|
+
}
|
|
108
|
+
if (rule.inheritLabelsFromKubernetesClusters) {
|
|
109
|
+
inheritFromKubernetesClusters = true;
|
|
110
|
+
}
|
|
111
|
+
if (rule.inheritLabelsFromDockerHosts) {
|
|
112
|
+
inheritFromDockerHosts = true;
|
|
113
|
+
}
|
|
114
|
+
if (rule.inheritLabelsFromServices) {
|
|
115
|
+
inheritFromServices = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const needsRelatedResources: boolean =
|
|
120
|
+
inheritFromHosts ||
|
|
121
|
+
inheritFromKubernetesClusters ||
|
|
122
|
+
inheritFromDockerHosts ||
|
|
123
|
+
inheritFromServices;
|
|
124
|
+
|
|
125
|
+
let eventWithResources: ScheduledMaintenance | null = null;
|
|
126
|
+
if (needsRelatedResources) {
|
|
127
|
+
eventWithResources = await ScheduledMaintenanceService.findOneById({
|
|
128
|
+
id: scheduledMaintenance.id,
|
|
129
|
+
select: {
|
|
130
|
+
hosts: { _id: true },
|
|
131
|
+
kubernetesClusters: { _id: true },
|
|
132
|
+
dockerHosts: { _id: true },
|
|
133
|
+
services: { _id: true },
|
|
134
|
+
},
|
|
135
|
+
props: { isRoot: true },
|
|
136
|
+
});
|
|
85
137
|
}
|
|
86
138
|
|
|
87
139
|
if (inheritFromMonitors && scheduledMaintenance.monitors?.length) {
|
|
@@ -102,6 +154,83 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
|
|
|
102
154
|
}
|
|
103
155
|
}
|
|
104
156
|
|
|
157
|
+
if (inheritFromHosts && eventWithResources?.hosts?.length) {
|
|
158
|
+
for (const eventHost of eventWithResources.hosts) {
|
|
159
|
+
if (!eventHost.id) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const host: Host | null = await HostService.findOneById({
|
|
163
|
+
id: eventHost.id,
|
|
164
|
+
select: { labels: { _id: true } },
|
|
165
|
+
props: { isRoot: true },
|
|
166
|
+
});
|
|
167
|
+
for (const label of host?.labels || []) {
|
|
168
|
+
if (label.id) {
|
|
169
|
+
labelIdsToAdd.add(label.id.toString());
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (
|
|
176
|
+
inheritFromKubernetesClusters &&
|
|
177
|
+
eventWithResources?.kubernetesClusters?.length
|
|
178
|
+
) {
|
|
179
|
+
for (const eventCluster of eventWithResources.kubernetesClusters) {
|
|
180
|
+
if (!eventCluster.id) {
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const cluster: KubernetesCluster | null =
|
|
184
|
+
await KubernetesClusterService.findOneById({
|
|
185
|
+
id: eventCluster.id,
|
|
186
|
+
select: { labels: { _id: true } },
|
|
187
|
+
props: { isRoot: true },
|
|
188
|
+
});
|
|
189
|
+
for (const label of cluster?.labels || []) {
|
|
190
|
+
if (label.id) {
|
|
191
|
+
labelIdsToAdd.add(label.id.toString());
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
if (inheritFromDockerHosts && eventWithResources?.dockerHosts?.length) {
|
|
198
|
+
for (const eventDockerHost of eventWithResources.dockerHosts) {
|
|
199
|
+
if (!eventDockerHost.id) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
const dockerHost: DockerHost | null =
|
|
203
|
+
await DockerHostService.findOneById({
|
|
204
|
+
id: eventDockerHost.id,
|
|
205
|
+
select: { labels: { _id: true } },
|
|
206
|
+
props: { isRoot: true },
|
|
207
|
+
});
|
|
208
|
+
for (const label of dockerHost?.labels || []) {
|
|
209
|
+
if (label.id) {
|
|
210
|
+
labelIdsToAdd.add(label.id.toString());
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (inheritFromServices && eventWithResources?.services?.length) {
|
|
217
|
+
for (const eventService of eventWithResources.services) {
|
|
218
|
+
if (!eventService.id) {
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
const service: Service | null = await ServiceService.findOneById({
|
|
222
|
+
id: eventService.id,
|
|
223
|
+
select: { labels: { _id: true } },
|
|
224
|
+
props: { isRoot: true },
|
|
225
|
+
});
|
|
226
|
+
for (const label of service?.labels || []) {
|
|
227
|
+
if (label.id) {
|
|
228
|
+
labelIdsToAdd.add(label.id.toString());
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
105
234
|
if (labelIdsToAdd.size === 0) {
|
|
106
235
|
return;
|
|
107
236
|
}
|