@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":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAWvD,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAC7E,OAAO,kBAEN,MAAM,iCAAiC,CAAC;AACzC,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAEjF,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,gBAEN,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAWvD,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAC7E,OAAO,kBAEN,MAAM,iCAAiC,CAAC;AACzC,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAEjF,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,gBAEN,MAAM,kCAAkC,CAAC;AAuH1C,MAAM,yBAAyB,GAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpE,SAAS,oBAAoB,CAAI,KAA8B;;IAC7D,MAAM,UAAU,GACd,CAAC,MAAA,KAAK,CAAC,gBAAgB,mCAAI,IAAI,CAAC;QAChC,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAY,MAAA,KAAK,CAAC,aAAa,mCAAI,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,MAAM,aAAa,GAAuB,gBAAgB,CAAC;QACzD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,iBAAiB,EAAE,KAAK,CAAC,0BAA0B;QACnD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAC,2CAA2C;QAExD,6BAAK,SAAS,EAAC,mCAAmC;YAChD,6BAAK,SAAS,EAAC,gBAAgB;gBAC7B,oBAAC,kBAAkB,IACjB,GAAG,EAAE,KAAK,CAAC,YAAY,EACvB,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,WAAW,EAAE,KAAK,CAAC,iBAAiB,EACpC,WAAW,EAAE,KAAK,CAAC,iBAAiB,EACpC,oBAAoB,EAAE,KAAK,CAAC,0BAA0B,EACtD,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,mBAAmB,EACxC,kBAAkB,EAAE,KAAK,CAAC,wBAAwB,EAClD,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,mBAAmB,EAAE,KAAK,CAAC,yBAAyB,EACpD,mBAAmB,EAAE,KAAK,CAAC,uBAAuB,EAClD,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAC1C,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACE;YAEL,KAAK,CAAC,qBAAqB;YAE5B,oBAAC,wBAAwB,IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,IAAI,KAAK,CAAC,iBAAiB,GACpE;YAED,KAAK,CAAC,IAAI,IAAI,CACb,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oHACT,KAAK,CAAC,IAAI,CAAC,MAAM;oBACf,CAAC,CAAC,mDAAmD;oBACrD,CAAC,CAAC,+EACN,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE,EAClE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAC/B,OAAO,EAAE,GAAG,EAAE;;oBACZ,MAAA,KAAK,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,EACD,KAAK,EACH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;gBAGlE,8BACE,SAAS,EAAE,wBACT,KAAK,CAAC,IAAI,CAAC,MAAM;wBACf,CAAC,CAAC,8BAA8B;wBAChC,CAAC,CAAC,aACN,EAAE,GACF;gBACF,kCAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAQ,CAC7C,CACV;YAEA,KAAK,CAAC,SAAS,IAAI,CAClB,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gMAAgM,EAC1M,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,KAAK,EAAC,SAAS;gBAEf,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAC,aAAa,GAAG;gBACxD,4CAAoB,CACb,CACV;YAEA,KAAK,CAAC,sBAAsB,CACzB;QAGL,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACxD,oBAAC,0BAA0B,IACzB,OAAO,EAAE,KAAK,CAAC,aAAa,EAC5B,QAAQ,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;;gBACvC,MAAA,KAAK,CAAC,cAAc,sDAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC,EACD,UAAU,EAAE,GAAG,EAAE;;gBACf,MAAA,KAAK,CAAC,iBAAiB,qDAAI,CAAC;YAC9B,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,kBAAkB,GAChC,CACH;QAGA,KAAK,CAAC,mBAAmB;QAGzB,CAAC,KAAK,CAAC,mBAAmB;YACzB,aAAa;YACb,KAAK,CAAC,gBAAgB;YACtB,KAAK,CAAC,eAAe,IAAI,CACvB,oBAAC,kBAAkB,IACjB,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAC/B,SAAS,EAAE,KAAK,CAAC,gBAAgB,IAAI,KAAK,EAC1C,MAAM,EAAE,KAAK,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,cAAc,EAC3B,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,EAClD,SAAS,EAAE,aAAa,CAAC,SAAS,EAClC,aAAa,EAAE,KAAK,CAAC,sBAAsB,EAC3C,cAAc,EAAE,KAAK,CAAC,uBAAuB,GAC7C,CACH;QAGH,6BACE,SAAS,EAAE,6BACT,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACzC,EAAE;YAED,UAAU,IAAI,CACb,oBAAC,qBAAqB,IACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAChC,SAAS,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,EACtC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EACtC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,eAAe,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;;oBAC9C,MAAA,KAAK,CAAC,cAAc,sDAAG,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,EACD,eAAe,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;;oBAC9C,MAAA,KAAK,CAAC,cAAc,sDAAG,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,EACD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,GAC9C,CACH;YAED,6BAAK,SAAS,EAAC,yEAAyE;gBACrF,KAAK,CAAC,KAAK,IAAI,CACd,6BAAK,SAAS,EAAC,KAAK;oBAClB,oBAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAI,CAClC,CACP;gBAEA,CAAC,KAAK,CAAC,KAAK,IAAI,CACf,6BAAK,SAAS,EAAC,gCAAgC,IAC5C,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7C,6BAAK,SAAS,EAAC,uCAAuC;oBACpD,oBAAC,eAAe,OAAG,CACf,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7B,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CACjC,0CAAG,KAAK,CAAC,YAAY,CAAI,CAC1B,CAAC,CAAC,CAAC,CACF,6BAAK,SAAS,EAAC,uEAAuE;oBACpF,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,MAAM,EACrB,SAAS,EAAC,uBAAuB,GACjC;oBACF,2BAAG,SAAS,EAAC,mCAAmC,IAC7C,KAAK,CAAC,YAAY,IAAI,YAAY,CACjC;oBACJ,2BAAG,SAAS,EAAC,uBAAuB,2CAEhC,CACA,CACP,CACF,CAAC,CAAC,CAAC,CACF,4BAAI,SAAS,EAAC,0BAA0B,IACrC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAO,EAAE,KAAa,EAAE,EAAE;oBAC1C,OAAO,CACL,4BAAI,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAClC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAC1B,CACN,CAAC;gBACJ,CAAC,CAAC,CACC,CACN,CACG,CACP;gBAED,oBAAC,mBAAmB,IAClB,WAAW,EAAE,KAAK,CAAC,IAAI,EACvB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,yBAAyB,EACnE,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,UAAU,EAAE,KAAK,CAAC,SAAS,EAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACE,CACF;QAGL,KAAK,CAAC,WAAW,CACd,CACP,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,eAAe,GACnB,oBAEiB,CAAC;AAEpB,eAAe,eAAe,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ENTERPRISE_LICENSE_GRACE_PERIOD_IN_DAYS } from "../../Types/EnterpriseLicense/EnterpriseLicensePeriods";
|
|
1
2
|
import EnterpriseLicenseUserCountSource from "../../Types/EnterpriseLicense/EnterpriseLicenseUserCountSource";
|
|
2
3
|
class EnterpriseLicenseUsageUtil {
|
|
3
4
|
/*
|
|
@@ -218,9 +219,12 @@ EnterpriseLicenseUsageUtil.defaultExpiryReminderDays = 45;
|
|
|
218
219
|
/*
|
|
219
220
|
* Expired licenses keep getting a daily "expired" email for this many
|
|
220
221
|
* days after expiry, then go quiet — an abandoned license should not be
|
|
221
|
-
* emailed forever.
|
|
222
|
+
* emailed forever. It has to outlast the grace period by a clear margin:
|
|
223
|
+
* the email that says single sign-on, SCIM provisioning and audit logging
|
|
224
|
+
* have now stopped is only worth sending after they have, which is when
|
|
225
|
+
* the grace period ends.
|
|
222
226
|
*/
|
|
223
|
-
EnterpriseLicenseUsageUtil.expiredNotificationCutoffDays =
|
|
227
|
+
EnterpriseLicenseUsageUtil.expiredNotificationCutoffDays = ENTERPRISE_LICENSE_GRACE_PERIOD_IN_DAYS + 14;
|
|
224
228
|
/*
|
|
225
229
|
* An instance is inactive once it has gone this many complete days without
|
|
226
230
|
* communicating with oneuptime.com. Inactive instances stay visible, but
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,MAAM,gEAAgE,CAAC;AAwC9G,MAAqB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import IP from "../Types/IP/IP";
|
|
2
|
+
/*
|
|
3
|
+
* The two things every caller that holds a host string needs to get right
|
|
4
|
+
* when that host might be an IPv6 literal, in one place.
|
|
5
|
+
*
|
|
6
|
+
* Both are pure text problems that only exist for IPv6, which is exactly why
|
|
7
|
+
* they kept being got wrong one call site at a time:
|
|
8
|
+
*
|
|
9
|
+
* 1. BRACKETS ARE URL SYNTAX, NOT PART OF THE ADDRESS. "[2001:db8::1]" is
|
|
10
|
+
* how RFC 3986 writes an IPv6 host inside a URL authority, and that is
|
|
11
|
+
* the form URL.fromString and Hostname.fromAuthority hand back. Node
|
|
12
|
+
* does NOT strip them: net.connect({host: "[::1]"}) and
|
|
13
|
+
* https.get({host: "[::1]"}) both go to the resolver and come back
|
|
14
|
+
* ENOTFOUND, and `ping [::1]` fails the same way. An IPv4 host never
|
|
15
|
+
* carries brackets, so every one of those call sites worked until
|
|
16
|
+
* somebody pointed it at IPv6.
|
|
17
|
+
*
|
|
18
|
+
* 2. "host:port" IS AMBIGUOUS FOR IPv6, AND NOT IN A WAY THAT LOOKS WRONG.
|
|
19
|
+
* "192.0.2.1:179" cannot be mistaken for an address. Appending ":179" to
|
|
20
|
+
* "2001:518:2800:9::2" produces "2001:518:2800:9::2:179", which node's
|
|
21
|
+
* net.isIP() reports as a PERFECTLY VALID IPv6 address - a different
|
|
22
|
+
* host from the one that was meant. So the unbracketed spelling does not
|
|
23
|
+
* merely read oddly, it silently renames the target.
|
|
24
|
+
*/
|
|
25
|
+
export default class HostAddressUtil {
|
|
26
|
+
/*
|
|
27
|
+
* True when the value is an IPv6 literal, written bare ("2001:db8::1") or
|
|
28
|
+
* bracketed ("[2001:db8::1]"). Anything else - a DNS name, an IPv4 literal,
|
|
29
|
+
* an authority with a port - is false.
|
|
30
|
+
*/
|
|
31
|
+
static isIPv6(host) {
|
|
32
|
+
const bare = HostAddressUtil.stripBrackets(host);
|
|
33
|
+
if (!bare) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return IP.isIP(bare) && new IP(bare).isIPv6();
|
|
37
|
+
}
|
|
38
|
+
/*
|
|
39
|
+
* The address to hand to a socket, a resolver or the ping binary: the same
|
|
40
|
+
* host with any IPv6 URL brackets removed.
|
|
41
|
+
*
|
|
42
|
+
* Brackets are only removed when what is inside them really is an IPv6
|
|
43
|
+
* address. "[not-an-address]" is returned untouched so it fails validation
|
|
44
|
+
* downstream as the nonsense it is, rather than being quietly laundered
|
|
45
|
+
* into a bare hostname.
|
|
46
|
+
*/
|
|
47
|
+
static stripBrackets(host) {
|
|
48
|
+
const trimmed = (host || "").trim();
|
|
49
|
+
if (!trimmed.startsWith("[") || !trimmed.endsWith("]")) {
|
|
50
|
+
return trimmed;
|
|
51
|
+
}
|
|
52
|
+
const inner = trimmed.substring(1, trimmed.length - 1);
|
|
53
|
+
if (!inner || !IP.isIP(inner) || !new IP(inner).isIPv6()) {
|
|
54
|
+
return trimmed;
|
|
55
|
+
}
|
|
56
|
+
return inner;
|
|
57
|
+
}
|
|
58
|
+
/*
|
|
59
|
+
* The authority form: an IPv6 host is bracketed so the ":" before the port
|
|
60
|
+
* cannot be read as another group of the address. Already-bracketed input
|
|
61
|
+
* is not bracketed twice.
|
|
62
|
+
*
|
|
63
|
+
* A missing/empty port returns the host on its own, bare. That is
|
|
64
|
+
* deliberate: a port-less destination is stored and pinged as the address
|
|
65
|
+
* itself, and wrapping it in brackets there would change what is written to
|
|
66
|
+
* the database and shown to the user for no benefit - the ambiguity this
|
|
67
|
+
* guards against only exists once a ":port" is appended.
|
|
68
|
+
*/
|
|
69
|
+
static formatHostAndPort(data) {
|
|
70
|
+
const bare = HostAddressUtil.stripBrackets(data.host);
|
|
71
|
+
const port = data.port === undefined || data.port === null ? "" : String(data.port);
|
|
72
|
+
if (!port) {
|
|
73
|
+
return bare;
|
|
74
|
+
}
|
|
75
|
+
return HostAddressUtil.isIPv6(bare)
|
|
76
|
+
? `[${bare}]:${port}`
|
|
77
|
+
: `${bare}:${port}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=HostAddressUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostAddressUtil.js","sourceRoot":"","sources":["../../../Utils/HostAddressUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,MAAM,IAAI,GAAW,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,MAAM,OAAO,GAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAW,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAG/B;QACC,MAAM,IAAI,GAAW,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE;YACrB,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import Hostname from "../../Types/API/Hostname";
|
|
2
|
+
import URL from "../../Types/API/URL";
|
|
3
|
+
import Exception from "../../Types/Exception/Exception";
|
|
4
|
+
import IP from "../../Types/IP/IP";
|
|
5
|
+
import MonitorType from "../../Types/Monitor/MonitorType";
|
|
6
|
+
import HostAddressUtil from "../HostAddressUtil";
|
|
7
|
+
/*
|
|
8
|
+
* Turns what somebody typed (or, far more often, PASTED) into the monitor
|
|
9
|
+
* destination for a monitor type, or into the reason it cannot be one.
|
|
10
|
+
*
|
|
11
|
+
* Lives here rather than inline in the dashboard form so the parsing is
|
|
12
|
+
* testable on its own — the form's job is state, not address syntax.
|
|
13
|
+
*
|
|
14
|
+
* Two IPv6 shapes have to be handled that IPv4 never needed, and getting
|
|
15
|
+
* either wrong is SILENT rather than loud:
|
|
16
|
+
*
|
|
17
|
+
* - SURROUNDING WHITESPACE. An address copied out of a looking glass, a
|
|
18
|
+
* router config or a terminal usually arrives with a trailing space or a
|
|
19
|
+
* newline. IP.isIP deliberately does not trim, so " 2001:db8::1" was not
|
|
20
|
+
* an IP; it fell through to Hostname.fromString, which split it on the
|
|
21
|
+
* first colon into host "2001" / port 518 — a legal Port, so nothing
|
|
22
|
+
* threw, no error appeared, and the monitor saved was pointed at a host
|
|
23
|
+
* called "2001". The IPv4 equivalent, "1.1.1.1 ", has no colon and
|
|
24
|
+
* Hostname trims, so it always worked. That asymmetry is the whole bug:
|
|
25
|
+
* the same paste that works for v4 corrupts v6.
|
|
26
|
+
*
|
|
27
|
+
* - BRACKETS. "[2001:db8::1]" is how an IPv6 host is written inside a URL,
|
|
28
|
+
* so it is what people have in front of them. For a Ping/IP/Port
|
|
29
|
+
* destination there is no URL, so the brackets are noise and are dropped
|
|
30
|
+
* — rather than rejected with "Hostname [2001 is not in valid format".
|
|
31
|
+
*/
|
|
32
|
+
export default class MonitorDestinationUtil {
|
|
33
|
+
static parse(data) {
|
|
34
|
+
const value = (data.value || "").trim();
|
|
35
|
+
if (!value) {
|
|
36
|
+
return { destination: undefined, error: "Destination is required" };
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
switch (data.monitorType) {
|
|
40
|
+
case MonitorType.IP:
|
|
41
|
+
return {
|
|
42
|
+
destination: IP.fromString(HostAddressUtil.stripBrackets(value)),
|
|
43
|
+
error: null,
|
|
44
|
+
};
|
|
45
|
+
case MonitorType.Ping:
|
|
46
|
+
case MonitorType.Port: {
|
|
47
|
+
const host = HostAddressUtil.stripBrackets(value);
|
|
48
|
+
if (IP.isIP(host)) {
|
|
49
|
+
return { destination: IP.fromString(host), error: null };
|
|
50
|
+
}
|
|
51
|
+
/*
|
|
52
|
+
* A trailing colon is a port that was not typed, and
|
|
53
|
+
* Hostname.fromAuthority DROPS it — deliberately, because a stored
|
|
54
|
+
* "host:" should still read back as a host. Here that would be the
|
|
55
|
+
* same class of bug this whole file exists to stop: "2001:" would
|
|
56
|
+
* be stored as "2001", which is not what anybody typed. Say so
|
|
57
|
+
* instead.
|
|
58
|
+
*/
|
|
59
|
+
if (host.endsWith(":")) {
|
|
60
|
+
return {
|
|
61
|
+
destination: undefined,
|
|
62
|
+
error: `${value} is not a valid hostname or IP address.`,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/*
|
|
66
|
+
* Not an address, so it is a name — possibly with a ":port", which
|
|
67
|
+
* is what someone pasting "rs1.example.net:179" means.
|
|
68
|
+
*
|
|
69
|
+
* fromAuthority rather than `new Hostname`: the constructor accepts
|
|
70
|
+
* a whole authority and stores it as the HOST, so the destination
|
|
71
|
+
* would be a host literally named "rs1.example.net:179" and the
|
|
72
|
+
* socket would go looking for it in DNS. fromAuthority splits the
|
|
73
|
+
* port off properly, and — unlike the fromString this used to
|
|
74
|
+
* call — leaves a bare IPv6 literal alone.
|
|
75
|
+
*/
|
|
76
|
+
return { destination: Hostname.fromAuthority(host), error: null };
|
|
77
|
+
}
|
|
78
|
+
case MonitorType.Website:
|
|
79
|
+
case MonitorType.API:
|
|
80
|
+
case MonitorType.SSLCertificate:
|
|
81
|
+
return {
|
|
82
|
+
destination: URL.fromString(MonitorDestinationUtil.toUrlWithBracketedIpv6Host(value)),
|
|
83
|
+
error: null,
|
|
84
|
+
};
|
|
85
|
+
default:
|
|
86
|
+
return { destination: undefined, error: null };
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
return {
|
|
91
|
+
destination: undefined,
|
|
92
|
+
error: err instanceof Exception
|
|
93
|
+
? err.getMessage()
|
|
94
|
+
: (err === null || err === void 0 ? void 0 : err.message) || "Invalid Destination",
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/*
|
|
99
|
+
* A URL whose host is a BARE IPv6 literal is not a URL: "https://2001:db8::1/"
|
|
100
|
+
* has to be written "https://[2001:db8::1]/", because otherwise the first
|
|
101
|
+
* colon reads as the port separator. Node's own URL parser, axios and every
|
|
102
|
+
* browser reject the bare form, so a Website or API monitor saved with one
|
|
103
|
+
* failed permanently with an opaque target error.
|
|
104
|
+
*
|
|
105
|
+
* Brackets the host when it needs them, and leaves every other URL — every
|
|
106
|
+
* IPv4 and DNS one — byte for byte alone.
|
|
107
|
+
*/
|
|
108
|
+
static toUrlWithBracketedIpv6Host(value) {
|
|
109
|
+
const trimmed = value.trim();
|
|
110
|
+
const schemeMatch = trimmed.match(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)(.*)$/);
|
|
111
|
+
const scheme = schemeMatch ? schemeMatch[1] : "";
|
|
112
|
+
const rest = schemeMatch ? schemeMatch[2] : trimmed;
|
|
113
|
+
// The authority ends at the first "/", "?" or "#".
|
|
114
|
+
const authorityEnd = rest.search(/[/?#]/);
|
|
115
|
+
const authority = authorityEnd === -1 ? rest : rest.substring(0, authorityEnd);
|
|
116
|
+
const remainder = authorityEnd === -1 ? "" : rest.substring(authorityEnd);
|
|
117
|
+
// Userinfo is not a host; everything after the last "@" is.
|
|
118
|
+
const atIndex = authority.lastIndexOf("@");
|
|
119
|
+
const userInfo = atIndex === -1 ? "" : authority.substring(0, atIndex + 1);
|
|
120
|
+
const host = authority.substring(atIndex + 1);
|
|
121
|
+
if (!HostAddressUtil.isIPv6(host) || host.startsWith("[")) {
|
|
122
|
+
return trimmed;
|
|
123
|
+
}
|
|
124
|
+
return `${scheme}${userInfo}[${host}]${remainder}`;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=MonitorDestinationUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorDestinationUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/MonitorDestinationUtil.ts"],"names":[],"mappings":"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"}
|