@oneuptime/common 13.0.8 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/AuditLog.ts +23 -15
- package/Models/DatabaseModels/GlobalConfig.ts +24 -0
- package/Models/DatabaseModels/Monitor.ts +3 -2
- package/Models/DatabaseModels/MonitorTemplate.ts +2 -1
- package/Scripts/generate-service-worker.js +65 -4
- package/Server/API/BaseAPI.ts +26 -5
- package/Server/API/GlobalConfigAPI.ts +228 -462
- package/Server/API/ProjectOIDC.ts +25 -16
- package/Server/API/ProjectSSO.ts +24 -16
- package/Server/API/StatusPageAPI.ts +100 -42
- package/Server/API/TeamMemberAPI.ts +10 -1
- package/Server/Enterprise/EnterpriseEdition.ts +649 -0
- package/Server/Enterprise/EnterpriseFeature.ts +48 -0
- package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +192 -0
- package/Server/Enterprise/EnterpriseServerModule.ts +233 -0
- package/Server/EnvironmentConfig.ts +147 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
- package/Server/Middleware/UserAuthorization.ts +38 -16
- package/Server/Services/AuditLogService.ts +84 -1079
- package/Server/Services/EnterpriseLicenseService.ts +38 -0
- package/Server/Services/GlobalConfigService.ts +80 -1
- package/Server/Services/MonitorProbeService.ts +116 -20
- package/Server/Services/MonitorService.ts +56 -4
- package/Server/Services/MonitorStatusTimelineService.ts +284 -0
- package/Server/Services/MonitorTemplateService.ts +26 -0
- package/Server/Services/ProjectService.ts +284 -0
- package/Server/Services/RumSessionPinService.ts +25 -6
- package/Server/Services/StatusPagePrivateUserService.ts +7 -3
- package/Server/Services/StatusPageService.ts +78 -1
- package/Server/Services/TeamMemberService.ts +11 -0
- package/Server/Services/TeamService.ts +10 -0
- package/Server/Services/UserService.ts +10 -17
- package/Server/Types/Database/Permissions/CreatePermission.ts +15 -0
- package/Server/Types/Database/Permissions/EditionPermission.ts +208 -18
- package/Server/Types/Database/Permissions/TablePermission.ts +10 -3
- package/Server/Types/Database/Permissions/UpdatePermission.ts +29 -0
- package/Server/Types/Markdown.ts +41 -0
- package/Server/Utils/CommunityEditionSsoReport.ts +361 -0
- package/Server/Utils/EditionEnforcement.ts +233 -0
- package/Server/Utils/FrontendEnvironment.ts +41 -2
- package/Server/Utils/InstanceHealth/RedisHealth.ts +12 -277
- package/Server/Utils/Monitor/AffectedResourceList.ts +190 -0
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +10 -1
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +543 -333
- package/Server/Utils/Monitor/MonitoringIntervalValidator.ts +116 -0
- package/Server/Utils/Workspace/Slack/Slack.ts +423 -10
- package/Tests/App/Accounts/LoginPasskey.test.tsx +18 -0
- package/Tests/App/Accounts/LoginSsoEdition.test.tsx +616 -0
- package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +217 -0
- package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +357 -0
- package/Tests/App/AdminDashboard/EnterpriseLicensesShell.test.tsx +214 -0
- package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +271 -0
- package/Tests/App/AdminDashboard/HealthShells.test.tsx +659 -0
- package/Tests/App/Dashboard/AuditLogsAndComplianceShells.test.tsx +572 -0
- package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +547 -0
- package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +667 -0
- package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +319 -0
- package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +185 -0
- package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +45 -9
- package/Tests/App/Dashboard/SecurityEventDetailPanel.test.tsx +399 -0
- package/Tests/App/Dashboard/SecurityEventListRow.test.tsx +214 -0
- package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +1 -83
- package/Tests/App/Dashboard/SecurityEventsNavTabs.test.tsx +248 -0
- package/Tests/App/Dashboard/SecurityEventsViewer.test.tsx +1203 -0
- package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +11 -91
- package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +319 -0
- package/Tests/Helpers/RefreshAwareApiScan.ts +757 -0
- package/Tests/Helpers/TenantScopedRequestScan.ts +515 -0
- package/Tests/Scripts/GenerateServiceWorker.test.ts +931 -0
- package/Tests/Server/API/BaseAPICreateItemDoesNotMutateModel.test.ts +130 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +742 -497
- package/Tests/Server/API/OnCallReadinessAPI.test.ts +35 -909
- package/Tests/Server/API/SsoProviderListingsEdition.test.ts +432 -0
- package/Tests/Server/API/TeamMemberLeaveScimLockEdition.test.ts +252 -0
- package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +824 -0
- package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +643 -0
- package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +294 -0
- package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +93 -0
- package/Tests/Server/Enterprise/EnterpriseOnlyModulesLiveInEe.test.ts +582 -0
- package/Tests/Server/Enterprise/EnterpriseServerModule.test.ts +247 -0
- package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +502 -0
- package/Tests/Server/Enterprise/TestBillingFlag.ts +70 -0
- package/Tests/Server/EnvironmentConfigEnterpriseEdition.test.ts +314 -0
- package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +289 -0
- package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +5 -1
- package/Tests/Server/Middleware/UserAuthorization.test.ts +37 -2
- package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +516 -0
- package/Tests/Server/Services/AuditLogService.test.ts +460 -990
- package/Tests/Server/Services/CreateAndReadResponsesKeepIds.test.ts +263 -0
- package/Tests/Server/Services/EnterpriseLicenseServiceKeyGeneration.test.ts +151 -0
- package/Tests/Server/Services/GlobalConfigServiceLicenseColumns.test.ts +357 -0
- package/Tests/Server/Services/MonitorDestinationInfoIPv6.test.ts +101 -0
- package/Tests/Server/Services/MonitorProbeServiceIntervalScheduling.test.ts +333 -0
- package/Tests/Server/Services/MonitorStatusTimelineDailyAggregates.test.ts +303 -0
- package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +701 -0
- package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +31 -35
- package/Tests/Server/Services/ScimPushGroupsTeamLocksEdition.test.ts +431 -0
- package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +419 -0
- package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +769 -0
- package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +94 -0
- package/Tests/Server/Services/UserAuthenticationService.test.ts +35 -0
- package/Tests/Server/Services/UserServiceSeatLimit.test.ts +94 -56
- package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +1823 -0
- package/Tests/Server/Types/Markdown.test.ts +181 -0
- package/Tests/Server/Utils/CommunityEditionSsoReport.test.ts +565 -0
- package/Tests/Server/Utils/EditionEnforcement.test.ts +303 -0
- package/Tests/Server/Utils/FrontendEnvironment.test.ts +367 -0
- package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +38 -418
- package/Tests/Server/Utils/Monitor/AffectedResourceList.test.ts +518 -0
- package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +24 -4
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +934 -96
- package/Tests/Server/Utils/Monitor/MonitoringIntervalValidator.test.ts +188 -0
- package/Tests/Server/Utils/Workspace/Slack/SlackMarkdownSectionSplit.test.ts +1209 -0
- package/Tests/Types/API/HostnameFromAuthority.test.ts +20 -10
- package/Tests/Types/API/HostnameIPv6.test.ts +149 -0
- package/Tests/Types/Database/CanonicalModelInstance.test.ts +190 -0
- package/Tests/UI/Components/EditionLabelLapseCopy.ts +104 -0
- package/Tests/UI/Components/EditionLabelLicenseManagerWiring.test.tsx +254 -0
- package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +84 -178
- package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +1586 -0
- package/Tests/UI/Components/EditionLabelLicenseWritesGuard.test.tsx +157 -0
- package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +49 -2
- package/Tests/UI/Components/MarkdownConverters.test.ts +684 -0
- package/Tests/UI/Components/ModelListEmptyState.test.tsx +289 -0
- package/Tests/UI/Components/TelemetryViewer/TelemetryViewerEmptyContent.test.tsx +131 -0
- package/Tests/UI/EsbuildEnterpriseAlias.test.ts +1127 -0
- package/Tests/Utils/HostAddressUtil.test.ts +138 -0
- package/Tests/Utils/Monitor/MonitorDestinationUtil.test.ts +313 -0
- package/Tests/Utils/Monitor/MonitoringIntervalUtil.test.ts +304 -0
- package/Tests/Utils/StatusPage/UptimeDailyAggregateUtil.test.ts +248 -0
- package/Types/API/Hostname.ts +63 -16
- package/Types/Database/AccessControl/ColumnAccessControl.ts +19 -7
- package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +19 -7
- package/Types/Database/AccessControl/OwnerOnlyColumn.ts +15 -6
- package/Types/Database/CanonicalModelInstance.ts +102 -0
- package/Types/Database/TableColumn.ts +20 -6
- package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +29 -0
- package/Types/IP/IPv6.ts +6 -1
- package/Types/Monitor/MonitorStep.ts +6 -1
- package/Types/Monitor/ProxmoxAlertTemplates.ts +1 -1
- package/Types/StatusPage/UptimeDailyAggregate.ts +110 -0
- package/UI/Components/EditionLabel/EditionLabel.tsx +796 -1195
- package/UI/Components/EditionLabel/LicenseManager.ts +119 -0
- package/UI/Components/Graphs/DayUptimeGraph.tsx +123 -15
- package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
- package/UI/Components/ModelList/ModelList.tsx +11 -1
- package/UI/Components/MonitorGraphs/Uptime.tsx +69 -0
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +28 -12
- package/UI/esbuild-enterprise.js +263 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +7 -2
- package/Utils/HostAddressUtil.ts +94 -0
- package/Utils/Monitor/MonitorDestinationUtil.ts +157 -0
- package/Utils/Monitor/MonitoringIntervalUtil.ts +436 -0
- package/Utils/StatusPage/UptimeDailyAggregateUtil.ts +192 -0
- package/build/dist/Models/AnalyticsModels/AuditLog.js +23 -15
- package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +25 -0
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +2 -2
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js +2 -1
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +26 -5
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/GlobalConfigAPI.js +148 -344
- package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
- package/build/dist/Server/API/ProjectOIDC.js +24 -16
- package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
- package/build/dist/Server/API/ProjectSSO.js +24 -16
- package/build/dist/Server/API/ProjectSSO.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +93 -43
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/TeamMemberAPI.js +8 -1
- package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
- package/build/dist/Server/Enterprise/EnterpriseEdition.js +466 -0
- package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -0
- package/build/dist/Server/Enterprise/EnterpriseFeature.js +39 -0
- package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -0
- package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +70 -0
- package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js.map +1 -0
- package/build/dist/Server/Enterprise/EnterpriseServerModule.js +84 -0
- package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -0
- package/build/dist/Server/EnvironmentConfig.js +84 -2
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/UserAuthorization.js +30 -11
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/AuditLogService.js +71 -740
- package/build/dist/Server/Services/AuditLogService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +34 -0
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/GlobalConfigService.js +63 -0
- package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +90 -17
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +45 -4
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +242 -0
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +16 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +214 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RumSessionPinService.js +24 -6
- package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserService.js +7 -3
- package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +71 -0
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +10 -0
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamService.js +9 -0
- package/build/dist/Server/Services/TeamService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +10 -16
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +10 -0
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +154 -14
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js +10 -3
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +17 -0
- package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
- package/build/dist/Server/Types/Markdown.js +31 -0
- package/build/dist/Server/Types/Markdown.js.map +1 -1
- package/build/dist/Server/Utils/CommunityEditionSsoReport.js +223 -0
- package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +1 -0
- package/build/dist/Server/Utils/EditionEnforcement.js +187 -0
- package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -0
- package/build/dist/Server/Utils/FrontendEnvironment.js +31 -2
- package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -1
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +6 -193
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/AffectedResourceList.js +96 -0
- package/build/dist/Server/Utils/Monitor/AffectedResourceList.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +449 -261
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js +88 -0
- package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js +331 -11
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
- package/build/dist/Types/API/Hostname.js +59 -11
- package/build/dist/Types/API/Hostname.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +19 -7
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +19 -7
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +13 -6
- package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -1
- package/build/dist/Types/Database/CanonicalModelInstance.js +88 -0
- package/build/dist/Types/Database/CanonicalModelInstance.js.map +1 -0
- package/build/dist/Types/Database/TableColumn.js +19 -6
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +28 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js.map +1 -0
- package/build/dist/Types/IP/IPv6.js +6 -1
- package/build/dist/Types/IP/IPv6.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +5 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +1 -1
- package/build/dist/Types/StatusPage/UptimeDailyAggregate.js +32 -0
- package/build/dist/Types/StatusPage/UptimeDailyAggregate.js.map +1 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +414 -585
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/LicenseManager.js +2 -0
- package/build/dist/UI/Components/EditionLabel/LicenseManager.js.map +1 -0
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +90 -17
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
- package/build/dist/UI/Components/ModelList/ModelList.js +4 -1
- package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js +42 -1
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +2 -2
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +6 -2
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
- package/build/dist/Utils/HostAddressUtil.js +80 -0
- package/build/dist/Utils/HostAddressUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorDestinationUtil.js +127 -0
- package/build/dist/Utils/Monitor/MonitorDestinationUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js +374 -0
- package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js.map +1 -0
- package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js +148 -0
- package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js.map +1 -0
- package/jest.config.json +3 -1
- package/package.json +1 -1
- package/test-setup.sh +103 -34
- package/tsconfig.json +13 -0
- package/Server/API/EnterpriseLicenseAPI.ts +0 -925
- package/Server/API/TeamComplianceAPI.ts +0 -158
- package/Server/Middleware/SCIMAuthorization.ts +0 -141
- package/Server/Services/TeamComplianceService.ts +0 -733
- package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +0 -186
- package/Server/Utils/InstanceHealth/PostgresHealth.ts +0 -286
- package/Tests/App/AdminDashboard/EnterpriseLicenseInstanceActivity.test.tsx +0 -451
- package/Tests/App/Dashboard/AuditLogsTable.test.tsx +0 -598
- package/Tests/App/Dashboard/SecurityEventsExplorer.test.tsx +0 -761
- package/Tests/App/Dashboard/SecurityEventsSideMenu.test.tsx +0 -247
- package/Tests/App/Dashboard/SecurityEventsTableColumns.test.tsx +0 -382
- package/Tests/App/Dashboard/SecurityEventsVolumeChart.test.tsx +0 -321
- package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +0 -1851
- package/Tests/Server/Middleware/SCIMAuthorization.test.ts +0 -525
- package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +0 -1845
- package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +0 -495
- package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +0 -337
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +0 -576
- package/Tests/Utils/EnterpriseLicenseSync.test.ts +0 -568
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +0 -287
- package/Utils/EnterpriseLicense/EnterpriseLicenseSync.ts +0 -244
- package/build/dist/Server/API/EnterpriseLicenseAPI.js +0 -646
- package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +0 -1
- package/build/dist/Server/API/TeamComplianceAPI.js +0 -111
- package/build/dist/Server/API/TeamComplianceAPI.js.map +0 -1
- package/build/dist/Server/Middleware/SCIMAuthorization.js +0 -124
- package/build/dist/Server/Middleware/SCIMAuthorization.js.map +0 -1
- package/build/dist/Server/Services/TeamComplianceService.js +0 -537
- package/build/dist/Server/Services/TeamComplianceService.js.map +0 -1
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +0 -145
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +0 -1
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +0 -194
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +0 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +0 -168
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +0 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js +0 -174
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditLogService.js","sourceRoot":"","sources":["../../../../Server/Services/AuditLogService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuditLogService.js","sourceRoot":"","sources":["../../../../Server/Services/AuditLogService.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,18 @@ import OneUptimeDate from "../../Types/Date";
|
|
|
15
15
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
16
16
|
import Semaphore from "../Infrastructure/Semaphore";
|
|
17
17
|
import logger from "../Utils/Logger";
|
|
18
|
+
import crypto from "crypto";
|
|
19
|
+
/*
|
|
20
|
+
* Random bytes in a license key generated by the server: 256 bits, written as
|
|
21
|
+
* 64 hex characters (the column holds 100). Keys issued before server-side
|
|
22
|
+
* generation are browser-made UUIDs and keep working unchanged.
|
|
23
|
+
*/
|
|
24
|
+
export const ENTERPRISE_LICENSE_KEY_RANDOM_BYTES = 32;
|
|
25
|
+
export const generateEnterpriseLicenseKey = () => {
|
|
26
|
+
return crypto
|
|
27
|
+
.randomBytes(ENTERPRISE_LICENSE_KEY_RANDOM_BYTES)
|
|
28
|
+
.toString("hex");
|
|
29
|
+
};
|
|
18
30
|
export const ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_NAMESPACE = "EnterpriseLicenseService.usageAggregation";
|
|
19
31
|
export const ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_OPTIONS = Object.freeze({
|
|
20
32
|
namespace: ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_NAMESPACE,
|
|
@@ -56,6 +68,22 @@ export class Service extends DatabaseService {
|
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
70
|
}
|
|
71
|
+
/*
|
|
72
|
+
* A license created with no key (the Admin Dashboard's "leave blank to
|
|
73
|
+
* auto-generate") gets one from the server's CSPRNG here, instead of from
|
|
74
|
+
* the browser. A key typed by the admin is kept, trimmed: installations
|
|
75
|
+
* trim the key they send, so stored whitespace would make it unmatchable.
|
|
76
|
+
*/
|
|
77
|
+
async onBeforeCreate(createBy) {
|
|
78
|
+
const providedKey = typeof createBy.data.licenseKey === "string"
|
|
79
|
+
? createBy.data.licenseKey.trim()
|
|
80
|
+
: "";
|
|
81
|
+
createBy.data.licenseKey = providedKey || generateEnterpriseLicenseKey();
|
|
82
|
+
return {
|
|
83
|
+
createBy,
|
|
84
|
+
carryForward: undefined,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
59
87
|
async onCreateSuccess(_onCreate, createdItem) {
|
|
60
88
|
/*
|
|
61
89
|
* The outbound enterprise_license_issued conversion.
|
|
@@ -113,6 +141,12 @@ export class Service extends DatabaseService {
|
|
|
113
141
|
return createdItem;
|
|
114
142
|
}
|
|
115
143
|
}
|
|
144
|
+
__decorate([
|
|
145
|
+
CaptureSpan(),
|
|
146
|
+
__metadata("design:type", Function),
|
|
147
|
+
__metadata("design:paramtypes", [Object]),
|
|
148
|
+
__metadata("design:returntype", Promise)
|
|
149
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
116
150
|
__decorate([
|
|
117
151
|
CaptureSpan(),
|
|
118
152
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnterpriseLicenseService.js","sourceRoot":"","sources":["../../../../Server/Services/EnterpriseLicenseService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"EnterpriseLicenseService.js","sourceRoot":"","sources":["../../../../Server/Services/EnterpriseLicenseService.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,37 @@ import InMemoryTTLCache from "../Infrastructure/InMemoryTTLCache";
|
|
|
13
13
|
import ObjectID from "../../Types/ObjectID";
|
|
14
14
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
15
15
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
16
|
+
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
16
17
|
import TelegramVerificationToken from "../Utils/TelegramVerificationToken";
|
|
17
18
|
import GlobalCache from "../Infrastructure/GlobalCache";
|
|
19
|
+
/*
|
|
20
|
+
* The columns that hold this installation's license state and identity. They
|
|
21
|
+
* are written only by OneUptime itself - the license client (activation,
|
|
22
|
+
* refresh, the daily usage report), the first-boot stamp of the Enterprise
|
|
23
|
+
* Edition and the data migrations - and every one of those writes runs with
|
|
24
|
+
* isRoot. A master admin reaches GlobalConfig through the generic CRUD API
|
|
25
|
+
* too, and master admins bypass the (empty) column ACLs, so without this list
|
|
26
|
+
* one PUT could forge a license expiry, raise the seat limit, restart the
|
|
27
|
+
* unlicensed trial or swap the instance id an instance-bound license
|
|
28
|
+
* is checked against.
|
|
29
|
+
*
|
|
30
|
+
* enterpriseLicenseNotificationEmail and enterpriseLicenseExpiryReminderDays
|
|
31
|
+
* are deliberately NOT here: they are settings the oneuptime.com admin edits
|
|
32
|
+
* from the Admin Dashboard.
|
|
33
|
+
*/
|
|
34
|
+
export const ROOT_ONLY_LICENSE_COLUMNS = [
|
|
35
|
+
"instanceId",
|
|
36
|
+
"enterpriseCompanyName",
|
|
37
|
+
"enterpriseLicenseKey",
|
|
38
|
+
"enterpriseLicenseExpiresAt",
|
|
39
|
+
"enterpriseLicenseToken",
|
|
40
|
+
"enterpriseLicenseIsEvaluation",
|
|
41
|
+
"enterpriseLicenseUserLimit",
|
|
42
|
+
"enterpriseLicenseCurrentUserCount",
|
|
43
|
+
"enterpriseLicenseUserCountUpdatedAt",
|
|
44
|
+
"enterpriseLicenseInstances",
|
|
45
|
+
"enterpriseEditionFirstSeenAt",
|
|
46
|
+
];
|
|
18
47
|
const TELEGRAM_WEBHOOK_SECRET_CACHE_NAMESPACE = "global-config-security";
|
|
19
48
|
const TELEGRAM_WEBHOOK_SECRET_GENERATION_KEY = "telegram-webhook-secret-generation";
|
|
20
49
|
const TELEGRAM_WEBHOOK_SECRET_INITIAL_GENERATION = "initial";
|
|
@@ -145,7 +174,35 @@ export class Service extends DatabaseService {
|
|
|
145
174
|
async rotateTelegramWebhookSecretTokenGeneration() {
|
|
146
175
|
await GlobalCache.setString(TELEGRAM_WEBHOOK_SECRET_CACHE_NAMESPACE, TELEGRAM_WEBHOOK_SECRET_GENERATION_KEY, ObjectID.generate().toString());
|
|
147
176
|
}
|
|
177
|
+
/*
|
|
178
|
+
* Refuses any write to ROOT_ONLY_LICENSE_COLUMNS that does not come from
|
|
179
|
+
* OneUptime itself. An explicit null counts as a write: clearing the license
|
|
180
|
+
* token is as much a forgery as setting one.
|
|
181
|
+
*/
|
|
182
|
+
assertLicenseColumnsWrittenByRootOnly(data, props) {
|
|
183
|
+
if (props.isRoot) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const writtenColumns = ROOT_ONLY_LICENSE_COLUMNS.filter((column) => {
|
|
187
|
+
return (data[column] !== undefined);
|
|
188
|
+
}).map((column) => {
|
|
189
|
+
return column;
|
|
190
|
+
});
|
|
191
|
+
if (writtenColumns.length === 0) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
throw new NotAuthorizedException(`${writtenColumns.join(", ")} can only be changed by OneUptime itself. ` +
|
|
195
|
+
"Use the license dialog in the Admin Dashboard to activate or refresh the Enterprise license.");
|
|
196
|
+
}
|
|
197
|
+
async onBeforeCreate(createBy) {
|
|
198
|
+
this.assertLicenseColumnsWrittenByRootOnly(createBy.data, createBy.props);
|
|
199
|
+
return {
|
|
200
|
+
createBy,
|
|
201
|
+
carryForward: null,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
148
204
|
async onBeforeUpdate(updateBy) {
|
|
205
|
+
this.assertLicenseColumnsWrittenByRootOnly(updateBy.data, updateBy.props);
|
|
149
206
|
if (updateBy.data.telegramWebhookSecretToken !== undefined) {
|
|
150
207
|
const secret = updateBy.data.telegramWebhookSecretToken;
|
|
151
208
|
if (secret !== null &&
|
|
@@ -265,6 +322,12 @@ __decorate([
|
|
|
265
322
|
__metadata("design:paramtypes", []),
|
|
266
323
|
__metadata("design:returntype", Promise)
|
|
267
324
|
], Service.prototype, "getTelegramWebhookSecretToken", null);
|
|
325
|
+
__decorate([
|
|
326
|
+
CaptureSpan(),
|
|
327
|
+
__metadata("design:type", Function),
|
|
328
|
+
__metadata("design:paramtypes", [Object]),
|
|
329
|
+
__metadata("design:returntype", Promise)
|
|
330
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
268
331
|
__decorate([
|
|
269
332
|
CaptureSpan(),
|
|
270
333
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalConfigService.js","sourceRoot":"","sources":["../../../../Server/Services/GlobalConfigService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,0CAA0C,CAAC;AAC7D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,WAAW,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"GlobalConfigService.js","sourceRoot":"","sources":["../../../../Server/Services/GlobalConfigService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,0CAA0C,CAAC;AAC7D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAGzD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAElF,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAC3E,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA+B;IACnE,YAAY;IACZ,uBAAuB;IACvB,sBAAsB;IACtB,4BAA4B;IAC5B,wBAAwB;IACxB,+BAA+B;IAC/B,4BAA4B;IAC5B,mCAAmC;IACnC,qCAAqC;IACrC,4BAA4B;IAC5B,8BAA8B;CAC/B,CAAC;AAEF,MAAM,uCAAuC,GAC3C,wBAAwB,CAAC;AAC3B,MAAM,sCAAsC,GAC1C,oCAAoC,CAAC;AACvC,MAAM,0CAA0C,GAAW,SAAS,CAAC;AACrE,MAAM,qCAAqC,GAAW,oBAAoB,CAAC;AAC3E,MAAM,yCAAyC,GAAW,CAAC,CAAC;AAY5D,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IAkBjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QAlBf;;;;WAIG;QACK,4BAAuB,GAC7B,IAAI,gBAAgB,CAAC,KAAM,CAAC,CAAC;QAC/B;;;;;WAKG;QACK,mCAA8B,GAEtB,SAAS,CAAC;IAI1B,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,qBAAqB;QAChC,MAAM,GAAG,GAAW,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAwB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAY,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAM,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAGY,AAAN,KAAK,CAAC,6BAA6B;QACxC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;YACvD,MAAM,QAAQ,GACZ,IAAI,CAAC,qCAAqC,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,MAAM,GAAkB,MAAM,WAAW,CAAC,SAAS,CACvD,uCAAuC,EACvC,QAAQ,CACT,CAAC;YAEF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,KAAK,qCAAqC;oBACrD,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC;YACb,CAAC;YAED,MAAM,YAAY,GAChB,IAAI,CAAC,8BAA8B,CAAC;YAEtC;;;;eAIG;YACH,MAAM,IAAI,GACR,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,MAAK,UAAU;gBACrC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC;oBACE,UAAU;oBACV,OAAO,EAAE,IAAI,CAAC,8BAA8B,CAC1C,UAAU,EACV,QAAQ,CACT;iBACF,CAAC;YAER,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAyC,MAAM,IAAI,CAAC,OAAO,CAAC;gBAExE;;;;;mBAKG;gBACH,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT;;;mBAGG;gBACH,IAAI,IAAI,CAAC,8BAA8B,KAAK,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uCAAuC;QACnD,OAAO,CACL,CAAC,MAAM,WAAW,CAAC,SAAS,CAC1B,uCAAuC,EACvC,sCAAsC,CACvC,CAAC,IAAI,0CAA0C,CACjD,CAAC;IACJ,CAAC;IAEO,qCAAqC,CAAC,UAAkB;QAC9D,OAAO,2BAA2B,UAAU,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,UAAkB,EAClB,QAAgB;;QAEhB,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE;aAC3C;YACD,MAAM,EAAE;gBACN,0BAA0B,EAAE,IAAI;aACjC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GACT,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,0CAAE,IAAI,EAAE,KAAI,SAAS,CAAC;QAE1D;;;;;WAKG;QACH,IAAI,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,mBAAmB,EAAE,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,CAAC,SAAS,CACzB,uCAAuC,EACvC,QAAQ,EACR,KAAK,IAAI,qCAAqC,EAC9C,EAAE,gBAAgB,EAAE,yCAAyC,EAAE,CAChE,CAAC;QAEF,OAAO;YACL,KAAK;YACL,mBAAmB,EACjB,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0CAA0C;QACtD,MAAM,WAAW,CAAC,SAAS,CACzB,uCAAuC,EACvC,sCAAsC,EACtC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,qCAAqC,CAC1C,IAAa,EACb,KAAqC;QAErC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAkB,yBAAyB,CAAC,MAAM,CACpE,CAAC,MAAmB,EAAW,EAAE;YAC/B,OAAO,CACJ,IAAgC,CAAC,MAAgB,CAAC,KAAK,SAAS,CAClE,CAAC;QACJ,CAAC,CACF,CAAC,GAAG,CAAC,CAAC,MAAmB,EAAU,EAAE;YACpC,OAAO,MAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,sBAAsB,CAC9B,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C;YACtE,8FAA8F,CACjG,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,qCAAqC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1E,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,qCAAqC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,QAAQ,CAAC,IAAI,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAEjE,IACE,MAAM,KAAK,IAAI;gBACf,MAAM,KAAK,EAAE;gBACb,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EACxD,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,qHAAqH,CACtH,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;YAED;;;;;;eAMG;YACH,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,mBAAmB,GAAuB;YAC9C,uCAAuC;YACvC,gDAAgD;YAChD,8BAA8B;YAC9B,uCAAuC;YACvC,oCAAoC;SACrC,CAAC;QAEF,MAAM,uBAAuB,GAAY,mBAAmB,CAAC,IAAI,CAC/D,CAAC,GAAgB,EAAW,EAAE;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAC1C,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,OAAO;gBACL,QAAQ;gBACR,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,MAAM,aAAa,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YACvD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,8CAA8C,EAAE,IAAI;gBACpD,qCAAqC,EAAE,IAAI;gBAC3C,kCAAkC,EAAE,IAAI;aACzC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAkD,CACtE,KAAc,EACd,SAAiB,EACT,EAAE;YACV,IAAI,eAAe,GAAY,KAAK,CAAC;YAErC,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAW,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpD,eAAe;oBACb,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5D,CAAC;YAED,IACE,OAAO,eAAe,KAAK,QAAQ;gBACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACjC,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBAClC,eAAe,GAAG,CAAC;gBACnB,eAAe,GAAG,GAAG,EACrB,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,GAAG,SAAS,wCAAwC,CACrD,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC;QAEF,IACE,QAAQ,CAAC,IAAI,CAAC,8CAA8C,KAAK,SAAS,EAC1E,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,8CAA8C;gBAC1D,gBAAgB,CACd,QAAQ,CAAC,IAAI;qBACV,8CAAyD,EAC5D,4CAA4C,CAC7C,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,qCAAqC,KAAK,SAAS,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,qCAAqC,GAAG,gBAAgB,CACpE,QAAQ,CAAC,IAAI,CAAC,qCAAgD,EAC9D,mCAAmC,CACpC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,kCAAkC,KAAK,SAAS,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,kCAAkC,GAAG,gBAAgB,CACjE,QAAQ,CAAC,IAAI,CAAC,kCAA6C,EAC3D,gCAAgC,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAKX,CACZ,YAAqB,EACrB,YAAgC,EAChC,YAAoB,EACpB,SAAiB,EACT,EAAE;YACV,MAAM,KAAK,GACT,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,YAAY,CAAC;YAEnC,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,mBAAmB,CACjB,QAAQ,CAAC,IAAI,CAAC,8CAA8C,EAC5D,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,8CAA8C,EAC7D,EAAE,EACF,4CAA4C,CAC7C,CAAC;QAEF,MAAM,uBAAuB,GAAW,mBAAmB,CACzD,QAAQ,CAAC,IAAI,CAAC,qCAAqC,EACnD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,qCAAqC,EACpD,EAAE,EACF,mCAAmC,CACpC,CAAC;QAEF,MAAM,oBAAoB,GAAW,mBAAmB,CACtD,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAChD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kCAAkC,EACjD,EAAE,EACF,gCAAgC,CACjC,CAAC;QAEF,IAAI,oBAAoB,IAAI,uBAAuB,EAAE,CAAC;YACpD,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyB,EACzB,eAAgC;QAEhC,IACG,QAAQ,CAAC,QAAQ,CAAC,IAAyC;aACzD,kBAAkB,KAAK,SAAS,EACnC,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;QAED,IACG,QAAQ,CAAC,QAAQ,CAAC,IAAiD;aACjE,0BAA0B,KAAK,SAAS,EAC3C,CAAC;YACD,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAtYc;IADZ,WAAW,EAAE;;;;oDAiBb;AAGY;IADZ,WAAW,EAAE;;;;4DA+Db;AAsGwB;IADxB,WAAW,EAAE;;;;6CAUb;AAGwB;IADxB,WAAW,EAAE;;;;6CA6Kb;AAGwB;IADxB,WAAW,EAAE;;6CAGK,KAAK;;8CAiBvB;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -9,12 +9,55 @@ import MonitorService from "./MonitorService";
|
|
|
9
9
|
import ProbeService from "./ProbeService";
|
|
10
10
|
import { MonitorTypeHelper } from "../../Types/Monitor/MonitorType";
|
|
11
11
|
import CronTab from "../Utils/CronTab";
|
|
12
|
-
import logger from "../Utils/Logger";
|
|
12
|
+
import logger, { EXTERNAL_FAULT } from "../Utils/Logger";
|
|
13
13
|
import { SubscriptionStatusUtil } from "../../Types/Billing/SubscriptionStatus";
|
|
14
|
+
import MonitoringIntervalValidator from "../Utils/Monitor/MonitoringIntervalValidator";
|
|
14
15
|
export class Service extends DatabaseService {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(MonitorProbe);
|
|
17
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* The next time a monitor with this interval is due, or `fallback`.
|
|
21
|
+
*
|
|
22
|
+
* Exported on the class (and covered directly by tests) because both
|
|
23
|
+
* scheduling paths — the batch claim query and the single-monitor refresh
|
|
24
|
+
* after an edit — have to agree about what a stored interval means. They
|
|
25
|
+
* did not before: the claim query swallowed a parse failure silently and
|
|
26
|
+
* fell back to one minute, so a monitor asking for five minutes was probed
|
|
27
|
+
* four times more often than requested, indefinitely and invisibly.
|
|
28
|
+
*
|
|
29
|
+
* Order is load-bearing. cron-parser gets the RAW value first, so the
|
|
30
|
+
* thousands of rows that were always valid take a byte-identical path and
|
|
31
|
+
* anything the parser understands but our grammar does not ("@hourly") is
|
|
32
|
+
* still honoured. Only when that fails do we try to read the value as a
|
|
33
|
+
* human cadence ("5m", "Every 5 minutes"), which is what makes those rows
|
|
34
|
+
* schedule correctly on deploy — before the data migration has run, and
|
|
35
|
+
* for any row that later arrives through a hook-free write or a restore.
|
|
36
|
+
*/
|
|
37
|
+
static resolveNextPingAt(data) {
|
|
38
|
+
if (!data.monitoringInterval) {
|
|
39
|
+
return data.fallback;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
return CronTab.getNextExecutionTime(data.monitoringInterval);
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
// Not a cron expression. Try to read it as a human cadence instead.
|
|
46
|
+
}
|
|
47
|
+
const normalizedCron = MonitoringIntervalValidator.normalizeForRead(data.monitoringInterval);
|
|
48
|
+
if (normalizedCron) {
|
|
49
|
+
try {
|
|
50
|
+
return CronTab.getNextExecutionTime(normalizedCron);
|
|
51
|
+
}
|
|
52
|
+
catch (_b) {
|
|
53
|
+
// Normalizer produced something cron-parser rejects. Report it.
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (data.onUnreadable) {
|
|
57
|
+
data.onUnreadable();
|
|
58
|
+
}
|
|
59
|
+
return data.fallback;
|
|
60
|
+
}
|
|
18
61
|
async pruneStaleLastMonitoringLogEntries(data) {
|
|
19
62
|
const validIdSet = new Set(data.validMonitorStepIds);
|
|
20
63
|
const monitorProbes = await this.findBy({
|
|
@@ -62,7 +105,7 @@ export class Service extends DatabaseService {
|
|
|
62
105
|
}
|
|
63
106
|
}
|
|
64
107
|
async updateNextPingAtForMonitor(data) {
|
|
65
|
-
var _a
|
|
108
|
+
var _a;
|
|
66
109
|
const monitorProbes = await this.findBy({
|
|
67
110
|
query: {
|
|
68
111
|
monitorId: data.monitorId,
|
|
@@ -84,15 +127,20 @@ export class Service extends DatabaseService {
|
|
|
84
127
|
if (!monitorProbe.probeId) {
|
|
85
128
|
continue;
|
|
86
129
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
130
|
+
/*
|
|
131
|
+
* The falsy guard matters: a Manual monitor (and every other row with
|
|
132
|
+
* no interval) reaches here with undefined, and the old unguarded call
|
|
133
|
+
* handed that straight to cron-parser, which threw and logged an error
|
|
134
|
+
* for a perfectly ordinary row on every single interval edit.
|
|
135
|
+
*/
|
|
136
|
+
const nextPing = Service.resolveNextPingAt({
|
|
137
|
+
monitoringInterval: (_a = monitorProbe === null || monitorProbe === void 0 ? void 0 : monitorProbe.monitor) === null || _a === void 0 ? void 0 : _a.monitoringInterval,
|
|
138
|
+
fallback: OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), 1),
|
|
139
|
+
onUnreadable: () => {
|
|
140
|
+
var _a, _b;
|
|
141
|
+
logger.error(`updateNextPingAtForMonitor: monitoringInterval "${(_a = monitorProbe === null || monitorProbe === void 0 ? void 0 : monitorProbe.monitor) === null || _a === void 0 ? void 0 : _a.monitoringInterval}" cannot be read as a schedule; falling back to a 1-minute cadence.`, Object.assign(Object.assign({}, EXTERNAL_FAULT), { monitorId: (_b = data.monitorId) === null || _b === void 0 ? void 0 : _b.toString() }));
|
|
142
|
+
},
|
|
143
|
+
});
|
|
96
144
|
if (nextPing && monitorProbe.id) {
|
|
97
145
|
await this.updateOneById({
|
|
98
146
|
id: monitorProbe.id,
|
|
@@ -179,21 +227,46 @@ export class Service extends DatabaseService {
|
|
|
179
227
|
const ids = [];
|
|
180
228
|
const nextPingDates = [];
|
|
181
229
|
const caseFragments = [];
|
|
230
|
+
/*
|
|
231
|
+
* Rows whose interval neither cron-parser nor the normalizer could
|
|
232
|
+
* read. Collected and logged ONCE per batch below rather than per
|
|
233
|
+
* row: this loop runs for every claimed monitor, every minute, on
|
|
234
|
+
* every probe-ingest instance, so a per-row log line would flood.
|
|
235
|
+
*/
|
|
236
|
+
const unreadableIntervals = [];
|
|
182
237
|
for (let i = 0; i < selectedRows.length; i++) {
|
|
183
238
|
const row = selectedRows[i];
|
|
184
239
|
ids.push(row._id);
|
|
185
240
|
let nextPing = defaultNextPing;
|
|
186
241
|
if (row.monitoringInterval) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
242
|
+
nextPing = Service.resolveNextPingAt({
|
|
243
|
+
monitoringInterval: row.monitoringInterval,
|
|
244
|
+
fallback: defaultNextPing,
|
|
245
|
+
onUnreadable: () => {
|
|
246
|
+
unreadableIntervals.push({
|
|
247
|
+
monitorProbeId: row._id,
|
|
248
|
+
monitoringInterval: row.monitoringInterval,
|
|
249
|
+
});
|
|
250
|
+
},
|
|
251
|
+
});
|
|
193
252
|
}
|
|
194
253
|
nextPingDates.push(nextPing);
|
|
195
254
|
caseFragments.push(`WHEN '${row._id}'::uuid THEN $${i + 3}::timestamptz`);
|
|
196
255
|
}
|
|
256
|
+
/*
|
|
257
|
+
* One aggregated line per batch, at error level with EXTERNAL_FAULT.
|
|
258
|
+
*
|
|
259
|
+
* Not debug: LOG_LEVEL=ERROR is what ships, so a debug or warn line
|
|
260
|
+
* here is deleted from stdout on exactly the installs where an
|
|
261
|
+
* operator would go looking. This condition used to be swallowed by
|
|
262
|
+
* a bare `catch {}`, which is why a monitor storing "5m" was probed
|
|
263
|
+
* every minute instead of every five for as long as the row existed,
|
|
264
|
+
* with nothing anywhere to grep for. EXTERNAL_FAULT marks it as
|
|
265
|
+
* tenant data rather than our own failure, so it does not page us.
|
|
266
|
+
*/
|
|
267
|
+
if (unreadableIntervals.length > 0) {
|
|
268
|
+
logger.error(`claimMonitorProbesForProbing: ${unreadableIntervals.length} monitor(s) have a monitoringInterval that cannot be read as a schedule and are falling back to a 1-minute cadence. Fix the stored value - "*/5 * * * *" means every 5 minutes. Offenders: ${JSON.stringify(unreadableIntervals.slice(0, 20))}`, EXTERNAL_FAULT);
|
|
269
|
+
}
|
|
197
270
|
const updateQuery = `
|
|
198
271
|
UPDATE "MonitorProbe"
|
|
199
272
|
SET "lastPingAt" = $1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAI5C,OAAO,eAAkC,MAAM,mBAAmB,CAAC;AACnE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,YAAY,MAAM,0CAA0C,CAAC;AAEpE,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
|
36
36
|
import { PlanType } from "../../Types/Billing/SubscriptionPlan";
|
|
37
37
|
import LIMIT_MAX, { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
|
|
38
38
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
39
|
+
import MonitoringIntervalValidator from "../Utils/Monitor/MonitoringIntervalValidator";
|
|
39
40
|
import MonitorType, { MonitorTypeHelper, } from "../../Types/Monitor/MonitorType";
|
|
40
41
|
import MonitorSteps from "../../Types/Monitor/MonitorSteps";
|
|
41
42
|
import MonitorStep from "../../Types/Monitor/MonitorStep";
|
|
@@ -66,6 +67,7 @@ import { createWhatsAppMessageFromTemplate } from "../Utils/WhatsAppTemplateUtil
|
|
|
66
67
|
import MonitorTemplateService from "./MonitorTemplateService";
|
|
67
68
|
import RelationIdUtil from "../Utils/Database/RelationIdUtil";
|
|
68
69
|
import OwnerRuleAssignment from "../Utils/Rules/OwnerRuleAssignment";
|
|
70
|
+
import HostAddressUtil from "../../Utils/HostAddressUtil";
|
|
69
71
|
import NetworkDeviceMonitorTemplateUtil from "../../Utils/Monitor/NetworkDeviceMonitorTemplateUtil";
|
|
70
72
|
const MONITOR_TEMPLATE_RELATION_KEYS = [
|
|
71
73
|
"monitorTemplateId",
|
|
@@ -129,7 +131,17 @@ export class Service extends DatabaseService {
|
|
|
129
131
|
((_d = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _d === void 0 ? void 0 : _d.monitorDestinationPort)) {
|
|
130
132
|
const port = firstStep.data.monitorDestinationPort.toString();
|
|
131
133
|
if (monitorDestination && port) {
|
|
132
|
-
|
|
134
|
+
/*
|
|
135
|
+
* Bracketed when the host is an IPv6 literal. Plain
|
|
136
|
+
* concatenation there does not merely look odd: "2001:db8::1" +
|
|
137
|
+
* ":179" is "2001:db8::1:179", which is itself a valid IPv6
|
|
138
|
+
* address — a DIFFERENT host from the one being monitored, named
|
|
139
|
+
* in an alert somebody is about to act on.
|
|
140
|
+
*/
|
|
141
|
+
monitorDestination = HostAddressUtil.formatHostAndPort({
|
|
142
|
+
host: monitorDestination,
|
|
143
|
+
port: port,
|
|
144
|
+
});
|
|
133
145
|
}
|
|
134
146
|
}
|
|
135
147
|
// For SNMP monitors, use the hostname from snmpMonitor config
|
|
@@ -138,7 +150,10 @@ export class Service extends DatabaseService {
|
|
|
138
150
|
monitorDestination = firstStep.data.snmpMonitor.hostname || "";
|
|
139
151
|
const port = firstStep.data.snmpMonitor.port || 161;
|
|
140
152
|
if (monitorDestination && port) {
|
|
141
|
-
monitorDestination =
|
|
153
|
+
monitorDestination = HostAddressUtil.formatHostAndPort({
|
|
154
|
+
host: monitorDestination,
|
|
155
|
+
port: port,
|
|
156
|
+
});
|
|
142
157
|
}
|
|
143
158
|
}
|
|
144
159
|
// For DNS monitors, use the queryName from dnsMonitor config
|
|
@@ -159,7 +174,10 @@ export class Service extends DatabaseService {
|
|
|
159
174
|
((_h = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _h === void 0 ? void 0 : _h.sqlMonitor)) {
|
|
160
175
|
const sql = firstStep.data.sqlMonitor;
|
|
161
176
|
if (sql.host) {
|
|
162
|
-
monitorDestination = `${
|
|
177
|
+
monitorDestination = `${HostAddressUtil.formatHostAndPort({
|
|
178
|
+
host: sql.host,
|
|
179
|
+
port: sql.port,
|
|
180
|
+
})}/${sql.databaseName}`;
|
|
163
181
|
}
|
|
164
182
|
}
|
|
165
183
|
// For Database Health monitors, show host:port/database (never the credentials).
|
|
@@ -167,7 +185,10 @@ export class Service extends DatabaseService {
|
|
|
167
185
|
((_j = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _j === void 0 ? void 0 : _j.databaseMonitor)) {
|
|
168
186
|
const database = firstStep.data.databaseMonitor;
|
|
169
187
|
if (database.host) {
|
|
170
|
-
monitorDestination = `${
|
|
188
|
+
monitorDestination = `${HostAddressUtil.formatHostAndPort({
|
|
189
|
+
host: database.host,
|
|
190
|
+
port: database.port,
|
|
191
|
+
})}/${database.databaseName}`;
|
|
171
192
|
}
|
|
172
193
|
}
|
|
173
194
|
}
|
|
@@ -451,6 +472,15 @@ export class Service extends DatabaseService {
|
|
|
451
472
|
const currentMonitorStatusId = resolveReferenceId(updateBy.data.currentMonitorStatusId) ||
|
|
452
473
|
resolveReferenceId(updateBy.data.currentMonitorStatus);
|
|
453
474
|
const updateDataKeys = Object.keys(updateBy.data || {});
|
|
475
|
+
/*
|
|
476
|
+
* Key presence, never truthiness or the stored value: renaming one of
|
|
477
|
+
* the monitors that already holds a broken interval sends only {name},
|
|
478
|
+
* and gating on the stored value would make those monitors un-editable
|
|
479
|
+
* — punishing the customer for our validation gap.
|
|
480
|
+
*/
|
|
481
|
+
if (updateDataKeys.includes("monitoringInterval")) {
|
|
482
|
+
updateBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(updateBy.data.monitoringInterval);
|
|
483
|
+
}
|
|
454
484
|
const isMonitorStepsWritten = updateDataKeys.includes("monitorSteps");
|
|
455
485
|
const isMonitorTemplateWritten = RelationIdUtil.isWritten(updateDataKeys, MONITOR_TEMPLATE_RELATION_KEYS);
|
|
456
486
|
if (isMonitorStepsWritten || isMonitorTemplateWritten) {
|
|
@@ -1011,6 +1041,17 @@ export class Service extends DatabaseService {
|
|
|
1011
1041
|
if (!createBy.props.tenantId) {
|
|
1012
1042
|
throw new BadDataException("ProjectId required to create monitor.");
|
|
1013
1043
|
}
|
|
1044
|
+
/*
|
|
1045
|
+
* Canonicalize the monitoring interval before anything is persisted.
|
|
1046
|
+
*
|
|
1047
|
+
* Gated on key presence, not truthiness: createBy.data is a model
|
|
1048
|
+
* INSTANCE whose columns are all declared `= undefined`, and null is a
|
|
1049
|
+
* meaningful value here ("no schedule"), so a truthiness test would skip
|
|
1050
|
+
* exactly the writes that need checking.
|
|
1051
|
+
*/
|
|
1052
|
+
if (createBy.data.monitoringInterval !== undefined) {
|
|
1053
|
+
createBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(createBy.data.monitoringInterval);
|
|
1054
|
+
}
|
|
1014
1055
|
/*
|
|
1015
1056
|
* Validate the request's shape before consulting billing. A conflicting
|
|
1016
1057
|
* Monitor Template reference, or one hidden by the caller's read scope, is
|