@oneuptime/common 12.0.30 → 12.0.32
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/SecurityEvent.ts +48 -16
- package/Models/AnalyticsModels/ThreatIntelIndicator.ts +10 -5
- package/Models/DatabaseModels/AlertSeverity.ts +44 -0
- package/Models/DatabaseModels/AlertState.ts +0 -2
- package/Models/DatabaseModels/DetectionRule.ts +16 -5
- package/Models/DatabaseModels/Domain.ts +1 -1
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
- package/Models/DatabaseModels/Incident.ts +1 -1
- package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +1 -1
- package/Models/DatabaseModels/Index.ts +4 -0
- package/Models/DatabaseModels/MetricType.ts +0 -2
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +0 -2
- package/Models/DatabaseModels/MonitorTest.ts +0 -2
- package/Models/DatabaseModels/NetworkDevice.ts +234 -5
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
- package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +501 -0
- package/Models/DatabaseModels/NetworkDeviceRole.ts +648 -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/ThreatIntelFeed.ts +16 -5
- package/Server/API/GlobalConfigAPI.ts +362 -183
- package/Server/API/TelemetryAPI.ts +42 -4
- package/Server/EnvironmentConfig.ts +112 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790800000000-AddNetworkDeviceRoleTable.ts +72 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/MultipartFormData.ts +118 -32
- package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertGroupingEngineService.ts +9 -1
- package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertReminderRuleService.ts +9 -1
- package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
- package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DatabaseService.ts +39 -9
- package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/HostLabelRuleEngineService.ts +9 -1
- package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentGroupingEngineService.ts +9 -1
- package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentReminderRuleService.ts +9 -1
- package/Server/Services/IncidentSlaRuleService.ts +9 -1
- package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/Index.ts +4 -0
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesResourceService.ts +5 -1
- package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
- package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceRoleService.ts +90 -0
- package/Server/Services/NetworkDeviceService.ts +209 -1
- package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ProjectService.ts +85 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
- package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
- package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
- package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
- package/Server/Services/TelemetrySourceMapService.ts +266 -23
- package/Server/Services/UserNotificationSettingService.ts +0 -6
- package/Server/Services/UserService.ts +27 -0
- package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
- package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
- package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
- package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
- package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
- package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
- package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
- package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
- package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +31 -1
- package/Tests/App/Dashboard/DashboardChartWidgetZoom.test.tsx +35 -8
- package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +107 -3
- package/Tests/App/Dashboard/DashboardWideChartZoom.test.tsx +401 -0
- package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
- package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
- package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +318 -0
- package/Tests/App/Dashboard/NetworkDeviceBulkDelete.test.tsx +357 -0
- package/Tests/App/Dashboard/NetworkSideMenu.test.tsx +590 -0
- package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
- package/Tests/App/Dashboard/SideMenuHarness.tsx +11 -3
- package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
- package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
- package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
- package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +543 -0
- package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
- package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
- package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
- package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +32 -7
- package/Tests/Server/Infrastructure/Postgres/NetworkDeviceRoleTableMigration.test.ts +476 -0
- package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
- package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
- package/Tests/Server/Services/DatabaseServiceGenerateSlug.test.ts +215 -0
- package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
- package/Tests/Server/Services/NetworkDeviceRoleModel.test.ts +672 -0
- package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +1 -1
- package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +67 -4
- package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
- package/Tests/Server/Services/ScheduledMaintenanceSubscriberEndTime.test.ts +369 -0
- package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
- package/Tests/Server/Services/UserNotificationSettingMonitorDefaults.test.ts +248 -0
- package/Tests/Server/Services/UserNotificationSettingWorkspaceChannels.test.ts +43 -2
- package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
- package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
- package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
- package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
- package/Tests/Server/Utils/BasicCron.test.ts +283 -0
- package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
- package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
- package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
- package/Tests/Server/Utils/IncomingCallPhoneNumber.test.ts +174 -0
- package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
- package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
- package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
- package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
- package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
- package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
- package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
- package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
- package/Tests/Types/NetworkDevice/DefaultNetworkDeviceRole.test.ts +417 -0
- package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
- package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
- package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
- package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -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/Charts/TimeAnnotation.test.ts +471 -0
- package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
- package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
- package/Tests/UI/Components/MarkdownConverters.test.ts +686 -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/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
- package/Tests/UI/Components/ModelTable/ColumnPreference.test.ts +89 -0
- package/Tests/UI/Components/NavBarCommandKGating.test.tsx +103 -8
- package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
- package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
- package/Tests/UI/Components/SideMenuItem.test.tsx +30 -0
- package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
- package/Tests/UI/Components/XAxis.test.ts +270 -5
- package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
- package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
- package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
- package/Tests/UI/Styles/ThemeStylesheet.ts +162 -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 +507 -0
- package/Tests/Utils/Monitor/NetworkDeviceRoleCatalog.test.ts +981 -0
- package/Tests/Utils/Monitor/NetworkTopologyRoleCatalog.test.ts +865 -0
- package/Tests/Utils/NetworkDevice/DeviceRoleKeyUtil.test.ts +538 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
- package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
- package/Tests/Utils/Slo/SloEvaluation.test.ts +171 -0
- package/Tests/Utils/Slug.test.ts +61 -1
- package/Tests/jest.setup.ts +19 -0
- package/Types/Date.ts +39 -0
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +61 -0
- package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
- package/Types/NetworkDevice/DefaultNetworkDeviceRole.ts +145 -0
- package/Types/Permission.ts +141 -0
- package/Types/Rum/SessionReplay.ts +21 -0
- package/Types/Telemetry/SourceMap.ts +8 -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/Annotations/AnnotationHoverCard.tsx +176 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +554 -545
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +337 -371
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +549 -540
- package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
- package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
- package/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.ts +13 -0
- package/UI/Components/Charts/Line/LineChart.tsx +7 -0
- package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
- package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
- package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
- package/UI/Components/Charts/Utils/XAxis.ts +125 -18
- package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
- package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
- package/UI/Components/Feed/FeedItem.tsx +4 -5
- package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
- package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
- package/UI/Components/Image/Image.tsx +20 -3
- package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
- package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +200 -39
- package/UI/Components/Navbar/NavBar.tsx +62 -13
- package/UI/Components/Navbar/NavBarMenuModal.tsx +7 -2
- package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +2 -0
- package/UI/Components/SideMenu/SideMenu.tsx +12 -2
- package/UI/Components/SideMenu/SideMenuItem.tsx +4 -1
- package/UI/Components/SideMenu/SideMenuSection.tsx +14 -2
- package/UI/Components/Table/TableHeader.tsx +64 -48
- package/UI/Components/Table/TableRow.tsx +13 -3
- package/UI/Styles/Theme.css +38 -0
- package/UI/Utils/UseDashboardTimeRangeZoom.ts +77 -0
- package/Utils/Dashboard/DashboardTimeRangeZoom.ts +118 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
- package/Utils/Monitor/NetworkDeviceRoleCatalog.ts +232 -0
- package/Utils/Monitor/NetworkDeviceRoleUtil.ts +2 -1
- package/Utils/Monitor/NetworkTopologyUtil.ts +116 -33
- package/Utils/NetworkDevice/DeviceRoleKeyUtil.ts +137 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
- package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
- package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
- package/Utils/Rules/RuleEngineLimits.ts +32 -0
- package/Utils/Rules/RulePatternMatchUtil.ts +1 -1
- package/Utils/Slug.ts +34 -1
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.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/DetectionRule.js +16 -5
- package/build/dist/Models/DatabaseModels/DetectionRule.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/GoogleSecOpsConnection.js +14 -5
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.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/IncidentSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.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 +4 -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/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/NetworkDevice.js +239 -6
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +88 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +521 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceRole.js +677 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceRole.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/ThreatIntelFeed.js +16 -5
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
- package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
- package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +31 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +83 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.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/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/MultipartFormData.js +93 -28
- package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.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/DockerHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +4 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesResourceService.js +5 -1
- package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +30 -21
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +64 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js +180 -0
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.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 +154 -1
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +65 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
- package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +0 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +25 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
- package/build/dist/Types/Date.js +27 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.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/Permission.js +126 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +19 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- 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/Annotations/AnnotationHoverCard.js +83 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +262 -234
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +146 -153
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +261 -233
- 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/Charts/Types/ChartEventKind.js +14 -0
- package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
- package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
- package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
- package/build/dist/UI/Components/Image/Image.js +6 -1
- package/build/dist/UI/Components/Image/Image.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/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +143 -36
- package/build/dist/UI/Components/ModelTable/BaseModelTable.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/SideMenu/CountModelSideMenuItem.js +1 -1
- package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js +9 -6
- package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js +7 -2
- package/build/dist/UI/Components/SideMenu/SideMenuSection.js.map +1 -1
- package/build/dist/UI/Components/Table/TableHeader.js +20 -22
- package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +13 -4
- package/build/dist/UI/Components/Table/TableRow.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 +153 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
- 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 +67 -32
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.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/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.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/jest.config.json +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
export default class EnterpriseLicenseSeatsUtil {
|
|
2
|
+
/*
|
|
3
|
+
* How many seats are in use, and whether one more user fits.
|
|
4
|
+
*
|
|
5
|
+
* The awkward part is that a license is shared by every instance the
|
|
6
|
+
* customer runs, and only oneuptime.com can deduplicate users across them —
|
|
7
|
+
* the same person on staging and production is one seat. So this instance
|
|
8
|
+
* has two numbers and neither one is the answer on its own:
|
|
9
|
+
*
|
|
10
|
+
* localUserCount live, but blind to the customer's other instances.
|
|
11
|
+
* aggregatedUserCount complete, but up to a day old, so it does not know
|
|
12
|
+
* about anyone added since the last daily report —
|
|
13
|
+
* including the user being added right now.
|
|
14
|
+
*
|
|
15
|
+
* Combining them needs to know how much of the aggregate is NOT ours, which
|
|
16
|
+
* is what the per-instance breakdown is for: subtract our own last reported
|
|
17
|
+
* count from the aggregate and what is left is other instances. Add the live
|
|
18
|
+
* local count back and the result is current on this instance and complete
|
|
19
|
+
* on the others.
|
|
20
|
+
*
|
|
21
|
+
* When the breakdown does not say — an older license server that sends no
|
|
22
|
+
* instance list, an instance that has never registered — there is nothing to
|
|
23
|
+
* subtract, and the fallback is the larger of the two numbers on their own.
|
|
24
|
+
* That is the only case where the stale aggregate decides anything: with a
|
|
25
|
+
* usable breakdown it is deliberately NOT maxed in, because it would then
|
|
26
|
+
* outvote the live count in the one direction that hurts. Free twenty seats
|
|
27
|
+
* by deleting twenty users and a stale aggregate would go on refusing new
|
|
28
|
+
* ones until the next daily report.
|
|
29
|
+
*
|
|
30
|
+
* Which way it is allowed to be wrong: under-enforcing is recoverable (the
|
|
31
|
+
* next daily report corrects the count, and the breach emails already go
|
|
32
|
+
* out), over-enforcing locks a paying customer out of their own instance.
|
|
33
|
+
* So every "I cannot tell" branch below resolves towards under-enforcing.
|
|
34
|
+
*/
|
|
35
|
+
static getSeatUsage(input) {
|
|
36
|
+
var _a;
|
|
37
|
+
const userLimit = this.parseUserLimit(input.userLimit);
|
|
38
|
+
const localUserCount = (_a = this.parseCount(input.localUserCount)) !== null && _a !== void 0 ? _a : 0;
|
|
39
|
+
const aggregatedUserCount = this.parseCount(input.aggregatedUserCount);
|
|
40
|
+
/*
|
|
41
|
+
* Null means the report is not complete enough to attribute seats to
|
|
42
|
+
* anybody, which is a different thing from attributing zero to them.
|
|
43
|
+
*/
|
|
44
|
+
const otherInstanceSeats = this.getSeatsUsedByOtherInstances({
|
|
45
|
+
aggregatedUserCount: aggregatedUserCount,
|
|
46
|
+
instances: input.instances,
|
|
47
|
+
thisInstanceId: input.thisInstanceId,
|
|
48
|
+
});
|
|
49
|
+
const seatsUsedByOtherInstances = otherInstanceSeats !== null && otherInstanceSeats !== void 0 ? otherInstanceSeats : 0;
|
|
50
|
+
const seatsInUse = otherInstanceSeats === null
|
|
51
|
+
? Math.max(localUserCount, aggregatedUserCount !== null && aggregatedUserCount !== void 0 ? aggregatedUserCount : 0)
|
|
52
|
+
: otherInstanceSeats + localUserCount;
|
|
53
|
+
if (userLimit === null) {
|
|
54
|
+
return {
|
|
55
|
+
isEnforced: false,
|
|
56
|
+
userLimit: null,
|
|
57
|
+
seatsInUse: seatsInUse,
|
|
58
|
+
seatsRemaining: null,
|
|
59
|
+
hasSeatForNewUser: true,
|
|
60
|
+
seatsUsedByOtherInstances: seatsUsedByOtherInstances,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
isEnforced: true,
|
|
65
|
+
userLimit: userLimit,
|
|
66
|
+
seatsInUse: seatsInUse,
|
|
67
|
+
seatsRemaining: Math.max(0, userLimit - seatsInUse),
|
|
68
|
+
hasSeatForNewUser: seatsInUse < userLimit,
|
|
69
|
+
seatsUsedByOtherInstances: seatsUsedByOtherInstances,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/*
|
|
73
|
+
* The message an administrator reads when a seat could not be taken. Built
|
|
74
|
+
* here rather than at each throw site so the invite form, the signup form
|
|
75
|
+
* and SSO/SCIM provisioning all explain the same thing the same way, and so
|
|
76
|
+
* the tests can assert on it without copying the wording.
|
|
77
|
+
*/
|
|
78
|
+
static getSeatLimitReachedMessage(data) {
|
|
79
|
+
return (`This OneUptime installation has reached the ${data.userLimit.toLocaleString()}-user ` +
|
|
80
|
+
`limit of its enterprise license (${data.seatsInUse.toLocaleString()} in use). New users ` +
|
|
81
|
+
`cannot be invited, signed up or provisioned until a seat is freed up or the license is ` +
|
|
82
|
+
`expanded. Contact sales@oneuptime.com to add seats, then use "Refresh license" in the ` +
|
|
83
|
+
`edition dialog to apply the new limit.`);
|
|
84
|
+
}
|
|
85
|
+
/*
|
|
86
|
+
* The part of the aggregate that belongs to instances other than this one,
|
|
87
|
+
* or null when the report does not say.
|
|
88
|
+
*
|
|
89
|
+
* Null rather than zero, because the two lead somewhere different: zero means
|
|
90
|
+
* "this installation is the only one holding seats", and null means "the
|
|
91
|
+
* report cannot be decomposed, fall back to comparing the two totals". Every
|
|
92
|
+
* missing or unusable field lands on null.
|
|
93
|
+
*
|
|
94
|
+
* In particular, an instance list that does not contain us is NOT treated as
|
|
95
|
+
* "then all of the aggregate is somebody else's". That reading is right for a
|
|
96
|
+
* genuinely unregistered instance, and catastrophic for an instance whose id
|
|
97
|
+
* changed after its users were already counted under the old one: it would
|
|
98
|
+
* count this installation's users twice and lock it out.
|
|
99
|
+
*/
|
|
100
|
+
static getSeatsUsedByOtherInstances(data) {
|
|
101
|
+
const aggregatedUserCount = data.aggregatedUserCount;
|
|
102
|
+
if (aggregatedUserCount === null) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
if (!Array.isArray(data.instances) || data.instances.length === 0) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const thisInstanceId = typeof data.thisInstanceId === "string" ? data.thisInstanceId.trim() : "";
|
|
109
|
+
if (!thisInstanceId) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const thisInstance = data.instances.find((instance) => {
|
|
113
|
+
return Boolean(instance) && instance.instanceId === thisInstanceId;
|
|
114
|
+
});
|
|
115
|
+
if (!thisInstance) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const ownReportedCount = this.parseCount(thisInstance.userCount);
|
|
119
|
+
if (ownReportedCount === null) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return Math.max(0, aggregatedUserCount - ownReportedCount);
|
|
123
|
+
}
|
|
124
|
+
/*
|
|
125
|
+
* A limit is only a limit when it is a positive whole number.
|
|
126
|
+
*
|
|
127
|
+
* Zero is deliberately read as "no limit" rather than "no seats at all",
|
|
128
|
+
* matching every other place in the product that measures seat usage
|
|
129
|
+
* (the license modal, the breach notification job). A license that really
|
|
130
|
+
* grants nobody an account is not a thing OneUptime issues, and reading a
|
|
131
|
+
* stray zero the other way would leave an installation unable to create even
|
|
132
|
+
* its first user.
|
|
133
|
+
*/
|
|
134
|
+
static parseUserLimit(value) {
|
|
135
|
+
if (typeof value !== "number" ||
|
|
136
|
+
!Number.isFinite(value) ||
|
|
137
|
+
!Number.isInteger(value) ||
|
|
138
|
+
value <= 0) {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
return value;
|
|
142
|
+
}
|
|
143
|
+
static parseCount(value) {
|
|
144
|
+
if (typeof value !== "number" ||
|
|
145
|
+
!Number.isFinite(value) ||
|
|
146
|
+
!Number.isInteger(value) ||
|
|
147
|
+
value < 0) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=EnterpriseLicenseSeats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnterpriseLicenseSeats.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The silhouettes the renderer can actually draw. A row's topologyShape is a
|
|
3
|
+
* free-text column - the geometry lives in the client and adding a shape must
|
|
4
|
+
* not need a migration - so a value that is not one of these is dropped rather
|
|
5
|
+
* than passed through to a renderer that would have no path for it.
|
|
6
|
+
*/
|
|
7
|
+
const KNOWN_SHAPES = new Set([
|
|
8
|
+
"circle",
|
|
9
|
+
"rounded-square",
|
|
10
|
+
"diamond",
|
|
11
|
+
"triangle",
|
|
12
|
+
"hexagon",
|
|
13
|
+
"tower",
|
|
14
|
+
"cylinder",
|
|
15
|
+
"rect",
|
|
16
|
+
]);
|
|
17
|
+
/*
|
|
18
|
+
* Keys are matched case- and whitespace-insensitively, the same way
|
|
19
|
+
* parseDeviceRoleOverride reads the stored column, so a hand-edited or
|
|
20
|
+
* imported "Router " still finds the Router row.
|
|
21
|
+
*/
|
|
22
|
+
export const normalizeRoleKey = (value) => {
|
|
23
|
+
const normalized = (value || "").trim().toLowerCase();
|
|
24
|
+
return normalized || undefined;
|
|
25
|
+
};
|
|
26
|
+
export const buildDeviceRoleIndex = (roles) => {
|
|
27
|
+
const index = new Map();
|
|
28
|
+
for (const role of roles) {
|
|
29
|
+
const key = normalizeRoleKey(role.key);
|
|
30
|
+
if (!key || index.has(key)) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
index.set(key, role);
|
|
34
|
+
}
|
|
35
|
+
return index;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The stamp for one role key.
|
|
39
|
+
*
|
|
40
|
+
* Returns an EMPTY object when the project has no row for the key - which is
|
|
41
|
+
* the normal case for a project that has not been backfilled yet, and the
|
|
42
|
+
* permanent case for a project that deleted a seeded role the classifier can
|
|
43
|
+
* still produce. Every field a node does not get falls back to the built-in
|
|
44
|
+
* behaviour on the client, so an empty stamp draws exactly the map that was
|
|
45
|
+
* drawn before roles were configurable.
|
|
46
|
+
*
|
|
47
|
+
* The one field always present when a row IS found is `roleKey`, because the
|
|
48
|
+
* legend groups by it and a group with no key cannot be grouped.
|
|
49
|
+
*/
|
|
50
|
+
export const stampForRoleKey = (roleKey, index) => {
|
|
51
|
+
const normalized = normalizeRoleKey(roleKey);
|
|
52
|
+
if (!normalized) {
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
55
|
+
const role = index.get(normalized);
|
|
56
|
+
if (!role) {
|
|
57
|
+
return {};
|
|
58
|
+
}
|
|
59
|
+
const stamp = {
|
|
60
|
+
roleKey: role.key,
|
|
61
|
+
};
|
|
62
|
+
if (role.id) {
|
|
63
|
+
stamp.roleId = role.id;
|
|
64
|
+
}
|
|
65
|
+
if (role.name) {
|
|
66
|
+
stamp.roleLabel = role.name;
|
|
67
|
+
}
|
|
68
|
+
if (role.topologyShape && KNOWN_SHAPES.has(role.topologyShape)) {
|
|
69
|
+
stamp.roleShape = role.topologyShape;
|
|
70
|
+
}
|
|
71
|
+
if (role.isCoreLayer !== undefined) {
|
|
72
|
+
stamp.isCoreLayerRole = Boolean(role.isCoreLayer);
|
|
73
|
+
}
|
|
74
|
+
if (role.isSnmpWalkable !== undefined) {
|
|
75
|
+
stamp.isSnmpWalkableRole = Boolean(role.isSnmpWalkable);
|
|
76
|
+
}
|
|
77
|
+
return stamp;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Which key a node's presentation should come from.
|
|
81
|
+
*
|
|
82
|
+
* The operator's assignment wins, exactly as it does for `role` itself. With
|
|
83
|
+
* no assignment the classifier's answer is used, so a project that renamed
|
|
84
|
+
* "Router" to "Edge Router" sees the new name on devices it never had to
|
|
85
|
+
* touch. "unknown" is not a key any row holds and is deliberately not looked
|
|
86
|
+
* up: it is the classifier declining to answer, and a neutral node is the
|
|
87
|
+
* honest drawing of that.
|
|
88
|
+
*/
|
|
89
|
+
export const roleKeyForNode = (assignedRoleKey, classifiedRole) => {
|
|
90
|
+
const assigned = normalizeRoleKey(assignedRoleKey);
|
|
91
|
+
if (assigned) {
|
|
92
|
+
return assigned;
|
|
93
|
+
}
|
|
94
|
+
if (classifiedRole === "unknown") {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
return classifiedRole;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Copy a stamp onto a node, omitting the fields it does not carry.
|
|
101
|
+
*
|
|
102
|
+
* Assigning undefined rather than omitting would break the payload's own
|
|
103
|
+
* contract - "absent means fall back" - for any consumer that checks with
|
|
104
|
+
* `in` or serialises the node, so absent stays absent.
|
|
105
|
+
*/
|
|
106
|
+
export const applyRoleStamp = (node, stamp) => {
|
|
107
|
+
if (stamp.roleId !== undefined) {
|
|
108
|
+
node.roleId = stamp.roleId;
|
|
109
|
+
}
|
|
110
|
+
if (stamp.roleKey !== undefined) {
|
|
111
|
+
node.roleKey = stamp.roleKey;
|
|
112
|
+
}
|
|
113
|
+
if (stamp.roleLabel !== undefined) {
|
|
114
|
+
node.roleLabel = stamp.roleLabel;
|
|
115
|
+
}
|
|
116
|
+
if (stamp.roleShape !== undefined) {
|
|
117
|
+
node.roleShape = stamp.roleShape;
|
|
118
|
+
}
|
|
119
|
+
if (stamp.isCoreLayerRole !== undefined) {
|
|
120
|
+
node.isCoreLayerRole = stamp.isCoreLayerRole;
|
|
121
|
+
}
|
|
122
|
+
if (stamp.isSnmpWalkableRole !== undefined) {
|
|
123
|
+
node.isSnmpWalkableRole = stamp.isSnmpWalkableRole;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=NetworkDeviceRoleCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkDeviceRoleCatalog.js","sourceRoot":"","sources":["../../../../Utils/Monitor/NetworkDeviceRoleCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -389,7 +389,8 @@ export function labelForDeviceRole(role) {
|
|
|
389
389
|
* The classifier above is evidence-driven, and its evidence is SNMP: a
|
|
390
390
|
* device nothing walks — a ping-only device imported by discovery, say —
|
|
391
391
|
* offers it a hostname and nothing else, so it comes back "unknown" and
|
|
392
|
-
* stays there forever.
|
|
392
|
+
* stays there forever. The role an operator ASSIGNED the device
|
|
393
|
+
* (NetworkDevice.networkDeviceRole, whose key is what arrives here) is them saying
|
|
393
394
|
* what the box actually is, and it is the only statement about a role that
|
|
394
395
|
* is not an inference, so it outranks everything the classifier can find.
|
|
395
396
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkDeviceRoleUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/NetworkDeviceRoleUtil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NetworkDeviceRoleUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/NetworkDeviceRoleUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { normalizeMac } from "./EndpointAttachmentUtil";
|
|
2
2
|
import { classifyDeviceRole, classifyEndpointRole, resolveDeviceRole, } from "./NetworkDeviceRoleUtil";
|
|
3
|
+
import { applyRoleStamp, buildDeviceRoleIndex, roleKeyForNode, stampForRoleKey, } from "./NetworkDeviceRoleCatalog";
|
|
3
4
|
import DeviceReachabilityUtil, { NetworkDeviceReachability, } from "../NetworkDevice/DeviceReachabilityUtil";
|
|
4
5
|
const MATCH_KEY_KINDS_STRONGEST_FIRST = [
|
|
5
6
|
"name",
|
|
@@ -82,9 +83,16 @@ export default class NetworkTopologyUtil {
|
|
|
82
83
|
* "endpoint" node linked by an "fdb" edge (capped, deterministic by MAC);
|
|
83
84
|
* the rest are dropped and counted in droppedEndpointCount.
|
|
84
85
|
*/
|
|
85
|
-
static buildTopology(devices, now, interfaces = [], endpoints = [], manualLinks = [], suppressedNodeKeys = new Set()) {
|
|
86
|
+
static buildTopology(devices, now, interfaces = [], endpoints = [], manualLinks = [], suppressedNodeKeys = new Set(), deviceRoles = []) {
|
|
86
87
|
var _a;
|
|
87
88
|
const nodes = [];
|
|
89
|
+
/*
|
|
90
|
+
* The project's configured roles, indexed by key. Passing none is a
|
|
91
|
+
* supported case - the nodes then carry no role stamp and every consumer
|
|
92
|
+
* falls back to the built-in labels, shapes and core set, which is exactly
|
|
93
|
+
* the map drawn before roles were configurable.
|
|
94
|
+
*/
|
|
95
|
+
const roleIndex = buildDeviceRoleIndex(deviceRoles);
|
|
88
96
|
/*
|
|
89
97
|
* Index managed devices by every identifier a neighbor entry could
|
|
90
98
|
* reference. A key TWO devices both claim is deleted rather than
|
|
@@ -122,26 +130,35 @@ export default class NetworkTopologyUtil {
|
|
|
122
130
|
const isNeighborDiscoveryEnabledById = new Map();
|
|
123
131
|
for (const device of devices) {
|
|
124
132
|
isNeighborDiscoveryEnabledById.set(device.id, device.isNeighborDiscoveryEnabled);
|
|
125
|
-
|
|
133
|
+
const deviceRole = resolveDeviceRole(device.deviceRole, {
|
|
134
|
+
sysDescr: device.sysDescr,
|
|
135
|
+
sysObjectId: device.sysObjectId,
|
|
136
|
+
vendor: device.vendor,
|
|
137
|
+
deviceModel: device.deviceModel,
|
|
138
|
+
name: device.name,
|
|
139
|
+
sysName: device.sysName || device.hostname,
|
|
140
|
+
});
|
|
141
|
+
const deviceNode = {
|
|
126
142
|
id: device.id,
|
|
127
143
|
name: device.name,
|
|
128
144
|
isManaged: true,
|
|
129
145
|
kind: "device",
|
|
130
|
-
role:
|
|
131
|
-
sysDescr: device.sysDescr,
|
|
132
|
-
sysObjectId: device.sysObjectId,
|
|
133
|
-
vendor: device.vendor,
|
|
134
|
-
deviceModel: device.deviceModel,
|
|
135
|
-
name: device.name,
|
|
136
|
-
sysName: device.sysName || device.hostname,
|
|
137
|
-
}),
|
|
146
|
+
role: deviceRole,
|
|
138
147
|
status: NetworkTopologyUtil.deviceStatus(device, now),
|
|
139
148
|
interfacesUp: device.interfacesUp,
|
|
140
149
|
interfacesDown: device.interfacesDown,
|
|
141
150
|
sysName: device.sysName,
|
|
142
151
|
vendor: device.vendor,
|
|
143
152
|
deviceModel: device.deviceModel,
|
|
144
|
-
}
|
|
153
|
+
};
|
|
154
|
+
/*
|
|
155
|
+
* The configured role, when the project has one for this key. The
|
|
156
|
+
* assignment is looked up ahead of the classifier's answer, so a device
|
|
157
|
+
* an operator gave a CUSTOM role ("PoS Terminal") is drawn as that role
|
|
158
|
+
* even though `role` above can only ever be one of the built-in twelve.
|
|
159
|
+
*/
|
|
160
|
+
applyRoleStamp(deviceNode, stampForRoleKey(roleKeyForNode(device.deviceRole, deviceRole), roleIndex));
|
|
161
|
+
nodes.push(deviceNode);
|
|
145
162
|
}
|
|
146
163
|
const edgeByKey = new Map();
|
|
147
164
|
/*
|
|
@@ -191,7 +208,7 @@ export default class NetworkTopologyUtil {
|
|
|
191
208
|
}
|
|
192
209
|
}
|
|
193
210
|
const settledClaims = NetworkTopologyUtil.propagateMatchesAcrossPeerGroups(resolvedClaims);
|
|
194
|
-
const peerNodeIdByClaim = NetworkTopologyUtil.buildUnmanagedPeerNodes(settledClaims, nodes);
|
|
211
|
+
const peerNodeIdByClaim = NetworkTopologyUtil.buildUnmanagedPeerNodes(settledClaims, nodes, roleIndex);
|
|
195
212
|
for (const resolved of settledClaims) {
|
|
196
213
|
const device = resolved.device;
|
|
197
214
|
const claim = resolved.claim;
|
|
@@ -442,23 +459,33 @@ export default class NetworkTopologyUtil {
|
|
|
442
459
|
endpoint.vendor ||
|
|
443
460
|
endpoint.ipAddress ||
|
|
444
461
|
endpoint.macAddress;
|
|
445
|
-
|
|
462
|
+
const endpointRole = classifyEndpointRole({
|
|
463
|
+
classification: endpoint.classification,
|
|
464
|
+
vendor: endpoint.vendor,
|
|
465
|
+
name: endpointName,
|
|
466
|
+
});
|
|
467
|
+
const endpointNode = {
|
|
446
468
|
id: nodeId,
|
|
447
469
|
name: endpointName,
|
|
448
470
|
isManaged: false,
|
|
449
471
|
kind: "endpoint",
|
|
450
|
-
role:
|
|
451
|
-
classification: endpoint.classification,
|
|
452
|
-
vendor: endpoint.vendor,
|
|
453
|
-
name: endpointName,
|
|
454
|
-
}),
|
|
472
|
+
role: endpointRole,
|
|
455
473
|
status: NetworkTopologyUtil.statusFromLastSeen(endpoint.lastSeenAt, now),
|
|
456
474
|
vendor: endpoint.vendor,
|
|
457
475
|
macAddress: endpoint.macAddress,
|
|
458
476
|
ipAddress: endpoint.ipAddress,
|
|
459
477
|
classification: endpoint.classification,
|
|
460
478
|
vlanId: endpoint.vlanId,
|
|
461
|
-
}
|
|
479
|
+
};
|
|
480
|
+
/*
|
|
481
|
+
* Endpoints are stamped too, so a project that renamed "IP phone" sees
|
|
482
|
+
* the new name on the handsets its switches learned. It cannot change
|
|
483
|
+
* where they sit: the layouts put every endpoint in its switch's group
|
|
484
|
+
* box before they ever look at a role, so isCoreLayerRole is inert here
|
|
485
|
+
* by construction rather than by omission.
|
|
486
|
+
*/
|
|
487
|
+
applyRoleStamp(endpointNode, stampForRoleKey(roleKeyForNode(undefined, endpointRole), roleIndex));
|
|
488
|
+
nodes.push(endpointNode);
|
|
462
489
|
// Port label + interface state on the switch end, when identifiable.
|
|
463
490
|
let switchInterface = undefined;
|
|
464
491
|
if (endpoint.attachedInterfaceIndex !== undefined) {
|
|
@@ -837,7 +864,7 @@ export default class NetworkTopologyUtil {
|
|
|
837
864
|
* used to draw. Appends the nodes it mints to `nodes` and returns the node
|
|
838
865
|
* id each claim should draw its edge to.
|
|
839
866
|
*/
|
|
840
|
-
static buildUnmanagedPeerNodes(resolvedClaims, nodes) {
|
|
867
|
+
static buildUnmanagedPeerNodes(resolvedClaims, nodes, roleIndex = new Map()) {
|
|
841
868
|
const unmanagedClaims = resolvedClaims.filter((resolved) => {
|
|
842
869
|
return !resolved.matchedDeviceId && resolved.peerAliases.length > 0;
|
|
843
870
|
});
|
|
@@ -910,21 +937,22 @@ export default class NetworkTopologyUtil {
|
|
|
910
937
|
const nodeId = NetworkTopologyUtil.uniqueNodeId(`unmanaged:${NetworkTopologyUtil.canonicalPeerValue(groupClaims, displayName)}`, usedNodeIds);
|
|
911
938
|
usedNodeIds.add(nodeId);
|
|
912
939
|
const unmanagedName = displayName || "Unknown device";
|
|
913
|
-
|
|
940
|
+
/*
|
|
941
|
+
* Classified from the whole group rather than from whichever
|
|
942
|
+
* report happened to be first: the platform string is usually the
|
|
943
|
+
* only real evidence about a peer, and it may well arrive on the
|
|
944
|
+
* second report of it.
|
|
945
|
+
*/
|
|
946
|
+
const unmanagedRole = classifyDeviceRole({
|
|
947
|
+
platform: platform,
|
|
948
|
+
name: unmanagedName,
|
|
949
|
+
});
|
|
950
|
+
const unmanagedNode = {
|
|
914
951
|
id: nodeId,
|
|
915
952
|
name: unmanagedName,
|
|
916
953
|
isManaged: false,
|
|
917
954
|
kind: "unmanaged",
|
|
918
|
-
|
|
919
|
-
* Classified from the whole group rather than from whichever
|
|
920
|
-
* report happened to be first: the platform string is usually the
|
|
921
|
-
* only real evidence about a peer, and it may well arrive on the
|
|
922
|
-
* second report of it.
|
|
923
|
-
*/
|
|
924
|
-
role: classifyDeviceRole({
|
|
925
|
-
platform: platform,
|
|
926
|
-
name: unmanagedName,
|
|
927
|
-
}),
|
|
955
|
+
role: unmanagedRole,
|
|
928
956
|
status: "unknown",
|
|
929
957
|
deviceModel: platform,
|
|
930
958
|
/*
|
|
@@ -934,7 +962,14 @@ export default class NetworkTopologyUtil {
|
|
|
934
962
|
* they can only look at.
|
|
935
963
|
*/
|
|
936
964
|
ipAddress: ipAddress,
|
|
937
|
-
}
|
|
965
|
+
};
|
|
966
|
+
/*
|
|
967
|
+
* Stamped for the adopt-a-neighbour flow above all: isSnmpWalkableRole
|
|
968
|
+
* is what decides whether adopting this peer opens on SNMP polling or on
|
|
969
|
+
* a monitor, and a peer is exactly the node an operator adopts.
|
|
970
|
+
*/
|
|
971
|
+
applyRoleStamp(unmanagedNode, stampForRoleKey(roleKeyForNode(undefined, unmanagedRole), roleIndex));
|
|
972
|
+
nodes.push(unmanagedNode);
|
|
938
973
|
for (const resolved of groupClaims) {
|
|
939
974
|
nodeIdByClaim.set(resolved, nodeId);
|
|
940
975
|
}
|