@oneuptime/common 12.0.31 → 12.0.33
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/Span.ts +14 -0
- package/Models/DatabaseModels/AlertState.ts +0 -2
- package/Models/DatabaseModels/Domain.ts +1 -1
- package/Models/DatabaseModels/EnterpriseLicense.ts +56 -0
- package/Models/DatabaseModels/Incident.ts +1 -1
- package/Models/DatabaseModels/IncidentTemplate.ts +1 -1
- package/Models/DatabaseModels/Index.ts +12 -0
- package/Models/DatabaseModels/MetricType.ts +0 -2
- package/Models/DatabaseModels/Monitor.ts +76 -0
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +0 -2
- package/Models/DatabaseModels/MonitorTest.ts +0 -2
- package/Models/DatabaseModels/NetworkAlertPolicy.ts +690 -0
- package/Models/DatabaseModels/NetworkDevice.ts +297 -3
- package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +3 -1
- package/Models/DatabaseModels/NetworkDeviceRole.ts +648 -0
- package/Models/DatabaseModels/NetworkSite.ts +201 -2
- package/Models/DatabaseModels/NetworkSiteType.ts +102 -3
- package/Models/DatabaseModels/NetworkSnmpCredentialProfile.ts +841 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -1
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +1 -1
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +0 -2
- package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +0 -2
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +0 -2
- package/Models/DatabaseModels/StatusPageResource.ts +0 -2
- package/Models/DatabaseModels/StatusPageSubscriber.ts +0 -2
- package/Models/DatabaseModels/TelemetryException.ts +119 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupBatch.ts +334 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupItem.ts +370 -0
- package/Models/DatabaseModels/UserNotificationEmailRollupSetting.ts +282 -0
- package/Server/API/EnterpriseLicenseAPI.ts +391 -64
- package/Server/API/LlmProviderAPI.ts +137 -22
- package/Server/EnvironmentConfig.ts +14 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.ts +55 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.ts +72 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.ts +124 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.ts +132 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.ts +79 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.ts +191 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
- package/Server/Infrastructure/QueueWorker.ts +38 -8
- package/Server/Middleware/BearerTokenAuthorization.ts +12 -0
- package/Server/Middleware/ProjectAuthorization.ts +11 -0
- package/Server/Middleware/SCIMAuthorization.ts +12 -0
- package/Server/Middleware/TelemetryIngest.ts +11 -0
- package/Server/Services/AIBillingService.ts +101 -27
- package/Server/Services/DatabaseService.ts +39 -9
- package/Server/Services/EnterpriseLicenseInstanceService.ts +197 -0
- package/Server/Services/EnterpriseLicenseService.ts +55 -0
- package/Server/Services/Index.ts +12 -0
- package/Server/Services/MonitorService.ts +143 -21
- package/Server/Services/MonitorStatusTimelineService.ts +150 -8
- package/Server/Services/MonitorTemplateService.ts +217 -1
- package/Server/Services/NetworkAlertPolicyEngineService.ts +2159 -0
- package/Server/Services/NetworkAlertPolicyService.ts +944 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +9 -10
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +60 -15
- package/Server/Services/NetworkDeviceRoleService.ts +90 -0
- package/Server/Services/NetworkDeviceService.ts +1032 -73
- package/Server/Services/NetworkSiteService.ts +1502 -129
- package/Server/Services/NetworkSiteTypeService.ts +1216 -0
- package/Server/Services/NetworkSnmpCredentialProfileService.ts +238 -0
- package/Server/Services/NotificationService.ts +118 -28
- package/Server/Services/ProjectService.ts +186 -44
- package/Server/Services/StatusPagePrivateUserService.ts +103 -3
- package/Server/Services/UserNotificationEmailRollupBatchService.ts +78 -0
- package/Server/Services/UserNotificationEmailRollupItemService.ts +79 -0
- package/Server/Services/UserNotificationEmailRollupSettingService.ts +113 -0
- package/Server/Services/UserNotificationSettingService.ts +62 -31
- package/Server/Services/UserService.ts +95 -0
- package/Server/Types/Database/QueryHelper.ts +2 -2
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +14 -3
- package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +10 -0
- package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +62 -1
- package/Server/Utils/AI/Toolbox/AlertTools.ts +15 -1
- package/Server/Utils/Billing/BillingFailureNoticeThrottle.ts +80 -0
- package/Server/Utils/DataSource/HttpFetch.ts +9 -2
- package/Server/Utils/EmailRollup/EmailRollupConstants.ts +98 -0
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +872 -0
- package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +781 -0
- package/Server/Utils/EmailRollup/EmailRollupWriter.ts +368 -0
- package/Server/Utils/LLM/LLMService.ts +78 -0
- package/Server/Utils/LogRedaction.ts +8 -0
- package/Server/Utils/Logger.ts +79 -1
- package/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.ts +190 -0
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +9 -2
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +61 -1
- package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +14 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +49 -0
- package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +255 -4
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +41 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +43 -0
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +499 -19
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +66 -10
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +238 -44
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +146 -39
- package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +31 -18
- package/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.ts +213 -0
- package/Server/Utils/OutboundUserAgent.ts +152 -0
- package/Server/Utils/StartServer.ts +51 -19
- package/Server/Utils/Telemetry/CaptureSpan.ts +32 -8
- package/Server/Utils/Telemetry/ErrorClassResolver.ts +120 -0
- package/Server/Utils/Telemetry/SpanUtil.ts +33 -0
- package/Server/Utils/Telemetry.ts +198 -51
- package/Server/Views/Partials/SensitiveUrlToken.ejs +140 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +158 -27
- package/Tests/App/Dashboard/AskAiSuggestedPrompts.test.ts +279 -0
- package/Tests/App/Dashboard/DashboardChartWidgetZoom.test.tsx +35 -8
- package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +107 -3
- package/Tests/App/Dashboard/DashboardEditPermissions.test.tsx +517 -0
- package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +26 -0
- package/Tests/App/Dashboard/DashboardWideChartZoom.test.tsx +401 -0
- package/Tests/App/Dashboard/DeviceStatusHero.test.tsx +588 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +18 -9
- package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +632 -0
- package/Tests/App/Dashboard/MonitorRecommendationCreateProgress.test.tsx +682 -0
- package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +318 -0
- package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +4 -2
- package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +357 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormMonitorBinding.test.tsx +676 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormPingMonitor.test.tsx +791 -0
- package/Tests/App/Dashboard/NetworkDeviceCreateFormProbeAndSnmp.test.tsx +833 -0
- package/Tests/App/Dashboard/NetworkDeviceCriteriaFilter.test.ts +161 -0
- package/Tests/App/Dashboard/NetworkDeviceSettingsMonitoringSection.test.tsx +458 -0
- package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +626 -0
- package/Tests/App/Dashboard/PingMonitorProvisioning.test.ts +368 -0
- package/Tests/App/Dashboard/RecommendationCard.test.tsx +796 -0
- package/Tests/App/Dashboard/RecommendationToolbar.test.tsx +519 -0
- package/Tests/App/Dashboard/RecommendationsList.test.tsx +661 -0
- package/Tests/App/Dashboard/SideMenuHarness.tsx +11 -3
- package/Tests/App/Dashboard/UseBulkCreatePingMonitors.test.tsx +899 -0
- package/Tests/App/Dashboard/UseBulkSnmpCredentialProfileActions.test.tsx +732 -0
- package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +256 -0
- package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +11 -1
- package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +9 -4
- package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +115 -41
- package/Tests/Models/NetworkSiteHierarchy.test.ts +41 -4
- package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +951 -7
- package/Tests/Server/API/LlmProviderConnectionTest.test.ts +522 -0
- package/Tests/Server/Infrastructure/Postgres/NetworkDeviceRoleTableMigration.test.ts +476 -0
- package/Tests/Server/Infrastructure/Postgres/NetworkSnmpCredentialProfilesAndAlertPoliciesMigration.test.ts +854 -0
- package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +18 -0
- package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupTableMigration.test.ts +535 -0
- package/Tests/Server/Services/AIChatPrivacyPin.test.ts +560 -0
- package/Tests/Server/Services/BillingRechargeOwnerEmailGuards.test.ts +783 -0
- package/Tests/Server/Services/DatabaseServiceGenerateSlug.test.ts +215 -0
- package/Tests/Server/Services/EnterpriseLicenseInstanceServiceDeletionUsage.test.ts +707 -0
- package/Tests/Server/Services/EnterpriseLicenseServiceUsageAggregationLock.test.ts +329 -0
- package/Tests/Server/Services/MonitorServiceDeleteNetworkDeviceCleanup.test.ts +294 -0
- package/Tests/Server/Services/MonitorStatusBridgeProbePath.test.ts +802 -0
- package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +72 -2
- package/Tests/Server/Services/NetworkAlertPolicyEngineHooks.test.ts +752 -0
- package/Tests/Server/Services/NetworkAlertPolicyEngineService.test.ts +1849 -0
- package/Tests/Server/Services/NetworkAlertPolicyModel.test.ts +1793 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +47 -4
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +97 -12
- package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +148 -3
- package/Tests/Server/Services/NetworkDeviceMonitorBindingUpdateGuard.test.ts +514 -0
- package/Tests/Server/Services/NetworkDeviceMonitorStatusStamp.test.ts +447 -58
- package/Tests/Server/Services/NetworkDeviceMonitoringMethodTransition.test.ts +739 -0
- package/Tests/Server/Services/NetworkDevicePollingTenancy.test.ts +501 -0
- package/Tests/Server/Services/NetworkDeviceRoleModel.test.ts +672 -0
- package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +1 -1
- package/Tests/Server/Services/NetworkDeviceSiteDefaultProbe.test.ts +432 -0
- package/Tests/Server/Services/NetworkSiteMonitoringDefaults.test.ts +498 -0
- package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +337 -55
- package/Tests/Server/Services/NetworkSiteService.test.ts +1868 -131
- package/Tests/Server/Services/NetworkSiteTypeService.test.ts +1109 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileModel.test.ts +926 -0
- package/Tests/Server/Services/NetworkSnmpCredentialProfileService.test.ts +796 -0
- package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +67 -4
- package/Tests/Server/Services/ProjectServiceNetworkSiteTypeDefaults.test.ts +214 -0
- package/Tests/Server/Services/ScheduledMaintenanceSubscriberEndTime.test.ts +369 -0
- package/Tests/Server/Services/StatusPagePrivateUserEmailChangePasswordResetExpiry.test.ts +269 -0
- package/Tests/Server/Services/UserEmailChangePasswordResetExpiry.test.ts +472 -0
- package/Tests/Server/Services/UserNotificationEmailRollupModels.test.ts +569 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingModel.test.ts +314 -0
- package/Tests/Server/Services/UserNotificationEmailRollupSettingService.test.ts +409 -0
- package/Tests/Server/Services/UserNotificationSettingMonitorDefaults.test.ts +248 -0
- package/Tests/Server/Services/UserNotificationSettingRollupRouting.test.ts +856 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +145 -3
- package/Tests/Server/Types/Database/Permissions/DashboardAccessPermission.test.ts +321 -0
- package/Tests/Server/Types/Database/QueryHelperOperators.test.ts +17 -0
- package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +124 -0
- package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +208 -0
- package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +235 -0
- package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +253 -0
- package/Tests/Server/Utils/BasicCron.test.ts +283 -0
- package/Tests/Server/Utils/Captcha.test.ts +422 -0
- package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +96 -2
- package/Tests/Server/Utils/Database/MigrationFailureLog.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1096 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerClaim.test.ts +466 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +1428 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +752 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupWriter.test.ts +864 -0
- package/Tests/Server/Utils/IncomingCallPhoneNumber.test.ts +174 -0
- package/Tests/Server/Utils/LoggerFaultDemotion.test.ts +346 -0
- package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +633 -0
- package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +196 -0
- package/Tests/Server/Utils/Monitor/DatabaseMetricWrite.test.ts +367 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +100 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +5 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +512 -31
- package/Tests/Server/Utils/Monitor/NetworkDeviceMetricUtil.test.ts +252 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +479 -42
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +351 -5
- package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +136 -12
- package/Tests/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.test.ts +306 -0
- package/Tests/Server/Utils/OutboundUserAgent.test.ts +266 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClientUserAgent.test.ts +141 -0
- package/Tests/Server/Utils/Telemetry/ErrorClassResolver.test.ts +298 -0
- package/Tests/Server/Utils/Telemetry.test.ts +456 -66
- package/Tests/Types/Monitor/DatabaseMetricCatalog.test.ts +388 -0
- package/Tests/Types/Monitor/MonitorStepDatabaseMonitor.test.ts +243 -0
- package/Tests/Types/Monitor/MonitorStepDefaultTelemetryConfig.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorType.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +16 -7
- package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +60 -0
- package/Tests/Types/NetworkDevice/DefaultNetworkDeviceRole.test.ts +417 -0
- package/Tests/Types/NetworkDevice/NetworkAlertPolicyScope.test.ts +655 -0
- package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +115 -26
- package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +39 -0
- package/Tests/Types/NotificationSetting/NotificationEmailRollupPolicy.test.ts +299 -0
- package/Tests/Types/Telemetry/ErrorClass.test.ts +483 -0
- package/Tests/UI/Components/BasicRadioButtons.test.tsx +336 -0
- package/Tests/UI/Components/Charts/ChartClickDoubleClickDisambiguation.test.tsx +221 -0
- package/Tests/UI/Components/Charts/ChartDoubleClickReset.test.tsx +220 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableBulkDelete.test.tsx +751 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +475 -43
- package/Tests/UI/Components/ModelTable/ColumnPreference.test.ts +89 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +15 -0
- package/Tests/UI/Components/NavBarCommandKGating.test.tsx +103 -8
- package/Tests/UI/Components/ProgressBar.test.tsx +38 -2
- package/Tests/UI/Components/SideMenuItem.test.tsx +256 -4
- package/Tests/UI/Components/SideMenuSection.test.tsx +310 -0
- package/Tests/UI/Components/SideOverSubmitState.test.tsx +335 -0
- package/Tests/UI/Utils/PageScrollLock.test.tsx +377 -0
- package/Tests/UI/Utils/PermissionGate.test.ts +78 -0
- package/Tests/UI/Utils/SensitiveUrlToken.test.ts +140 -0
- package/Tests/UI/Utils/TableColumnsToCsv.test.ts +30 -0
- package/Tests/UI/Utils/UseDashboardTimeRangeZoom.test.tsx +187 -0
- package/Tests/Utils/Dashboard/DashboardResourceListSharedArgs.test.ts +302 -0
- package/Tests/Utils/Dashboard/DashboardTimeRangeZoom.test.ts +242 -0
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +69 -0
- package/Tests/Utils/EnterpriseLicenseSync.test.ts +7 -1
- package/Tests/Utils/EnterpriseLicenseUsage.test.ts +433 -2
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +280 -1
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +1 -0
- package/Tests/Utils/Monitor/NetworkDeviceRoleCatalog.test.ts +981 -0
- package/Tests/Utils/Monitor/NetworkTopologyRoleCatalog.test.ts +865 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +38 -0
- package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +284 -23
- package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +177 -0
- package/Tests/Utils/NetworkDevice/DeviceRoleKeyUtil.test.ts +538 -0
- package/Tests/Utils/NetworkDevice/MonitoringMethodThreadedClassifiers.test.ts +992 -0
- package/Tests/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.test.ts +427 -0
- package/Tests/Utils/NetworkDevice/ReachabilityStampConsistency.test.ts +185 -0
- package/Tests/Utils/NetworkDevice/SnmpCredentialUtil.test.ts +268 -0
- package/Tests/Utils/NetworkDiscovery/AutoImportRuleMatcher.test.ts +55 -5
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +98 -21
- package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +98 -20
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +8 -7
- package/Tests/Utils/NetworkDiscovery/PingMonitorBuilderForAddress.test.ts +274 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +230 -51
- package/Tests/Utils/NetworkSite/TypeHierarchyUtil.test.ts +209 -0
- package/Tests/Utils/Slo/SloEvaluation.test.ts +171 -0
- package/Tests/Utils/Slug.test.ts +61 -1
- package/Tests/Utils/Telemetry/CaptureSpanExportGating.test.ts +145 -0
- package/Tests/jest.setup.ts +19 -0
- package/Types/AI/ExceptionAIClassification.ts +10 -24
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseInstanceSummary.ts +5 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.ts +13 -0
- package/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.ts +6 -0
- package/Types/Exception/ApiException.ts +10 -0
- package/Types/Exception/BadDataException.ts +11 -0
- package/Types/Exception/BadRequestException.ts +11 -0
- package/Types/Exception/Exception.ts +65 -0
- package/Types/Exception/ForbiddenException.ts +10 -0
- package/Types/Exception/NotAuthenticatedException.ts +10 -0
- package/Types/Exception/NotAuthorizedException.ts +10 -0
- package/Types/Exception/NotFoundException.ts +11 -0
- package/Types/Exception/PayloadTooLargeException.ts +11 -0
- package/Types/Exception/PaymentRequiredException.ts +10 -0
- package/Types/Exception/ServiceUnavailableException.ts +10 -0
- package/Types/Exception/SsoAuthorizationException.ts +10 -0
- package/Types/Exception/TenantNotFoundException.ts +11 -0
- package/Types/Exception/TimeoutException.ts +10 -0
- package/Types/Exception/TooManyRequestsException.ts +10 -0
- package/Types/Exception/UnableToReachServer.ts +10 -0
- package/Types/Exception/WebsiteRequestException.ts +10 -0
- package/Types/Monitor/CriteriaFilter.ts +60 -2
- package/Types/Monitor/DatabaseMetricCatalog.ts +693 -0
- package/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.ts +83 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +76 -0
- package/Types/Monitor/MonitorMetricType.ts +71 -0
- package/Types/Monitor/MonitorStep.ts +76 -0
- package/Types/Monitor/MonitorStepDatabaseMonitor.ts +171 -0
- package/Types/Monitor/MonitorStepSqlMonitor.ts +2 -20
- package/Types/Monitor/MonitorType.ts +47 -1
- package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +22 -1
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +61 -0
- package/Types/Monitor/SqlConnectionConfig.ts +31 -0
- package/Types/NetworkDevice/DefaultNetworkDeviceRole.ts +145 -0
- package/Types/NetworkDevice/NetworkAlertPolicyScope.ts +343 -0
- package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +42 -22
- package/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.ts +30 -0
- package/Types/NotificationSetting/NotificationEmailRollupCategory.ts +255 -0
- package/Types/NotificationSetting/NotificationEmailRollupPolicy.ts +104 -0
- package/Types/Permission.ts +135 -0
- package/Types/Probe/ProbeMonitorResponse.ts +16 -0
- package/Types/Telemetry/ErrorClass.ts +274 -0
- package/Types/Telemetry/UnitOfWork.ts +59 -0
- package/UI/Components/Charts/Area/AreaChart.tsx +7 -0
- package/UI/Components/Charts/Bar/BarChart.tsx +6 -0
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +9 -1
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +97 -35
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +14 -0
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +97 -35
- package/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.ts +13 -0
- package/UI/Components/Charts/Line/LineChart.tsx +7 -0
- package/UI/Components/CommandPalette/CommandPalette.tsx +2 -8
- package/UI/Components/EditionLabel/EditionLabel.tsx +4 -0
- package/UI/Components/Modal/Modal.tsx +2 -8
- package/UI/Components/ModelTable/BaseModelTable.tsx +50 -15
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +44 -0
- package/UI/Components/Navbar/NavBar.tsx +62 -13
- package/UI/Components/Navbar/NavBarMenuModal.tsx +7 -2
- package/UI/Components/ProgressBar/ProgressBar.tsx +12 -1
- package/UI/Components/RadioButtons/BasicRadioButtons.tsx +37 -7
- package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +2 -0
- package/UI/Components/SideMenu/SideMenu.tsx +135 -7
- package/UI/Components/SideMenu/SideMenuItem.tsx +80 -85
- package/UI/Components/SideMenu/SideMenuSection.tsx +69 -25
- package/UI/Components/SideOver/SideOver.tsx +21 -20
- package/UI/Utils/PageScrollLock.ts +79 -3
- package/UI/Utils/PermissionGate.ts +61 -0
- package/UI/Utils/SensitiveUrlToken.ts +112 -0
- package/UI/Utils/TestLLMProvider.ts +11 -0
- package/UI/Utils/UseDashboardTimeRangeZoom.ts +77 -0
- package/Utils/Dashboard/DashboardTimeRangeZoom.ts +118 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +16 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +191 -11
- package/Utils/Monitor/MonitorMetricType.ts +153 -1
- package/Utils/Monitor/NetworkDeviceRoleCatalog.ts +232 -0
- package/Utils/Monitor/NetworkDeviceRoleUtil.ts +2 -1
- package/Utils/Monitor/NetworkTopologyUtil.ts +139 -36
- package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +65 -14
- package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +43 -14
- package/Utils/NetworkDevice/DeviceRoleKeyUtil.ts +137 -0
- package/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.ts +247 -0
- package/Utils/NetworkDevice/SnmpCredentialUtil.ts +68 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +15 -7
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +52 -17
- package/Utils/NetworkDiscovery/DiscoveryImportEligibility.ts +55 -23
- package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +115 -13
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +66 -20
- package/Utils/NetworkSite/TypeHierarchyUtil.ts +313 -0
- package/Utils/Rules/RulePatternMatchUtil.ts +1 -1
- package/Utils/Slug.ts +34 -1
- package/build/dist/Models/AnalyticsModels/Span.js +14 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertState.js +0 -2
- package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js +59 -0
- package/build/dist/Models/DatabaseModels/EnterpriseLicense.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +12 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MetricType.js +0 -2
- package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +75 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +0 -2
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js +0 -2
- package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js +713 -0
- package/build/dist/Models/DatabaseModels/NetworkAlertPolicy.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +304 -4
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +3 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js +677 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSite.js +200 -2
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js +102 -3
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js +878 -0
- package/build/dist/Models/DatabaseModels/NetworkSnmpCredentialProfile.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +0 -2
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +0 -2
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +0 -2
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageResource.js +0 -2
- package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +0 -2
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +123 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js +363 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupBatch.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js +402 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js +296 -0
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Server/API/EnterpriseLicenseAPI.js +273 -60
- package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
- package/build/dist/Server/API/LlmProviderAPI.js +108 -13
- package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +12 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790700000000-AddNetworkSiteTypeParentHierarchy.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.js +39 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddEnterpriseLicenseUsageProvenance.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js +111 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790900000000-AddTelemetryExceptionErrorClass.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js +77 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791000000000-AddUserNotificationEmailRollup.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js +50 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791100000000-AddUserNotificationEmailRollupSetting.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js +83 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791200000000-AddNetworkSnmpCredentialProfilesAndAlertPolicies.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +33 -5
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js +12 -0
- package/build/dist/Server/Middleware/BearerTokenAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js +11 -0
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/SCIMAuthorization.js +12 -0
- package/build/dist/Server/Middleware/SCIMAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +11 -0
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AIBillingService.js +70 -16
- package/build/dist/Server/Services/AIBillingService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +31 -5
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js +167 -0
- package/build/dist/Server/Services/EnterpriseLicenseInstanceService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +39 -0
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +12 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +119 -21
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +127 -8
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +162 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js +1683 -0
- package/build/dist/Server/Services/NetworkAlertPolicyEngineService.js.map +1 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js +732 -0
- package/build/dist/Server/Services/NetworkAlertPolicyService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +10 -9
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +54 -11
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceRoleService.js +70 -0
- package/build/dist/Server/Services/NetworkDeviceRoleService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceService.js +841 -70
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +1145 -107
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteTypeService.js +863 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js +217 -0
- package/build/dist/Server/Services/NetworkSnmpCredentialProfileService.js.map +1 -0
- package/build/dist/Server/Services/NotificationService.js +80 -17
- package/build/dist/Server/Services/NotificationService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +131 -30
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserService.js +92 -2
- package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js +76 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupBatchService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js +77 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupItemService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js +111 -0
- package/build/dist/Server/Services/UserNotificationEmailRollupSettingService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js +46 -21
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +90 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +14 -3
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +10 -0
- package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +54 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +18 -4
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js +59 -0
- package/build/dist/Server/Utils/Billing/BillingFailureNoticeThrottle.js.map +1 -0
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +2 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js +91 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupConstants.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +691 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +497 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js +257 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js.map +1 -0
- package/build/dist/Server/Utils/LLM/LLMService.js +64 -1
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/LogRedaction.js +8 -0
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +63 -1
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.js +141 -0
- package/build/dist/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.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/Criteria/SnmpMonitorCriteria.js +51 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +7 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +37 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +158 -6
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +32 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +330 -21
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +55 -10
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +178 -49
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +119 -29
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +30 -17
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -1
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js +158 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteHierarchyLock.js.map +1 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js +123 -0
- package/build/dist/Server/Utils/OutboundUserAgent.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +38 -14
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js +28 -8
- package/build/dist/Server/Utils/Telemetry/CaptureSpan.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js +95 -0
- package/build/dist/Server/Utils/Telemetry/ErrorClassResolver.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js +29 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry.js +162 -46
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Types/AI/ExceptionAIClassification.js +10 -24
- package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js +2 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUsageSnapshot.js.map +1 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js +7 -0
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicenseUserCountSource.js.map +1 -0
- package/build/dist/Types/Exception/ApiException.js +9 -0
- package/build/dist/Types/Exception/ApiException.js.map +1 -1
- package/build/dist/Types/Exception/BadDataException.js +10 -0
- package/build/dist/Types/Exception/BadDataException.js.map +1 -1
- package/build/dist/Types/Exception/BadRequestException.js +10 -0
- package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
- package/build/dist/Types/Exception/Exception.js +56 -0
- package/build/dist/Types/Exception/Exception.js.map +1 -1
- package/build/dist/Types/Exception/ForbiddenException.js +9 -0
- package/build/dist/Types/Exception/ForbiddenException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthenticatedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthorizedException.js +9 -0
- package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
- package/build/dist/Types/Exception/NotFoundException.js +10 -0
- package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/PayloadTooLargeException.js +10 -0
- package/build/dist/Types/Exception/PayloadTooLargeException.js.map +1 -1
- package/build/dist/Types/Exception/PaymentRequiredException.js +9 -0
- package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
- package/build/dist/Types/Exception/ServiceUnavailableException.js +9 -0
- package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -1
- package/build/dist/Types/Exception/SsoAuthorizationException.js +9 -0
- package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
- package/build/dist/Types/Exception/TenantNotFoundException.js +10 -0
- package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/TimeoutException.js +9 -0
- package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
- package/build/dist/Types/Exception/TooManyRequestsException.js +9 -0
- package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -1
- package/build/dist/Types/Exception/UnableToReachServer.js +9 -0
- package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
- package/build/dist/Types/Exception/WebsiteRequestException.js +9 -0
- package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +45 -2
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js +594 -0
- package/build/dist/Types/Monitor/DatabaseMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js +21 -0
- package/build/dist/Types/Monitor/DatabaseMonitor/DatabaseMonitorResponse.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +70 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorMetricType.js +61 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +54 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js +122 -0
- package/build/dist/Types/Monitor/MonitorStepDatabaseMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +45 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +21 -1
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
- package/build/dist/Types/Monitor/SqlConnectionConfig.js +2 -0
- package/build/dist/Types/Monitor/SqlConnectionConfig.js.map +1 -0
- package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js +105 -0
- package/build/dist/Types/NetworkDevice/DefaultNetworkDeviceRole.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js +172 -0
- package/build/dist/Types/NetworkDevice/NetworkAlertPolicyScope.js.map +1 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +40 -22
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -1
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js +26 -0
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteTypeHierarchy.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js +186 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupCategory.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js +87 -0
- package/build/dist/Types/NotificationSetting/NotificationEmailRollupPolicy.js.map +1 -0
- package/build/dist/Types/Permission.js +120 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Telemetry/ErrorClass.js +216 -0
- package/build/dist/Types/Telemetry/ErrorClass.js.map +1 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js +59 -0
- package/build/dist/Types/Telemetry/UnitOfWork.js.map +1 -0
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +79 -31
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +7 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +79 -31
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js +14 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js.map +1 -0
- package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js +2 -7
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +3 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +2 -7
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +39 -13
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +39 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBar.js +44 -9
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +2 -2
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js +12 -1
- package/build/dist/UI/Components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js +6 -6
- package/build/dist/UI/Components/RadioButtons/BasicRadioButtons.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +1 -1
- package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js +76 -11
- package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js +50 -54
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js +32 -9
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
- package/build/dist/UI/Components/SideOver/SideOver.js +5 -20
- package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
- package/build/dist/UI/Utils/PageScrollLock.js +31 -3
- package/build/dist/UI/Utils/PageScrollLock.js.map +1 -1
- package/build/dist/UI/Utils/PermissionGate.js +42 -1
- package/build/dist/UI/Utils/PermissionGate.js.map +1 -1
- package/build/dist/UI/Utils/SensitiveUrlToken.js +97 -0
- package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -0
- package/build/dist/UI/Utils/TestLLMProvider.js +4 -5
- package/build/dist/UI/Utils/TestLLMProvider.js.map +1 -1
- package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js +42 -0
- package/build/dist/UI/Utils/UseDashboardTimeRangeZoom.js.map +1 -0
- package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js +74 -0
- package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js.map +1 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +15 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +111 -9
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js +109 -1
- package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js +126 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleCatalog.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +2 -1
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +75 -35
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +27 -7
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +7 -5
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js +114 -0
- package/build/dist/Utils/NetworkDevice/DeviceRoleKeyUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js +180 -0
- package/build/dist/Utils/NetworkDevice/NetworkAlertPolicyBootstrapUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js +12 -0
- package/build/dist/Utils/NetworkDevice/SnmpCredentialUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js +15 -5
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +44 -15
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js +52 -23
- package/build/dist/Utils/NetworkDiscovery/DiscoveryImportEligibility.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +85 -13
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +30 -15
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js +191 -0
- package/build/dist/Utils/NetworkSite/TypeHierarchyUtil.js.map +1 -0
- package/build/dist/Utils/Rules/RulePatternMatchUtil.js +1 -1
- package/build/dist/Utils/Slug.js +31 -1
- package/build/dist/Utils/Slug.js.map +1 -1
- package/package.json +2 -2
|
@@ -8,6 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import DatabaseConfig from "../DatabaseConfig";
|
|
11
|
+
import { EncryptionSecret } from "../EnvironmentConfig";
|
|
11
12
|
import logger from "../Utils/Logger";
|
|
12
13
|
import DatabaseService from "./DatabaseService";
|
|
13
14
|
import MailService from "./MailService";
|
|
@@ -18,6 +19,8 @@ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
|
18
19
|
import URL from "../../Types/API/URL";
|
|
19
20
|
import OneUptimeDate from "../../Types/Date";
|
|
20
21
|
import EmailTemplateType from "../../Types/Email/EmailTemplateType";
|
|
22
|
+
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
23
|
+
import HashedString from "../../Types/HashedString";
|
|
21
24
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
22
25
|
import ObjectID from "../../Types/ObjectID";
|
|
23
26
|
import Model from "../../Models/DatabaseModels/StatusPagePrivateUser";
|
|
@@ -49,14 +52,95 @@ export class Service extends DatabaseService {
|
|
|
49
52
|
carryForward: null,
|
|
50
53
|
};
|
|
51
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Kill any outstanding password-reset link for a status page user whose
|
|
57
|
+
* email address is about to change.
|
|
58
|
+
*
|
|
59
|
+
* Same invariant, and the same reasoning, as
|
|
60
|
+
* `UserService.expirePasswordResetTokensForEmailChange`: the link is a
|
|
61
|
+
* bearer credential addressed to one mailbox, and `/status-page-api/
|
|
62
|
+
* reset-password` finds the row by token hash and status page alone, never
|
|
63
|
+
* by the address the link was mailed to. Left unexpired, a link sent to the
|
|
64
|
+
* old address keeps working against the account at its new one.
|
|
65
|
+
*
|
|
66
|
+
* This path is worth closing even though a status page user cannot edit
|
|
67
|
+
* their own email: project admins can (the column carries `update` for
|
|
68
|
+
* ProjectAdmin and StatusPageAdmin), and `StatusPageSCIM.ts` rewrites it
|
|
69
|
+
* from the directory. "Move this subscriber to their new address" is the
|
|
70
|
+
* same rescue action, done by somebody else on the user's behalf, and it has
|
|
71
|
+
* to invalidate old links for the same reason.
|
|
72
|
+
*
|
|
73
|
+
* Cleared before the write, and only for rows whose address actually
|
|
74
|
+
* changes, so a SCIM push that re-sends an unchanged address does not
|
|
75
|
+
* invalidate a reset link the user is part-way through using.
|
|
76
|
+
*/
|
|
77
|
+
async onBeforeUpdate(updateBy) {
|
|
78
|
+
var _a;
|
|
79
|
+
if (updateBy.data.email) {
|
|
80
|
+
const newEmail = updateBy.data.email
|
|
81
|
+
.toString()
|
|
82
|
+
.toLowerCase();
|
|
83
|
+
const existingUsers = await this.findBy({
|
|
84
|
+
query: updateBy.query,
|
|
85
|
+
select: {
|
|
86
|
+
_id: true,
|
|
87
|
+
email: true,
|
|
88
|
+
},
|
|
89
|
+
props: updateBy.props,
|
|
90
|
+
limit: LIMIT_MAX,
|
|
91
|
+
skip: 0,
|
|
92
|
+
});
|
|
93
|
+
for (const user of existingUsers) {
|
|
94
|
+
if (!user.id) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
/*
|
|
98
|
+
* A row whose `email` did not come back is treated as changed -- that
|
|
99
|
+
* only happens when the caller could not read the column, and on a
|
|
100
|
+
* credential the safe assumption is the one that expires the token.
|
|
101
|
+
*/
|
|
102
|
+
const currentEmail = (_a = user.email) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase();
|
|
103
|
+
if (currentEmail === newEmail) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
await this.updateOneById({
|
|
107
|
+
id: user.id,
|
|
108
|
+
data: {
|
|
109
|
+
resetPasswordToken: null,
|
|
110
|
+
resetPasswordExpires: null,
|
|
111
|
+
},
|
|
112
|
+
props: {
|
|
113
|
+
isRoot: true,
|
|
114
|
+
ignoreHooks: true,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
updateBy: updateBy,
|
|
121
|
+
carryForward: null,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
52
124
|
async onCreateSuccess(_onCreate, createdItem) {
|
|
53
125
|
var _a, _b;
|
|
54
|
-
|
|
126
|
+
/*
|
|
127
|
+
* The invite link doubles as this user's first password-reset link, so the
|
|
128
|
+
* column has to hold what `/status-page-api/reset-password` looks rows up
|
|
129
|
+
* by: the SHA-256 of the token, never the token itself. That endpoint
|
|
130
|
+
* hashes whatever the link carried and queries by the digest, so a raw
|
|
131
|
+
* token stored here matches nothing and the welcome link is dead on
|
|
132
|
+
* arrival -- and it would also leave a working bearer credential sitting
|
|
133
|
+
* in the database in plaintext.
|
|
134
|
+
*
|
|
135
|
+
* Same split as `/status-page-api/forgot-password`: the digest is
|
|
136
|
+
* persisted, the raw token is only ever mailed.
|
|
137
|
+
*/
|
|
55
138
|
const token = ObjectID.generate().toString();
|
|
139
|
+
const hashedToken = await HashedString.hashValue(token, EncryptionSecret);
|
|
56
140
|
await this.updateOneById({
|
|
57
141
|
id: createdItem.id,
|
|
58
142
|
data: {
|
|
59
|
-
resetPasswordToken:
|
|
143
|
+
resetPasswordToken: hashedToken,
|
|
60
144
|
resetPasswordExpires: OneUptimeDate.getOneDayAfter(),
|
|
61
145
|
},
|
|
62
146
|
props: {
|
|
@@ -140,6 +224,12 @@ __decorate([
|
|
|
140
224
|
__metadata("design:paramtypes", [Object]),
|
|
141
225
|
__metadata("design:returntype", Promise)
|
|
142
226
|
], Service.prototype, "onBeforeCreate", null);
|
|
227
|
+
__decorate([
|
|
228
|
+
CaptureSpan(),
|
|
229
|
+
__metadata("design:type", Function),
|
|
230
|
+
__metadata("design:paramtypes", [Object]),
|
|
231
|
+
__metadata("design:returntype", Promise)
|
|
232
|
+
], Service.prototype, "onBeforeUpdate", null);
|
|
143
233
|
__decorate([
|
|
144
234
|
CaptureSpan(),
|
|
145
235
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusPagePrivateUserService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,cAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusPagePrivateUserService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import DatabaseService from "./DatabaseService";
|
|
11
|
+
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
|
+
import { ROLLUP_BATCH_RETENTION_DAYS } from "../Utils/EmailRollup/EmailRollupConstants";
|
|
13
|
+
import Model from "../../Models/DatabaseModels/UserNotificationEmailRollupBatch";
|
|
14
|
+
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
15
|
+
/*
|
|
16
|
+
* The rollup claim ledger. Root only in every direction: an insert here is
|
|
17
|
+
* what wins an epoch, so a caller who could create one could stop the next
|
|
18
|
+
* rollup being sent, and one who could delete one could make it be sent
|
|
19
|
+
* twice.
|
|
20
|
+
*
|
|
21
|
+
* Retention is set UNCONDITIONALLY, deliberately unlike EmailLogService,
|
|
22
|
+
* which only registers its retention when billing is enabled. The
|
|
23
|
+
* HardDelete:HardDeleteOlderItemsInDatabase cron iterates every service in
|
|
24
|
+
* the Services array with no billing check, so a gated call would simply
|
|
25
|
+
* never prune on a self-hosted install.
|
|
26
|
+
*
|
|
27
|
+
* Thirty days rather than the items' seven: a batch row is the record of how
|
|
28
|
+
* many notifications one email replaced, which is the number the whole
|
|
29
|
+
* feature is judged on, and it is one row per flush rather than one per
|
|
30
|
+
* notification. Pruning it cannot orphan anything, because rollupBatchId on
|
|
31
|
+
* the item table is deliberately a bare column with no foreign key.
|
|
32
|
+
*/
|
|
33
|
+
export class Service extends DatabaseService {
|
|
34
|
+
constructor() {
|
|
35
|
+
super(Model);
|
|
36
|
+
this.hardDeleteItemsOlderThanInDays("createdAt", ROLLUP_BATCH_RETENTION_DAYS);
|
|
37
|
+
}
|
|
38
|
+
async onBeforeCreate(createBy) {
|
|
39
|
+
if (!createBy.props.isRoot) {
|
|
40
|
+
throw new NotAuthorizedException("Notification email rollup batches are claimed by the flush worker only.");
|
|
41
|
+
}
|
|
42
|
+
return { createBy, carryForward: null };
|
|
43
|
+
}
|
|
44
|
+
async onBeforeUpdate(updateBy) {
|
|
45
|
+
if (!updateBy.props.isRoot) {
|
|
46
|
+
throw new NotAuthorizedException("Notification email rollup batches are claimed by the flush worker only.");
|
|
47
|
+
}
|
|
48
|
+
return { updateBy, carryForward: null };
|
|
49
|
+
}
|
|
50
|
+
async onBeforeDelete(deleteBy) {
|
|
51
|
+
if (!deleteBy.props.isRoot) {
|
|
52
|
+
throw new NotAuthorizedException("Notification email rollup batches are claimed by the flush worker only.");
|
|
53
|
+
}
|
|
54
|
+
return { deleteBy, carryForward: null };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
__decorate([
|
|
58
|
+
CaptureSpan(),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", [Object]),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
63
|
+
__decorate([
|
|
64
|
+
CaptureSpan(),
|
|
65
|
+
__metadata("design:type", Function),
|
|
66
|
+
__metadata("design:paramtypes", [Object]),
|
|
67
|
+
__metadata("design:returntype", Promise)
|
|
68
|
+
], Service.prototype, "onBeforeUpdate", null);
|
|
69
|
+
__decorate([
|
|
70
|
+
CaptureSpan(),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [Object]),
|
|
73
|
+
__metadata("design:returntype", Promise)
|
|
74
|
+
], Service.prototype, "onBeforeDelete", null);
|
|
75
|
+
export default new Service();
|
|
76
|
+
//# sourceMappingURL=UserNotificationEmailRollupBatchService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserNotificationEmailRollupBatchService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationEmailRollupBatchService.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,MAAM,8DAA8D,CAAC;AACjF,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,8BAA8B,CACjC,WAAW,EACX,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AArC0B;IADxB,WAAW,EAAE;;;;6CAWb;AAGwB;IADxB,WAAW,EAAE;;;;6CAWb;AAGwB;IADxB,WAAW,EAAE;;;;6CAWb;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import DatabaseService from "./DatabaseService";
|
|
11
|
+
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
|
+
import { ROLLUP_ITEM_RETENTION_DAYS } from "../Utils/EmailRollup/EmailRollupConstants";
|
|
13
|
+
import Model from "../../Models/DatabaseModels/UserNotificationEmailRollupItem";
|
|
14
|
+
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
15
|
+
/*
|
|
16
|
+
* The owner-email rollup queue and volume ledger. Root only in every
|
|
17
|
+
* direction: a pending row is the thing that makes a deferred notification
|
|
18
|
+
* eventually arrive, so nothing outside the notification write path and the
|
|
19
|
+
* flush sweep may insert, edit or remove one.
|
|
20
|
+
*
|
|
21
|
+
* Retention is set UNCONDITIONALLY, deliberately unlike EmailLogService,
|
|
22
|
+
* which only registers its retention when billing is enabled. The
|
|
23
|
+
* HardDelete:HardDeleteOlderItemsInDatabase cron iterates every service in
|
|
24
|
+
* the Services array and honours whatever retention it declares, with no
|
|
25
|
+
* billing check anywhere in the loop - so gating the call on IsBillingEnabled
|
|
26
|
+
* would leave a self-hosted install accumulating one row per owner email
|
|
27
|
+
* forever, which for the exact customer this feature exists for is thousands
|
|
28
|
+
* of rows a day.
|
|
29
|
+
*
|
|
30
|
+
* Seven days is chosen against the two things that read the table: the burst
|
|
31
|
+
* counter, which looks back BURST_WINDOW_MINUTES, and a human answering "what
|
|
32
|
+
* flooded this inbox last week".
|
|
33
|
+
*/
|
|
34
|
+
export class Service extends DatabaseService {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(Model);
|
|
37
|
+
this.hardDeleteItemsOlderThanInDays("createdAt", ROLLUP_ITEM_RETENTION_DAYS);
|
|
38
|
+
}
|
|
39
|
+
async onBeforeCreate(createBy) {
|
|
40
|
+
if (!createBy.props.isRoot) {
|
|
41
|
+
throw new NotAuthorizedException("Notification email rollup items are written by the notification pipeline only.");
|
|
42
|
+
}
|
|
43
|
+
return { createBy, carryForward: null };
|
|
44
|
+
}
|
|
45
|
+
async onBeforeUpdate(updateBy) {
|
|
46
|
+
if (!updateBy.props.isRoot) {
|
|
47
|
+
throw new NotAuthorizedException("Notification email rollup items are written by the notification pipeline only.");
|
|
48
|
+
}
|
|
49
|
+
return { updateBy, carryForward: null };
|
|
50
|
+
}
|
|
51
|
+
async onBeforeDelete(deleteBy) {
|
|
52
|
+
if (!deleteBy.props.isRoot) {
|
|
53
|
+
throw new NotAuthorizedException("Notification email rollup items are written by the notification pipeline only.");
|
|
54
|
+
}
|
|
55
|
+
return { deleteBy, carryForward: null };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
__decorate([
|
|
59
|
+
CaptureSpan(),
|
|
60
|
+
__metadata("design:type", Function),
|
|
61
|
+
__metadata("design:paramtypes", [Object]),
|
|
62
|
+
__metadata("design:returntype", Promise)
|
|
63
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
64
|
+
__decorate([
|
|
65
|
+
CaptureSpan(),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", [Object]),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], Service.prototype, "onBeforeUpdate", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
CaptureSpan(),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [Object]),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], Service.prototype, "onBeforeDelete", null);
|
|
76
|
+
export default new Service();
|
|
77
|
+
//# sourceMappingURL=UserNotificationEmailRollupItemService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserNotificationEmailRollupItemService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationEmailRollupItemService.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,MAAM,6DAA6D,CAAC;AAChF,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAElF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,8BAA8B,CACjC,WAAW,EACX,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,gFAAgF,CACjF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,gFAAgF,CACjF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAC9B,gFAAgF,CACjF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AArC0B;IADxB,WAAW,EAAE;;;;6CAWb;AAGwB;IADxB,WAAW,EAAE;;;;6CAWb;AAGwB;IADxB,WAAW,EAAE;;;;6CAWb;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import DatabaseService from "./DatabaseService";
|
|
11
|
+
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
|
+
import Model from "../../Models/DatabaseModels/UserNotificationEmailRollupSetting";
|
|
13
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
14
|
+
/*
|
|
15
|
+
* The escape hatch from owner-email burst rollup, one row per (user, project).
|
|
16
|
+
*
|
|
17
|
+
* The read below is the ONLY place the preference is consulted, and it is
|
|
18
|
+
* deliberately not cached. A cache would mean a person who has just clicked
|
|
19
|
+
* "send me every email immediately" keeps getting batched mail for the length
|
|
20
|
+
* of the TTL - which is precisely the complaint the toggle exists to answer,
|
|
21
|
+
* reproduced by the mechanism meant to serve it. The query is a single indexed
|
|
22
|
+
* row on a table with at most one row per project member, on a path that
|
|
23
|
+
* already runs a dozen queries, and the write path only reaches it when it is
|
|
24
|
+
* about to DEFER - never on the common below-the-threshold send.
|
|
25
|
+
*/
|
|
26
|
+
export class Service extends DatabaseService {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(Model);
|
|
29
|
+
}
|
|
30
|
+
/*
|
|
31
|
+
* True when this person's owner notification emails may be coalesced.
|
|
32
|
+
*
|
|
33
|
+
* Absent row means enabled. Rollup ships on by default with no backfill, so
|
|
34
|
+
* almost nobody has a row here; treating "no row" as anything other than the
|
|
35
|
+
* default would make the feature depend on data that does not exist.
|
|
36
|
+
*
|
|
37
|
+
* This does NOT swallow errors. The one caller reads it inside the write
|
|
38
|
+
* path's fail-open catch, which turns any failure into an immediate send -
|
|
39
|
+
* the same direction this method's `false` means, and the same direction
|
|
40
|
+
* every other failure in that path takes.
|
|
41
|
+
*/
|
|
42
|
+
async isRollupEnabledForUser(data) {
|
|
43
|
+
const setting = await this.findOneBy({
|
|
44
|
+
query: {
|
|
45
|
+
userId: data.userId,
|
|
46
|
+
projectId: data.projectId,
|
|
47
|
+
},
|
|
48
|
+
select: {
|
|
49
|
+
isEnabled: true,
|
|
50
|
+
},
|
|
51
|
+
props: {
|
|
52
|
+
isRoot: true,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
if (!setting) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
/*
|
|
59
|
+
* Only an explicit false opts out. A row whose isEnabled somehow arrived
|
|
60
|
+
* NULL - a hand-written insert, a column added ahead of its default - is
|
|
61
|
+
* not an opt-out, because opting somebody out of individual emails is the
|
|
62
|
+
* change that needs to have been asked for.
|
|
63
|
+
*/
|
|
64
|
+
return setting.isEnabled !== false;
|
|
65
|
+
}
|
|
66
|
+
async onBeforeCreate(createBy) {
|
|
67
|
+
if (!createBy.data.projectId) {
|
|
68
|
+
throw new BadDataException("projectId is required");
|
|
69
|
+
}
|
|
70
|
+
if (!createBy.data.userId) {
|
|
71
|
+
throw new BadDataException("userId is required");
|
|
72
|
+
}
|
|
73
|
+
/*
|
|
74
|
+
* One row per person per project. The page creates lazily on the first
|
|
75
|
+
* toggle, so a double click or two open tabs would otherwise leave two
|
|
76
|
+
* rows and make findOneBy's answer depend on which one it happened to
|
|
77
|
+
* pick. There is no unique index behind this check - the same
|
|
78
|
+
* check-then-create shape UserNotificationSettingService.onBeforeCreate
|
|
79
|
+
* already uses - so it narrows the window rather than closing it; the read
|
|
80
|
+
* above tolerates a duplicate because both rows say the same thing in
|
|
81
|
+
* every flow the UI can produce.
|
|
82
|
+
*/
|
|
83
|
+
const existingCount = (await this.countBy({
|
|
84
|
+
query: {
|
|
85
|
+
projectId: createBy.data.projectId,
|
|
86
|
+
userId: createBy.data.userId,
|
|
87
|
+
},
|
|
88
|
+
props: {
|
|
89
|
+
isRoot: true,
|
|
90
|
+
},
|
|
91
|
+
})).toNumber();
|
|
92
|
+
if (existingCount > 0) {
|
|
93
|
+
throw new BadDataException("An email rollup setting already exists for this user in this project.");
|
|
94
|
+
}
|
|
95
|
+
return { createBy, carryForward: null };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
__decorate([
|
|
99
|
+
CaptureSpan(),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [Object]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], Service.prototype, "isRollupEnabledForUser", null);
|
|
104
|
+
__decorate([
|
|
105
|
+
CaptureSpan(),
|
|
106
|
+
__metadata("design:type", Function),
|
|
107
|
+
__metadata("design:paramtypes", [Object]),
|
|
108
|
+
__metadata("design:returntype", Promise)
|
|
109
|
+
], Service.prototype, "onBeforeCreate", null);
|
|
110
|
+
export default new Service();
|
|
111
|
+
//# sourceMappingURL=UserNotificationEmailRollupSettingService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserNotificationEmailRollupSettingService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationEmailRollupSettingService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAGhD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,MAAM,gEAAgE,CAAC;AACnF,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAGtE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IAEU,AAAN,KAAK,CAAC,sBAAsB,CAAC,IAGnC;QACC,MAAM,OAAO,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YACjD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;;;WAKG;QACH,OAAO,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;IACrC,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;QAED;;;;;;;;;WASG;QACH,MAAM,aAAa,GAAW,CAC5B,MAAM,IAAI,CAAC,OAAO,CAAC;YACjB,KAAK,EAAE;gBACL,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;gBAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;aAC7B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CACxB,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AAxEc;IADZ,WAAW,EAAE;;;;qDA6Bb;AAGwB;IADxB,WAAW,EAAE;;;;6CAyCb;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -10,7 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import logger from "../Utils/Logger";
|
|
11
11
|
import CallService from "./CallService";
|
|
12
12
|
import DatabaseService from "./DatabaseService";
|
|
13
|
-
import MailService from "./MailService";
|
|
14
13
|
import ProjectCallSMSConfigService from "./ProjectCallSMSConfigService";
|
|
15
14
|
import SmsService from "./SmsService";
|
|
16
15
|
import TeamMemberService from "./TeamMemberService";
|
|
@@ -33,6 +32,7 @@ import NotificationSettingEventType from "../../Types/NotificationSetting/Notifi
|
|
|
33
32
|
import ObjectID from "../../Types/ObjectID";
|
|
34
33
|
import UserNotificationSetting from "../../Models/DatabaseModels/UserNotificationSetting";
|
|
35
34
|
import WorkspaceType from "../../Types/Workspace/WorkspaceType";
|
|
35
|
+
import EmailRollupWriter from "../Utils/EmailRollup/EmailRollupWriter";
|
|
36
36
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
37
37
|
import { appendRecipientToWhatsAppMessage } from "../Utils/WhatsAppTemplateUtil";
|
|
38
38
|
export class Service extends DatabaseService {
|
|
@@ -84,26 +84,52 @@ export class Service extends DatabaseService {
|
|
|
84
84
|
},
|
|
85
85
|
});
|
|
86
86
|
for (const userEmail of userEmails) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
87
|
+
/*
|
|
88
|
+
* The one seam where an owner email can be held back. Below the
|
|
89
|
+
* burst threshold this is byte-for-byte the send that was here
|
|
90
|
+
* before - same envelope, same correlation ids, still
|
|
91
|
+
* fire-and-forget inside the writer - and above it the message is
|
|
92
|
+
* queued for a rollup instead of dropped. Awaited, unlike the raw
|
|
93
|
+
* send it replaces, because the queue row has to exist before this
|
|
94
|
+
* method returns; the writer itself never awaits MailService.
|
|
95
|
+
*
|
|
96
|
+
* data.emailEnvelope is passed by reference and is never mutated by
|
|
97
|
+
* the writer, which the Telegram fallback below and the Slack /
|
|
98
|
+
* Microsoft Teams bodies further down depend on: all three
|
|
99
|
+
* synthesise their message from data.emailEnvelope.subject.
|
|
100
|
+
*
|
|
101
|
+
* Guarded even though sendOrRollup is written not to throw. The send
|
|
102
|
+
* it replaces was fire-and-forget, so one bad address could never
|
|
103
|
+
* cost another address its email - let alone cost this notification
|
|
104
|
+
* its SMS, call, push, Telegram, workspace and webhook deliveries
|
|
105
|
+
* further down. Awaiting reintroduces that possibility; this catch
|
|
106
|
+
* takes it back out.
|
|
107
|
+
*/
|
|
108
|
+
try {
|
|
109
|
+
await EmailRollupWriter.sendOrRollup(Object.assign({ projectId: data.projectId, userId: data.userId, toEmail: userEmail.email, eventType: data.eventType, emailEnvelope: data.emailEnvelope, mailOptions: {
|
|
110
|
+
projectId: data.projectId,
|
|
111
|
+
incidentId: data.incidentId,
|
|
112
|
+
alertId: data.alertId,
|
|
113
|
+
alertEpisodeId: data.alertEpisodeId,
|
|
114
|
+
incidentEpisodeId: data.incidentEpisodeId,
|
|
115
|
+
monitorId: data.monitorId,
|
|
116
|
+
scheduledMaintenanceId: data.scheduledMaintenanceId,
|
|
117
|
+
statusPageId: data.statusPageId,
|
|
118
|
+
statusPageAnnouncementId: data.statusPageAnnouncementId,
|
|
119
|
+
userId: data.userId,
|
|
120
|
+
teamId: data.teamId,
|
|
121
|
+
// OnCall-related fields
|
|
122
|
+
onCallPolicyId: data.onCallPolicyId,
|
|
123
|
+
onCallPolicyEscalationRuleId: data.onCallPolicyEscalationRuleId,
|
|
124
|
+
onCallDutyPolicyExecutionLogTimelineId: data.onCallDutyPolicyExecutionLogTimelineId,
|
|
125
|
+
onCallScheduleId: data.onCallScheduleId,
|
|
126
|
+
} }, (data.forceImmediate !== undefined && {
|
|
127
|
+
forceImmediate: data.forceImmediate,
|
|
128
|
+
})));
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
105
131
|
logger.error(err);
|
|
106
|
-
}
|
|
132
|
+
}
|
|
107
133
|
}
|
|
108
134
|
}
|
|
109
135
|
/*
|
|
@@ -589,7 +615,6 @@ export class Service extends DatabaseService {
|
|
|
589
615
|
await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_INCIDENT_REMINDER_OWNER_NOTIFICATION);
|
|
590
616
|
}
|
|
591
617
|
async addMonitorNotificationSettings(userId, projectId) {
|
|
592
|
-
await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_MONITOR_STATUS_CHANGED_OWNER_NOTIFICATION);
|
|
593
618
|
await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_MONITOR_NOTIFICATION_WHEN_NO_PROBES_ARE_MONITORING_THE_MONITOR);
|
|
594
619
|
await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_MONITOR_NOTIFICATION_WHEN_PORBE_STATUS_CHANGES);
|
|
595
620
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserNotificationSettingService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationSettingService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserNotificationSettingService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationSettingService.ts"],"names":[],"mappings":"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"}
|