@oneuptime/common 11.6.0 → 11.6.2
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/AnalyticsBaseModel/AnalyticsBaseModel.ts +41 -24
- package/Models/AnalyticsModels/Index.ts +4 -0
- package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
- package/Models/AnalyticsModels/MetricBaselineHourly.ts +2 -0
- package/Models/AnalyticsModels/MetricItemAggMV1m.ts +5 -2
- package/Models/AnalyticsModels/MetricItemAggMV1mByContainer.ts +5 -2
- package/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.ts +5 -2
- package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +5 -2
- package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +5 -2
- package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
- package/Models/AnalyticsModels/SloHistory.ts +240 -0
- package/Models/DatabaseModels/Index.ts +20 -0
- package/Models/DatabaseModels/NetworkDevice.ts +453 -6
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
- package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
- package/Models/DatabaseModels/NetworkSite.ts +1155 -0
- package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
- package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
- package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
- package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
- package/Models/DatabaseModels/ServiceLevelObjective.ts +1106 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Services/AnalyticsDatabaseService.ts +38 -10
- package/Server/Services/Index.ts +24 -0
- package/Server/Services/KubernetesCostAllocationService.ts +14 -0
- package/Server/Services/MetricService.ts +21 -2
- package/Server/Services/MonitorService.ts +22 -0
- package/Server/Services/NetworkDeviceService.ts +438 -2
- package/Server/Services/NetworkEndpointService.ts +414 -0
- package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
- package/Server/Services/NetworkSiteLinkService.ts +10 -0
- package/Server/Services/NetworkSiteService.ts +1254 -0
- package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
- package/Server/Services/NetworkSiteTypeService.ts +10 -0
- package/Server/Services/ProjectService.ts +122 -2
- package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
- package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
- package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
- package/Server/Services/ServiceLevelObjectiveService.ts +677 -0
- package/Server/Services/SloHistoryService.ts +101 -0
- package/Server/Services/UserNotificationSettingService.ts +37 -0
- package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
- package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +128 -52
- package/Server/Utils/Memory.ts +9 -1
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
- package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
- package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
- package/Server/Utils/Monitor/MonitorResource.ts +4 -30
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
- package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
- package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
- package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
- package/Tests/Models/AnalyticsModels/AnalyticsBaseModel.test.ts +122 -0
- package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
- package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
- package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
- package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
- package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
- package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
- package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
- package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
- package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
- package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +164 -3
- package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +503 -0
- package/Tests/Server/Utils/Encryption.test.ts +70 -0
- package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
- package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
- package/Tests/Server/Utils/LocalFile.test.ts +258 -0
- package/Tests/Server/Utils/Memory.test.ts +213 -0
- package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
- package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
- package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
- package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
- package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
- package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
- package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
- package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
- package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
- package/Tests/Server/Utils/Stream.test.ts +87 -0
- package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
- package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
- package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
- package/Tests/Types/Email.test.ts +198 -0
- package/Tests/Types/HashCode.test.ts +41 -0
- package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
- package/Tests/Types/Log/LogQueryParser.test.ts +186 -0
- package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
- package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
- package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
- package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
- package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
- package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
- package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
- package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
- package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
- package/Tests/Types/WebsiteRequest.test.ts +230 -0
- package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
- package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
- package/Tests/UI/Utils/LogExport.test.ts +159 -0
- package/Tests/UI/Utils/Navigation.test.ts +183 -0
- package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
- package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
- package/Tests/Utils/Base64.test.ts +51 -0
- package/Tests/Utils/Boolean.test.ts +76 -0
- package/Tests/Utils/Crypto.test.ts +48 -0
- package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
- package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
- package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +197 -0
- package/Tests/Utils/Enum.test.ts +54 -0
- package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
- package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
- package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
- package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
- package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
- package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
- package/Tests/Utils/ObjectUtil.test.ts +30 -0
- package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
- package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
- package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
- package/Tests/Utils/TechStack.test.ts +50 -0
- package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
- package/Tests/Utils/ValueFormatter.test.ts +305 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
- package/Types/AnalyticsDatabase/TableColumn.ts +23 -0
- package/Types/BaseDatabase/EqualTo.ts +9 -1
- package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
- package/Types/BaseDatabase/NotEqual.ts +9 -1
- package/Types/Dashboard/DashboardComponentType.ts +1 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
- package/Types/Dashboard/DashboardTemplates.ts +214 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
- package/Types/Monitor/CriteriaFilter.ts +9 -0
- package/Types/Monitor/MonitorStep.ts +5 -8
- package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
- package/Types/Monitor/MonitorType.ts +15 -5
- package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
- package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
- package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
- package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
- package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
- package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
- package/Types/Permission.ts +449 -0
- package/Types/ServiceLevelObjective/SliType.ts +6 -0
- package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
- package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
- package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
- package/Types/Telemetry/ServiceType.ts +1 -0
- package/UI/Components/Filters/EntityFilter.tsx +16 -0
- package/UI/Components/Filters/FilterViewer.tsx +22 -5
- package/UI/Components/List/List.tsx +8 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
- package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
- package/UI/Components/Navbar/NavBar.tsx +16 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
- package/UI/Utils/Navigation.ts +10 -0
- package/UI/Utils/TableFilterUrlState.ts +204 -17
- package/UI/Utils/TableViewUrlState.ts +165 -0
- package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
- package/Utils/Dashboard/Components/Index.ts +7 -0
- package/Utils/IpCanonicalUtil.ts +134 -0
- package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
- package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
- package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
- package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
- package/Utils/Slo/SloStatusColor.ts +54 -0
- package/Utils/Slo/SloUtil.ts +637 -0
- package/Utils/Slo/SloWidgetFormat.ts +383 -0
- package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +25 -20
- package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Index.js +4 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
- package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +2 -0
- package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +5 -2
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +5 -2
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js +5 -2
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +5 -2
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +5 -2
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/SloHistory.js +215 -0
- package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Index.js +20 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
- package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1124 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +32 -7
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +24 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
- package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
- package/build/dist/Server/Services/MetricService.js +21 -3
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +19 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
- package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
- package/build/dist/Server/Services/ProjectService.js +98 -2
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js +582 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
- package/build/dist/Server/Services/SloHistoryService.js +77 -0
- package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +105 -52
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Memory.js +9 -1
- package/build/dist/Server/Utils/Memory.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
- package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
- package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
- package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
- package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/TableColumn.js +7 -0
- package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
- package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
- package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
- package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
- package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +5 -5
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
- package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +15 -5
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/Permission.js +409 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
- package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
- package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
- package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
- package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
- package/build/dist/UI/Components/List/List.js +1 -1
- package/build/dist/UI/Components/List/List.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
- package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
- package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +9 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
- package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
- package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
- package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/IpCanonicalUtil.js +110 -0
- package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
- package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
- package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
- package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
- package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
- package/build/dist/Utils/Slo/SloUtil.js +393 -0
- package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
- package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
- package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
- package/package.json +2 -2
- package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
- package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
- package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class AddServiceLevelObjective1784987015619
|
|
4
|
+
implements MigrationInterface
|
|
5
|
+
{
|
|
6
|
+
public name = "AddServiceLevelObjective1784987015619";
|
|
7
|
+
|
|
8
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
9
|
+
await queryRunner.query(
|
|
10
|
+
`CREATE TABLE "ServiceLevelObjective" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "slug" character varying(100) NOT NULL, "isEnabled" boolean NOT NULL DEFAULT true, "sliType" character varying NOT NULL DEFAULT 'Monitor Uptime', "multiMonitorMode" character varying NOT NULL DEFAULT 'Any Monitor Down', "metricQueryConfig" jsonb, "targetPercentage" numeric NOT NULL, "windowType" character varying NOT NULL DEFAULT 'Rolling', "windowDays" integer NOT NULL DEFAULT '30', "timezone" character varying(100), "atRiskThresholdPercentage" integer NOT NULL DEFAULT '20', "currentSliPercentage" numeric, "errorBudgetRemainingPercentage" numeric, "errorBudgetRemainingSeconds" integer, "errorBudgetTotalSeconds" integer, "currentBurnRate" numeric, "sloStatus" character varying NOT NULL DEFAULT 'Healthy', "statusChangeNotificationSentAt" TIMESTAMP WITH TIME ZONE, "lastEvaluatedAt" TIMESTAMP WITH TIME ZONE, "nextEvaluationAt" TIMESTAMP WITH TIME ZONE, "lastAccumulatedBucketEndAt" TIMESTAMP WITH TIME ZONE, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "UQ_ba02350ab59adf11ab31bfba090" UNIQUE ("slug"), CONSTRAINT "PK_02a26e6a5286aeb09e58326a287" PRIMARY KEY ("_id"))`,
|
|
11
|
+
);
|
|
12
|
+
await queryRunner.query(
|
|
13
|
+
`CREATE INDEX "IDX_c46e7cd584085573c357955389" ON "ServiceLevelObjective" ("projectId") `,
|
|
14
|
+
);
|
|
15
|
+
await queryRunner.query(
|
|
16
|
+
`CREATE INDEX "IDX_0529301be36c9c0224f721e4c3" ON "ServiceLevelObjective" ("name") `,
|
|
17
|
+
);
|
|
18
|
+
await queryRunner.query(
|
|
19
|
+
`CREATE INDEX "IDX_ba02350ab59adf11ab31bfba09" ON "ServiceLevelObjective" ("slug") `,
|
|
20
|
+
);
|
|
21
|
+
await queryRunner.query(
|
|
22
|
+
`CREATE INDEX "IDX_3a18ae1afc837908246d716ffd" ON "ServiceLevelObjective" ("isEnabled") `,
|
|
23
|
+
);
|
|
24
|
+
await queryRunner.query(
|
|
25
|
+
`CREATE INDEX "IDX_9ae72bfe937fb3a52bea2009d1" ON "ServiceLevelObjective" ("sloStatus") `,
|
|
26
|
+
);
|
|
27
|
+
await queryRunner.query(
|
|
28
|
+
`CREATE INDEX "IDX_0c55b55b9cc6777e482730080b" ON "ServiceLevelObjective" ("nextEvaluationAt") `,
|
|
29
|
+
);
|
|
30
|
+
await queryRunner.query(
|
|
31
|
+
`CREATE TABLE "ServiceLevelObjectiveBurnRateRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "serviceLevelObjectiveId" uuid NOT NULL, "name" character varying(100) NOT NULL, "isEnabled" boolean NOT NULL DEFAULT true, "burnRateThreshold" numeric NOT NULL, "longWindowInMinutes" integer NOT NULL, "shortWindowInMinutes" integer NOT NULL, "minimumSampleCount" integer, "refireSuppressionMinutes" integer, "alertSeverityId" uuid, "lastAlertCreatedAt" TIMESTAMP WITH TIME ZONE, "lastAlertResolvedAt" TIMESTAMP WITH TIME ZONE, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_09977f8f1fae6984d1c047a65a0" PRIMARY KEY ("_id"))`,
|
|
32
|
+
);
|
|
33
|
+
await queryRunner.query(
|
|
34
|
+
`CREATE INDEX "IDX_7569331f78148b6e53867aa5f7" ON "ServiceLevelObjectiveBurnRateRule" ("projectId") `,
|
|
35
|
+
);
|
|
36
|
+
await queryRunner.query(
|
|
37
|
+
`CREATE INDEX "IDX_981fd1395a10cad88ffa35ebfd" ON "ServiceLevelObjectiveBurnRateRule" ("serviceLevelObjectiveId") `,
|
|
38
|
+
);
|
|
39
|
+
await queryRunner.query(
|
|
40
|
+
`CREATE INDEX "IDX_d499f2cab7c1c41dc87a1c6156" ON "ServiceLevelObjectiveBurnRateRule" ("name") `,
|
|
41
|
+
);
|
|
42
|
+
await queryRunner.query(
|
|
43
|
+
`CREATE INDEX "IDX_35186fe6e401e695917e8b361d" ON "ServiceLevelObjectiveBurnRateRule" ("isEnabled") `,
|
|
44
|
+
);
|
|
45
|
+
await queryRunner.query(
|
|
46
|
+
`CREATE INDEX "IDX_f790e04533d2b79a7a27f4524b" ON "ServiceLevelObjectiveBurnRateRule" ("alertSeverityId") `,
|
|
47
|
+
);
|
|
48
|
+
await queryRunner.query(
|
|
49
|
+
`CREATE TABLE "ServiceLevelObjectiveOwnerUser" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "userId" uuid NOT NULL, "serviceLevelObjectiveId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_bc954ce3df97bb1ddfa671893e5" PRIMARY KEY ("_id"))`,
|
|
50
|
+
);
|
|
51
|
+
await queryRunner.query(
|
|
52
|
+
`CREATE INDEX "IDX_32e90aa7284ccedb801fe256f1" ON "ServiceLevelObjectiveOwnerUser" ("projectId") `,
|
|
53
|
+
);
|
|
54
|
+
await queryRunner.query(
|
|
55
|
+
`CREATE INDEX "IDX_02047e9714492b3f1c8e91b999" ON "ServiceLevelObjectiveOwnerUser" ("userId") `,
|
|
56
|
+
);
|
|
57
|
+
await queryRunner.query(
|
|
58
|
+
`CREATE INDEX "IDX_4994cd04a5e4794b3d61b2e6e5" ON "ServiceLevelObjectiveOwnerUser" ("serviceLevelObjectiveId") `,
|
|
59
|
+
);
|
|
60
|
+
await queryRunner.query(
|
|
61
|
+
`CREATE INDEX "IDX_bef5294b53ff9e9ca4f5a92e3a" ON "ServiceLevelObjectiveOwnerUser" ("isOwnerNotified") `,
|
|
62
|
+
);
|
|
63
|
+
await queryRunner.query(
|
|
64
|
+
`CREATE INDEX "IDX_be7506765e639c732a90783147" ON "ServiceLevelObjectiveOwnerUser" ("serviceLevelObjectiveId", "userId", "projectId") `,
|
|
65
|
+
);
|
|
66
|
+
await queryRunner.query(
|
|
67
|
+
`CREATE TABLE "ServiceLevelObjectiveOwnerTeam" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "teamId" uuid NOT NULL, "serviceLevelObjectiveId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_313ad90d395bc9e3619768c1ad4" PRIMARY KEY ("_id"))`,
|
|
68
|
+
);
|
|
69
|
+
await queryRunner.query(
|
|
70
|
+
`CREATE INDEX "IDX_efd3d0d3702596f5f17a1dee59" ON "ServiceLevelObjectiveOwnerTeam" ("projectId") `,
|
|
71
|
+
);
|
|
72
|
+
await queryRunner.query(
|
|
73
|
+
`CREATE INDEX "IDX_e1f9a4a97270d3450a42eb12a9" ON "ServiceLevelObjectiveOwnerTeam" ("teamId") `,
|
|
74
|
+
);
|
|
75
|
+
await queryRunner.query(
|
|
76
|
+
`CREATE INDEX "IDX_d338133d1cae58344006229440" ON "ServiceLevelObjectiveOwnerTeam" ("serviceLevelObjectiveId") `,
|
|
77
|
+
);
|
|
78
|
+
await queryRunner.query(
|
|
79
|
+
`CREATE INDEX "IDX_503bb58cee6939ee45fc94f81b" ON "ServiceLevelObjectiveOwnerTeam" ("isOwnerNotified") `,
|
|
80
|
+
);
|
|
81
|
+
await queryRunner.query(
|
|
82
|
+
`CREATE INDEX "IDX_53e4404ae86c9de055cf1dee02" ON "ServiceLevelObjectiveOwnerTeam" ("serviceLevelObjectiveId", "teamId", "projectId") `,
|
|
83
|
+
);
|
|
84
|
+
await queryRunner.query(
|
|
85
|
+
`CREATE TABLE "ServiceLevelObjectiveLabel" ("serviceLevelObjectiveId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_2fed536b8e53af3208a9b604816" PRIMARY KEY ("serviceLevelObjectiveId", "labelId"))`,
|
|
86
|
+
);
|
|
87
|
+
await queryRunner.query(
|
|
88
|
+
`CREATE INDEX "IDX_09469911554f1093b70999cc71" ON "ServiceLevelObjectiveLabel" ("serviceLevelObjectiveId") `,
|
|
89
|
+
);
|
|
90
|
+
await queryRunner.query(
|
|
91
|
+
`CREATE INDEX "IDX_7c9650fa5b4ba5a7e577b876e5" ON "ServiceLevelObjectiveLabel" ("labelId") `,
|
|
92
|
+
);
|
|
93
|
+
await queryRunner.query(
|
|
94
|
+
`CREATE TABLE "ServiceLevelObjectiveMonitor" ("serviceLevelObjectiveId" uuid NOT NULL, "monitorId" uuid NOT NULL, CONSTRAINT "PK_e7cb42e7fd4d3bc31e7a308c1f4" PRIMARY KEY ("serviceLevelObjectiveId", "monitorId"))`,
|
|
95
|
+
);
|
|
96
|
+
await queryRunner.query(
|
|
97
|
+
`CREATE INDEX "IDX_a14890fd4cec9286468d001b22" ON "ServiceLevelObjectiveMonitor" ("serviceLevelObjectiveId") `,
|
|
98
|
+
);
|
|
99
|
+
await queryRunner.query(
|
|
100
|
+
`CREATE INDEX "IDX_a57eae6948f19b1e97523f9a8e" ON "ServiceLevelObjectiveMonitor" ("monitorId") `,
|
|
101
|
+
);
|
|
102
|
+
await queryRunner.query(
|
|
103
|
+
`CREATE TABLE "ServiceLevelObjectiveDownMonitorStatus" ("serviceLevelObjectiveId" uuid NOT NULL, "monitorStatusId" uuid NOT NULL, CONSTRAINT "PK_3c64a2701713dc0b25fd196d1eb" PRIMARY KEY ("serviceLevelObjectiveId", "monitorStatusId"))`,
|
|
104
|
+
);
|
|
105
|
+
await queryRunner.query(
|
|
106
|
+
`CREATE INDEX "IDX_6ab2bff0fe27125c20cc479178" ON "ServiceLevelObjectiveDownMonitorStatus" ("serviceLevelObjectiveId") `,
|
|
107
|
+
);
|
|
108
|
+
await queryRunner.query(
|
|
109
|
+
`CREATE INDEX "IDX_7cf428df61316a8df6b9607999" ON "ServiceLevelObjectiveDownMonitorStatus" ("monitorStatusId") `,
|
|
110
|
+
);
|
|
111
|
+
await queryRunner.query(
|
|
112
|
+
`CREATE TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" ("serviceLevelObjectiveBurnRateRuleId" uuid NOT NULL, "onCallDutyPolicyId" uuid NOT NULL, CONSTRAINT "PK_257b38158d7deed031fe0b37404" PRIMARY KEY ("serviceLevelObjectiveBurnRateRuleId", "onCallDutyPolicyId"))`,
|
|
113
|
+
);
|
|
114
|
+
await queryRunner.query(
|
|
115
|
+
`CREATE INDEX "IDX_0c70c0ce5ed34cf8908da9e014" ON "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" ("serviceLevelObjectiveBurnRateRuleId") `,
|
|
116
|
+
);
|
|
117
|
+
await queryRunner.query(
|
|
118
|
+
`CREATE INDEX "IDX_35eb8923c8064a883954f7c969" ON "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" ("onCallDutyPolicyId") `,
|
|
119
|
+
);
|
|
120
|
+
await queryRunner.query(
|
|
121
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`,
|
|
122
|
+
);
|
|
123
|
+
await queryRunner.query(
|
|
124
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`,
|
|
125
|
+
);
|
|
126
|
+
await queryRunner.query(
|
|
127
|
+
`ALTER TABLE "ServiceLevelObjective" ADD CONSTRAINT "FK_c46e7cd584085573c3579553899" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
128
|
+
);
|
|
129
|
+
await queryRunner.query(
|
|
130
|
+
`ALTER TABLE "ServiceLevelObjective" ADD CONSTRAINT "FK_974aafc5e3a66a3a7368d485ffa" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
131
|
+
);
|
|
132
|
+
await queryRunner.query(
|
|
133
|
+
`ALTER TABLE "ServiceLevelObjective" ADD CONSTRAINT "FK_ff1296ae51710c26f904dfef2fd" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
134
|
+
);
|
|
135
|
+
await queryRunner.query(
|
|
136
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" ADD CONSTRAINT "FK_7569331f78148b6e53867aa5f7d" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
137
|
+
);
|
|
138
|
+
await queryRunner.query(
|
|
139
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" ADD CONSTRAINT "FK_981fd1395a10cad88ffa35ebfde" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
140
|
+
);
|
|
141
|
+
await queryRunner.query(
|
|
142
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" ADD CONSTRAINT "FK_f790e04533d2b79a7a27f4524bd" FOREIGN KEY ("alertSeverityId") REFERENCES "AlertSeverity"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
143
|
+
);
|
|
144
|
+
await queryRunner.query(
|
|
145
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" ADD CONSTRAINT "FK_38825b71e3f4460758f32c8ad2b" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
146
|
+
);
|
|
147
|
+
await queryRunner.query(
|
|
148
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" ADD CONSTRAINT "FK_e8c5423ee38943417d1b1153939" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
149
|
+
);
|
|
150
|
+
await queryRunner.query(
|
|
151
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" ADD CONSTRAINT "FK_32e90aa7284ccedb801fe256f16" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
152
|
+
);
|
|
153
|
+
await queryRunner.query(
|
|
154
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" ADD CONSTRAINT "FK_02047e9714492b3f1c8e91b9995" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
155
|
+
);
|
|
156
|
+
await queryRunner.query(
|
|
157
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" ADD CONSTRAINT "FK_4994cd04a5e4794b3d61b2e6e58" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
158
|
+
);
|
|
159
|
+
await queryRunner.query(
|
|
160
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" ADD CONSTRAINT "FK_8546f9976d6b0c60a6cf94d2993" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
161
|
+
);
|
|
162
|
+
await queryRunner.query(
|
|
163
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" ADD CONSTRAINT "FK_dec4db5a0248fb01d7950d78812" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
164
|
+
);
|
|
165
|
+
await queryRunner.query(
|
|
166
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" ADD CONSTRAINT "FK_efd3d0d3702596f5f17a1dee595" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
167
|
+
);
|
|
168
|
+
await queryRunner.query(
|
|
169
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" ADD CONSTRAINT "FK_e1f9a4a97270d3450a42eb12a99" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
170
|
+
);
|
|
171
|
+
await queryRunner.query(
|
|
172
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" ADD CONSTRAINT "FK_d338133d1cae58344006229440f" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
173
|
+
);
|
|
174
|
+
await queryRunner.query(
|
|
175
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" ADD CONSTRAINT "FK_e2f3df46a03efffd9e1a9029e67" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
176
|
+
);
|
|
177
|
+
await queryRunner.query(
|
|
178
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" ADD CONSTRAINT "FK_6f988b69e435922b6d721fbd412" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
179
|
+
);
|
|
180
|
+
await queryRunner.query(
|
|
181
|
+
`ALTER TABLE "ServiceLevelObjectiveLabel" ADD CONSTRAINT "FK_09469911554f1093b70999cc715" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
182
|
+
);
|
|
183
|
+
await queryRunner.query(
|
|
184
|
+
`ALTER TABLE "ServiceLevelObjectiveLabel" ADD CONSTRAINT "FK_7c9650fa5b4ba5a7e577b876e55" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
185
|
+
);
|
|
186
|
+
await queryRunner.query(
|
|
187
|
+
`ALTER TABLE "ServiceLevelObjectiveMonitor" ADD CONSTRAINT "FK_a14890fd4cec9286468d001b22f" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
188
|
+
);
|
|
189
|
+
await queryRunner.query(
|
|
190
|
+
`ALTER TABLE "ServiceLevelObjectiveMonitor" ADD CONSTRAINT "FK_a57eae6948f19b1e97523f9a8ec" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
191
|
+
);
|
|
192
|
+
await queryRunner.query(
|
|
193
|
+
`ALTER TABLE "ServiceLevelObjectiveDownMonitorStatus" ADD CONSTRAINT "FK_6ab2bff0fe27125c20cc4791780" FOREIGN KEY ("serviceLevelObjectiveId") REFERENCES "ServiceLevelObjective"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
194
|
+
);
|
|
195
|
+
await queryRunner.query(
|
|
196
|
+
`ALTER TABLE "ServiceLevelObjectiveDownMonitorStatus" ADD CONSTRAINT "FK_7cf428df61316a8df6b9607999d" FOREIGN KEY ("monitorStatusId") REFERENCES "MonitorStatus"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
197
|
+
);
|
|
198
|
+
await queryRunner.query(
|
|
199
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" ADD CONSTRAINT "FK_0c70c0ce5ed34cf8908da9e014b" FOREIGN KEY ("serviceLevelObjectiveBurnRateRuleId") REFERENCES "ServiceLevelObjectiveBurnRateRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
200
|
+
);
|
|
201
|
+
await queryRunner.query(
|
|
202
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" ADD CONSTRAINT "FK_35eb8923c8064a883954f7c9695" FOREIGN KEY ("onCallDutyPolicyId") REFERENCES "OnCallDutyPolicy"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
207
|
+
await queryRunner.query(
|
|
208
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" DROP CONSTRAINT "FK_35eb8923c8064a883954f7c9695"`,
|
|
209
|
+
);
|
|
210
|
+
await queryRunner.query(
|
|
211
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy" DROP CONSTRAINT "FK_0c70c0ce5ed34cf8908da9e014b"`,
|
|
212
|
+
);
|
|
213
|
+
await queryRunner.query(
|
|
214
|
+
`ALTER TABLE "ServiceLevelObjectiveDownMonitorStatus" DROP CONSTRAINT "FK_7cf428df61316a8df6b9607999d"`,
|
|
215
|
+
);
|
|
216
|
+
await queryRunner.query(
|
|
217
|
+
`ALTER TABLE "ServiceLevelObjectiveDownMonitorStatus" DROP CONSTRAINT "FK_6ab2bff0fe27125c20cc4791780"`,
|
|
218
|
+
);
|
|
219
|
+
await queryRunner.query(
|
|
220
|
+
`ALTER TABLE "ServiceLevelObjectiveMonitor" DROP CONSTRAINT "FK_a57eae6948f19b1e97523f9a8ec"`,
|
|
221
|
+
);
|
|
222
|
+
await queryRunner.query(
|
|
223
|
+
`ALTER TABLE "ServiceLevelObjectiveMonitor" DROP CONSTRAINT "FK_a14890fd4cec9286468d001b22f"`,
|
|
224
|
+
);
|
|
225
|
+
await queryRunner.query(
|
|
226
|
+
`ALTER TABLE "ServiceLevelObjectiveLabel" DROP CONSTRAINT "FK_7c9650fa5b4ba5a7e577b876e55"`,
|
|
227
|
+
);
|
|
228
|
+
await queryRunner.query(
|
|
229
|
+
`ALTER TABLE "ServiceLevelObjectiveLabel" DROP CONSTRAINT "FK_09469911554f1093b70999cc715"`,
|
|
230
|
+
);
|
|
231
|
+
await queryRunner.query(
|
|
232
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" DROP CONSTRAINT "FK_6f988b69e435922b6d721fbd412"`,
|
|
233
|
+
);
|
|
234
|
+
await queryRunner.query(
|
|
235
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" DROP CONSTRAINT "FK_e2f3df46a03efffd9e1a9029e67"`,
|
|
236
|
+
);
|
|
237
|
+
await queryRunner.query(
|
|
238
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" DROP CONSTRAINT "FK_d338133d1cae58344006229440f"`,
|
|
239
|
+
);
|
|
240
|
+
await queryRunner.query(
|
|
241
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" DROP CONSTRAINT "FK_e1f9a4a97270d3450a42eb12a99"`,
|
|
242
|
+
);
|
|
243
|
+
await queryRunner.query(
|
|
244
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerTeam" DROP CONSTRAINT "FK_efd3d0d3702596f5f17a1dee595"`,
|
|
245
|
+
);
|
|
246
|
+
await queryRunner.query(
|
|
247
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" DROP CONSTRAINT "FK_dec4db5a0248fb01d7950d78812"`,
|
|
248
|
+
);
|
|
249
|
+
await queryRunner.query(
|
|
250
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" DROP CONSTRAINT "FK_8546f9976d6b0c60a6cf94d2993"`,
|
|
251
|
+
);
|
|
252
|
+
await queryRunner.query(
|
|
253
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" DROP CONSTRAINT "FK_4994cd04a5e4794b3d61b2e6e58"`,
|
|
254
|
+
);
|
|
255
|
+
await queryRunner.query(
|
|
256
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" DROP CONSTRAINT "FK_02047e9714492b3f1c8e91b9995"`,
|
|
257
|
+
);
|
|
258
|
+
await queryRunner.query(
|
|
259
|
+
`ALTER TABLE "ServiceLevelObjectiveOwnerUser" DROP CONSTRAINT "FK_32e90aa7284ccedb801fe256f16"`,
|
|
260
|
+
);
|
|
261
|
+
await queryRunner.query(
|
|
262
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" DROP CONSTRAINT "FK_e8c5423ee38943417d1b1153939"`,
|
|
263
|
+
);
|
|
264
|
+
await queryRunner.query(
|
|
265
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" DROP CONSTRAINT "FK_38825b71e3f4460758f32c8ad2b"`,
|
|
266
|
+
);
|
|
267
|
+
await queryRunner.query(
|
|
268
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" DROP CONSTRAINT "FK_f790e04533d2b79a7a27f4524bd"`,
|
|
269
|
+
);
|
|
270
|
+
await queryRunner.query(
|
|
271
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" DROP CONSTRAINT "FK_981fd1395a10cad88ffa35ebfde"`,
|
|
272
|
+
);
|
|
273
|
+
await queryRunner.query(
|
|
274
|
+
`ALTER TABLE "ServiceLevelObjectiveBurnRateRule" DROP CONSTRAINT "FK_7569331f78148b6e53867aa5f7d"`,
|
|
275
|
+
);
|
|
276
|
+
await queryRunner.query(
|
|
277
|
+
`ALTER TABLE "ServiceLevelObjective" DROP CONSTRAINT "FK_ff1296ae51710c26f904dfef2fd"`,
|
|
278
|
+
);
|
|
279
|
+
await queryRunner.query(
|
|
280
|
+
`ALTER TABLE "ServiceLevelObjective" DROP CONSTRAINT "FK_974aafc5e3a66a3a7368d485ffa"`,
|
|
281
|
+
);
|
|
282
|
+
await queryRunner.query(
|
|
283
|
+
`ALTER TABLE "ServiceLevelObjective" DROP CONSTRAINT "FK_c46e7cd584085573c3579553899"`,
|
|
284
|
+
);
|
|
285
|
+
await queryRunner.query(
|
|
286
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`,
|
|
287
|
+
);
|
|
288
|
+
await queryRunner.query(
|
|
289
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`,
|
|
290
|
+
);
|
|
291
|
+
await queryRunner.query(
|
|
292
|
+
`DROP INDEX "public"."IDX_35eb8923c8064a883954f7c969"`,
|
|
293
|
+
);
|
|
294
|
+
await queryRunner.query(
|
|
295
|
+
`DROP INDEX "public"."IDX_0c70c0ce5ed34cf8908da9e014"`,
|
|
296
|
+
);
|
|
297
|
+
await queryRunner.query(
|
|
298
|
+
`DROP TABLE "ServiceLevelObjectiveBurnRateRuleOnCallDutyPolicy"`,
|
|
299
|
+
);
|
|
300
|
+
await queryRunner.query(
|
|
301
|
+
`DROP INDEX "public"."IDX_7cf428df61316a8df6b9607999"`,
|
|
302
|
+
);
|
|
303
|
+
await queryRunner.query(
|
|
304
|
+
`DROP INDEX "public"."IDX_6ab2bff0fe27125c20cc479178"`,
|
|
305
|
+
);
|
|
306
|
+
await queryRunner.query(
|
|
307
|
+
`DROP TABLE "ServiceLevelObjectiveDownMonitorStatus"`,
|
|
308
|
+
);
|
|
309
|
+
await queryRunner.query(
|
|
310
|
+
`DROP INDEX "public"."IDX_a57eae6948f19b1e97523f9a8e"`,
|
|
311
|
+
);
|
|
312
|
+
await queryRunner.query(
|
|
313
|
+
`DROP INDEX "public"."IDX_a14890fd4cec9286468d001b22"`,
|
|
314
|
+
);
|
|
315
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjectiveMonitor"`);
|
|
316
|
+
await queryRunner.query(
|
|
317
|
+
`DROP INDEX "public"."IDX_7c9650fa5b4ba5a7e577b876e5"`,
|
|
318
|
+
);
|
|
319
|
+
await queryRunner.query(
|
|
320
|
+
`DROP INDEX "public"."IDX_09469911554f1093b70999cc71"`,
|
|
321
|
+
);
|
|
322
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjectiveLabel"`);
|
|
323
|
+
await queryRunner.query(
|
|
324
|
+
`DROP INDEX "public"."IDX_53e4404ae86c9de055cf1dee02"`,
|
|
325
|
+
);
|
|
326
|
+
await queryRunner.query(
|
|
327
|
+
`DROP INDEX "public"."IDX_503bb58cee6939ee45fc94f81b"`,
|
|
328
|
+
);
|
|
329
|
+
await queryRunner.query(
|
|
330
|
+
`DROP INDEX "public"."IDX_d338133d1cae58344006229440"`,
|
|
331
|
+
);
|
|
332
|
+
await queryRunner.query(
|
|
333
|
+
`DROP INDEX "public"."IDX_e1f9a4a97270d3450a42eb12a9"`,
|
|
334
|
+
);
|
|
335
|
+
await queryRunner.query(
|
|
336
|
+
`DROP INDEX "public"."IDX_efd3d0d3702596f5f17a1dee59"`,
|
|
337
|
+
);
|
|
338
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjectiveOwnerTeam"`);
|
|
339
|
+
await queryRunner.query(
|
|
340
|
+
`DROP INDEX "public"."IDX_be7506765e639c732a90783147"`,
|
|
341
|
+
);
|
|
342
|
+
await queryRunner.query(
|
|
343
|
+
`DROP INDEX "public"."IDX_bef5294b53ff9e9ca4f5a92e3a"`,
|
|
344
|
+
);
|
|
345
|
+
await queryRunner.query(
|
|
346
|
+
`DROP INDEX "public"."IDX_4994cd04a5e4794b3d61b2e6e5"`,
|
|
347
|
+
);
|
|
348
|
+
await queryRunner.query(
|
|
349
|
+
`DROP INDEX "public"."IDX_02047e9714492b3f1c8e91b999"`,
|
|
350
|
+
);
|
|
351
|
+
await queryRunner.query(
|
|
352
|
+
`DROP INDEX "public"."IDX_32e90aa7284ccedb801fe256f1"`,
|
|
353
|
+
);
|
|
354
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjectiveOwnerUser"`);
|
|
355
|
+
await queryRunner.query(
|
|
356
|
+
`DROP INDEX "public"."IDX_f790e04533d2b79a7a27f4524b"`,
|
|
357
|
+
);
|
|
358
|
+
await queryRunner.query(
|
|
359
|
+
`DROP INDEX "public"."IDX_35186fe6e401e695917e8b361d"`,
|
|
360
|
+
);
|
|
361
|
+
await queryRunner.query(
|
|
362
|
+
`DROP INDEX "public"."IDX_d499f2cab7c1c41dc87a1c6156"`,
|
|
363
|
+
);
|
|
364
|
+
await queryRunner.query(
|
|
365
|
+
`DROP INDEX "public"."IDX_981fd1395a10cad88ffa35ebfd"`,
|
|
366
|
+
);
|
|
367
|
+
await queryRunner.query(
|
|
368
|
+
`DROP INDEX "public"."IDX_7569331f78148b6e53867aa5f7"`,
|
|
369
|
+
);
|
|
370
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjectiveBurnRateRule"`);
|
|
371
|
+
await queryRunner.query(
|
|
372
|
+
`DROP INDEX "public"."IDX_0c55b55b9cc6777e482730080b"`,
|
|
373
|
+
);
|
|
374
|
+
await queryRunner.query(
|
|
375
|
+
`DROP INDEX "public"."IDX_9ae72bfe937fb3a52bea2009d1"`,
|
|
376
|
+
);
|
|
377
|
+
await queryRunner.query(
|
|
378
|
+
`DROP INDEX "public"."IDX_3a18ae1afc837908246d716ffd"`,
|
|
379
|
+
);
|
|
380
|
+
await queryRunner.query(
|
|
381
|
+
`DROP INDEX "public"."IDX_ba02350ab59adf11ab31bfba09"`,
|
|
382
|
+
);
|
|
383
|
+
await queryRunner.query(
|
|
384
|
+
`DROP INDEX "public"."IDX_0529301be36c9c0224f721e4c3"`,
|
|
385
|
+
);
|
|
386
|
+
await queryRunner.query(
|
|
387
|
+
`DROP INDEX "public"."IDX_c46e7cd584085573c357955389"`,
|
|
388
|
+
);
|
|
389
|
+
await queryRunner.query(`DROP TABLE "ServiceLevelObjective"`);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
@@ -464,6 +464,11 @@ import { AddMarketingConversionTable1784298000000 } from "./1784298000000-AddMar
|
|
|
464
464
|
import { AddExceptionTriageAndPrivacyColumns1784640000000 } from "./1784640000000-AddExceptionTriageAndPrivacyColumns";
|
|
465
465
|
import { AddInstanceVersionAndLatestReleaseColumns1784659816363 } from "./1784659816363-AddInstanceVersionAndLatestReleaseColumns";
|
|
466
466
|
import { AddEnterpriseLicenseEvaluationColumns1784705487674 } from "./1784705487674-AddEnterpriseLicenseEvaluationColumns";
|
|
467
|
+
import { AddNetworkSiteHierarchyAndEndpoints1784757142154 } from "./1784757142154-AddNetworkSiteHierarchyAndEndpoints";
|
|
468
|
+
import { AddNetworkSiteAlerting1784897317860 } from "./1784897317860-AddNetworkSiteAlerting";
|
|
469
|
+
import { AddNetworkDevicePollingColumns1784970388777 } from "./1784970388777-AddNetworkDevicePollingColumns";
|
|
470
|
+
import { AddNetworkSiteTypeTable1784986826214 } from "./1784986826214-AddNetworkSiteTypeTable";
|
|
471
|
+
import { AddServiceLevelObjective1784987015619 } from "./1784987015619-AddServiceLevelObjective";
|
|
467
472
|
|
|
468
473
|
export default [
|
|
469
474
|
InitialMigration,
|
|
@@ -932,4 +937,9 @@ export default [
|
|
|
932
937
|
AddExceptionTriageAndPrivacyColumns1784640000000,
|
|
933
938
|
AddInstanceVersionAndLatestReleaseColumns1784659816363,
|
|
934
939
|
AddEnterpriseLicenseEvaluationColumns1784705487674,
|
|
940
|
+
AddNetworkSiteHierarchyAndEndpoints1784757142154,
|
|
941
|
+
AddNetworkSiteAlerting1784897317860,
|
|
942
|
+
AddNetworkDevicePollingColumns1784970388777,
|
|
943
|
+
AddNetworkSiteTypeTable1784986826214,
|
|
944
|
+
AddServiceLevelObjective1784987015619,
|
|
935
945
|
];
|
|
@@ -413,15 +413,23 @@ export default class AnalyticsDatabaseService<
|
|
|
413
413
|
const resultInJSON: ResponseJSON<JSONObject> =
|
|
414
414
|
await dbResult.json<JSONObject>();
|
|
415
415
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
416
|
+
/*
|
|
417
|
+
* count() is a UInt64, and whether it arrives as a JSON string or a
|
|
418
|
+
* JSON number depends on the server's
|
|
419
|
+
* output_format_json_quote_64bit_integers setting: ClickHouse
|
|
420
|
+
* quoted 64-bit integers by default until 25.x flipped the default
|
|
421
|
+
* to 0 (numbers). Accept both — a string-only check silently read
|
|
422
|
+
* every count as 0 on modern servers, which (among other things)
|
|
423
|
+
* meant telemetry monitors' Log/Span/Exception counts never crossed
|
|
424
|
+
* their criteria thresholds.
|
|
425
|
+
*/
|
|
426
|
+
const rawCount: unknown =
|
|
427
|
+
resultInJSON.data && resultInJSON.data[0]
|
|
428
|
+
? resultInJSON.data[0]["count"]
|
|
429
|
+
: undefined;
|
|
430
|
+
|
|
431
|
+
if (typeof rawCount === "string" || typeof rawCount === "number") {
|
|
432
|
+
countPositive = new PositiveNumber(rawCount);
|
|
425
433
|
}
|
|
426
434
|
} catch {
|
|
427
435
|
/*
|
|
@@ -983,7 +991,19 @@ export default class AnalyticsDatabaseService<
|
|
|
983
991
|
onBeforeFind.select = {} as any;
|
|
984
992
|
}
|
|
985
993
|
|
|
986
|
-
|
|
994
|
+
/*
|
|
995
|
+
* Derived aggregate targets deliberately omit AnalyticsBaseModel's
|
|
996
|
+
* synthetic `_id`: the aggregation key is the row identity. Only force
|
|
997
|
+
* `_id` into generic reads when the model actually declares it.
|
|
998
|
+
*/
|
|
999
|
+
if (
|
|
1000
|
+
this.model.tableColumns.some(
|
|
1001
|
+
(column: AnalyticsTableColumn): boolean => {
|
|
1002
|
+
return column.key === "_id";
|
|
1003
|
+
},
|
|
1004
|
+
) &&
|
|
1005
|
+
!(onBeforeFind.select as any)["_id"]
|
|
1006
|
+
) {
|
|
987
1007
|
(onBeforeFind.select as any)["_id"] = true;
|
|
988
1008
|
}
|
|
989
1009
|
|
|
@@ -1284,8 +1304,16 @@ export default class AnalyticsDatabaseService<
|
|
|
1284
1304
|
const select: { statement: Statement; columns: Array<string> } =
|
|
1285
1305
|
this.statementGenerator.toAggregateSelectStatement(aggregateBy);
|
|
1286
1306
|
|
|
1307
|
+
/*
|
|
1308
|
+
* The aggregate SELECT aliases expressions to real column names
|
|
1309
|
+
* (`sum(col) as col`, and `min(ts) as ts` under Total), so the WHERE
|
|
1310
|
+
* must table-qualify its column references — unqualified ones would
|
|
1311
|
+
* resolve to those aliases (ILLEGAL_AGGREGATION under Total; bucket-
|
|
1312
|
+
* snapped time filters otherwise). See toWhereStatement.
|
|
1313
|
+
*/
|
|
1287
1314
|
const whereStatement: Statement = this.statementGenerator.toWhereStatement(
|
|
1288
1315
|
aggregateBy.query,
|
|
1316
|
+
{ tableAlias: this.model.tableName },
|
|
1289
1317
|
);
|
|
1290
1318
|
|
|
1291
1319
|
const sortStatement: Statement = this.statementGenerator.toSortStatement(
|
package/Server/Services/Index.ts
CHANGED
|
@@ -44,6 +44,12 @@ import NetworkDeviceOwnerRuleService from "./NetworkDeviceOwnerRuleService";
|
|
|
44
44
|
import NetworkDeviceLabelRuleService from "./NetworkDeviceLabelRuleService";
|
|
45
45
|
import NetworkDeviceDiscoveryScanService from "./NetworkDeviceDiscoveryScanService";
|
|
46
46
|
import NetworkInterfaceService from "./NetworkInterfaceService";
|
|
47
|
+
import NetworkSiteService from "./NetworkSiteService";
|
|
48
|
+
import NetworkSiteTypeService from "./NetworkSiteTypeService";
|
|
49
|
+
import NetworkEndpointService from "./NetworkEndpointService";
|
|
50
|
+
import NetworkSiteStatusTimelineService from "./NetworkSiteStatusTimelineService";
|
|
51
|
+
import NetworkSiteLinkService from "./NetworkSiteLinkService";
|
|
52
|
+
import NetworkSiteAssignmentRuleService from "./NetworkSiteAssignmentRuleService";
|
|
47
53
|
import PodmanHostService from "./PodmanHostService";
|
|
48
54
|
import ProxmoxClusterService from "./ProxmoxClusterService";
|
|
49
55
|
import DockerSwarmClusterService from "./DockerSwarmClusterService";
|
|
@@ -201,6 +207,7 @@ import TelemetryExceptionService from "./TelemetryExceptionService";
|
|
|
201
207
|
import TelemetryEntityService from "./TelemetryEntityService";
|
|
202
208
|
import TelemetryEntityRelationshipService from "./TelemetryEntityRelationshipService";
|
|
203
209
|
import ExceptionInstanceService from "./ExceptionInstanceService";
|
|
210
|
+
import KubernetesCostAllocationService from "./KubernetesCostAllocationService";
|
|
204
211
|
import ScheduledMaintenanceTemplateService from "./ScheduledMaintenanceTemplateService";
|
|
205
212
|
import ScheduledMaintenanceTemplateOwnerTeamService from "./ScheduledMaintenanceTemplateOwnerTeamService";
|
|
206
213
|
import ScheduledMaintenanceTemplateOwnerUserService from "./ScheduledMaintenanceTemplateOwnerUserService";
|
|
@@ -238,6 +245,11 @@ import IncidentEpisodePublicNoteService from "./IncidentEpisodePublicNoteService
|
|
|
238
245
|
import AlertGroupingRuleService from "./AlertGroupingRuleService";
|
|
239
246
|
import IncidentSlaRuleService from "./IncidentSlaRuleService";
|
|
240
247
|
import IncidentSlaService from "./IncidentSlaService";
|
|
248
|
+
import ServiceLevelObjectiveService from "./ServiceLevelObjectiveService";
|
|
249
|
+
import ServiceLevelObjectiveBurnRateRuleService from "./ServiceLevelObjectiveBurnRateRuleService";
|
|
250
|
+
import ServiceLevelObjectiveOwnerUserService from "./ServiceLevelObjectiveOwnerUserService";
|
|
251
|
+
import ServiceLevelObjectiveOwnerTeamService from "./ServiceLevelObjectiveOwnerTeamService";
|
|
252
|
+
import SloHistoryService from "./SloHistoryService";
|
|
241
253
|
import IncidentReminderRuleService from "./IncidentReminderRuleService";
|
|
242
254
|
import AlertReminderRuleService from "./AlertReminderRuleService";
|
|
243
255
|
import ScheduledMaintenanceReminderRuleService from "./ScheduledMaintenanceReminderRuleService";
|
|
@@ -322,6 +334,12 @@ const services: Array<BaseService> = [
|
|
|
322
334
|
NetworkDeviceLabelRuleService,
|
|
323
335
|
NetworkDeviceDiscoveryScanService,
|
|
324
336
|
NetworkInterfaceService,
|
|
337
|
+
NetworkSiteService,
|
|
338
|
+
NetworkSiteTypeService,
|
|
339
|
+
NetworkEndpointService,
|
|
340
|
+
NetworkSiteStatusTimelineService,
|
|
341
|
+
NetworkSiteLinkService,
|
|
342
|
+
NetworkSiteAssignmentRuleService,
|
|
325
343
|
PodmanHostService,
|
|
326
344
|
ProxmoxClusterService,
|
|
327
345
|
DockerSwarmClusterService,
|
|
@@ -506,6 +524,10 @@ const services: Array<BaseService> = [
|
|
|
506
524
|
AlertGroupingRuleService,
|
|
507
525
|
IncidentSlaRuleService,
|
|
508
526
|
IncidentSlaService,
|
|
527
|
+
ServiceLevelObjectiveService,
|
|
528
|
+
ServiceLevelObjectiveBurnRateRuleService,
|
|
529
|
+
ServiceLevelObjectiveOwnerUserService,
|
|
530
|
+
ServiceLevelObjectiveOwnerTeamService,
|
|
509
531
|
IncidentReminderRuleService,
|
|
510
532
|
AlertReminderRuleService,
|
|
511
533
|
ScheduledMaintenanceReminderRuleService,
|
|
@@ -531,6 +553,7 @@ export const AnalyticsServices: Array<
|
|
|
531
553
|
SpanService,
|
|
532
554
|
MetricService,
|
|
533
555
|
MutableMetricService,
|
|
556
|
+
SloHistoryService,
|
|
534
557
|
/*
|
|
535
558
|
* Materialized-view target tables. The auto-create flow runs
|
|
536
559
|
* `CREATE TABLE IF NOT EXISTS` for these, idempotent with the legacy
|
|
@@ -543,6 +566,7 @@ export const AnalyticsServices: Array<
|
|
|
543
566
|
MetricItemAggMV1mByContainerService,
|
|
544
567
|
MetricBaselineService,
|
|
545
568
|
ExceptionInstanceService,
|
|
569
|
+
KubernetesCostAllocationService,
|
|
546
570
|
MonitorLogService,
|
|
547
571
|
NetworkFlowService,
|
|
548
572
|
ProfileService,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import ClickhouseDatabase from "../Infrastructure/ClickhouseDatabase";
|
|
2
|
+
import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
|
|
3
|
+
import KubernetesCostAllocation from "../../Models/AnalyticsModels/KubernetesCostAllocation";
|
|
4
|
+
|
|
5
|
+
export class KubernetesCostAllocationService extends AnalyticsDatabaseService<KubernetesCostAllocation> {
|
|
6
|
+
public constructor(clickhouseDatabase?: ClickhouseDatabase | undefined) {
|
|
7
|
+
super({
|
|
8
|
+
modelType: KubernetesCostAllocation,
|
|
9
|
+
database: clickhouseDatabase,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default new KubernetesCostAllocationService();
|
|
@@ -1429,8 +1429,18 @@ export class MetricService extends AnalyticsDatabaseService<Metric> {
|
|
|
1429
1429
|
}
|
|
1430
1430
|
}
|
|
1431
1431
|
|
|
1432
|
+
/*
|
|
1433
|
+
* The SELECT below aliases aggregates to real column names
|
|
1434
|
+
* (`<agg> as value`, `min(time) as time` under Total). In the
|
|
1435
|
+
* non-subquery form the WHERE sits at the same level, so its column
|
|
1436
|
+
* references must be table-qualified or ClickHouse resolves them to
|
|
1437
|
+
* those aliases (ILLEGAL_AGGREGATION under Total). Both forms read
|
|
1438
|
+
* FROM this model's table, so the table name is a valid qualifier
|
|
1439
|
+
* in either.
|
|
1440
|
+
*/
|
|
1432
1441
|
const whereStatement: Statement = this.statementGenerator.toWhereStatement(
|
|
1433
1442
|
aggregateBy.query,
|
|
1443
|
+
{ tableAlias: this.model.tableName },
|
|
1434
1444
|
);
|
|
1435
1445
|
const sortStatement: Statement = this.statementGenerator.toSortStatement(
|
|
1436
1446
|
aggregateBy.sort!,
|
|
@@ -1636,8 +1646,17 @@ export class MetricService extends AnalyticsDatabaseService<Metric> {
|
|
|
1636
1646
|
this.statementGenerator.toWhereStatement(
|
|
1637
1647
|
this.getMutableMetricInnerQuery(aggregateBy.query),
|
|
1638
1648
|
);
|
|
1649
|
+
/*
|
|
1650
|
+
* The outer SELECT aliases aggregates to real column names
|
|
1651
|
+
* (`<agg> as value`, `min(time) as time` under Total) at the same
|
|
1652
|
+
* level as this WHERE, so its column references must be qualified
|
|
1653
|
+
* with the dedup subquery's alias — unqualified ones would resolve
|
|
1654
|
+
* to those aliases (ILLEGAL_AGGREGATION under Total).
|
|
1655
|
+
*/
|
|
1639
1656
|
const outerWhereStatement: Statement =
|
|
1640
|
-
this.statementGenerator.toWhereStatement(aggregateBy.query
|
|
1657
|
+
this.statementGenerator.toWhereStatement(aggregateBy.query, {
|
|
1658
|
+
tableAlias: "mutable_metric_latest",
|
|
1659
|
+
});
|
|
1641
1660
|
const sortStatement: Statement = this.statementGenerator.toSortStatement(
|
|
1642
1661
|
aggregateBy.sort!,
|
|
1643
1662
|
);
|
|
@@ -1703,7 +1722,7 @@ export class MetricService extends AnalyticsDatabaseService<Metric> {
|
|
|
1703
1722
|
primaryEntityId,
|
|
1704
1723
|
primaryEntityType,
|
|
1705
1724
|
metricPointId
|
|
1706
|
-
)
|
|
1725
|
+
) AS mutable_metric_latest
|
|
1707
1726
|
WHERE isDeleted = false
|
|
1708
1727
|
`,
|
|
1709
1728
|
)
|