@oneuptime/common 12.0.6 → 12.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/DatabaseModels/AIInsight.ts +1 -1
- package/Models/DatabaseModels/DatabaseBaseModel/FileModel.ts +2 -3
- package/Models/DatabaseModels/DeletedProject.ts +595 -0
- package/Models/DatabaseModels/Index.ts +2 -0
- package/Models/DatabaseModels/Monitor.ts +111 -0
- package/Models/DatabaseModels/Project.ts +3 -3
- package/Models/DatabaseModels/TelemetryEntity.ts +45 -0
- package/Models/DatabaseModels/TelemetryEntityRelationship.ts +26 -0
- package/Models/DatabaseModels/WorkflowLog.ts +38 -0
- package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -1
- package/Server/API/FileAPI.ts +15 -2
- package/Server/API/MicrosoftTeamsAPI.ts +6 -1
- package/Server/API/ProjectAPI.ts +214 -0
- package/Server/API/StatusPageAPI.ts +39 -6
- package/Server/API/UserAPI.ts +16 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.ts +50 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.ts +39 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.ts +41 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Middleware/MasterAdminAuthorization.ts +11 -6
- package/Server/Services/AIAgentService.ts +20 -0
- package/Server/Services/DashboardDomainService.ts +73 -28
- package/Server/Services/DatabaseService.ts +1 -0
- package/Server/Services/DeletedProjectService.ts +138 -0
- package/Server/Services/FileService.ts +61 -0
- package/Server/Services/IncidentEpisodePublicNoteService.ts +18 -0
- package/Server/Services/IncidentPublicNoteService.ts +18 -0
- package/Server/Services/Index.ts +2 -0
- package/Server/Services/MonitorService.ts +311 -0
- package/Server/Services/ProbeService.ts +20 -0
- package/Server/Services/ProjectService.ts +297 -1
- package/Server/Services/PushNotificationService.ts +71 -0
- package/Server/Services/ScheduledMaintenancePublicNoteService.ts +18 -0
- package/Server/Services/StatusPageAnnouncementService.ts +53 -0
- package/Server/Services/StatusPageDomainService.ts +73 -28
- package/Server/Services/TeamMemberService.ts +117 -12
- package/Server/Services/TelemetryEntityRelationshipService.ts +3 -0
- package/Server/Services/TelemetryEntityService.ts +114 -1
- package/Server/Services/TelemetryIngestionKeyService.ts +1 -0
- package/Server/Services/UserWebhookService.ts +34 -109
- package/Server/Services/WorkspaceNotificationRuleService.ts +69 -0
- package/Server/Services/WorkspaceProjectAuthTokenService.ts +37 -1
- package/Server/Types/Database/DeleteById.ts +2 -0
- package/Server/Types/Database/DeleteOneBy.ts +6 -0
- package/Server/Types/Domain.ts +41 -0
- package/Server/Types/Workflow/Components/API/Delete.ts +2 -1
- package/Server/Types/Workflow/Components/API/Get.ts +2 -1
- package/Server/Types/Workflow/Components/API/Patch.ts +2 -1
- package/Server/Types/Workflow/Components/API/Post.ts +2 -1
- package/Server/Types/Workflow/Components/API/Put.ts +2 -1
- package/Server/Types/Workflow/Components/API/Utils.ts +85 -3
- package/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.ts +25 -19
- package/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.ts +6 -5
- package/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.ts +32 -14
- package/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.ts +31 -13
- package/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.ts +29 -20
- package/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.ts +28 -21
- package/Server/Types/Workflow/Components/BaseModel/LogComponentError.ts +89 -0
- package/Server/Types/Workflow/Components/BaseModel/ModelArguments.ts +208 -0
- package/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.ts +11 -0
- package/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.ts +41 -18
- package/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.ts +45 -19
- package/Server/Types/Workflow/Components/Discord/SendMessageToChannel.ts +16 -9
- package/Server/Types/Workflow/Components/IncomingWebhookUtils.ts +66 -0
- package/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.ts +15 -9
- package/Server/Types/Workflow/Components/Slack/SendMessageToChannel.ts +17 -0
- package/Server/Types/Workflow/TriggerCode.ts +12 -0
- package/Server/Types/Workflow/Workflow.ts +5 -0
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
- package/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.ts +171 -0
- package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +3 -3
- package/Server/Utils/AI/SRE/Insights/FixRouting.ts +3 -2
- package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +1 -1
- package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +6 -6
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +43 -5
- package/Server/Utils/DataSource/EgressGuard.ts +176 -16
- package/Server/Utils/DataSource/HttpFetch.ts +6 -45
- package/Server/Utils/Execute.ts +8 -0
- package/Server/Utils/InlineImageAccessTokenSync.ts +23 -0
- package/Server/Utils/LLM/LLMService.ts +57 -12
- package/Server/Utils/Monitor/MonitorAlert.ts +40 -0
- package/Server/Utils/Monitor/MonitorDependencySuppression.ts +192 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +40 -0
- package/Server/Utils/Monitor/MonitorResource.ts +36 -0
- package/Server/Utils/Response.ts +142 -6
- package/Server/Utils/SSRFProtection.ts +273 -60
- package/Server/Utils/StartServer.ts +8 -0
- package/Server/Utils/Telemetry/InventoryEntityRegistry.ts +689 -0
- package/Server/Utils/VM/VMAPI.ts +56 -8
- package/Server/Utils/VM/VMRunner.ts +88 -1
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +555 -49
- package/Server/Utils/Workspace/Slack/Slack.ts +25 -2
- package/Server/Utils/Workspace/WorkspaceBase.ts +6 -0
- package/Tests/App/Dashboard/DangerZone.test.tsx +334 -0
- package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +539 -0
- package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +678 -0
- package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +706 -0
- package/Tests/App/Dashboard/DashboardVariablesModal.test.tsx +508 -0
- package/Tests/App/Dashboard/MonitorCriteriaAttributeFilter.test.tsx +574 -0
- package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +470 -0
- package/Tests/App/StatusPage/StatusPageDetailPagesNotFound.test.tsx +308 -0
- package/Tests/Models/DatabaseModels/DeletedProjectModel.test.ts +251 -0
- package/Tests/Models/DatabaseModels/SavedViewJSONColumnTuples.test.ts +115 -0
- package/Tests/Server/API/FileAPIAccessControl.test.ts +316 -0
- package/Tests/Server/API/ProjectAPI.test.ts +299 -1
- package/Tests/Server/API/ProjectAPIAdjustBalance.test.ts +459 -0
- package/Tests/Server/API/ProjectAPIAdjustBalanceBillingDisabled.test.ts +177 -0
- package/Tests/Server/API/UserProjectsAPI.test.ts +478 -4
- package/Tests/Server/Services/DatabaseServiceDeletionReason.test.ts +123 -0
- package/Tests/Server/Services/DeletedProjectService.test.ts +415 -0
- package/Tests/Server/Services/DeletedProjectServiceSelfHosted.test.ts +70 -0
- package/Tests/Server/Services/DomainSubdomainHooks.test.ts +94 -0
- package/Tests/Server/Services/FileIsPublicBooleanMigration.test.ts +244 -0
- package/Tests/Server/Services/FileServiceMimeType.test.ts +89 -0
- package/Tests/Server/Services/MonitorServiceDependencyValidation.test.ts +702 -0
- package/Tests/Server/Services/ProjectServiceAdjustBalance.test.ts +615 -0
- package/Tests/Server/Services/ProjectServiceDeleteAudit.test.ts +406 -0
- package/Tests/Server/Services/PublishTimeImageVisibility.test.ts +450 -0
- package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +669 -0
- package/Tests/Server/Services/TelemetryEntityManualCreate.test.ts +248 -0
- package/Tests/Server/Services/UserWebhookSSRF.test.ts +174 -0
- package/Tests/Server/Services/WebPushEndpointAllowlist.test.ts +133 -0
- package/Tests/Server/Services/WorkspaceProjectAuthTokenRepoint.test.ts +618 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +26 -1
- package/Tests/Server/Types/Workflow/Components/ApiComponentHeaders.test.ts +192 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentSsrf.test.ts +215 -0
- package/Tests/Server/Types/Workflow/Components/BaseModelDatabaseComponents.test.ts +742 -0
- package/Tests/Server/Types/Workflow/Components/ChatWebhookComponents.test.ts +256 -0
- package/Tests/Server/Types/Workflow/Components/ModelArguments.test.ts +371 -0
- package/Tests/Server/Utils/AI/CodeAgentCommandGuard.test.ts +204 -0
- package/Tests/Server/Utils/AI/CodeAgentWriteLimits.test.ts +213 -0
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +52 -5
- package/Tests/Server/Utils/AI/LLMServiceBaseUrl.test.ts +3 -0
- package/Tests/Server/Utils/AI/LLMServiceEgressGuard.test.ts +315 -0
- package/Tests/Server/Utils/AI/LLMServiceModelCompatibility.test.ts +3 -0
- package/Tests/Server/Utils/AI/LLMServiceRequestPolicy.test.ts +17 -5
- package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +14 -1
- package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +35 -0
- package/Tests/Server/Utils/AI/StubLLMEgressGuard.ts +25 -0
- package/Tests/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.test.ts +152 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +62 -7
- package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +69 -0
- package/Tests/Server/Utils/DataSource/EgressGuardPinning.test.ts +330 -0
- package/Tests/Server/Utils/GitHubCreatePullRequestWithToken.test.ts +393 -0
- package/Tests/Server/Utils/InlineImageAccessTokenSync.test.ts +202 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppression.test.ts +811 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +604 -0
- package/Tests/Server/Utils/ResponseSendFileResponse.test.ts +192 -0
- package/Tests/Server/Utils/SSRFProtectionBypasses.test.ts +406 -0
- package/Tests/Server/Utils/Telemetry/InventoryEntityRegistry.test.ts +322 -0
- package/Tests/Server/Utils/VM/VMAPISubstitution.test.ts +243 -0
- package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +1169 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelsList.test.ts +2 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +1605 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsTenantResolution.test.ts +1218 -0
- package/Tests/Types/AI/AIChatMessageStatus.test.ts +79 -0
- package/Tests/Types/AI/AIInsightStatus.test.ts +40 -0
- package/Tests/Types/API/HostnameAuthorityParsing.test.ts +157 -0
- package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +27 -0
- package/Tests/Types/DataSource/DataSourceLimits.test.ts +71 -0
- package/Tests/Types/DataSource/DataSourceType.test.ts +181 -0
- package/Tests/Types/DomainSubdomainValidation.test.ts +90 -0
- package/Tests/Types/JSONFunctions.test.ts +252 -1
- package/Tests/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.test.ts +61 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.test.ts +62 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.test.ts +68 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpVersion.test.ts +51 -0
- package/Tests/Types/SerializableObjectDictionaryImportCycle.test.ts +197 -0
- package/Tests/Types/Telemetry/EntityTypeGroups.test.ts +140 -0
- package/Tests/Types/Workflow/StepTrace.test.ts +235 -0
- package/Tests/Types/Workflow/TemplateSyntax.test.ts +379 -0
- package/Tests/Types/Workflow/Templates.test.ts +403 -0
- package/Tests/UI/Components/404.test.tsx +1 -1
- package/Tests/UI/Components/Alert.test.tsx +1 -1
- package/Tests/UI/Components/Badge.test.tsx +1 -1
- package/Tests/UI/Components/BasicForm.test.tsx +39 -10
- package/Tests/UI/Components/Button.test.tsx +1 -1
- package/Tests/UI/Components/Card.test.tsx +1 -1
- package/Tests/UI/Components/Charts/AxisTickColor.test.tsx +1 -1
- package/Tests/UI/Components/ColorViewer.test.tsx +1 -1
- package/Tests/UI/Components/ComponentsModal.test.tsx +7 -1
- package/Tests/UI/Components/CustomTimeRangeModal.test.tsx +459 -0
- package/Tests/UI/Components/DictionaryAttributeFilterRow.test.tsx +477 -0
- package/Tests/UI/Components/DictionaryOfStrings.test.tsx +1 -1
- package/Tests/UI/Components/Dropdown.test.tsx +1 -1
- package/Tests/UI/Components/FilePicker.test.tsx +1 -1
- package/Tests/UI/Components/Forms/AnchoredFieldPopupKeyboard.test.tsx +382 -0
- package/Tests/UI/Components/Forms/ColorPickerPicking.test.tsx +569 -0
- package/Tests/UI/Components/Forms/ValidationJSON.test.ts +241 -0
- package/Tests/UI/Components/HiddenText.test.tsx +1 -1
- package/Tests/UI/Components/Input.test.tsx +1 -1
- package/Tests/UI/Components/Loader.test.tsx +1 -1
- package/Tests/UI/Components/LogTimeRangePicker.test.tsx +43 -1
- package/Tests/UI/Components/MasterPage.test.tsx +1 -1
- package/Tests/UI/Components/ModalPortalDismissal.test.tsx +579 -0
- package/Tests/UI/Components/ModelDelete.test.tsx +214 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableBulkSelectAll.test.tsx +1 -1
- package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +1 -1
- package/Tests/UI/Components/ModelTable/BaseModelTableSearchLabels.test.tsx +1 -1
- package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +1 -1
- package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +1 -1
- package/Tests/UI/Components/NavBar.test.tsx +1 -1
- package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +1 -1
- package/Tests/UI/Components/Pagination.test.tsx +1 -1
- package/Tests/UI/Components/Pill.test.tsx +1 -1
- package/Tests/UI/Components/Probe.test.tsx +1 -1
- package/Tests/UI/Components/ProgressBar.test.tsx +1 -1
- package/Tests/UI/Components/RadioButtons.test.tsx +1 -1
- package/Tests/UI/Components/SideMenuItem.test.tsx +1 -1
- package/Tests/UI/Components/SideOver.test.tsx +500 -6
- package/Tests/UI/Components/Tabs.test.tsx +1 -1
- package/Tests/UI/Components/TelemetrySearchBar.test.tsx +1 -1
- package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +50 -8
- package/Tests/UI/Components/TextArea.test.tsx +1 -1
- package/Tests/UI/Components/TimeRangePickerDropdown.test.tsx +325 -0
- package/Tests/UI/Components/Toast.test.tsx +1 -1
- package/Tests/UI/Components/Toggle.test.tsx +1 -1
- package/Tests/UI/Components/TopSection.test.tsx +1 -1
- package/Tests/UI/Components/UseLiveLogsRefresh.test.tsx +1 -1
- package/Tests/UI/Components/Workflow/GraphLint.test.ts +821 -0
- package/Tests/UI/Components/Workflow/ModelColumnEditor.test.ts +287 -0
- package/Tests/UI/Components/Workflow/ModelColumnEditorServerContract.test.ts +185 -0
- package/Tests/UI/Components/Workflow/ModelSchema.test.ts +174 -0
- package/Tests/UI/Components/Workflow/RunStatusWatcher.test.ts +152 -0
- package/Tests/UI/Components/Workflow/Utils.test.ts +192 -0
- package/Tests/UI/Monitor/MonitorStepCriteriaView.test.tsx +432 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +1 -1
- package/Tests/UI/Rum/ReplayStage.test.tsx +1 -1
- package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +1 -1
- package/Tests/UI/Utils/LocalStorageArrayRoundTrip.test.ts +72 -0
- package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +19 -2
- package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +44 -0
- package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +288 -5
- package/Tests/Utils/Dashboard/VariableUrlState.test.ts +42 -0
- package/Tests/Utils/DataSource/DataSourceQueryText.test.ts +27 -0
- package/Tests/Utils/LegacySerializedArray.test.ts +139 -0
- package/Tests/Utils/Monitor/MonitorDependencyRule.test.ts +190 -0
- package/Tests/Utils/Monitor/NetworkDeviceRoleUtil.test.ts +514 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +240 -0
- package/Tests/Utils/Realtime.test.ts +78 -0
- package/Tests/Utils/Schema/AnalyticsModelSchema.test.ts +469 -0
- package/Tests/Utils/Schema/ModelSchema.test.ts +268 -0
- package/Tests/Utils/Telemetry/EntityKeyNonTelemetry.test.ts +193 -0
- package/Tests/Utils/Telemetry/SavedViewFilters.test.ts +246 -0
- package/Tests/__mocks__/i18next-browser-languagedetector.js +21 -0
- package/Types/AI/FixPullRequestCiStatus.ts +1 -1
- package/Types/AI/FixVerificationStatus.ts +2 -2
- package/Types/API/Hostname.ts +92 -4
- package/Types/API/URL.ts +43 -25
- package/Types/Billing/BalanceAdjustmentType.ts +14 -0
- package/Types/Billing/ProjectBalanceType.ts +13 -0
- package/Types/Domain.ts +26 -0
- package/Types/File/MimeType.ts +11 -0
- package/Types/JSONFunctions.ts +15 -0
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -0
- package/Types/SerializableObjectDictionary.ts +133 -39
- package/Types/Telemetry/EntitySource.ts +40 -0
- package/Types/Telemetry/EntityType.ts +27 -0
- package/Types/Telemetry/EntityTypeGroups.ts +65 -0
- package/Types/Telemetry/TelemetrySavedViewState.ts +9 -1
- package/Types/Workflow/Component.ts +29 -0
- package/Types/Workflow/Components/API.ts +35 -0
- package/Types/Workflow/Components/BaseModel.ts +96 -28
- package/Types/Workflow/StepTrace.ts +181 -0
- package/Types/Workflow/TemplateSyntax.ts +499 -0
- package/Types/Workflow/Templates.ts +316 -0
- package/Typings/Index.d.ts +12 -0
- package/UI/Components/Date/CustomTimeRangeModal.tsx +278 -0
- package/UI/Components/Date/TimeRangePickerDropdown.tsx +250 -0
- package/UI/Components/Dictionary/Dictionary.tsx +23 -6
- package/UI/Components/Forms/Fields/ColorPicker.tsx +66 -10
- package/UI/Components/Forms/Fields/IconPicker.tsx +48 -10
- package/UI/Components/Forms/Types/Field.ts +7 -0
- package/UI/Components/Forms/Validation.ts +63 -1
- package/UI/Components/GanttChart/ChartContainer.tsx +4 -3
- package/UI/Components/Input/Input.tsx +31 -3
- package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +11 -216
- package/UI/Components/Modal/ConfirmModal.tsx +10 -5
- package/UI/Components/Modal/Modal.tsx +64 -51
- package/UI/Components/ModelDelete/ModelDelete.tsx +23 -6
- package/UI/Components/SideOver/SideOver.tsx +195 -68
- package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +11 -210
- package/UI/Components/Workflow/ArgumentsForm.tsx +194 -7
- package/UI/Components/Workflow/Component.tsx +28 -26
- package/UI/Components/Workflow/ComponentSettingsModal.tsx +69 -8
- package/UI/Components/Workflow/GraphLint.ts +591 -0
- package/UI/Components/Workflow/ModelColumnEditor.tsx +396 -0
- package/UI/Components/Workflow/ModelSchema.ts +196 -0
- package/UI/Components/Workflow/RunForm.tsx +41 -7
- package/UI/Components/Workflow/RunStatusWatcher.ts +122 -0
- package/UI/Components/Workflow/StepTraceViewer.tsx +186 -0
- package/UI/Components/Workflow/Utils.ts +93 -1
- package/UI/Components/Workflow/Workflow.tsx +77 -4
- package/UI/Types/LayeredDismissal.ts +31 -0
- package/UI/Types/UseAnchoredFieldPopup.ts +99 -0
- package/UI/Utils/PageScrollLock.ts +66 -0
- package/Utils/Dashboard/HtmlWidgetDocument.ts +4 -2
- package/Utils/Dashboard/VariableInterpolation.ts +19 -1
- package/Utils/LegacySerializedArray.ts +60 -0
- package/Utils/Monitor/MonitorDependencyRule.ts +88 -0
- package/Utils/Monitor/NetworkDeviceRoleUtil.ts +533 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +45 -7
- package/Utils/Telemetry/EntityKey.ts +66 -0
- package/Utils/Telemetry/SavedViewFilters.ts +88 -0
- package/build/dist/Models/DatabaseModels/AIInsight.js +1 -1
- package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js +2 -3
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DeletedProject.js +640 -0
- package/build/dist/Models/DatabaseModels/DeletedProject.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Index.js +2 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +106 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +3 -3
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryEntity.js +47 -0
- package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +27 -0
- package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowLog.js +39 -0
- package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
- package/build/dist/Server/API/FileAPI.js +14 -2
- package/build/dist/Server/API/FileAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +6 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/ProjectAPI.js +157 -4
- package/build/dist/Server/API/ProjectAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +27 -3
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/UserAPI.js +16 -1
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js +30 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js +11 -6
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js.map +1 -1
- package/build/dist/Server/Services/AIAgentService.js +17 -0
- package/build/dist/Server/Services/AIAgentService.js.map +1 -1
- package/build/dist/Server/Services/DashboardDomainService.js +55 -18
- package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +1 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DeletedProjectService.js +124 -0
- package/build/dist/Server/Services/DeletedProjectService.js.map +1 -0
- package/build/dist/Server/Services/FileService.js +52 -0
- package/build/dist/Server/Services/FileService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +10 -1
- package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPublicNoteService.js +10 -1
- package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +2 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +232 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/ProbeService.js +17 -0
- package/build/dist/Server/Services/ProbeService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +228 -6
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/PushNotificationService.js +56 -0
- package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +10 -1
- package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageAnnouncementService.js +54 -0
- package/build/dist/Server/Services/StatusPageAnnouncementService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageDomainService.js +55 -18
- package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +97 -6
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +3 -0
- package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryEntityService.js +91 -1
- package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js +1 -0
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
- package/build/dist/Server/Services/UserWebhookService.js +31 -87
- package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +65 -0
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js +23 -0
- package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js.map +1 -1
- package/build/dist/Server/Types/Domain.js +37 -0
- package/build/dist/Server/Types/Domain.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js +2 -1
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Get.js +2 -1
- package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js +2 -1
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js +2 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Put.js +2 -1
- package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js +63 -2
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js +15 -11
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js +2 -3
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js +21 -10
- package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js +21 -10
- package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js +18 -13
- package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js +18 -13
- package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js +43 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js.map +1 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js +116 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js.map +1 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js +7 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js +24 -13
- package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js +27 -13
- package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js +14 -6
- package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js +42 -0
- package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js.map +1 -0
- package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js +15 -6
- package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js +10 -2
- package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/TriggerCode.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js +141 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +6 -6
- package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +39 -5
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/EgressGuard.js +94 -10
- package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +1 -19
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/Execute.js +2 -2
- package/build/dist/Server/Utils/Execute.js.map +1 -1
- package/build/dist/Server/Utils/InlineImageAccessTokenSync.js +13 -0
- package/build/dist/Server/Utils/InlineImageAccessTokenSync.js.map +1 -1
- package/build/dist/Server/Utils/LLM/LLMService.js +43 -12
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +44 -24
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js +158 -0
- package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +50 -30
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +32 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Response.js +112 -5
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/SSRFProtection.js +219 -53
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +7 -0
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js +507 -0
- package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js.map +1 -0
- package/build/dist/Server/Utils/VM/VMAPI.js +51 -4
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +73 -1
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +445 -43
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js +18 -1
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
- package/build/dist/Types/AI/FixPullRequestCiStatus.js +1 -1
- package/build/dist/Types/AI/FixVerificationStatus.js +2 -2
- package/build/dist/Types/API/Hostname.js +73 -4
- package/build/dist/Types/API/Hostname.js.map +1 -1
- package/build/dist/Types/API/URL.js +42 -24
- package/build/dist/Types/API/URL.js.map +1 -1
- package/build/dist/Types/Billing/BalanceAdjustmentType.js +15 -0
- package/build/dist/Types/Billing/BalanceAdjustmentType.js.map +1 -0
- package/build/dist/Types/Billing/ProjectBalanceType.js +14 -0
- package/build/dist/Types/Billing/ProjectBalanceType.js.map +1 -0
- package/build/dist/Types/Domain.js +22 -0
- package/build/dist/Types/Domain.js.map +1 -1
- package/build/dist/Types/File/MimeType.js +11 -0
- package/build/dist/Types/File/MimeType.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +14 -0
- package/build/dist/Types/JSONFunctions.js.map +1 -1
- package/build/dist/Types/SerializableObjectDictionary.js +133 -39
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/Telemetry/EntitySource.js +39 -0
- package/build/dist/Types/Telemetry/EntitySource.js.map +1 -0
- package/build/dist/Types/Telemetry/EntityType.js +27 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityTypeGroups.js +57 -0
- package/build/dist/Types/Telemetry/EntityTypeGroups.js.map +1 -0
- package/build/dist/Types/Workflow/Component.js +21 -0
- package/build/dist/Types/Workflow/Component.js.map +1 -1
- package/build/dist/Types/Workflow/Components/API.js +35 -0
- package/build/dist/Types/Workflow/Components/API.js.map +1 -1
- package/build/dist/Types/Workflow/Components/BaseModel.js +87 -28
- package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
- package/build/dist/Types/Workflow/StepTrace.js +104 -0
- package/build/dist/Types/Workflow/StepTrace.js.map +1 -0
- package/build/dist/Types/Workflow/TemplateSyntax.js +326 -0
- package/build/dist/Types/Workflow/TemplateSyntax.js.map +1 -0
- package/build/dist/Types/Workflow/Templates.js +218 -0
- package/build/dist/Types/Workflow/Templates.js.map +1 -0
- package/build/dist/UI/Components/Date/CustomTimeRangeModal.js +126 -0
- package/build/dist/UI/Components/Date/CustomTimeRangeModal.js.map +1 -0
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js +123 -0
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js.map +1 -0
- package/build/dist/UI/Components/Dictionary/Dictionary.js +22 -6
- package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +52 -13
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js +28 -12
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Validation.js +44 -0
- package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
- package/build/dist/UI/Components/GanttChart/ChartContainer.js +4 -3
- package/build/dist/UI/Components/GanttChart/ChartContainer.js.map +1 -1
- package/build/dist/UI/Components/Input/Input.js +12 -4
- package/build/dist/UI/Components/Input/Input.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +5 -108
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Components/Modal/ConfirmModal.js +3 -1
- package/build/dist/UI/Components/Modal/ConfirmModal.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +55 -39
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/ModelDelete/ModelDelete.js +11 -6
- package/build/dist/UI/Components/ModelDelete/ModelDelete.js.map +1 -1
- package/build/dist/UI/Components/SideOver/SideOver.js +105 -30
- package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +5 -105
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ArgumentsForm.js +140 -11
- package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Component.js +20 -19
- package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +31 -3
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/GraphLint.js +396 -0
- package/build/dist/UI/Components/Workflow/GraphLint.js.map +1 -0
- package/build/dist/UI/Components/Workflow/ModelColumnEditor.js +225 -0
- package/build/dist/UI/Components/Workflow/ModelColumnEditor.js.map +1 -0
- package/build/dist/UI/Components/Workflow/ModelSchema.js +118 -0
- package/build/dist/UI/Components/Workflow/ModelSchema.js.map +1 -0
- package/build/dist/UI/Components/Workflow/RunForm.js +22 -6
- package/build/dist/UI/Components/Workflow/RunForm.js.map +1 -1
- package/build/dist/UI/Components/Workflow/RunStatusWatcher.js +76 -0
- package/build/dist/UI/Components/Workflow/RunStatusWatcher.js.map +1 -0
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js +76 -0
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js.map +1 -0
- package/build/dist/UI/Components/Workflow/Utils.js +73 -1
- package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Workflow.js +51 -6
- package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
- package/build/dist/UI/Types/LayeredDismissal.js +21 -0
- package/build/dist/UI/Types/LayeredDismissal.js.map +1 -0
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js +74 -1
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js.map +1 -1
- package/build/dist/UI/Utils/PageScrollLock.js +52 -0
- package/build/dist/UI/Utils/PageScrollLock.js.map +1 -0
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +4 -2
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -1
- package/build/dist/Utils/Dashboard/VariableInterpolation.js +19 -1
- package/build/dist/Utils/Dashboard/VariableInterpolation.js.map +1 -1
- package/build/dist/Utils/LegacySerializedArray.js +51 -0
- package/build/dist/Utils/LegacySerializedArray.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorDependencyRule.js +47 -0
- package/build/dist/Utils/Monitor/MonitorDependencyRule.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +386 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +35 -6
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityKey.js +52 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/build/dist/Utils/Telemetry/SavedViewFilters.js +52 -0
- package/build/dist/Utils/Telemetry/SavedViewFilters.js.map +1 -0
- package/jest.config.json +3 -0
- package/package.json +1 -1
- package/tsconfig.json +3 -1
|
@@ -93,9 +93,33 @@ export class TeamMemberService extends DatabaseService {
|
|
|
93
93
|
throw new BadDataException(Errors.TeamMemberService.LIMIT_REACHED_FOR_FREE_PLAN);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
/*
|
|
97
|
+
* Only internal writes (isRoot) and a master admin acting from the Admin
|
|
98
|
+
* Dashboard may create a membership that is already accepted - that is the
|
|
99
|
+
* "accept the invitation automatically" checkbox on the admin invite forms.
|
|
100
|
+
*
|
|
101
|
+
* Everyone else invites, and the invited person accepts for themselves. A
|
|
102
|
+
* project admin who could accept on someone's behalf would be able to pull
|
|
103
|
+
* an account into their project - and into whatever the team's permissions
|
|
104
|
+
* grant - without that person ever agreeing to it.
|
|
105
|
+
*/
|
|
106
|
+
const canCreateAcceptedInvitation = Boolean(createBy.props.isRoot || createBy.props.isMasterAdmin);
|
|
107
|
+
if (!canCreateAcceptedInvitation) {
|
|
97
108
|
createBy.data.hasAcceptedInvitation = false;
|
|
98
109
|
}
|
|
110
|
+
const isInvitationAcceptedOnCreate = Boolean(createBy.data.hasAcceptedInvitation);
|
|
111
|
+
/*
|
|
112
|
+
* The acceptance timestamp is stamped here rather than taken from the
|
|
113
|
+
* request, so it can never disagree with hasAcceptedInvitation - a row that
|
|
114
|
+
* says "Member" with no accepted-at date, or an accepted-at date on a row
|
|
115
|
+
* that is still only invited.
|
|
116
|
+
*/
|
|
117
|
+
if (isInvitationAcceptedOnCreate) {
|
|
118
|
+
createBy.data.invitationAcceptedAt = OneUptimeDate.getCurrentDate();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
delete createBy.data.invitationAcceptedAt;
|
|
122
|
+
}
|
|
99
123
|
if (createBy.miscDataProps && createBy.miscDataProps["email"]) {
|
|
100
124
|
const email = new Email(createBy.miscDataProps["email"]);
|
|
101
125
|
/*
|
|
@@ -171,10 +195,18 @@ export class TeamMemberService extends DatabaseService {
|
|
|
171
195
|
.addQueryParam("email", email.toString(), true)
|
|
172
196
|
.toString(),
|
|
173
197
|
isNewUser: isNewUser.toString(),
|
|
198
|
+
/*
|
|
199
|
+
* An auto-accepted member has nothing left to accept, so the
|
|
200
|
+
* template drops the "sign in to accept your invitation" framing
|
|
201
|
+
* and tells them they are already in.
|
|
202
|
+
*/
|
|
203
|
+
isInvitationAccepted: isInvitationAcceptedOnCreate.toString(),
|
|
174
204
|
projectName: project.name,
|
|
175
205
|
homeUrl: new URL(httpProtocol, host).toString(),
|
|
176
206
|
},
|
|
177
|
-
subject:
|
|
207
|
+
subject: isInvitationAcceptedOnCreate
|
|
208
|
+
? "You have been added to " + project.name
|
|
209
|
+
: "You have been invited to " + project.name,
|
|
178
210
|
}, {
|
|
179
211
|
projectId: createBy.data.projectId,
|
|
180
212
|
userId: user.id,
|
|
@@ -215,10 +247,61 @@ export class TeamMemberService extends DatabaseService {
|
|
|
215
247
|
await AccessTokenService.refreshUserGlobalAccessPermission(userId);
|
|
216
248
|
await AccessTokenService.refreshUserTenantAccessPermission(userId, projectId);
|
|
217
249
|
}
|
|
250
|
+
/*
|
|
251
|
+
* The per-project notification defaults a member gets the moment their
|
|
252
|
+
* membership becomes accepted, whether that happened by them accepting the
|
|
253
|
+
* invitation or by a master admin accepting it for them on create. Without
|
|
254
|
+
* these, an auto-accepted member is a member who is never notified about
|
|
255
|
+
* anything.
|
|
256
|
+
*
|
|
257
|
+
* Skipped for an unverified email: UserService adds the defaults for every
|
|
258
|
+
* accepted membership once the address is verified.
|
|
259
|
+
*
|
|
260
|
+
* Best effort. Both helpers below are idempotent, and by the time either
|
|
261
|
+
* caller runs, the membership row is already committed - failing the write
|
|
262
|
+
* that created it would report "invite failed" for a member who exists.
|
|
263
|
+
*/
|
|
264
|
+
async addDefaultNotificationSettingsAndRules(data) {
|
|
265
|
+
try {
|
|
266
|
+
const user = data.user ||
|
|
267
|
+
(await UserService.findOneById({
|
|
268
|
+
id: data.userId,
|
|
269
|
+
select: {
|
|
270
|
+
email: true,
|
|
271
|
+
isEmailVerified: true,
|
|
272
|
+
},
|
|
273
|
+
props: {
|
|
274
|
+
isRoot: true,
|
|
275
|
+
},
|
|
276
|
+
}));
|
|
277
|
+
if (!user || !user.isEmailVerified || !user.email) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
await UserNotificationSettingService.addDefaultNotificationSettingsForUser(data.userId, data.projectId);
|
|
281
|
+
await UserNotificationRuleService.addDefaultNotificationRuleForUser(data.projectId, data.userId, user.email);
|
|
282
|
+
}
|
|
283
|
+
catch (err) {
|
|
284
|
+
logger.error(err, {
|
|
285
|
+
projectId: data.projectId.toString(),
|
|
286
|
+
userId: data.userId.toString(),
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
218
290
|
async onCreateSuccess(onCreate, createdItem) {
|
|
219
291
|
var _a;
|
|
220
292
|
await this.refreshTokens(onCreate.createBy.data.userId, onCreate.createBy.data.projectId);
|
|
221
293
|
await this.updateSubscriptionSeatsByUniqueTeamMembersInProject(onCreate.createBy.data.projectId);
|
|
294
|
+
/*
|
|
295
|
+
* A membership created already accepted never goes through the
|
|
296
|
+
* accept-invitation update, so it would otherwise miss the defaults that
|
|
297
|
+
* hook adds.
|
|
298
|
+
*/
|
|
299
|
+
if (createdItem.hasAcceptedInvitation) {
|
|
300
|
+
await this.addDefaultNotificationSettingsAndRules({
|
|
301
|
+
userId: onCreate.createBy.data.userId,
|
|
302
|
+
projectId: onCreate.createBy.data.projectId,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
222
305
|
// Activation event for marketing funnels, attributed to the inviter.
|
|
223
306
|
ProductAnalytics.captureForUser({
|
|
224
307
|
userId: onCreate.createBy.props.userId,
|
|
@@ -231,7 +314,6 @@ export class TeamMemberService extends DatabaseService {
|
|
|
231
314
|
return createdItem;
|
|
232
315
|
}
|
|
233
316
|
async onUpdateSuccess(onUpdate, updatedItemIds) {
|
|
234
|
-
var _a, _b;
|
|
235
317
|
const updateBy = onUpdate.updateBy;
|
|
236
318
|
const items = await this.findBy({
|
|
237
319
|
query: {
|
|
@@ -253,9 +335,12 @@ export class TeamMemberService extends DatabaseService {
|
|
|
253
335
|
});
|
|
254
336
|
for (const item of items) {
|
|
255
337
|
await this.refreshTokens(item.userId, item.projectId);
|
|
256
|
-
if (updateBy.data.hasAcceptedInvitation
|
|
257
|
-
await
|
|
258
|
-
|
|
338
|
+
if (updateBy.data.hasAcceptedInvitation) {
|
|
339
|
+
await this.addDefaultNotificationSettingsAndRules({
|
|
340
|
+
userId: item.userId,
|
|
341
|
+
projectId: item.projectId,
|
|
342
|
+
user: item.user,
|
|
343
|
+
});
|
|
259
344
|
}
|
|
260
345
|
}
|
|
261
346
|
return { updateBy, carryForward: onUpdate.carryForward };
|
|
@@ -520,6 +605,12 @@ __decorate([
|
|
|
520
605
|
ObjectID]),
|
|
521
606
|
__metadata("design:returntype", Promise)
|
|
522
607
|
], TeamMemberService.prototype, "refreshTokens", null);
|
|
608
|
+
__decorate([
|
|
609
|
+
CaptureSpan(),
|
|
610
|
+
__metadata("design:type", Function),
|
|
611
|
+
__metadata("design:paramtypes", [Object]),
|
|
612
|
+
__metadata("design:returntype", Promise)
|
|
613
|
+
], TeamMemberService.prototype, "addDefaultNotificationSettingsAndRules", null);
|
|
523
614
|
__decorate([
|
|
524
615
|
CaptureSpan(),
|
|
525
616
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamMemberService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamMemberService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAGzD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,gBAAgB,EAAE,EACvB,QAAQ,GACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,iBAAiB,MAAM,qCAAqC,CAAC;AACpE,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAEhE,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAElE,MAAM,OAAO,iBAAkB,SAAQ,eAA2B;IAWhE;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;QAXpB;;;;;;WAMG;QACK,wBAAmB,GACzB,IAAI,gBAAgB,CAAC,KAAM,CAAC,CAAC;IAI/B,CAAC;IAGa,AAAN,KAAK,CAAC,uBAAuB,CAAC,SAAmB;QACvD,MAAM,KAAK,GAAmB,MAAM,kBAAkB,CAAC,OAAO,CAAC;YAC7D,KAAK,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,gBAAgB,EAAE,IAAI;aACvB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAA8B;;QAE9B,2CAA2C;QAC3C,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtB,CAAC,MAAM,IAAI,CAAC,uBAAuB,CACjC,QAAQ,CAAC,IAAI,CAAC,SAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CACpD,CAAC,EACF,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,sIAAsI,CACvI,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;gBAC5B,MAAM,EAAE;oBACN,SAAS,EAAE,IAAI;oBACf,gCAAgC,EAAE,IAAI;iBACvC;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IACE,OAAO;gBACP,OAAO,CAAC,SAAS;gBACjB,OAAO,CAAC,gCAAgC;gBACxC,OAAO,CAAC,gCAAgC,IAAI,OAAO,CAAC,SAAS,EAC7D,CAAC;gBACD,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC;YAED,IACE,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,IAAI;gBAC5C,OAAO;gBACP,OAAO,CAAC,gCAAgC;gBACxC,OAAO,CAAC,gCAAgC,IAAI,CAAC,EAC7C,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,MAAM,CAAC,iBAAiB,CAAC,2BAA2B,CACrD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAC9C,CAAC;QAED,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAW,CAAC,CAAC;YAE1E;;;;eAIG;YACH,MAAM,SAAS,GAAuB,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;gBAClE,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAY,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,IAAI,GAAgB,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC3D,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,IAAI,SAAS,GAAY,KAAK,CAAC;YAE/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS,GAAG,IAAI,CAAC;gBAEjB,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;oBACrC,KAAK;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACjD,uEAAuE;oBACvE,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBACtC,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB;;;mBAGG;gBACH,MAAM,YAAY,GAAgB,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC9D,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IAAI,YAAY,IAAI,CAAC,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAA,EAAE,CAAC;oBACnD,MAAM,WAAW,CAAC,aAAa,CAAC;wBAC9B,EAAE,EAAE,IAAI,CAAC,EAAG;wBACZ,IAAI,EAAE;4BACJ,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;yBAC1B;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAG,CAAC;YAEhC,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;iBACX;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAa,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAa,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;gBAEtE,WAAW,CAAC,QAAQ,CAClB;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,iBAAiB,CAAC,YAAY;oBAC5C,IAAI,EAAE;wBACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CACxB,IAAI,GAAG,CACL,YAAY,EACZ,IAAI,EACJ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CACpC,CAAC,QAAQ,EAAE,CACb,CAAC,QAAQ,EAAE;wBACZ,YAAY,EAAE,GAAG,CAAC,UAAU,CAC1B,IAAI,GAAG,CACL,YAAY,EACZ,IAAI,EACJ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CACpC,CAAC,QAAQ,EAAE,CACb;6BACE,QAAQ,CAAC,WAAW,CAAC;6BACrB,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC;6BAC9C,QAAQ,EAAE;wBACb,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;wBAC/B,WAAW,EAAE,OAAO,CAAC,IAAK;wBAC1B,OAAO,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE;qBAChD;oBACD,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI;iBACpD,EACD;oBACE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;oBACnC,MAAM,EAAE,IAAI,CAAC,EAAG;iBACjB,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;;oBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;wBAC9C,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,0CAAE,QAAQ,EAAE;qBACZ,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QAExC,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,SAAS,CAAC;YACrD,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAO;gBAC7B,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAK,CAAC,GAAI,CAAC;aACvE;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;aACV;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGY,AAAN,KAAK,CAAC,aAAa,CACxB,MAAgB,EAChB,SAAmB;QAEnB;;;WAGG;QACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC7B,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC/C,CAAC;QAEF,mBAAmB;QACnB,MAAM,kBAAkB,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,EACN,SAAS,CACV,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B,EAC9B,WAAuB;;QAEvB,MAAM,IAAI,CAAC,aAAa,CACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAO,EAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAU,CAClC,CAAC;QAEF,MAAM,IAAI,CAAC,mDAAmD,CAC5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAU,CAClC,CAAC;QAEF,qEAAqE;QACrE,gBAAgB,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtC,KAAK,EAAE,4BAA4B;YACnC,UAAU,EAAE;gBACV,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE,KAAI,EAAE;gBAC9D,uBAAuB,EAAE,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC;aACpE;SACF,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B,EAC9B,cAA+B;;QAE/B,MAAM,QAAQ,GAAyB,QAAQ,CAAC,QAAQ,CAAC;QACzD,MAAM,KAAK,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACjD,KAAK,EAAE;gBACL,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;aACrC;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI;oBACX,eAAe,EAAE,IAAI;iBACN;gBACjB,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YAEP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;YAExD,IAAI,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,eAAe,CAAA,EAAE,CAAC;gBACtE,MAAM,8BAA8B,CAAC,qCAAqC,CACxE,IAAI,CAAC,MAAO,EACZ,IAAI,CAAC,SAAU,CAChB,CAAC;gBACF,MAAM,2BAA2B,CAAC,iCAAiC,CACjE,IAAI,CAAC,SAAU,EACf,IAAI,CAAC,MAAO,EACZ,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAc,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAA8B;;QAE9B,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,qBAAqB,EAAE,IAAI;gBAC3B,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,0BAA0B,EAAE,IAAI;iBACX;aACxB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,2CAA2C;QAC3C;QACE,qBAAqB;QACrB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtB,OAAO,CAAC,MAAM,GAAG,CAAC;aAClB,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,SAAS,CAAA;YACrB,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAC1D,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,sIAAsI,CACvI,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,8BAA8B,CAAC,cAAc,CAAC;gBAC5C,SAAS,EAAE,MAAM,CAAC,SAAU;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAO;gBACtB;;;;mBAIG;gBACH,MAAM,EAAE,MAAM,CAAC,MAAO;gBACtB,MAAM,EAAE,aAAa,CAAC,cAAc,EAAE;aACvC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;;gBACtB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChB,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,EAAE;oBACvC,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,EAAE;iBACjB,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,0BAA0B,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,MAAM,aAAa,GAAmB,MAAM,IAAI,CAAC,OAAO,CAAC;oBACvD,KAAK,EAAE;wBACL,MAAM,EAAE,MAAM,CAAC,MAAO;wBACtB,qBAAqB,EAAE,IAAI;qBAC5B;oBACD,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,0EAA0E;gBAC1E,MAAM,mBAAmB,GAAY,MAAM,IAAI,CAAC,uBAAuB,CACrE,MAAM,CAAC,SAAU,CAClB,CAAC;gBAEF,IAAI,CAAC,mBAAmB,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,gBAAgB,CACxB,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B;QAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,YAAiC,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,mDAAmD,CAC5D,IAAI,CAAC,SAAU,CAChB,CAAC;YACF,MAAM,8BAA8B,CAAC,wCAAwC,CAC3E,IAAI,CAAC,MAAO,EACZ,IAAI,CAAC,SAAU,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGY,AAAN,KAAK,CAAC,iCAAiC,CAC5C,SAAmB;QAEnB,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,SAAS,EAAE,SAAU;aACtB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;aACb;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,SAAS,GAA8B,OAAO;aACjD,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;;YAC1B,OAAO,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,QAA4B,EAAE,EAAE;YACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,wBAAwB;IACjE,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe,CAAC,OAAwB;QACnD,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,IAAI;iBACC;aAClB;YAED,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAgB,IAAI,GAAG,EAAU,CAAC;QACrD,MAAM,aAAa,GAAiB,OAAO,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAE,EAAE;;YACxE,MAAM,MAAM,GAAuB,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,0CAAE,QAAQ,EAAE,CAAC;YAChE,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;YAC9C,OAAO,MAAM,CAAC,IAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC1C,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;aACf;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;iBACK;aAClB;YAED,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;YACxC,OAAO,MAAM,CAAC,IAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,mDAAmD,CAC9D,SAAmB;QAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,SAAS;YACb,MAAM,EAAE;gBACN,6BAA6B,EAAE,IAAI;gBACnC,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IACE,OAAO;YACP,OAAO,CAAC,6BAA6B;aACrC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAA,EAC9B,CAAC;YACD,MAAM,IAAI,GACR,gBAAgB,CAAC,uBAAuB,CACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAC/B,CAAC;YAEJ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,cAAc,CAAC,cAAc,CACjC,OAAO,CAAC,6BAA6B,EACrC,eAAe,CAChB,CAAC;YAEF,MAAM,cAAc,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE;oBACJ,gCAAgC,EAAE,eAAe;iBAClD;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IAEU,AAAN,KAAK,CAAC,iBAAiB,CAC5B,MAAgB,EAChB,SAAmB;QAEnB,MAAM,QAAQ,GAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxE,MAAM,MAAM,GACV,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;gBAC/B,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;gBACpB,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;aACb;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAyB,MAAM,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,QAAQ,EACR,OAAO,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,EACF,KAAM,CACP,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA/lBe;IADb,WAAW,EAAE;;qCACmC,QAAQ;;gEAWxD;AAGwB;IADxB,WAAW,EAAE;;;;uDA6Lb;AAGY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;sDAiBpB;AAGwB;IADxB,WAAW,EAAE;;6CAGC,UAAU;;wDAsBxB;AAGwB;IADxB,WAAW,EAAE;;6CAGI,KAAK;;wDAwCtB;AAGwB;IADxB,WAAW,EAAE;;;;uDAyFb;AAGwB;IADxB,WAAW,EAAE;;;;wDAgBb;AAGY;IADZ,WAAW,EAAE;;qCAED,QAAQ;;0EAyBpB;AAGY;IADZ,WAAW,EAAE;;qCACwB,KAAK;;wDAmC1C;AAGY;IADZ,WAAW,EAAE;;qCACsB,QAAQ;;uDAwB3C;AAGY;IADZ,WAAW,EAAE;;qCAED,QAAQ;;4FAgDpB;AAQY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;0DA6CpB;AAGH,eAAe,IAAI,iBAAiB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"TeamMemberService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamMemberService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import Model from "../../Models/DatabaseModels/TelemetryEntityRelationship";
|
|
|
12
12
|
import OneUptimeDate from "../../Types/Date";
|
|
13
13
|
import logger from "../Utils/Logger";
|
|
14
14
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
15
|
+
import EntitySource from "../../Types/Telemetry/EntitySource";
|
|
15
16
|
import { reconcileByNaturalKey } from "../Utils/Telemetry/EntityRegistry";
|
|
16
17
|
export class TelemetryEntityRelationshipService extends DatabaseService {
|
|
17
18
|
constructor() {
|
|
@@ -56,6 +57,8 @@ export class TelemetryEntityRelationshipService extends DatabaseService {
|
|
|
56
57
|
model.fromEntityKey = edge.fromEntityKey;
|
|
57
58
|
model.toEntityKey = edge.toEntityKey;
|
|
58
59
|
model.relationshipType = edge.relationshipType;
|
|
60
|
+
// Explicit: this is what makes the edge eligible for stale pruning.
|
|
61
|
+
model.source = EntitySource.Discovered;
|
|
59
62
|
model.firstSeenAt = now;
|
|
60
63
|
model.lastSeenAt = now;
|
|
61
64
|
if (edge.metrics) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryEntityRelationshipService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryEntityRelationshipService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TelemetryEntityRelationshipService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryEntityRelationshipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,11 @@ import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
|
15
15
|
import ObjectID from "../../Types/ObjectID";
|
|
16
16
|
import OneUptimeDate from "../../Types/Date";
|
|
17
17
|
import ColumnLength from "../../Types/Database/ColumnLength";
|
|
18
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
19
|
+
import EntitySource from "../../Types/Telemetry/EntitySource";
|
|
18
20
|
import EntityType from "../../Types/Telemetry/EntityType";
|
|
21
|
+
import { MANUAL_ENTITY_TYPES } from "../../Types/Telemetry/EntityTypeGroups";
|
|
22
|
+
import { canonicalizeEntityValue, computeEntityKey, MANUAL_ENTITY_IDENTITY_ATTRIBUTE, } from "../../Utils/Telemetry/EntityKey";
|
|
19
23
|
import logger from "../Utils/Logger";
|
|
20
24
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
21
25
|
import { getEntityBudget, reconcileByNaturalKey, REGISTRY_PROMOTED_TYPES, shouldWarnEntityBudgetOnce, } from "../Utils/Telemetry/EntityRegistry";
|
|
@@ -23,6 +27,69 @@ export class TelemetryEntityService extends DatabaseService {
|
|
|
23
27
|
constructor() {
|
|
24
28
|
super(Model);
|
|
25
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Completes a manually created CI.
|
|
32
|
+
*
|
|
33
|
+
* Every machine writer — the ingest reconciler and the inventory mirror —
|
|
34
|
+
* computes `entityKey` itself and passes an explicit `source`, because
|
|
35
|
+
* both derive identity from something the user never sees (a canonicalized
|
|
36
|
+
* semconv attribute set, or the owning row's id). A create arriving
|
|
37
|
+
* WITHOUT a key is therefore a user create by construction, and this hook
|
|
38
|
+
* is what turns the two fields a human can reasonably supply (type and
|
|
39
|
+
* name) into the identity the registry needs.
|
|
40
|
+
*
|
|
41
|
+
* Deriving the key here rather than in the dashboard keeps it enforced for
|
|
42
|
+
* API clients too, and keeps the one identity rule — canonicalize, then
|
|
43
|
+
* hash — in the module that owns it.
|
|
44
|
+
*/
|
|
45
|
+
async onBeforeCreate(createBy) {
|
|
46
|
+
const data = createBy.data;
|
|
47
|
+
if (!data.entityKey) {
|
|
48
|
+
data.source = EntitySource.Manual;
|
|
49
|
+
}
|
|
50
|
+
if (data.source !== EntitySource.Manual) {
|
|
51
|
+
return { createBy, carryForward: null };
|
|
52
|
+
}
|
|
53
|
+
if (!data.projectId) {
|
|
54
|
+
throw new BadDataException("Project ID is required.");
|
|
55
|
+
}
|
|
56
|
+
if (!data.entityType) {
|
|
57
|
+
throw new BadDataException("Entity Type is required.");
|
|
58
|
+
}
|
|
59
|
+
/*
|
|
60
|
+
* Confined to the manual-only vocabulary. A hand-made row of an
|
|
61
|
+
* observable type would key off the manual identity attribute and so
|
|
62
|
+
* could never converge with the row ingest derives for the same thing —
|
|
63
|
+
* it would just sit beside it forever. See MANUAL_ENTITY_TYPES.
|
|
64
|
+
*/
|
|
65
|
+
if (!MANUAL_ENTITY_TYPES.has(data.entityType)) {
|
|
66
|
+
throw new BadDataException(`Entities of type ${data.entityType} are discovered automatically and cannot be created manually. Manually creatable types are: ${Array.from(MANUAL_ENTITY_TYPES).join(", ")}.`);
|
|
67
|
+
}
|
|
68
|
+
const displayName = (data.displayName || "").trim();
|
|
69
|
+
if (!displayName) {
|
|
70
|
+
throw new BadDataException("Name is required for a manually created entity.");
|
|
71
|
+
}
|
|
72
|
+
data.displayName = displayName.substring(0, ColumnLength.ShortText);
|
|
73
|
+
const identifyingAttributes = {
|
|
74
|
+
[MANUAL_ENTITY_IDENTITY_ATTRIBUTE]: canonicalizeEntityValue(displayName),
|
|
75
|
+
};
|
|
76
|
+
data.identifyingAttributes = identifyingAttributes;
|
|
77
|
+
data.entityKey = computeEntityKey({
|
|
78
|
+
projectId: data.projectId.toString(),
|
|
79
|
+
entityType: data.entityType,
|
|
80
|
+
identifyingAttributes,
|
|
81
|
+
});
|
|
82
|
+
/*
|
|
83
|
+
* Stamped so the explorer can sort manual CIs alongside discovered ones
|
|
84
|
+
* on the same columns. `lastSeenAt` never moves again for these rows —
|
|
85
|
+
* it means "created", not "observed" — which is exactly why the prune
|
|
86
|
+
* sweep excludes them.
|
|
87
|
+
*/
|
|
88
|
+
const now = OneUptimeDate.getCurrentDate();
|
|
89
|
+
data.firstSeenAt = data.firstSeenAt || now;
|
|
90
|
+
data.lastSeenAt = data.lastSeenAt || now;
|
|
91
|
+
return { createBy, carryForward: null };
|
|
92
|
+
}
|
|
26
93
|
/**
|
|
27
94
|
* Forward-only registry reconciliation: upsert a catalog row per
|
|
28
95
|
* discovered entity, bump `lastSeenAt`, merge descriptive attributes
|
|
@@ -144,7 +211,18 @@ export class TelemetryEntityService extends DatabaseService {
|
|
|
144
211
|
let count = countByType.get(entity.entityType);
|
|
145
212
|
if (count === undefined) {
|
|
146
213
|
count = (await this.countBy({
|
|
147
|
-
query: {
|
|
214
|
+
query: {
|
|
215
|
+
projectId,
|
|
216
|
+
entityType: entity.entityType,
|
|
217
|
+
/*
|
|
218
|
+
* The budget exists to bound rows minted by ingest, so it
|
|
219
|
+
* counts only those. Manual CIs and inventory mirrors are
|
|
220
|
+
* bounded by their own creators and must not consume it —
|
|
221
|
+
* otherwise registering enough devices could stop new
|
|
222
|
+
* telemetry entities being recorded at all.
|
|
223
|
+
*/
|
|
224
|
+
source: EntitySource.Discovered,
|
|
225
|
+
},
|
|
148
226
|
props: { isRoot: true },
|
|
149
227
|
})).toNumber();
|
|
150
228
|
countByType.set(entity.entityType, count);
|
|
@@ -166,6 +244,12 @@ export class TelemetryEntityService extends DatabaseService {
|
|
|
166
244
|
model.projectId = projectId;
|
|
167
245
|
model.entityType = entity.entityType;
|
|
168
246
|
model.entityKey = entity.entityKey;
|
|
247
|
+
/*
|
|
248
|
+
* Explicit rather than leaning on the column default: this is the
|
|
249
|
+
* flag that makes the row eligible for stale-entity pruning, and a
|
|
250
|
+
* silently-defaulted value is a poor way to carry that.
|
|
251
|
+
*/
|
|
252
|
+
model.source = EntitySource.Discovered;
|
|
169
253
|
model.identifyingAttributes = entity.identifyingAttributes;
|
|
170
254
|
if (entity.descriptiveAttributes &&
|
|
171
255
|
Object.keys(entity.descriptiveAttributes).length > 0) {
|
|
@@ -254,6 +338,12 @@ export class TelemetryEntityService extends DatabaseService {
|
|
|
254
338
|
return entity.entityKey;
|
|
255
339
|
}
|
|
256
340
|
}
|
|
341
|
+
__decorate([
|
|
342
|
+
CaptureSpan(),
|
|
343
|
+
__metadata("design:type", Function),
|
|
344
|
+
__metadata("design:paramtypes", [Object]),
|
|
345
|
+
__metadata("design:returntype", Promise)
|
|
346
|
+
], TelemetryEntityService.prototype, "onBeforeCreate", null);
|
|
257
347
|
__decorate([
|
|
258
348
|
CaptureSpan(),
|
|
259
349
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryEntityService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryEntityService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAEhE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,YAAY,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"TelemetryEntityService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryEntityService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAEhE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAI7D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAGtE,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,OAAO,sBAAuB,SAAQ,eAAsB;IAChE;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IAEsB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,MAAM,IAAI,GAAU,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACzD,CAAC;QAED;;;;;WAKG;QACH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,IAAI,CAAC,UAAU,+FAA+F,KAAK,CAAC,IAAI,CAC1I,mBAAmB,CACpB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAW,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CACxB,iDAAiD,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpE,MAAM,qBAAqB,GAAuB;YAChD,CAAC,gCAAgC,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC;SACzE,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,qBAAmC,CAAC;QAEjE,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,qBAAqB;SACtB,CAAC,CAAC;QAEH;;;;;WAKG;QACH,MAAM,GAAG,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QAEzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;OAaG;IAEU,AAAN,KAAK,CAAC,iBAAiB,CAAC,IAG9B;QACC;;;;;;WAMG;QACH,MAAM,WAAW,GAA4B,IAAI,GAAG,EAAsB,CAAC;QAE3E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC;oBACtB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM;oBACN,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV,mDAAmD,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,GAAG,CAC5F,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,GAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,wBAAwB,CAAC,IAGtC;QACC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAW,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH;;;;eAIG;YACH,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,SAAS,CAAC;gBAC7D,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;iBACzC;gBACD,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBACrB,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;gBACxC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YACH,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,0EAA0E,IAAI,IAAI,CACnF,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,GAAY,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAI1B;QACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,GAAG,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QAEjD,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAE7D,MAAM,qBAAqB,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE;gBACL,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,UAAU,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE;YAC3D,UAAU,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE;YAC9E,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YACvE,WAAW,EAAE,CAAC,QAAe,EAAiC,EAAE;;gBAC9D,MAAM,MAAM,GACV,sBAAsB,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClE;;;;mBAIG;gBACH,IACE,iBAAiB;oBACjB,CAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,QAAQ,EAAE,MAAK,iBAAiB,CAAC,QAAQ,EAAE,EAChE,CAAC;oBACA,MAAoC,CAAC,YAAY,GAAG,SAAS,CAAC;oBAC9D,MAAoC,CAAC,UAAU,GAAG,iBAAiB,CAAC;gBACvE,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD;;;;;eAKG;YACH,YAAY,EAAE,KAAK,IAAsB,EAAE;gBACzC,MAAM,MAAM,GAAW,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE1D,IAAI,KAAK,GAAuB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,KAAK,GAAG,CACN,MAAM,IAAI,CAAC,OAAO,CAAC;wBACjB,KAAK,EAAE;4BACL,SAAS;4BACT,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B;;;;;;+BAMG;4BACH,MAAM,EAAE,YAAY,CAAC,UAAU;yBAChC;wBACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;qBACxB,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC;oBACb,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;oBACnB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC9C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IACE,MAAM,0BAA0B,CAAC;oBAC/B,SAAS;oBACT,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,EACF,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,6DAA6D,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,UAAU,KAAK,KAAK,OAAO,MAAM,uEAAuE,CAC1M,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;gBACjC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC5B,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBACrC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACnC;;;;mBAIG;gBACH,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC;gBACvC,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBAC3D,IACE,MAAM,CAAC,qBAAqB;oBAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,EACpD,CAAC;oBACD,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;gBAC7D,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,KAAK,CAAC,MAAM,GAAG,sBAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;gBACD,6DAA6D;gBAC7D,KAAK,CAAC,WAAW,GAAG,sBAAsB,CAAC,iBAAiB,CAC1D,MAAM,CACP,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,iBAAiB,EAAE,CAAC;oBACtB,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;oBAC/B,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC;gBACvC,CAAC;gBACD,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;gBACxB,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,sBAAsB,CACnC,MAAuB,EACvB,QAAe;QAEf;;;;WAIG;QACH,MAAM,MAAM,GAGR,EAAE,CAAC;QAEP,MAAM,QAAQ,GAA2B,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GACV,QAAQ,CAAC,qBAAiD,IAAI,EAAE,CAAC;YAEpE,MAAM,OAAO,GAAY,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;gBAClE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,qBAAqB,GAAG,gCAC1B,OAAO,GACP,QAAQ,CACE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAkB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAkB,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAgB,IAAI,GAAG,CAAS,aAAa,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAY,cAAc,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;gBAC5D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,eAAe,CAAC;oBACrD,GAAG,aAAa;oBAChB,GAAG,cAAc;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAkD,CAAC;IAC5D,CAAC;IAED,kDAAkD;IAC1C,MAAM,CAAC,eAAe,CAAC,MAAqB;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,EAAE,GAA2B,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAkB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;YACpB,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YAC7B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEL,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAE,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAkB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAE,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;CACF;AArX0B;IADxB,WAAW,EAAE;;;;4DAoEb;AAiBY;IADZ,WAAW,EAAE;;;;+DA+Bb;AAqQH,eAAe,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryIngestionKeyService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryIngestionKeyService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TelemetryIngestionKeyService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryIngestionKeyService.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,17 @@ import BadDataException from "../../Types/Exception/BadDataException";
|
|
|
14
14
|
import Model from "../../Models/DatabaseModels/UserWebhook";
|
|
15
15
|
import URL from "../../Types/API/URL";
|
|
16
16
|
import logger from "../Utils/Logger";
|
|
17
|
+
import SSRFProtection from "../Utils/SSRFProtection";
|
|
17
18
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
19
|
+
/*
|
|
20
|
+
* URL validation here used to be a hand-rolled copy of the SSRF blocklist that
|
|
21
|
+
* had drifted weaker than the original (it compared the host with the port
|
|
22
|
+
* still attached, and never resolved DNS). Everything that actually sends one
|
|
23
|
+
* of these webhooks goes through WebhookService, which calls
|
|
24
|
+
* SSRFProtection.validateWebhookTargetIsSafe — so the copy bought nothing and
|
|
25
|
+
* would have been read as "this is checked". Both hooks now call the same
|
|
26
|
+
* guard the sender does, which fails the write early instead of at delivery.
|
|
27
|
+
*/
|
|
18
28
|
export class Service extends DatabaseService {
|
|
19
29
|
constructor() {
|
|
20
30
|
super(Model);
|
|
@@ -26,12 +36,26 @@ export class Service extends DatabaseService {
|
|
|
26
36
|
if (!createBy.data.name) {
|
|
27
37
|
throw new BadDataException("Webhook name is required");
|
|
28
38
|
}
|
|
29
|
-
|
|
39
|
+
await SSRFProtection.validateWebhookTargetIsSafe(createBy.data.webhookUrl);
|
|
30
40
|
return {
|
|
31
41
|
createBy,
|
|
32
42
|
carryForward: null,
|
|
33
43
|
};
|
|
34
44
|
}
|
|
45
|
+
async onBeforeUpdate(updateBy) {
|
|
46
|
+
/*
|
|
47
|
+
* Create-time validation on its own is not a control: the URL is
|
|
48
|
+
* editable afterwards.
|
|
49
|
+
*/
|
|
50
|
+
const webhookUrl = updateBy.data.webhookUrl;
|
|
51
|
+
if (typeof webhookUrl === "string" || webhookUrl instanceof URL) {
|
|
52
|
+
await SSRFProtection.validateWebhookTargetIsSafe(webhookUrl);
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
updateBy,
|
|
56
|
+
carryForward: null,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
35
59
|
async onCreateSuccess(_onCreate, createdItem) {
|
|
36
60
|
/* Webhooks skip verification, so default on-call rules are seeded at create time. */
|
|
37
61
|
if (createdItem.projectId && createdItem.userId && createdItem.id) {
|
|
@@ -81,26 +105,6 @@ export class Service extends DatabaseService {
|
|
|
81
105
|
carryForward: null,
|
|
82
106
|
};
|
|
83
107
|
}
|
|
84
|
-
validateWebhookUrl(rawUrl) {
|
|
85
|
-
let parsed;
|
|
86
|
-
try {
|
|
87
|
-
parsed = URL.fromString(rawUrl);
|
|
88
|
-
}
|
|
89
|
-
catch (_a) {
|
|
90
|
-
throw new BadDataException("Webhook URL is not a valid URL");
|
|
91
|
-
}
|
|
92
|
-
const protocolValue = parsed.protocol.toString().toLowerCase();
|
|
93
|
-
if (protocolValue !== "http://" && protocolValue !== "https://") {
|
|
94
|
-
throw new BadDataException("Webhook URL must use http or https protocol.");
|
|
95
|
-
}
|
|
96
|
-
const hostname = parsed.hostname.hostname.toLowerCase();
|
|
97
|
-
if (!hostname) {
|
|
98
|
-
throw new BadDataException("Webhook URL must include a host.");
|
|
99
|
-
}
|
|
100
|
-
if (isBlockedHostnameLiteral(hostname)) {
|
|
101
|
-
throw new BadDataException("Webhook URL points to a private, loopback, or link-local address and is not allowed.");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
108
|
}
|
|
105
109
|
__decorate([
|
|
106
110
|
CaptureSpan(),
|
|
@@ -108,6 +112,12 @@ __decorate([
|
|
|
108
112
|
__metadata("design:paramtypes", [Object]),
|
|
109
113
|
__metadata("design:returntype", Promise)
|
|
110
114
|
], Service.prototype, "onBeforeCreate", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
CaptureSpan(),
|
|
117
|
+
__metadata("design:type", Function),
|
|
118
|
+
__metadata("design:paramtypes", [Object]),
|
|
119
|
+
__metadata("design:returntype", Promise)
|
|
120
|
+
], Service.prototype, "onBeforeUpdate", null);
|
|
111
121
|
__decorate([
|
|
112
122
|
CaptureSpan(),
|
|
113
123
|
__metadata("design:type", Function),
|
|
@@ -120,71 +130,5 @@ __decorate([
|
|
|
120
130
|
__metadata("design:paramtypes", [Object]),
|
|
121
131
|
__metadata("design:returntype", Promise)
|
|
122
132
|
], Service.prototype, "onBeforeDelete", null);
|
|
123
|
-
function isBlockedHostnameLiteral(hostname) {
|
|
124
|
-
if (hostname === "localhost" ||
|
|
125
|
-
hostname.endsWith(".localhost") ||
|
|
126
|
-
hostname === "metadata.google.internal") {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
// IPv4 literal check
|
|
130
|
-
const ipv4Match = hostname.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
|
|
131
|
-
if (ipv4Match) {
|
|
132
|
-
const octets = [
|
|
133
|
-
Number(ipv4Match[1]),
|
|
134
|
-
Number(ipv4Match[2]),
|
|
135
|
-
Number(ipv4Match[3]),
|
|
136
|
-
Number(ipv4Match[4]),
|
|
137
|
-
];
|
|
138
|
-
if (octets.some((o) => {
|
|
139
|
-
return o < 0 || o > 255;
|
|
140
|
-
})) {
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
// 0.0.0.0/8
|
|
144
|
-
if (octets[0] === 0) {
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
// 127.0.0.0/8 loopback
|
|
148
|
-
if (octets[0] === 127) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
// 10.0.0.0/8
|
|
152
|
-
if (octets[0] === 10) {
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
// 172.16.0.0/12
|
|
156
|
-
if (octets[0] === 172 && (octets[1] & 0xf0) === 16) {
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
// 192.168.0.0/16
|
|
160
|
-
if (octets[0] === 192 && octets[1] === 168) {
|
|
161
|
-
return true;
|
|
162
|
-
}
|
|
163
|
-
// 169.254.0.0/16 link-local (incl. cloud metadata)
|
|
164
|
-
if (octets[0] === 169 && octets[1] === 254) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
// 100.64.0.0/10 carrier-grade NAT
|
|
168
|
-
if (octets[0] === 100 && (octets[1] & 0xc0) === 64) {
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
// IPv6 literal — block loopback, link-local, unique-local
|
|
174
|
-
if (hostname.includes(":")) {
|
|
175
|
-
const stripped = hostname.replace(/^\[|\]$/g, "");
|
|
176
|
-
if (stripped === "::1" || stripped === "::") {
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
if (stripped.startsWith("fe80:") || stripped.startsWith("fe80::")) {
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
if (IPV6_UNIQUE_LOCAL_REGEX.test(stripped)) {
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return false;
|
|
187
|
-
}
|
|
188
|
-
const IPV6_UNIQUE_LOCAL_REGEX = /^f[cd][0-9a-f]{2}:/;
|
|
189
133
|
export default new Service();
|
|
190
134
|
//# sourceMappingURL=UserWebhookService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserWebhookService.js","sourceRoot":"","sources":["../../../../Server/Services/UserWebhookService.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"UserWebhookService.js","sourceRoot":"","sources":["../../../../Server/Services/UserWebhookService.ts"],"names":[],"mappings":"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"}
|