@oneuptime/common 11.0.1 → 11.0.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/DatabaseModels/Alert.ts +110 -0
- package/Models/DatabaseModels/CephCluster.ts +964 -0
- package/Models/DatabaseModels/CephClusterLabelRule.ts +514 -0
- package/Models/DatabaseModels/CephClusterOwnerRule.ts +596 -0
- package/Models/DatabaseModels/CephClusterOwnerTeam.ts +487 -0
- package/Models/DatabaseModels/CephClusterOwnerUser.ts +486 -0
- package/Models/DatabaseModels/CephResource.ts +809 -0
- package/Models/DatabaseModels/Host.ts +64 -0
- package/Models/DatabaseModels/Incident.ts +110 -0
- package/Models/DatabaseModels/Index.ts +24 -0
- package/Models/DatabaseModels/ProxmoxCluster.ts +943 -0
- package/Models/DatabaseModels/ProxmoxClusterLabelRule.ts +514 -0
- package/Models/DatabaseModels/ProxmoxClusterOwnerRule.ts +596 -0
- package/Models/DatabaseModels/ProxmoxClusterOwnerTeam.ts +487 -0
- package/Models/DatabaseModels/ProxmoxClusterOwnerUser.ts +486 -0
- package/Models/DatabaseModels/ProxmoxResource.ts +726 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +110 -0
- package/Server/API/BillingInvoiceAPI.ts +47 -7
- package/Server/API/CephResourceAPI.ts +134 -0
- package/Server/API/DashboardAPI.ts +46 -0
- package/Server/API/ProjectAPI.ts +15 -0
- package/Server/API/ProxmoxResourceAPI.ts +132 -0
- package/Server/API/ResellerPlanAPI.ts +17 -0
- package/Server/Infrastructure/GlobalCache.ts +8 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.ts +163 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.ts +211 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.ts +590 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.ts +64 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Infrastructure/Redis.ts +40 -12
- package/Server/Services/AnalyticsDatabaseService.ts +1 -1
- package/Server/Services/BillingService.ts +109 -21
- package/Server/Services/CephClusterLabelRuleEngineService.ts +200 -0
- package/Server/Services/CephClusterLabelRuleService.ts +14 -0
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +218 -0
- package/Server/Services/CephClusterOwnerRuleService.ts +14 -0
- package/Server/Services/CephClusterOwnerTeamService.ts +10 -0
- package/Server/Services/CephClusterOwnerUserService.ts +10 -0
- package/Server/Services/CephClusterService.ts +401 -0
- package/Server/Services/CephResourceService.ts +383 -0
- package/Server/Services/CloudResourceService.ts +11 -3
- package/Server/Services/DockerHostService.ts +11 -3
- package/Server/Services/ExceptionAggregationService.ts +2 -0
- package/Server/Services/HostService.ts +11 -3
- package/Server/Services/Index.ts +24 -0
- package/Server/Services/KubernetesClusterService.ts +11 -3
- package/Server/Services/LogAggregationService.ts +2 -0
- package/Server/Services/MetricAggregationService.ts +2 -0
- package/Server/Services/OpenTelemetryIngestService.ts +36 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +204 -0
- package/Server/Services/ProxmoxClusterLabelRuleService.ts +14 -0
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +222 -0
- package/Server/Services/ProxmoxClusterOwnerRuleService.ts +14 -0
- package/Server/Services/ProxmoxClusterOwnerTeamService.ts +10 -0
- package/Server/Services/ProxmoxClusterOwnerUserService.ts +10 -0
- package/Server/Services/ProxmoxClusterService.ts +382 -0
- package/Server/Services/ProxmoxResourceService.ts +404 -0
- package/Server/Services/RumApplicationService.ts +11 -3
- package/Server/Services/ServerlessFunctionService.ts +11 -3
- package/Server/Services/TelemetryUsageBillingService.ts +41 -3
- package/Server/Services/TraceAggregationService.ts +2 -0
- package/Server/Types/AnalyticsDatabase/AggregateBy.ts +8 -23
- package/Server/Utils/Monitor/MonitorAlert.ts +45 -0
- package/Server/Utils/Monitor/MonitorClusterContext.ts +129 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +344 -4
- package/Server/Utils/Monitor/MonitorIncident.ts +130 -7
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +39 -6
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +3 -1
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +33 -0
- package/Server/Utils/Profiling.ts +37 -2
- package/Server/Utils/Telemetry/EntityRegistry.ts +4 -0
- package/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.ts +1096 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +85 -0
- package/Server/Utils/Telemetry.ts +8 -19
- package/Tests/Server/API/BillingInvoiceAPI.test.ts +194 -0
- package/Tests/Server/API/ProjectAPI.test.ts +91 -0
- package/Tests/Server/API/ResellerPlanAPI.test.ts +207 -0
- package/Tests/Server/Infrastructure/GlobalCache.test.ts +100 -0
- package/Tests/Server/Services/BillingService.test.ts +323 -0
- package/Tests/Server/Services/CephResourceService.test.ts +264 -0
- package/Tests/Server/Services/ProxmoxResourceService.test.ts +326 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +322 -0
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +13 -0
- package/Tests/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.test.ts +879 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +196 -0
- package/Tests/Types/Monitor/CephAlertTemplates.test.ts +1231 -0
- package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +732 -0
- package/Tests/Utils/Telemetry/EntityRelationship.test.ts +49 -0
- package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +423 -0
- package/Types/BaseDatabase/AggregationIntervalUtil.ts +74 -0
- package/Types/Dashboard/DashboardComponentType.ts +4 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
- package/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.ts +15 -0
- package/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.ts +14 -0
- package/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.ts +17 -0
- package/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.ts +16 -0
- package/Types/Dashboard/DashboardTemplates.ts +446 -0
- package/Types/Icon/IconProp.ts +2 -0
- package/Types/Monitor/CephAlertTemplates.ts +1647 -0
- package/Types/Monitor/CephMetricCatalog.ts +409 -0
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +44 -0
- package/Types/Monitor/MonitorStep.ts +64 -0
- package/Types/Monitor/MonitorStepCephMonitor.ts +57 -0
- package/Types/Monitor/MonitorStepProxmoxMonitor.ts +81 -0
- package/Types/Monitor/MonitorType.ts +29 -1
- package/Types/Monitor/ProxmoxAlertTemplates.ts +899 -0
- package/Types/Monitor/ProxmoxMetricCatalog.ts +382 -0
- package/Types/Permission.ts +464 -0
- package/Types/Telemetry/EntityType.ts +11 -0
- package/Types/Telemetry/ServiceType.ts +2 -0
- package/UI/Components/Icon/Icon.tsx +84 -0
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +9 -5
- package/UI/Utils/Telemetry/Telemetry.ts +16 -21
- package/UI/Utils/TelemetryService.ts +7 -3
- package/Utils/Dashboard/Components/DashboardCephOsdListComponent.ts +63 -0
- package/Utils/Dashboard/Components/DashboardCephPoolListComponent.ts +32 -0
- package/Utils/Dashboard/Components/DashboardCephResourceListShared.ts +61 -0
- package/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.ts +69 -0
- package/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.ts +55 -0
- package/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.ts +61 -0
- package/Utils/Dashboard/Components/Index.ts +28 -0
- package/Utils/Telemetry/EntityKey.ts +35 -0
- package/Utils/Telemetry/EntityRelationship.ts +6 -0
- package/Utils/Telemetry/HeartbeatAvailability.ts +262 -0
- package/build/dist/Models/DatabaseModels/Alert.js +108 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CephCluster.js +992 -0
- package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CephResource.js +846 -0
- package/build/dist/Models/DatabaseModels/CephResource.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Host.js +63 -0
- package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +108 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +24 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +967 -0
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxResource.js +761 -0
- package/build/dist/Models/DatabaseModels/ProxmoxResource.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +108 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/API/BillingInvoiceAPI.js +35 -5
- package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
- package/build/dist/Server/API/CephResourceAPI.js +98 -0
- package/build/dist/Server/API/CephResourceAPI.js.map +1 -0
- package/build/dist/Server/API/DashboardAPI.js +46 -0
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/ProjectAPI.js +11 -0
- package/build/dist/Server/API/ProjectAPI.js.map +1 -1
- package/build/dist/Server/API/ProxmoxResourceAPI.js +95 -0
- package/build/dist/Server/API/ProxmoxResourceAPI.js.map +1 -0
- package/build/dist/Server/API/ResellerPlanAPI.js +17 -3
- package/build/dist/Server/API/ResellerPlanAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/GlobalCache.js +7 -2
- package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js +76 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js +108 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js +253 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js +43 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/Redis.js +31 -8
- package/build/dist/Server/Infrastructure/Redis.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/BillingService.js +85 -23
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +166 -0
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterLabelRuleService.js +13 -0
- package/build/dist/Server/Services/CephClusterLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +186 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterOwnerUserService.js +9 -0
- package/build/dist/Server/Services/CephClusterOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterService.js +353 -0
- package/build/dist/Server/Services/CephClusterService.js.map +1 -0
- package/build/dist/Server/Services/CephResourceService.js +257 -0
- package/build/dist/Server/Services/CephResourceService.js.map +1 -0
- package/build/dist/Server/Services/CloudResourceService.js +10 -2
- package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostService.js +10 -2
- package/build/dist/Server/Services/DockerHostService.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +2 -0
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/HostService.js +10 -2
- package/build/dist/Server/Services/HostService.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/KubernetesClusterService.js +10 -2
- package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +2 -0
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +2 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +37 -7
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +166 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js +13 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +186 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js +9 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterService.js +337 -0
- package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxResourceService.js +285 -0
- package/build/dist/Server/Services/ProxmoxResourceService.js.map +1 -0
- package/build/dist/Server/Services/RumApplicationService.js +10 -2
- package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionService.js +10 -2
- package/build/dist/Server/Services/ServerlessFunctionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +30 -3
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +2 -0
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +8 -25
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +36 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +90 -0
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +228 -4
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +103 -8
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +23 -6
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +3 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +23 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Profiling.js +24 -3
- package/build/dist/Server/Utils/Profiling.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js +854 -0
- package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +62 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry.js +8 -10
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +69 -0
- package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +394 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Icon/IconProp.js +2 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/CephAlertTemplates.js +1379 -0
- package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/CephMetricCatalog.js +353 -0
- package/build/dist/Types/Monitor/CephMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStep.js +46 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepCephMonitor.js +34 -0
- package/build/dist/Types/Monitor/MonitorStepCephMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js +36 -0
- package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +27 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +743 -0
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js +320 -0
- package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js.map +1 -0
- package/build/dist/Types/Permission.js +408 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityType.js +11 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +2 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +33 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +5 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Utils/Telemetry/Telemetry.js +11 -10
- package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/UI/Utils/TelemetryService.js +5 -2
- package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js +50 -0
- package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js +27 -0
- package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js +46 -0
- package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js +55 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js +42 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js +46 -0
- package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityKey.js +27 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityRelationship.js +3 -0
- package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
- package/build/dist/Utils/Telemetry/HeartbeatAvailability.js +174 -0
- package/build/dist/Utils/Telemetry/HeartbeatAvailability.js.map +1 -0
- package/package.json +29 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardAPI.js","sourceRoot":"","sources":["../../../../Server/API/DashboardAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DashboardAPI.js","sourceRoot":"","sources":["../../../../Server/API/DashboardAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,gBAEN,MAAM,8BAA8B,CAAC;AACtC,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,EAAE,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAOtE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yCAAyC,EAAE,MAAM,sCAAsC,CAAC;AAGjG,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,aAAa,MAAM,qCAAqC,CAAC;AAIhE,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAC5D,OAAO,KAAK,MAAM,mCAAmC,CAAC;AACtD,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,IAAI,MAAM,kCAAkC,CAAC;AACpD,OAAO,kBAAkB,MAAM,gDAAgD,CAAC;AAChF,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAChE,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAC1E,OAAO,YAAY,MAAM,0CAA0C,CAAC;AACpE,OAAO,IAAI,MAAM,mCAAmC,CAAC;AACrD,OAAO,GAAG,MAAM,kCAAkC,CAAC;AACnD,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAkBhD,MAAM,gCAAgC,GAAW,GAAG,CAAC;AAErD,MAAM,0BAA0B,GAG5B;IACF,QAAQ,EAAE;QACR,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YACjD,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAC9C;KACF;IACD,KAAK,EAAE;QACL,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC9C,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAC3C;KACF;IACD,OAAO,EAAE;QACP,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SAClD;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,IAAI;YACzB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,IAAI;SACjB;KACF;IACD,qBAAqB,EAAE;QACrB,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI;YACvB,wBAAwB,EAAE,IAAI;YAC9B,qBAAqB,EAAE,IAAI;YAC3B,yBAAyB,EAAE,IAAI;YAC/B,UAAU,EAAE,IAAI;YAChB,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAClC;KACF;IACD,aAAa,EAAE;QACb,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAChB;KACF;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3B;KACF;IACD,cAAc,EAAE;QACd,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3B;KACF;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3B;KACF;IACD,eAAe,EAAE;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3B;KACF;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,IAAI;YACtB,mBAAmB,EAAE,IAAI;YACzB,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC/B;KACF;IACD,eAAe,EAAE;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE;YACN,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC5B;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,eAAe,EAAE,IAAI;SACtB;KACF;IACD,GAAG,EAAE;QACH,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,IAAI;YACV,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAGzC;IACC;;QACE,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEnC,mDAAmD;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,2BAA2B,EACzC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;YACtE,IAAI,CAAC;gBACH,MAAM,mBAAmB,GAAW,GAAG,CAAC,MAAM,CAC5C,qBAAqB,CACZ,CAAC;gBAEZ,IAAI,WAAW,GAAoB,IAAI,CAAC;gBAExC,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,6CAA6C;oBAC7C,MAAM,eAAe,GACnB,MAAM,sBAAsB,CAAC,SAAS,CAAC;wBACrC,KAAK,EAAE;4BACL,UAAU,EAAE,mBAAmB;4BAC/B,MAAM,EAAE;gCACN,UAAU,EAAE,IAAI;6BACV;yBACT;wBACD,MAAM,EAAE;4BACN,WAAW,EAAE,IAAI;yBAClB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEL,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;wBACrD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAC7C,CAAC;oBACJ,CAAC;oBAED,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,WAAW,GAAG,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CACV,GAAG,EACH,2BAA2B,CAAC,GAAuB,CAAC,CACrD,CAAC;wBACF,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAC7C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;wBACjB,SAAS,EAAE,IAAI;wBACf,eAAe,EAAE,IAAI;qBACtB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAC7C,CAAC;gBACJ,CAAC;gBAED,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,GAAG,EAAE,CAAA,MAAA,SAAS,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;oBACpC,KAAK,EAAE,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW;oBAC3D,WAAW,EACT,SAAS,CAAC,eAAe;wBACzB,SAAS,CAAC,WAAW;wBACrB,sCAAsC;iBACzC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,0CAAE,QAAQ,EAAE,SAAS,EAC9D,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,MAAM,GAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC;gBAEpD,MAAM,eAAe,GACnB,MAAM,sBAAsB,CAAC,SAAS,CAAC;oBACrC,KAAK,EAAE;wBACL,UAAU,EAAE,MAAM;wBAClB,MAAM,EAAE;4BACN,UAAU,EAAE,IAAI;yBACV;qBACT;oBACD,MAAM,EAAE;wBACN,WAAW,EAAE,IAAI;qBAClB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,QAAQ,GAAa,eAAe,CAAC,WAAY,CAAC;gBAExD,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,mEAAmE;QACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,wBAAwB,EACtC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;YACtE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;wBACjB,iBAAiB,EAAE,IAAI;wBACvB,oBAAoB,EAAE,IAAI;wBAC1B,SAAS,EAAE,IAAI;wBACf,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE;4BACR,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,IAAI;yBACf;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,IAAI;yBACf;qBACF;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,GAAG,EAAE,CAAA,MAAA,SAAS,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;oBACpC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,WAAW;oBACnC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE;oBACxC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,KAAK;oBACvD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,KAAK;oBAC7D,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;oBACpC,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,EAAE;oBAChD,QAAQ,EAAE,YAAY,CAAC,yBAAyB,CAC9C,SAAS,CAAC,QAAQ,CACnB;oBACD,WAAW,EAAE,YAAY,CAAC,yBAAyB,CACjD,SAAS,CAAC,WAAW,CACtB;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,oFAAoF;QACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,2BAA2B,EACzC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;YACtE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,0EAA0E;gBAC1E,MAAM,YAAY,GAGd,MAAM,gBAAgB,CAAC,aAAa,CAAC;oBACvC,WAAW;oBACX,GAAG;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,CACJ,YAAY,CAAC,KAAK;wBAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CACzD,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;wBACjB,mBAAmB,EAAE,IAAI;wBACzB,SAAS,EAAE,IAAI;wBACf,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE;4BACR,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,IAAI;yBACf;qBACF;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,GAAG,EAAE,CAAA,MAAA,SAAS,CAAC,GAAG,0CAAE,QAAQ,EAAE,KAAI,EAAE;oBACpC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,WAAW;oBACnC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE;oBACxC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;oBACpC,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,EAAE;oBAChD,QAAQ,EAAE,YAAY,CAAC,yBAAyB,CAC9C,SAAS,CAAC,QAAQ,CACnB;oBACD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;wBAChD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,mBAA0B,CAAC;wBAC/D,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;;;WAQG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,gCAAgC,EAC9C,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,MAAM,YAAY,GAGd,MAAM,gBAAgB,CAAC,aAAa,CAAC;oBACvC,WAAW;oBACX,GAAG;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,CACJ,YAAY,CAAC,KAAK;wBAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CACzD,CAAC;gBACJ,CAAC;gBAED,MAAM,YAAY,GAChB,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAY,CAAC;gBAEnD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;gBAC1D,CAAC;gBAED,MAAM,gBAAgB,GACpB,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAI,CAAC,eAAe,CAAY,CAAC;gBACpD,IAAI,aAAa,GAAkB,aAAa,CAAC,MAAM,CAAC;gBACxD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,CAAC,aAAa,CAC5B,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBAC1B,CAAC,CAAE,gBAAkC;wBACrC,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,KAAK,EAAE,CAAC;wBACV,aAAa,GAAG,KAAK,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;qBAChB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED,MAAM,MAAM,GACV,MAAM,yBAAyB,CAAC,oBAAoB,CAAC;oBACnD,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,aAAa;oBACb,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;iBAClC,CAAC,CAAC;gBAEL,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;;;;;WAUG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,4BAA4B,EAC1C,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,MAAM,YAAY,GAGd,MAAM,gBAAgB,CAAC,aAAa,CAAC;oBACvC,WAAW;oBACX,GAAG;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,CACJ,YAAY,CAAC,KAAK;wBAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CACzD,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,mBAAmB,EAAE,IAAI;qBAC1B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED;;;;mBAIG;gBACH,MAAM,kBAAkB,GACtB,YAAY,CAAC,2BAA2B,CACtC,SAAS,CAAC,mBAAmB,CAC9B,CAAC;gBAEJ,IAAI,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClC,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;wBAC/C,WAAW,EAAE,EAAE;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,WAAW,GAAsB,MAAM,iBAAiB,CAAC,MAAM,CACnE;oBACE,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS,CAAC,SAAS;qBAC/B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,IAAI;qBACX;oBACD,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS,CAAC,SAAS;qBAC1B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CACF,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,WAAW,EAAE,WAAW;yBACrB,MAAM,CAAC,CAAC,UAAsB,EAAE,EAAE;wBACjC,OAAO,OAAO,CACZ,UAAU,CAAC,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAC3D,CAAC;oBACJ,CAAC,CAAC;yBACD,GAAG,CAAC,CAAC,UAAsB,EAAE,EAAE;wBAC9B,OAAO;4BACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;4BAC3B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;yBAC5B,CAAC;oBACJ,CAAC,CAAC;iBACL,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;;;;WASG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,iCAAiC,EAC/C,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,MAAM,YAAY,GAGd,MAAM,gBAAgB,CAAC,aAAa,CAAC;oBACvC,WAAW;oBACX,GAAG;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,CACJ,YAAY,CAAC,KAAK;wBAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CACzD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,mBAAmB,EAAE,IAAI;qBAC1B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED,MAAM,WAAW,mCACX,aAAa,CAAC,WAAW,CAC3B,GAAG,CAAC,IAAI,CAAC,aAAa,CAAe,CACH;oBACpC;;;uBAGG;oBACH,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb,GACF,CAAC;gBAEF;;;;;;mBAMG;gBACH,MAAM,kBAAkB,GACtB,YAAY,CAAC,2BAA2B,CACtC,SAAS,CAAC,mBAAmB,CAC9B,CAAC;gBACJ,MAAM,mBAAmB,GAAY,WAAW,CAAC,KAAK;oBACpD,CAAC,CAAE,WAAW,CAAC,KAAiC,CAAC,MAAM,CAAC;oBACxD,CAAC,CAAC,SAAS,CAAC;gBAEd,IACE,OAAO,mBAAmB,KAAK,QAAQ;oBACvC,CAAC,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC5C,CAAC;oBACD,MAAM,IAAI,gBAAgB,CACxB,4CAA4C,CAC7C,CAAC;gBACJ,CAAC;gBAED;;;;mBAIG;gBACH,WAAW,CAAC,KAAK,mCACZ,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,KAC5B,SAAS,EAAE,SAAS,CAAC,SAAS,GAC/B,CAAC;gBAEF,MAAM,eAAe,GACnB,MAAM,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAE/C,MAAM,YAAY,qBACZ,eAAyC,CAC9C,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;;;;WASG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,2CAA2C,EACzD,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,YAAY,GAAW,GAAG,CAAC,MAAM,CAAC,cAAc,CAAW,CAAC;gBAClE,MAAM,MAAM,GACV,0BAA0B,CAAC,YAAY,CAAC,CAAC;gBAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,YAAY,EAAE,CACvD,CAAC;gBACJ,CAAC;gBAED,MAAM,YAAY,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,+BAA+B,EAC7C,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;gBACvD,CAAC;gBAED,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;gBAEF,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAY,CAAC;gBAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,SAAS,GACb,MAAM,gBAAgB,CAAC,WAAW,CAAC;oBACjC,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,oBAAoB,EAAE,IAAI;wBAC1B,cAAc,EAAE,IAAI;wBACpB,iBAAiB,EAAE,IAAI;qBACxB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;oBACjC,MAAM,IAAI,gBAAgB,CACxB,4CAA4C,CAC7C,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;oBACjE,MAAM,IAAI,gBAAgB,CACxB,6DAA6D,CAC9D,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAW,MAAM,YAAY,CAAC,SAAS,CACtD,QAAQ,EACR,gBAAgB,CACjB,CAAC;gBAEF,IAAI,WAAW,KAAK,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACxD,MAAM,IAAI,gBAAgB,CACxB,yCAAyC,CAC1C,CAAC;gBACJ,CAAC;gBAED,UAAU,CAAC,gCAAgC,CAAC;oBAC1C,eAAe,EAAE,GAAG;oBACpB,WAAW;iBACZ,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,2BAA2B,CACxC,mBAA4B;QAE5B,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAU,CAAC;QAEnD,MAAM,IAAI,GAA4B,CAAC,IAAa,EAAQ,EAAE;YAC5D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAA4B,IAA+B,CAAC;YAErE,MAAM,UAAU,GAAY,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE1B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAI5C;QACC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAElC,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAW,CACpC,CAAC;QAEF,MAAM,YAAY,GAGd,MAAM,gBAAgB,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,CACJ,YAAY,CAAC,KAAK;gBAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAqB,MAAM,gBAAgB,CAAC,WAAW,CAAC;YACrE,EAAE,EAAE,WAAW;YACf,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GACT,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAE,aAAa,CAAC,WAAW,CACxB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAe,CACjB;YAClB,CAAC,CAAC,EAAE,CAAC;QAET;;;WAGG;QACF,KAAiC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;QAEtE,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAE,aAAa,CAAC,WAAW,CACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAe,CAChB;YAClB,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,cAAc,GAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC;YAC5C,CAAC,CAAC,gCAAgC,CAAC;QACrC,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAC5B,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC;YACnD,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,gCAAgC,EACpC,iBAAiB,CAClB,CAAC;QAEF,MAAM,aAAa,GAAW,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAW,EAAE,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,IAAI,GACR,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,MAAM,IAAI,GACR,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEL,OAAO,QAAQ,CAAC,uBAAuB,CACrC,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,SAAS,CACjB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,yBAAyB,CACtC,IAAS;QAET,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAc,CAAC;QACnB,MAAM,UAAU,GAAQ,IAAI,CAAC,IAAI,CAAC;QAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,IACL,UAAU;YACV,OAAO,UAAU,KAAK,QAAQ;YAC9B,UAAU,CAAC,KAAK;YAChB,UAAU,CAAC,KAAK,CAAC,IAAI,EACrB,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,WAAW;SACnD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -26,6 +26,17 @@ export default class ProjectAPI extends BaseAPI {
|
|
|
26
26
|
throw new BadDataException("Billing is not enabled for this server");
|
|
27
27
|
}
|
|
28
28
|
const projectId = new ObjectID(req.params["id"]);
|
|
29
|
+
/*
|
|
30
|
+
* The permission check below is bound to the authenticated tenant
|
|
31
|
+
* (resolved from the tenantid header), so the project being
|
|
32
|
+
* mutated must be that same tenant — otherwise permissions on one
|
|
33
|
+
* project would authorize changing the plan (and charging the
|
|
34
|
+
* payment method) of another.
|
|
35
|
+
*/
|
|
36
|
+
const tenantId = this.getTenantId(req);
|
|
37
|
+
if (!tenantId || tenantId.toString() !== projectId.toString()) {
|
|
38
|
+
throw new BadDataException("Project ID in the URL does not match the project the request is authenticated for");
|
|
39
|
+
}
|
|
29
40
|
const body = req.body || {};
|
|
30
41
|
const data = body["data"] || {};
|
|
31
42
|
const paymentProviderPlanId = data["paymentProviderPlanId"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectAPI.js","sourceRoot":"","sources":["../../../../Server/API/ProjectAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectAPI.js","sourceRoot":"","sources":["../../../../Server/API/ProjectAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,cAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAQxD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAG1D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,UAA8B,MAAM,wBAAwB,CAAC;AACpE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAoC;IAC1E;;QACE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,0CAAE,QAAQ,EAAE,kBAAkB,EACvE,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,CACzC,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GAAa,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAW,CAAC,CAAC;gBAErE;;;;;;mBAMG;gBACH,MAAM,QAAQ,GAAoB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAExD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9D,MAAM,IAAI,gBAAgB,CACxB,mFAAmF,CACpF,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAgB,GAAG,CAAC,IAAmB,IAAI,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAgB,IAAI,CAAC,MAAM,CAAgB,IAAI,EAAE,CAAC;gBAC5D,MAAM,qBAAqB,GAAuB,IAAI,CACpD,uBAAuB,CACF,CAAC;gBAExB,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC3B,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;gBACnE,CAAC;gBAED,qEAAqE;gBACrE,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;oBAC/D,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE;wBACN,yBAAyB,EAAE,IAAI;qBAChC;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBAClD,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;oBACvC,MAAM,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,iBAAiB,GACrB,MAAM,cAAc,CAAC,iBAAiB,CACpC,OAAO,CAAC,yBAAyB,CAClC,CAAC;gBAEJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,gBAAgB,CACxB,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAC1C,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAE1C,MAAM,oBAAoB,GACxB,WAAW,CAAC,MAAM,CAAC,CAAC,UAA0B,EAAE,EAAE;oBAChD,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;wBAC9B,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE;wBACpC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;4BAC9B,UAAU,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAC7C,CAAC;gBACJ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEhB,IACE,CAAC,oBAAoB;oBACrB,CAAC,CAAA,MAAC,GAAwB,CAAC,iBAAiB,0CAAE,aAAa,CAAA,EAC3D,CAAC;oBACD,MAAM,IAAI,gBAAgB,CACxB,YAAY,UAAU,CAAC,YAAY,OAAO,UAAU,CAAC,oBAAoB,oCAAoC,CAC9G,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,CAAC,UAAU,CAAC;oBAC9B,SAAS,EAAE,SAAS;oBACpB,qBAAqB,EAAE,qBAAqB;iBAC7C,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;WAGG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,qBAAqB,EACnC,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,CAAA,MAAC,GAAwB,CAAC,iBAAiB,0CAAE,MAAM,CAAA,EAAE,CAAC;oBACzD,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,CAC9C,CAAC;gBACJ,CAAC;gBAED,MAAM,aAAa,GAAoB;oBACrC,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,IAAI;oBACjB,qBAAqB,EAAE,IAAI;oBAC3B,UAAU,EAAE,IAAI;oBAChB,iCAAiC,EAAE,IAAI;oBACvC,wCAAwC,EAAE,IAAI;oBAC9C,iCAAiC,EAAE,IAAI;iBACxC,CAAC;gBAEF,MAAM,WAAW,GAAsB,MAAM,iBAAiB,CAAC,MAAM,CACnE;oBACE,KAAK,EAAE;wBACL,MAAM,EAAG,GAAwB,CAAC,iBAAkB,CAAC,MAAO;wBAC5D,qBAAqB,EAAE,IAAI;qBAC5B;oBACD,MAAM,EAAE;wBACN,OAAO,EAAE,aAAa;qBACvB;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CACF,CAAC;gBAEF,MAAM,QAAQ,GAAmB,EAAE,CAAC;gBAEpC,kGAAkG;gBAElG,IACE,gBAAgB;qBAChB,MAAC,GAAwB,CAAC,iBAAiB,0CAAE,aAAa,CAAA,EAC1D,CAAC;oBACD,MAAM,uBAAuB,GAC3B,MAAM,cAAc,CAAC,MAAM,CAAC;wBAC1B,KAAK,EAAE;4BACL,+BAA+B,EAAE,IAAI;yBACtC;wBACD,MAAM,EAAE,aAAa;wBACrB,KAAK,EAAE,iBAAiB;wBACxB,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEL,KAAK,MAAM,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;wBAC7D,IAAI,CAAC,sBAAsB,EAAE,CAAC;4BAC5B,SAAS;wBACX,CAAC;wBAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;4BAChC,SAAS;wBACX,CAAC;wBAED,IACE,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;;4BACtC,OAAO,CACL,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,EAAE;iCACvB,MAAA,sBAAuB,CAAC,GAAG,0CAAE,QAAQ,EAAE,CAAA,CACxC,CAAC;wBACJ,CAAC,CAAC,KAAK,CAAC,CAAC,EACT,CAAC;4BACD,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxB,SAAS;oBACX,CAAC;oBAED,IACE,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;;wBACtC,OAAO,CACL,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,EAAE;6BACvB,MAAA,UAAU,CAAC,OAAQ,CAAC,GAAG,0CAAE,QAAQ,EAAE,CAAA,CACpC,CAAC;oBACJ,CAAC,CAAC,KAAK,CAAC,CAAC,EACT,CAAC;wBACD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAQ,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED;;;mBAGG;gBACH,MAAM,WAAW,GAAoB,EAAE,CAAC;gBACxC,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAU,CAAC;gBACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IACE,OAAO,CAAC,UAAU;wBAClB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EACnD,CAAC;wBACD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACnD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,SAAS,GAAoB,MAAM,eAAe,CAAC,MAAM,CAAC;wBAC9D,KAAK,EAAE;4BACL,GAAG,EAAE,WAAW,CAAC,GAAG,CAClB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE;gCAC/B,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;4BACvB,CAAC,CAAC,CACH;yBACF;wBACD,MAAM,EAAE;4BACN,GAAG,EAAE,IAAI;4BACT,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,KAAK,EAAE,iBAAiB;wBACxB,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEH,MAAM,aAAa,GAA0B,IAAI,GAAG,EAGjD,CAAC;oBACJ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;4BACjB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;oBAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;4BACvB,MAAM,QAAQ,GAAyB,aAAa,CAAC,GAAG,CACtD,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC9B,CAAC;4BACF,IAAI,QAAQ,EAAE,CAAC;gCACb,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BAC9B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,QAAQ,CAAC,uBAAuB,CACrC,GAAG,EACH,GAAG,EACH,QAAQ,EACR,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EACnC,OAAO,CACR,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import ProxmoxResource from "../../Models/DatabaseModels/ProxmoxResource";
|
|
2
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
3
|
+
import ObjectID from "../../Types/ObjectID";
|
|
4
|
+
import ProxmoxResourceService from "../Services/ProxmoxResourceService";
|
|
5
|
+
import ProxmoxClusterService from "../Services/ProxmoxClusterService";
|
|
6
|
+
import UserMiddleware from "../Middleware/UserAuthorization";
|
|
7
|
+
import Response from "../Utils/Response";
|
|
8
|
+
import BaseAPI from "./BaseAPI";
|
|
9
|
+
import CommonAPI from "./CommonAPI";
|
|
10
|
+
import NotFoundException from "../../Types/Exception/NotFoundException";
|
|
11
|
+
/*
|
|
12
|
+
* ------------------------------------------------------------------
|
|
13
|
+
* ProxmoxResourceAPI
|
|
14
|
+
*
|
|
15
|
+
* Augments the auto-generated CRUD router with a single custom
|
|
16
|
+
* endpoint the Proxmox layout/overview pages use to fetch sidebar
|
|
17
|
+
* badge counts in one round-trip:
|
|
18
|
+
*
|
|
19
|
+
* POST /proxmox-resource/inventory-summary/:clusterId
|
|
20
|
+
*
|
|
21
|
+
* The standard CRUD endpoints (list / get) are still registered by
|
|
22
|
+
* BaseAPI; the UI uses them via ModelAPI for list/detail reads.
|
|
23
|
+
* Write endpoints reject (@TableAccessControl create/update/delete
|
|
24
|
+
* = []); ingest writes go through ProxmoxResourceService as root.
|
|
25
|
+
* ------------------------------------------------------------------
|
|
26
|
+
*/
|
|
27
|
+
export default class ProxmoxResourceAPI extends BaseAPI {
|
|
28
|
+
constructor() {
|
|
29
|
+
var _a;
|
|
30
|
+
super(ProxmoxResource, ProxmoxResourceService);
|
|
31
|
+
this.router.post(`${(_a = new this.entityType()
|
|
32
|
+
.getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/inventory-summary/:clusterId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
33
|
+
try {
|
|
34
|
+
await this.getInventorySummary(req, res);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
next(err);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/*
|
|
42
|
+
* Cluster + auth resolution for the cluster-scoped sub-route.
|
|
43
|
+
* Returns the (projectId, proxmoxClusterId) tuple after enforcing
|
|
44
|
+
* the standard ACL chain. Throws NotFound when the cluster is
|
|
45
|
+
* missing or the caller lacks read access (indistinguishable on
|
|
46
|
+
* purpose).
|
|
47
|
+
*/
|
|
48
|
+
async resolveClusterForRequest(req) {
|
|
49
|
+
const clusterIdParam = req.params["clusterId"];
|
|
50
|
+
if (!clusterIdParam) {
|
|
51
|
+
throw new BadDataException("Cluster ID is required");
|
|
52
|
+
}
|
|
53
|
+
let proxmoxClusterId;
|
|
54
|
+
try {
|
|
55
|
+
proxmoxClusterId = new ObjectID(clusterIdParam);
|
|
56
|
+
}
|
|
57
|
+
catch (_a) {
|
|
58
|
+
throw new BadDataException("Invalid Cluster ID");
|
|
59
|
+
}
|
|
60
|
+
const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
|
|
61
|
+
const cluster = await ProxmoxClusterService.findOneById({
|
|
62
|
+
id: proxmoxClusterId,
|
|
63
|
+
select: {
|
|
64
|
+
_id: true,
|
|
65
|
+
projectId: true,
|
|
66
|
+
},
|
|
67
|
+
props,
|
|
68
|
+
});
|
|
69
|
+
if (!cluster || !cluster.projectId) {
|
|
70
|
+
throw new NotFoundException("Proxmox Cluster not found");
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
projectId: cluster.projectId,
|
|
74
|
+
proxmoxClusterId,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
async getInventorySummary(req, res) {
|
|
78
|
+
const { projectId, proxmoxClusterId } = await this.resolveClusterForRequest(req);
|
|
79
|
+
const summary = await this.service.getInventorySummary({
|
|
80
|
+
projectId,
|
|
81
|
+
proxmoxClusterId,
|
|
82
|
+
});
|
|
83
|
+
const responseBody = {
|
|
84
|
+
countsByKind: summary.countsByKind,
|
|
85
|
+
// Convenience fields so the UI doesn't have to repeat COALESCE:
|
|
86
|
+
nodeCount: summary.countsByKind["Node"] || 0,
|
|
87
|
+
guestCount: summary.countsByKind["Guest"] || 0,
|
|
88
|
+
storageCount: summary.countsByKind["Storage"] || 0,
|
|
89
|
+
nodeOnlineCount: summary.nodeOnlineCount,
|
|
90
|
+
guestRunningCount: summary.guestRunningCount,
|
|
91
|
+
};
|
|
92
|
+
return Response.sendJsonObjectResponse(req, res, responseBody);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ProxmoxResourceAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxmoxResourceAPI.js","sourceRoot":"","sources":["../../../../Server/API/ProxmoxResourceAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
22
22
|
*/
|
|
23
23
|
this.router.post(`${(_a = new this.entityType()
|
|
24
24
|
.getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/action/:resellerId`, BearerTokenAuthorization.isAuthorizedBearerToken, async (req, res, next) => {
|
|
25
|
-
var _a, _b, _c, _d, _e;
|
|
25
|
+
var _a, _b, _c, _d, _e, _f;
|
|
26
26
|
try {
|
|
27
27
|
const resellerId = req.params["resellerId"];
|
|
28
28
|
if (!resellerId) {
|
|
@@ -49,6 +49,7 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
49
49
|
_id: true,
|
|
50
50
|
planId: true,
|
|
51
51
|
reseller: {
|
|
52
|
+
_id: true,
|
|
52
53
|
resellerId: true,
|
|
53
54
|
},
|
|
54
55
|
teamMemberLimit: true,
|
|
@@ -65,6 +66,10 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
65
66
|
if (((_c = resellerPlan.reseller) === null || _c === void 0 ? void 0 : _c.resellerId) !== resellerId) {
|
|
66
67
|
throw new BadDataException("This plan does not belong to reseller: " + resellerId);
|
|
67
68
|
}
|
|
69
|
+
const resellerObjectId = ((_d = resellerPlan.reseller) === null || _d === void 0 ? void 0 : _d.id) || undefined;
|
|
70
|
+
if (!resellerObjectId) {
|
|
71
|
+
throw new BadDataException("Invalid reseller plan id.");
|
|
72
|
+
}
|
|
68
73
|
const licenseKey = req.body.uuid;
|
|
69
74
|
if (!licenseKey) {
|
|
70
75
|
throw new BadDataException("Invalid license key.");
|
|
@@ -79,7 +84,7 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
79
84
|
durationInMonths: 12 * 20, // 20 years.
|
|
80
85
|
metadata: {
|
|
81
86
|
licenseKey: licenseKey || "",
|
|
82
|
-
resellerPlanId: ((
|
|
87
|
+
resellerPlanId: ((_e = resellerPlan === null || resellerPlan === void 0 ? void 0 : resellerPlan.id) === null || _e === void 0 ? void 0 : _e.toString()) || "",
|
|
83
88
|
},
|
|
84
89
|
});
|
|
85
90
|
// save this in promocode table.
|
|
@@ -117,6 +122,12 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
117
122
|
const project = await ProjectService.findOneBy({
|
|
118
123
|
query: {
|
|
119
124
|
resellerLicenseId: licenseKey,
|
|
125
|
+
/*
|
|
126
|
+
* license keys are not globally unique — scope to the
|
|
127
|
+
* authenticated reseller so one reseller cannot modify
|
|
128
|
+
* another reseller's customer project.
|
|
129
|
+
*/
|
|
130
|
+
resellerId: resellerObjectId,
|
|
120
131
|
},
|
|
121
132
|
select: {
|
|
122
133
|
_id: true,
|
|
@@ -151,6 +162,8 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
151
162
|
const project = await ProjectService.findOneBy({
|
|
152
163
|
query: {
|
|
153
164
|
resellerLicenseId: licenseKey,
|
|
165
|
+
// scope to the authenticated reseller — see enhance_tier.
|
|
166
|
+
resellerId: resellerObjectId,
|
|
154
167
|
},
|
|
155
168
|
select: {
|
|
156
169
|
_id: true,
|
|
@@ -168,7 +181,8 @@ export default class ResellerPlanAPI extends BaseAPI {
|
|
|
168
181
|
await ProjectService.deleteOneBy({
|
|
169
182
|
query: {
|
|
170
183
|
resellerLicenseId: licenseKey,
|
|
171
|
-
|
|
184
|
+
resellerId: resellerObjectId,
|
|
185
|
+
_id: (_f = project.id) === null || _f === void 0 ? void 0 : _f.toString(),
|
|
172
186
|
},
|
|
173
187
|
props: {
|
|
174
188
|
isRoot: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResellerPlanAPI.js","sourceRoot":"","sources":["../../../../Server/API/ResellerPlanAPI.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ResellerPlanAPI.js","sourceRoot":"","sources":["../../../../Server/API/ResellerPlanAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,9 +92,14 @@ export default class GlobalCache {
|
|
|
92
92
|
if (!client || !Redis.isConnected()) {
|
|
93
93
|
throw new DatabaseNotConnectedException("Cache is not connected");
|
|
94
94
|
}
|
|
95
|
-
await client.set(`${namespace}-${key}`, value);
|
|
96
95
|
const expiresInSeconds = (_a = options === null || options === void 0 ? void 0 : options.expiresInSeconds) !== null && _a !== void 0 ? _a : OneUptimeDate.getSecondsInDays(30);
|
|
97
|
-
|
|
96
|
+
/*
|
|
97
|
+
* Atomic SET ... EX — a separate SET followed by EXPIRE can crash
|
|
98
|
+
* in between and leave the key with no TTL. For fence / throttle
|
|
99
|
+
* keys (e.g. otel-maintenance-fence) a TTL-less key never expires
|
|
100
|
+
* and permanently suppresses the work it gates.
|
|
101
|
+
*/
|
|
102
|
+
await client.set(`${namespace}-${key}`, value, "EX", expiresInSeconds);
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalCache.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/GlobalCache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GlobalCache.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/GlobalCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Proxmox + Ceph monitoring products (Internal/Roadmap/ProxmoxCephProducts.md):
|
|
3
|
+
* one table per product, cloned from the DockerHost shape. A row per
|
|
4
|
+
* monitored cluster, auto-discovered at OTel ingest from the
|
|
5
|
+
* `proxmox.cluster.name` / `ceph.cluster.name` resource attributes (the
|
|
6
|
+
* `name` column is the join key — unlike DockerHost there is no separate
|
|
7
|
+
* identifier column) or manually registered. Columns/indexes/FKs are derived
|
|
8
|
+
* from the model decorators in Common/Models/DatabaseModels/ProxmoxCluster.ts
|
|
9
|
+
* and CephCluster.ts.
|
|
10
|
+
*/
|
|
11
|
+
export class AddProxmoxAndCephClusterTables1781500000000 {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.name = "AddProxmoxAndCephClusterTables1781500000000";
|
|
14
|
+
}
|
|
15
|
+
async up(queryRunner) {
|
|
16
|
+
// Proxmox cluster table.
|
|
17
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxCluster" ("_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, "slug" character varying(100) NOT NULL, "description" character varying(500), "otelCollectorStatus" character varying(100) DEFAULT 'disconnected', "agentVersion" character varying(100), "pveVersion" character varying(500), "lastSeenAt" TIMESTAMP WITH TIME ZONE, "nodeCount" integer DEFAULT '0', "guestCount" integer DEFAULT '0', "storageCount" integer DEFAULT '0', "retainTelemetryDataForDays" integer, "telemetryRetentionConfig" jsonb, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_proxmox_cluster_id" PRIMARY KEY ("_id"))`);
|
|
18
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_projectId" ON "ProxmoxCluster" ("projectId")`);
|
|
19
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_name" ON "ProxmoxCluster" ("name")`);
|
|
20
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_proxmox_cluster_slug" ON "ProxmoxCluster" ("slug")`);
|
|
21
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" ADD CONSTRAINT "FK_proxmox_cluster_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
22
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" ADD CONSTRAINT "FK_proxmox_cluster_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
23
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" ADD CONSTRAINT "FK_proxmox_cluster_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
24
|
+
// Proxmox cluster label join table.
|
|
25
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterLabel" ("proxmoxClusterId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_proxmox_cluster_label" PRIMARY KEY ("proxmoxClusterId", "labelId"))`);
|
|
26
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_label_proxmoxClusterId" ON "ProxmoxClusterLabel" ("proxmoxClusterId")`);
|
|
27
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_label_labelId" ON "ProxmoxClusterLabel" ("labelId")`);
|
|
28
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabel" ADD CONSTRAINT "FK_proxmox_cluster_label_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
29
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabel" ADD CONSTRAINT "FK_proxmox_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
30
|
+
// Ceph cluster table.
|
|
31
|
+
await queryRunner.query(`CREATE TABLE "CephCluster" ("_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, "slug" character varying(100) NOT NULL, "description" character varying(500), "fsid" character varying(100), "otelCollectorStatus" character varying(100) DEFAULT 'disconnected', "agentVersion" character varying(100), "cephVersion" character varying(500), "lastSeenAt" TIMESTAMP WITH TIME ZONE, "monCount" integer DEFAULT '0', "osdCount" integer DEFAULT '0', "poolCount" integer DEFAULT '0', "retainTelemetryDataForDays" integer, "telemetryRetentionConfig" jsonb, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_ceph_cluster_id" PRIMARY KEY ("_id"))`);
|
|
32
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_projectId" ON "CephCluster" ("projectId")`);
|
|
33
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_name" ON "CephCluster" ("name")`);
|
|
34
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ceph_cluster_slug" ON "CephCluster" ("slug")`);
|
|
35
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD CONSTRAINT "FK_ceph_cluster_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
36
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD CONSTRAINT "FK_ceph_cluster_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
37
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD CONSTRAINT "FK_ceph_cluster_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
38
|
+
// Ceph cluster label join table.
|
|
39
|
+
await queryRunner.query(`CREATE TABLE "CephClusterLabel" ("cephClusterId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_ceph_cluster_label" PRIMARY KEY ("cephClusterId", "labelId"))`);
|
|
40
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_label_cephClusterId" ON "CephClusterLabel" ("cephClusterId")`);
|
|
41
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_label_labelId" ON "CephClusterLabel" ("labelId")`);
|
|
42
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabel" ADD CONSTRAINT "FK_ceph_cluster_label_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
43
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabel" ADD CONSTRAINT "FK_ceph_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
44
|
+
}
|
|
45
|
+
async down(queryRunner) {
|
|
46
|
+
// Ceph cluster label join table.
|
|
47
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabel" DROP CONSTRAINT "FK_ceph_cluster_label_labelId"`);
|
|
48
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabel" DROP CONSTRAINT "FK_ceph_cluster_label_cephClusterId"`);
|
|
49
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_label_labelId"`);
|
|
50
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_label_cephClusterId"`);
|
|
51
|
+
await queryRunner.query(`DROP TABLE "CephClusterLabel"`);
|
|
52
|
+
// Ceph cluster table.
|
|
53
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP CONSTRAINT "FK_ceph_cluster_deletedByUserId"`);
|
|
54
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP CONSTRAINT "FK_ceph_cluster_createdByUserId"`);
|
|
55
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP CONSTRAINT "FK_ceph_cluster_projectId"`);
|
|
56
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_slug"`);
|
|
57
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_name"`);
|
|
58
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_projectId"`);
|
|
59
|
+
await queryRunner.query(`DROP TABLE "CephCluster"`);
|
|
60
|
+
// Proxmox cluster label join table.
|
|
61
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabel" DROP CONSTRAINT "FK_proxmox_cluster_label_labelId"`);
|
|
62
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabel" DROP CONSTRAINT "FK_proxmox_cluster_label_proxmoxClusterId"`);
|
|
63
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_label_labelId"`);
|
|
64
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_label_proxmoxClusterId"`);
|
|
65
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterLabel"`);
|
|
66
|
+
// Proxmox cluster table.
|
|
67
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" DROP CONSTRAINT "FK_proxmox_cluster_deletedByUserId"`);
|
|
68
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" DROP CONSTRAINT "FK_proxmox_cluster_createdByUserId"`);
|
|
69
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" DROP CONSTRAINT "FK_proxmox_cluster_projectId"`);
|
|
70
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_slug"`);
|
|
71
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_name"`);
|
|
72
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_projectId"`);
|
|
73
|
+
await queryRunner.query(`DROP TABLE "ProxmoxCluster"`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=1781500000000-AddProxmoxAndCephClusterTables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1781500000000-AddProxmoxAndCephClusterTables.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Proxmox + Ceph V2 (Internal/Roadmap/ProxmoxCephProductsV2.md):
|
|
3
|
+
*
|
|
4
|
+
* 1. WI-3 snapshot columns — ProxmoxCluster.onlineNodeCount and
|
|
5
|
+
* CephCluster.healthStatus (0 = OK / 1 = WARN / 2 = ERR), osdUpCount,
|
|
6
|
+
* osdInCount, capacityUsedPercent. Written by the metrics-ingest
|
|
7
|
+
* snapshot scan via updateLastSeen extras so list pages never hit
|
|
8
|
+
* ClickHouse.
|
|
9
|
+
*
|
|
10
|
+
* 2. WI-2 race defense — DB-level unique indexes on (projectId, name)
|
|
11
|
+
* for both cluster tables. The v1 migration (1781500000000) only
|
|
12
|
+
* created the app-level @UniqueColumnBy check plus a non-unique name
|
|
13
|
+
* index; without the DB index, concurrent find-or-create at ingest
|
|
14
|
+
* (multiple agent pods) can insert duplicate rows — the exact bug the
|
|
15
|
+
* KubernetesCluster dedupe migration (1776881254913) had to clean up.
|
|
16
|
+
* Both migrations ship in the same release and the v1 tables cannot
|
|
17
|
+
* have accumulated duplicates between them, so no dedupe step is
|
|
18
|
+
* needed here.
|
|
19
|
+
*
|
|
20
|
+
* 3. WI-6 child-resource inventory tables — ProxmoxResource and
|
|
21
|
+
* CephResource, cloned from the KubernetesResource shape (unique
|
|
22
|
+
* identity index, denormalized latest-metric columns, not
|
|
23
|
+
* user-writable). externalId is the pve `id` label (node/pve1,
|
|
24
|
+
* qemu/100, storage/local) or the ceph_daemon / pool_id label.
|
|
25
|
+
*
|
|
26
|
+
* 4. WI-17 — nullable Host.proxmoxClusterId FK (SET NULL), the
|
|
27
|
+
* guest-VM → Host cross-link, cloned from Host.kubernetesClusterId.
|
|
28
|
+
*
|
|
29
|
+
* Columns/indexes/FKs are derived from the model decorators in
|
|
30
|
+
* Common/Models/DatabaseModels/{ProxmoxCluster,CephCluster,
|
|
31
|
+
* ProxmoxResource,CephResource,Host}.ts.
|
|
32
|
+
*/
|
|
33
|
+
export class AddProxmoxCephV2Columns1781600000000 {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.name = "AddProxmoxCephV2Columns1781600000000";
|
|
36
|
+
}
|
|
37
|
+
async up(queryRunner) {
|
|
38
|
+
// WI-3: snapshot columns on the cluster tables.
|
|
39
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" ADD "onlineNodeCount" integer DEFAULT '0'`);
|
|
40
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "osdUpCount" integer DEFAULT '0'`);
|
|
41
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "osdInCount" integer DEFAULT '0'`);
|
|
42
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "healthStatus" integer`);
|
|
43
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "capacityUsedPercent" numeric`);
|
|
44
|
+
/*
|
|
45
|
+
* WI-2: DB-level unique indexes (the concurrent find-or-create race
|
|
46
|
+
* defense — see file comment).
|
|
47
|
+
*/
|
|
48
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_proxmox_cluster_projectId_name" ON "ProxmoxCluster" ("projectId", "name")`);
|
|
49
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ceph_cluster_projectId_name" ON "CephCluster" ("projectId", "name")`);
|
|
50
|
+
// WI-6: Proxmox resource inventory table.
|
|
51
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxResource" ("_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, "proxmoxClusterId" uuid NOT NULL, "kind" character varying(100) NOT NULL, "externalId" character varying(100) NOT NULL, "name" character varying(100), "vmid" integer, "guestType" character varying(100), "parentNodeName" character varying(100), "isUp" boolean, "haState" character varying(100), "onboot" boolean, "uptimeSeconds" integer, "latestCpuPercent" numeric, "latestMemoryBytes" bigint, "maxMemoryBytes" bigint, "latestMemoryPercent" numeric, "latestDiskBytes" bigint, "maxDiskBytes" bigint, "metricsUpdatedAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_proxmox_resource_id" PRIMARY KEY ("_id"))`);
|
|
52
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_resource_projectId" ON "ProxmoxResource" ("projectId")`);
|
|
53
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_resource_proxmoxClusterId" ON "ProxmoxResource" ("proxmoxClusterId")`);
|
|
54
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_proxmox_resource_identity" ON "ProxmoxResource" ("projectId", "proxmoxClusterId", "kind", "externalId")`);
|
|
55
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
56
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
57
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
58
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
59
|
+
// WI-6: Ceph resource inventory table.
|
|
60
|
+
await queryRunner.query(`CREATE TABLE "CephResource" ("_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, "cephClusterId" uuid NOT NULL, "kind" character varying(100) NOT NULL, "externalId" character varying(100) NOT NULL, "name" character varying(100), "hostname" character varying(100), "daemonVersion" character varying(100), "deviceClass" character varying(100), "isUp" boolean, "isIn" boolean, "inQuorum" boolean, "statBytes" bigint, "statBytesUsed" bigint, "applyLatencyMs" numeric, "commitLatencyMs" numeric, "pgCount" integer, "storedBytes" bigint, "maxAvailBytes" bigint, "objects" bigint, "readOpsCounter" bigint, "writeOpsCounter" bigint, "metricsUpdatedAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_ceph_resource_id" PRIMARY KEY ("_id"))`);
|
|
61
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_resource_projectId" ON "CephResource" ("projectId")`);
|
|
62
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_resource_cephClusterId" ON "CephResource" ("cephClusterId")`);
|
|
63
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ceph_resource_identity" ON "CephResource" ("projectId", "cephClusterId", "kind", "externalId")`);
|
|
64
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
65
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
66
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
67
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
68
|
+
/*
|
|
69
|
+
* WI-17: optional Host -> ProxmoxCluster cross-link (guest VMs running
|
|
70
|
+
* the host agent). Mirrors Host.kubernetesClusterId: SET NULL, no index.
|
|
71
|
+
*/
|
|
72
|
+
await queryRunner.query(`ALTER TABLE "Host" ADD "proxmoxClusterId" uuid`);
|
|
73
|
+
await queryRunner.query(`ALTER TABLE "Host" ADD CONSTRAINT "FK_host_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
74
|
+
}
|
|
75
|
+
async down(queryRunner) {
|
|
76
|
+
// WI-17: Host cross-link.
|
|
77
|
+
await queryRunner.query(`ALTER TABLE "Host" DROP CONSTRAINT "FK_host_proxmoxClusterId"`);
|
|
78
|
+
await queryRunner.query(`ALTER TABLE "Host" DROP COLUMN "proxmoxClusterId"`);
|
|
79
|
+
// WI-6: Ceph resource inventory table.
|
|
80
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_deletedByUserId"`);
|
|
81
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_createdByUserId"`);
|
|
82
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_cephClusterId"`);
|
|
83
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_projectId"`);
|
|
84
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_identity"`);
|
|
85
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_cephClusterId"`);
|
|
86
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_projectId"`);
|
|
87
|
+
await queryRunner.query(`DROP TABLE "CephResource"`);
|
|
88
|
+
// WI-6: Proxmox resource inventory table.
|
|
89
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_deletedByUserId"`);
|
|
90
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_createdByUserId"`);
|
|
91
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_proxmoxClusterId"`);
|
|
92
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_projectId"`);
|
|
93
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_identity"`);
|
|
94
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_proxmoxClusterId"`);
|
|
95
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_projectId"`);
|
|
96
|
+
await queryRunner.query(`DROP TABLE "ProxmoxResource"`);
|
|
97
|
+
// WI-2: unique indexes.
|
|
98
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_projectId_name"`);
|
|
99
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_projectId_name"`);
|
|
100
|
+
// WI-3: snapshot columns.
|
|
101
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "capacityUsedPercent"`);
|
|
102
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "healthStatus"`);
|
|
103
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "osdInCount"`);
|
|
104
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "osdUpCount"`);
|
|
105
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" DROP COLUMN "onlineNodeCount"`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=1781600000000-AddProxmoxCephV2Columns.js.map
|