@oneuptime/common 13.0.7 → 13.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/OnCallDutyPolicyScheduleCalendarFeed.ts +1 -1
- package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +1 -1
- package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +1 -1
- package/Server/API/AIBillingAPI.ts +1 -0
- package/Server/API/AIInsightAPI.ts +1 -4
- package/Server/API/AIInvestigationAPI.ts +1 -4
- package/Server/API/AIReadinessAPI.ts +4 -5
- package/Server/API/AlertAPI.ts +1 -0
- package/Server/API/AutoRemediationAPI.ts +1 -4
- package/Server/API/BaseAPI.ts +13 -0
- package/Server/API/BaseAnalyticsAPI.ts +80 -9
- package/Server/API/BillingAPI.ts +2 -0
- package/Server/API/BillingInvoiceAPI.ts +1 -0
- package/Server/API/BillingPaymentMethodAPI.ts +2 -0
- package/Server/API/CodeFixRunAPI.ts +1 -3
- package/Server/API/CommonAPI.ts +68 -4
- package/Server/API/DashboardAPI.ts +12 -12
- package/Server/API/GlobalConfigAPI.ts +17 -0
- package/Server/API/IncidentAPI.ts +2 -0
- package/Server/API/IncidentEpisodeAPI.ts +1 -0
- package/Server/API/NotificationAPI.ts +1 -0
- package/Server/API/OnCallCalendarAPI.ts +4 -5
- package/Server/API/OnCallDutyPolicyAPI.ts +7 -0
- package/Server/API/OnCallReadinessAPI.ts +4 -1
- package/Server/API/OnCallScheduleTimelineAPI.ts +731 -0
- package/Server/API/ProjectAPI.ts +1 -0
- package/Server/API/ScheduledMaintenanceAPI.ts +1 -0
- package/Server/API/StatusPageAPI.ts +161 -32
- package/Server/API/TeamMemberAPI.ts +3 -0
- package/Server/API/UserCallAPI.ts +2 -0
- package/Server/API/UserEmailAPI.ts +2 -0
- package/Server/API/UserIncomingCallNumberAPI.ts +2 -0
- package/Server/API/UserMicrosoftTeamsAPI.ts +1 -0
- package/Server/API/UserSlackAPI.ts +1 -0
- package/Server/API/UserSmsAPI.ts +2 -0
- package/Server/API/UserTotpAuthAPI.ts +1 -0
- package/Server/API/UserWebAuthnAPI.ts +2 -0
- package/Server/API/UserWebhookAPI.ts +1 -0
- package/Server/API/UserWhatsAppAPI.ts +2 -0
- package/Server/Middleware/MasterAdminAuthorization.ts +13 -2
- package/Server/Middleware/UserAuthorization.ts +79 -5
- package/Server/Services/ApiKeyPermissionService.ts +101 -4
- package/Server/Services/DatabaseService.ts +245 -0
- package/Server/Services/DetectionRuleService.ts +5 -4
- package/Server/Services/OnCallDutyPolicyChildService.ts +261 -0
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +2 -2
- package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +2 -2
- package/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.ts +2 -2
- package/Server/Services/OnCallDutyPolicyEscalationRuleUserService.ts +2 -2
- package/Server/Services/PayAsYouGoBillingService.ts +23 -28
- package/Server/Services/ProjectService.ts +18 -0
- package/Server/Services/RumSessionPinService.ts +274 -22
- package/Server/Services/TeamPermissionService.ts +120 -26
- package/Server/Services/ThreatIntelFeedService.ts +6 -3
- package/Server/Types/Database/Permissions/BasePermission.ts +9 -7
- package/Server/Types/Database/Permissions/Index.ts +75 -11
- package/Server/Types/Database/Permissions/TablePermission.ts +24 -28
- package/Server/Utils/AI/AIChatPrivacyFilter.ts +8 -0
- package/Server/Utils/AI/AIRunPrivacyFilter.ts +8 -0
- package/Server/Utils/MasterAdminPageAccess.ts +61 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +3 -1
- package/Server/Utils/Monitor/MonitorIncident.ts +3 -1
- package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1 -1
- package/Server/Utils/Realtime.ts +163 -45
- package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +11 -28
- package/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.ts +170 -0
- package/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.ts +1 -1
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +6 -2
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.ts +10 -9
- package/Tests/App/Dashboard/AffectedResourcesPicker.test.tsx +1059 -0
- package/Tests/App/Dashboard/AffectedResourcesPickerEditForm.test.tsx +376 -0
- package/Tests/App/Dashboard/AffectedResourcesPickerHiddenTypes.test.tsx +757 -0
- package/Tests/App/Dashboard/AffectedResourcesSummaryStep.test.tsx +307 -0
- package/Tests/App/Dashboard/ArgumentsFormGroupByUnlistedAttributes.test.tsx +131 -0
- package/Tests/App/Dashboard/DashboardHeaderRequests.test.tsx +1 -1
- package/Tests/App/Dashboard/DashboardMonitorLabelVariable.test.tsx +9 -1
- package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +24 -0
- package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +162 -8
- package/Tests/App/Dashboard/EntityFilterDropdownArchivedSlos.test.tsx +105 -6
- package/Tests/App/Dashboard/EntityFilterDropdownUnlistedSelection.test.tsx +434 -0
- package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +276 -1
- package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +9 -1
- package/Tests/App/Dashboard/PayAsYouGoConsentGate.test.tsx +58 -42
- package/Tests/App/Dashboard/PayAsYouGoNotices.test.tsx +42 -5
- package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +34 -23
- package/Tests/App/Dashboard/ScheduleTimeline.test.tsx +1580 -0
- package/Tests/App/Dashboard/ScheduleTimelineAPI.test.ts +280 -0
- package/Tests/App/Dashboard/ScheduleTimelineModel.test.ts +673 -0
- package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +95 -68
- package/Tests/App/Dashboard/SecurityEventsDetectionRulesPage.test.tsx +86 -3
- package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +28 -3
- package/Tests/App/Dashboard/SecurityEventsExplorer.test.tsx +761 -0
- package/Tests/App/Dashboard/SecurityEventsGuideContent.test.ts +1313 -0
- package/Tests/App/Dashboard/SecurityEventsHowItWorksCard.test.tsx +536 -0
- package/Tests/App/Dashboard/SecurityEventsNoResults.test.tsx +222 -0
- package/Tests/App/Dashboard/SecurityEventsThreatIntelPage.test.tsx +199 -0
- package/Tests/App/Dashboard/SecurityEventsVolumeChart.test.tsx +321 -0
- package/Tests/App/Dashboard/SloOverviewHero.test.tsx +171 -36
- package/Tests/App/Dashboard/SloViewSideMenu.test.tsx +215 -0
- package/Tests/App/Dashboard/SloViewSideMenuCounts.test.tsx +40 -3
- package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +12 -4
- package/Tests/App/PublicDashboard/PublicDashboardWidgetListAuth.test.tsx +623 -0
- package/Tests/Models/OnCallCalendarFeedModels.test.ts +23 -1
- package/Tests/Server/API/AIChatRouteAuthorization.test.ts +138 -5
- package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +187 -0
- package/Tests/Server/API/AIInvestigationAvailabilityAuthorization.test.ts +51 -3
- package/Tests/Server/API/AIInvestigationEvidenceAPI.test.ts +55 -2
- package/Tests/Server/API/BaseAnalyticsAPIAggregateCache.test.ts +729 -0
- package/Tests/Server/API/BillingPayAsYouGoStatus.test.ts +93 -7
- package/Tests/Server/API/BillingPaymentMethodAPI.test.ts +36 -3
- package/Tests/Server/API/CommonAPIAuthGuard.test.ts +1003 -24
- package/Tests/Server/API/DashboardPublicRateLimit.test.ts +6 -3
- package/Tests/Server/API/ExpiredSessionAIRoutes.test.ts +708 -0
- package/Tests/Server/API/ExpiredSessionCustomRoutes.test.ts +928 -0
- package/Tests/Server/API/ExpiredSessionMonitorTemplate.test.ts +319 -0
- package/Tests/Server/API/ExpiredSessionOnCallDutyPolicy.test.ts +336 -0
- package/Tests/Server/API/ExpiredSessionRouteGuards.test.ts +820 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +140 -0
- package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +115 -12
- package/Tests/Server/API/OnCallCalendarAPI.test.ts +375 -8
- package/Tests/Server/API/OnCallReadinessAPI.test.ts +175 -17
- package/Tests/Server/API/OnCallScheduleTimelineAPI.test.ts +1513 -0
- package/Tests/Server/API/OnCallSetupReminderAPI.test.ts +119 -7
- package/Tests/Server/API/ProjectScopedCustomRouteAuth.test.ts +111 -4
- package/Tests/Server/API/PublicRouteInvalidAccessToken.test.ts +615 -0
- package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +89 -2
- package/Tests/Server/API/SessionReplayAPI.test.ts +121 -0
- package/Tests/Server/API/StatusPageMasterPasswordRateLimit.test.ts +4 -2
- package/Tests/Server/API/StatusPagePostmortemVisibility.test.ts +441 -0
- package/Tests/Server/API/StatusPageTestEmailReportAuth.test.ts +664 -0
- package/Tests/Server/API/TeamMemberRemoveUserFromProjectAPI.test.ts +7 -0
- package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +6 -0
- package/Tests/Server/API/UserNotificationSettingAPI.test.ts +65 -4
- package/Tests/Server/API/UserProjectsAPI.test.ts +63 -3
- package/Tests/Server/API/UserTotpAuthAPI.test.ts +48 -2
- package/Tests/Server/API/UserWebAuthnAuthenticationOptionsRoute.test.ts +11 -2
- package/Tests/Server/API/UserWebAuthnBackupCodeMinting.test.ts +46 -3
- package/Tests/Server/API/UserWebAuthnPasskeyAPI.test.ts +18 -2
- package/Tests/Server/API/ZZVerifyChatsAuth.test.ts +24 -7
- package/Tests/Server/Middleware/ExpiredSessionUserMiddleware.test.ts +563 -0
- package/Tests/Server/Middleware/MasterAdminAuthorization.test.ts +299 -19
- package/Tests/Server/Middleware/PublicRouteUserMiddleware.test.ts +453 -0
- package/Tests/Server/Services/AIChatPrivacyPin.test.ts +24 -0
- package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +2 -0
- package/Tests/Server/Services/ApiKeyPermissionService.test.ts +3 -3
- package/Tests/Server/Services/DatabaseServiceCreateSuppliedId.test.ts +147 -0
- package/Tests/Server/Services/DatabaseServiceLoginBeforeHooks.test.ts +1078 -0
- package/Tests/Server/Services/DatabaseServiceTenantRelationGuard.test.ts +259 -0
- package/Tests/Server/Services/DatabaseServiceWriteOperatorValues.test.ts +147 -0
- package/Tests/Server/Services/MonitorPayAsYouGoBilling.test.ts +115 -1
- package/Tests/Server/Services/OnCallChildCreateAuthorizationPostgres.test.ts +711 -0
- package/Tests/Server/Services/OnCallDutyPolicyChildService.test.ts +733 -0
- package/Tests/Server/Services/PayAsYouGoBillingService.test.ts +190 -140
- package/Tests/Server/Services/PayAsYouGoStripeRateLimitBudget.test.ts +4 -9
- package/Tests/Server/Services/PermissionBlockDeletion.test.ts +780 -0
- package/Tests/Server/Services/PermissionBlockDeletionPostgres.test.ts +628 -0
- package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +77 -1
- package/Tests/Server/Services/RumSessionPinCreatePermission.test.ts +715 -0
- package/Tests/Server/Services/TeamMemberMultiTenantReadPostgres.test.ts +394 -0
- package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +6 -0
- package/Tests/Server/Services/TelemetryPayAsYouGoBilling.test.ts +131 -0
- package/Tests/Server/Services/UserNotificationRuleAdminGuards.test.ts +13 -2
- package/Tests/Server/Types/Database/Permissions/ModelPermissionAnonymousRefusal.test.ts +518 -0
- package/Tests/Server/Types/Database/Permissions/MultiTenantPermissions.test.ts +350 -0
- package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +282 -25
- package/Tests/Server/Types/Database/Permissions/TableLevelBlockPermission.test.ts +459 -0
- package/Tests/Server/Utils/AI/AIRunPrivacyFilter.test.ts +101 -9
- package/Tests/Server/Utils/AI/ChatAgentHelpers.test.ts +88 -4
- package/Tests/Server/Utils/AI/Toolbox/ExceptionTools.test.ts +459 -0
- package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +794 -0
- package/Tests/Server/Utils/AI/Toolbox/RecentChangesTools.test.ts +574 -0
- package/Tests/Server/Utils/AI/Toolbox/SecurityEventTools.test.ts +596 -0
- package/Tests/Server/Utils/CaptchaRequestAndLogging.test.ts +395 -0
- package/Tests/Server/Utils/MasterAdminPageAccess.test.ts +251 -0
- package/Tests/Server/Utils/Monitor/MonitorActionTimestamps.test.ts +616 -0
- package/Tests/Server/Utils/Realtime.test.ts +502 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorSeverity.test.ts +216 -0
- package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +142 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.test.ts +140 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepairClickhouseIntegration.test.ts +542 -0
- package/Tests/Server/Utils/Telemetry/ChangeEventRow.test.ts +743 -0
- package/Tests/Server/Utils/Telemetry/RuntimeMetrics.test.ts +465 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.test.ts +202 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.test.ts +231 -0
- package/Tests/Server/Utils/Workspace/Slack/Messages/Alert.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/Slack/Messages/AlertEpisode.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/Slack/Messages/Incident.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.test.ts +194 -0
- package/Tests/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.test.ts +247 -0
- package/Tests/Types/AI/AIInsightEvidence.test.ts +206 -0
- package/Tests/Types/BaseDatabase/DatabaseCommonInteractionPropsUtilAnonymous.test.ts +144 -0
- package/Tests/Types/Call/CallProvider.test.ts +528 -0
- package/Tests/Types/Kubernetes/KubernetesCostIngest.test.ts +236 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleTimeline.test.ts +736 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleTimelineLayout.test.ts +996 -0
- package/Tests/Types/SecurityEvent/SigmaRule.test.ts +142 -0
- package/Tests/Types/Workflow/Components/JSON.test.ts +182 -0
- package/Tests/UI/Components/BasicFormDropdownNormalization.test.tsx +116 -1
- package/Tests/UI/Components/Dropdown/DropdownAsyncOptions.test.tsx +81 -0
- package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +89 -1
- package/Tests/UI/Components/EventAttachmentList.test.tsx +174 -0
- package/Tests/UI/Components/Forms/BasicFormBurnRateTemplateDefaults.test.tsx +395 -0
- package/Tests/UI/Components/Forms/BasicFormCollapsibleSections.test.tsx +286 -0
- package/Tests/UI/Components/Forms/FormSummary.test.tsx +128 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableQueryChange.test.tsx +365 -0
- package/Tests/UI/Components/OpenAuthenticatedUrl.test.ts +358 -0
- package/Tests/UI/Components/SessionAwareImage.test.tsx +496 -0
- package/Tests/UI/Components/TelemetryHistogramZeroBuckets.test.tsx +190 -0
- package/Tests/UI/Components/TooltipInteractive.test.tsx +97 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardInstallGuidance.test.tsx +1 -1
- package/Tests/UI/Monitor/EvaluationLogListTimestamps.test.tsx +367 -0
- package/Tests/UI/Utils/API/BaseAPIRefreshSession.test.ts +1087 -0
- package/Tests/UI/Utils/API/DashboardHost.ts +12 -0
- package/Tests/UI/Utils/API/FakeAxiosServer.ts +183 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
- package/Tests/UI/Utils/Cookie.test.ts +440 -0
- package/Tests/UI/Utils/ModelAPIRequestClient.test.ts +278 -0
- package/Tests/UI/Utils/Navigation.test.ts +33 -0
- package/Tests/UI/Utils/PricingPlan.test.ts +295 -0
- package/Tests/UI/Utils/Realtime.test.ts +759 -0
- package/Tests/UI/Utils/Telemetry/Telemetry.test.ts +500 -0
- package/Tests/Utils/APIInstanceDispatch.test.ts +311 -0
- package/Tests/Utils/SecurityEvent/GoogleSecOpsAlertNormalizerSeverity.test.ts +565 -0
- package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +40 -0
- package/Types/Monitor/MonitorEvaluationSummary.ts +3 -0
- package/Types/OnCallDutyPolicy/ScheduleTimeline.ts +507 -0
- package/Types/OnCallDutyPolicy/ScheduleTimelineLayout.ts +589 -0
- package/Types/Realtime/EventName.ts +11 -0
- package/Types/SecurityEvent/DetectionFindingConstants.ts +14 -0
- package/Types/SecurityEvent/OcsfSeverity.ts +31 -26
- package/Types/SecurityEvent/SigmaRule.ts +51 -0
- package/Types/SecurityEvent/ThreatIntelConstants.ts +18 -0
- package/UI/Components/AttachmentList/EventAttachmentList.tsx +30 -2
- package/UI/Components/Dashboard/DashboardVariableControl.tsx +12 -2
- package/UI/Components/Dropdown/Dropdown.tsx +6 -1
- package/UI/Components/EditionLabel/EditionLabel.tsx +12 -0
- package/UI/Components/EventItem/EventItem.tsx +12 -1
- package/UI/Components/Forms/BasicForm.tsx +151 -126
- package/UI/Components/Forms/CollapsibleFormSection.tsx +63 -0
- package/UI/Components/Forms/Fields/FormField.tsx +10 -4
- package/UI/Components/Forms/FormSummary.tsx +7 -0
- package/UI/Components/Forms/Types/Field.ts +10 -0
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +2 -1
- package/UI/Components/Markdown.tsx/SessionAwareImage.tsx +122 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +34 -5
- package/UI/Components/ModelTable/TableView.tsx +1 -1
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +8 -1
- package/UI/Components/Tooltip/Tooltip.tsx +8 -1
- package/UI/Utils/API/API.ts +173 -12
- package/UI/Utils/API/RequestOptions.ts +11 -0
- package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +31 -7
- package/UI/Utils/ModelAPI/ModelAPI.ts +30 -9
- package/UI/Utils/Navigation.ts +9 -0
- package/UI/Utils/OpenAuthenticatedUrl.ts +154 -0
- package/UI/Utils/Realtime.ts +176 -30
- package/Utils/API.ts +14 -5
- package/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.ts +157 -7
- package/Utils/SecurityEvent/Sigma/SigmaRuleParser.ts +9 -17
- package/Utils/Slo/SloBurnRateTemplate.ts +2 -2
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +1 -1
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -1
- package/build/dist/Server/API/AIBillingAPI.js +1 -1
- package/build/dist/Server/API/AIBillingAPI.js.map +1 -1
- package/build/dist/Server/API/AIInsightAPI.js +1 -4
- package/build/dist/Server/API/AIInsightAPI.js.map +1 -1
- package/build/dist/Server/API/AIInvestigationAPI.js +1 -4
- package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
- package/build/dist/Server/API/AIReadinessAPI.js +1 -3
- package/build/dist/Server/API/AIReadinessAPI.js.map +1 -1
- package/build/dist/Server/API/AlertAPI.js +1 -1
- package/build/dist/Server/API/AlertAPI.js.map +1 -1
- package/build/dist/Server/API/AutoRemediationAPI.js +1 -4
- package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +12 -0
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/BaseAnalyticsAPI.js +55 -10
- package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
- package/build/dist/Server/API/BillingAPI.js +2 -2
- package/build/dist/Server/API/BillingAPI.js.map +1 -1
- package/build/dist/Server/API/BillingInvoiceAPI.js +1 -1
- package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
- package/build/dist/Server/API/BillingPaymentMethodAPI.js +2 -2
- package/build/dist/Server/API/BillingPaymentMethodAPI.js.map +1 -1
- package/build/dist/Server/API/CodeFixRunAPI.js +1 -3
- package/build/dist/Server/API/CodeFixRunAPI.js.map +1 -1
- package/build/dist/Server/API/CommonAPI.js +50 -5
- package/build/dist/Server/API/CommonAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +12 -12
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/GlobalConfigAPI.js +12 -0
- package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentAPI.js +2 -2
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js +1 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
- package/build/dist/Server/API/NotificationAPI.js +1 -1
- package/build/dist/Server/API/NotificationAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallCalendarAPI.js +1 -4
- package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallDutyPolicyAPI.js +6 -0
- package/build/dist/Server/API/OnCallDutyPolicyAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallReadinessAPI.js +4 -1
- package/build/dist/Server/API/OnCallReadinessAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallScheduleTimelineAPI.js +494 -0
- package/build/dist/Server/API/OnCallScheduleTimelineAPI.js.map +1 -0
- package/build/dist/Server/API/ProjectAPI.js +1 -1
- package/build/dist/Server/API/ProjectAPI.js.map +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +125 -33
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/TeamMemberAPI.js +3 -3
- package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
- package/build/dist/Server/API/UserCallAPI.js +2 -2
- package/build/dist/Server/API/UserCallAPI.js.map +1 -1
- package/build/dist/Server/API/UserEmailAPI.js +2 -2
- package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js +2 -2
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
- package/build/dist/Server/API/UserMicrosoftTeamsAPI.js +1 -1
- package/build/dist/Server/API/UserMicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/UserSlackAPI.js +1 -1
- package/build/dist/Server/API/UserSlackAPI.js.map +1 -1
- package/build/dist/Server/API/UserSmsAPI.js +2 -2
- package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js +1 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js.map +1 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js +2 -2
- package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
- package/build/dist/Server/API/UserWebhookAPI.js +1 -1
- package/build/dist/Server/API/UserWebhookAPI.js.map +1 -1
- package/build/dist/Server/API/UserWhatsAppAPI.js +2 -2
- package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js +11 -2
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/UserAuthorization.js +64 -4
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/ApiKeyPermissionService.js +80 -4
- package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +171 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DetectionRuleService.js +4 -4
- package/build/dist/Server/Services/DetectionRuleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyChildService.js +170 -0
- package/build/dist/Server/Services/OnCallDutyPolicyChildService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +2 -2
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +2 -2
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js +2 -2
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js +2 -2
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js.map +1 -1
- package/build/dist/Server/Services/PayAsYouGoBillingService.js +20 -27
- package/build/dist/Server/Services/PayAsYouGoBillingService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +17 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RumSessionPinService.js +180 -16
- package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
- package/build/dist/Server/Services/TeamPermissionService.js +89 -27
- package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
- package/build/dist/Server/Services/ThreatIntelFeedService.js +5 -4
- package/build/dist/Server/Services/ThreatIntelFeedService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js +9 -6
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/Index.js +60 -6
- package/build/dist/Server/Types/Database/Permissions/Index.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js +14 -13
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
- package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js +7 -0
- package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js +7 -0
- package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/MasterAdminPageAccess.js +39 -0
- package/build/dist/Server/Utils/MasterAdminPageAccess.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +3 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +3 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Realtime.js +126 -37
- package/build/dist/Server/Utils/Realtime.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +7 -25
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js +127 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +3 -2
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js +4 -8
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js.map +1 -1
- package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +31 -1
- package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js +321 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js +372 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js.map +1 -0
- package/build/dist/Types/Realtime/EventName.js +10 -0
- package/build/dist/Types/Realtime/EventName.js.map +1 -1
- package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js +11 -0
- package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js.map +1 -1
- package/build/dist/Types/SecurityEvent/OcsfSeverity.js +30 -25
- package/build/dist/Types/SecurityEvent/OcsfSeverity.js.map +1 -1
- package/build/dist/Types/SecurityEvent/SigmaRule.js +47 -0
- package/build/dist/Types/SecurityEvent/SigmaRule.js.map +1 -1
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js +14 -0
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js.map +1 -1
- package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js +9 -4
- package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js.map +1 -1
- package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js +10 -2
- package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js +5 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +11 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/EventItem/EventItem.js +2 -2
- package/build/dist/UI/Components/EventItem/EventItem.js.map +1 -1
- package/build/dist/UI/Components/Forms/BasicForm.js +70 -64
- package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
- package/build/dist/UI/Components/Forms/CollapsibleFormSection.js +27 -0
- package/build/dist/UI/Components/Forms/CollapsibleFormSection.js.map +1 -0
- package/build/dist/UI/Components/Forms/Fields/FormField.js +10 -7
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Forms/FormSummary.js +7 -0
- package/build/dist/UI/Components/Forms/FormSummary.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +2 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js +84 -0
- package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js.map +1 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +14 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/TableView.js +1 -1
- package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +8 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js +2 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
- package/build/dist/UI/Utils/API/API.js +143 -19
- package/build/dist/UI/Utils/API/API.js.map +1 -1
- package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js +21 -7
- package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +26 -9
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +8 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/UI/Utils/OpenAuthenticatedUrl.js +92 -0
- package/build/dist/UI/Utils/OpenAuthenticatedUrl.js.map +1 -0
- package/build/dist/UI/Utils/Realtime.js +120 -15
- package/build/dist/UI/Utils/Realtime.js.map +1 -1
- package/build/dist/Utils/API.js +13 -5
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js +123 -6
- package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js.map +1 -1
- package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js +4 -18
- package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js.map +1 -1
- package/build/dist/Utils/Slo/SloBurnRateTemplate.js +2 -2
- package/package.json +1 -1
|
@@ -7,13 +7,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
import ModelPermission from "../Types/Database/Permissions/Index";
|
|
11
|
+
import QueryHelper from "../Types/Database/QueryHelper";
|
|
10
12
|
import AccessTokenService from "./AccessTokenService";
|
|
11
13
|
import DatabaseService from "./DatabaseService";
|
|
12
14
|
import TeamMemberService from "./TeamMemberService";
|
|
13
15
|
import TeamService from "./TeamService";
|
|
14
16
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
15
17
|
import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
|
|
16
|
-
import LIMIT_MAX
|
|
18
|
+
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
17
19
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
18
20
|
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
19
21
|
import PermissionScope from "../../Types/Database/AccessControl/PermissionScope";
|
|
@@ -74,6 +76,7 @@ export class Service extends DatabaseService {
|
|
|
74
76
|
return;
|
|
75
77
|
}
|
|
76
78
|
const callerPermissions = DatabaseCommonInteractionPropsUtil.getUserPermissions(data.props, PermissionType.Allow);
|
|
79
|
+
const callerBlocks = DatabaseCommonInteractionPropsUtil.getUserPermissions(data.props, PermissionType.Block);
|
|
77
80
|
/*
|
|
78
81
|
* ProjectOwner is the sole tenant-level delegation override. In
|
|
79
82
|
* particular, ProjectAdmin is not a synonym for every project
|
|
@@ -83,8 +86,12 @@ export class Service extends DatabaseService {
|
|
|
83
86
|
* scope comparison below, including ProjectAdmin.
|
|
84
87
|
*/
|
|
85
88
|
if (callerPermissions.some((permission) => {
|
|
86
|
-
return permission.permission === Permission.ProjectOwner
|
|
87
|
-
|
|
89
|
+
return (permission.permission === Permission.ProjectOwner &&
|
|
90
|
+
this.permissionCoversGrant(permission, PermissionScope.All, []));
|
|
91
|
+
}) &&
|
|
92
|
+
!callerBlocks.some((permission) => {
|
|
93
|
+
return permission.permission === Permission.ProjectOwner;
|
|
94
|
+
})) {
|
|
88
95
|
return;
|
|
89
96
|
}
|
|
90
97
|
const targetLabelIds = data.labelIds || [];
|
|
@@ -95,7 +102,30 @@ export class Service extends DatabaseService {
|
|
|
95
102
|
.some((permission) => {
|
|
96
103
|
return this.permissionCoversGrant(permission, data.scope, targetLabelIds);
|
|
97
104
|
});
|
|
98
|
-
|
|
105
|
+
const matchingBlocks = callerBlocks.filter((permission) => {
|
|
106
|
+
return permission.permission === data.permission;
|
|
107
|
+
});
|
|
108
|
+
const targetHasLabelScope = targetLabelIds.length > 0 &&
|
|
109
|
+
data.scope !== PermissionScope.All &&
|
|
110
|
+
data.scope !== PermissionScope.Owned;
|
|
111
|
+
const isBlocked = matchingBlocks.some((permission) => {
|
|
112
|
+
/*
|
|
113
|
+
* An unrestricted/Owned grant may include resources blocked from the
|
|
114
|
+
* caller. Ownership also cannot be transferred between principals.
|
|
115
|
+
*/
|
|
116
|
+
if (!targetHasLabelScope ||
|
|
117
|
+
permission.scope === PermissionScope.All ||
|
|
118
|
+
permission.scope === PermissionScope.Owned ||
|
|
119
|
+
permission.labelIds.length === 0) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
return permission.labelIds.some((blockedLabelId) => {
|
|
123
|
+
return targetLabelIds.some((labelId) => {
|
|
124
|
+
return labelId.toString() === blockedLabelId.toString();
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
if (!canDelegate || isBlocked) {
|
|
99
129
|
throw new NotAuthorizedException(`You cannot grant ${data.permission} because your own access does not include that permission at an equal or broader scope.`);
|
|
100
130
|
}
|
|
101
131
|
}
|
|
@@ -249,13 +279,26 @@ export class Service extends DatabaseService {
|
|
|
249
279
|
}
|
|
250
280
|
async onBeforeUpdate(updateBy) {
|
|
251
281
|
var _a, _b;
|
|
252
|
-
|
|
282
|
+
updateBy.query = await ModelPermission.checkUpdateQueryPermissions(Model, updateBy.query, updateBy.data, updateBy.props);
|
|
283
|
+
const selectedPermissions = await this.findAllBy({
|
|
253
284
|
query: updateBy.query,
|
|
285
|
+
select: { _id: true },
|
|
286
|
+
skip: updateBy.skip,
|
|
287
|
+
limit: updateBy.limit,
|
|
288
|
+
props: { isRoot: true },
|
|
289
|
+
});
|
|
290
|
+
const selectedIds = selectedPermissions.map((row) => {
|
|
291
|
+
return row.id;
|
|
292
|
+
});
|
|
293
|
+
// Read complete labels independently of any relation filters in the query.
|
|
294
|
+
const teamPermissions = await this.findAllBy({
|
|
295
|
+
query: { _id: QueryHelper.any(selectedIds) },
|
|
254
296
|
select: {
|
|
255
297
|
_id: true,
|
|
256
298
|
teamId: true,
|
|
257
299
|
projectId: true,
|
|
258
300
|
permission: true,
|
|
301
|
+
isBlockPermission: true,
|
|
259
302
|
labels: {
|
|
260
303
|
_id: true,
|
|
261
304
|
},
|
|
@@ -264,8 +307,6 @@ export class Service extends DatabaseService {
|
|
|
264
307
|
isPermissionsEditable: true,
|
|
265
308
|
},
|
|
266
309
|
},
|
|
267
|
-
skip: 0,
|
|
268
|
-
limit: LIMIT_MAX,
|
|
269
310
|
props: {
|
|
270
311
|
isRoot: true,
|
|
271
312
|
},
|
|
@@ -287,6 +328,15 @@ export class Service extends DatabaseService {
|
|
|
287
328
|
const requestedScope = typeof rawUpdateData.scope === "string"
|
|
288
329
|
? rawUpdateData.scope
|
|
289
330
|
: permission.scope;
|
|
331
|
+
// Retargeting or narrowing a deny also removes its original restriction.
|
|
332
|
+
if (permission.isBlockPermission) {
|
|
333
|
+
this.assertCanGrantPermission({
|
|
334
|
+
permission: permission.permission,
|
|
335
|
+
labelIds: this.getLabelIds(permission.labels),
|
|
336
|
+
scope: permission.scope,
|
|
337
|
+
props: updateBy.props,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
290
340
|
this.assertCanGrantPermission({
|
|
291
341
|
permission: requestedPermission,
|
|
292
342
|
labelIds: this.getLabelIds(requestedLabels),
|
|
@@ -295,23 +345,7 @@ export class Service extends DatabaseService {
|
|
|
295
345
|
});
|
|
296
346
|
}
|
|
297
347
|
if (updateBy.data.labels && updateBy.data.labels.length > 0) {
|
|
298
|
-
const
|
|
299
|
-
query: updateBy.query,
|
|
300
|
-
select: {
|
|
301
|
-
_id: true,
|
|
302
|
-
labels: true,
|
|
303
|
-
isBlockPermission: true,
|
|
304
|
-
projectId: true,
|
|
305
|
-
teamId: true,
|
|
306
|
-
permission: true,
|
|
307
|
-
},
|
|
308
|
-
limit: LIMIT_PER_PROJECT,
|
|
309
|
-
skip: 0,
|
|
310
|
-
props: {
|
|
311
|
-
isRoot: true,
|
|
312
|
-
},
|
|
313
|
-
});
|
|
314
|
-
for (const alreadySavedPermission of existingPermissions) {
|
|
348
|
+
for (const alreadySavedPermission of teamPermissions) {
|
|
315
349
|
// check if the
|
|
316
350
|
const isBlockPermission = alreadySavedPermission.isBlockPermission || false;
|
|
317
351
|
const existingPermission = await this.findOneBy({
|
|
@@ -341,6 +375,8 @@ export class Service extends DatabaseService {
|
|
|
341
375
|
}
|
|
342
376
|
}
|
|
343
377
|
}
|
|
378
|
+
updateBy.query = Object.assign(Object.assign({}, updateBy.query), { _id: QueryHelper.any(selectedIds) });
|
|
379
|
+
updateBy.skip = 0;
|
|
344
380
|
return { updateBy, carryForward: teamPermissions };
|
|
345
381
|
}
|
|
346
382
|
async onUpdateSuccess(onUpdate, _updatedItemIds) {
|
|
@@ -376,27 +412,53 @@ export class Service extends DatabaseService {
|
|
|
376
412
|
}
|
|
377
413
|
async onBeforeDelete(deleteBy) {
|
|
378
414
|
var _a;
|
|
379
|
-
|
|
415
|
+
// Scope the root lookup using the same delete authorization as the write.
|
|
416
|
+
deleteBy.query = await ModelPermission.checkDeleteQueryPermission(Model, deleteBy.query, deleteBy.props);
|
|
417
|
+
const selectedPermissions = await this.findAllBy({
|
|
380
418
|
query: deleteBy.query,
|
|
419
|
+
select: { _id: true },
|
|
420
|
+
skip: deleteBy.skip,
|
|
421
|
+
limit: deleteBy.limit,
|
|
422
|
+
props: { isRoot: true },
|
|
423
|
+
});
|
|
424
|
+
const selectedIds = selectedPermissions.map((row) => {
|
|
425
|
+
return row.id;
|
|
426
|
+
});
|
|
427
|
+
const teamPermissions = await this.findAllBy({
|
|
428
|
+
query: { _id: QueryHelper.any(selectedIds) },
|
|
381
429
|
select: {
|
|
382
430
|
_id: true,
|
|
383
431
|
teamId: true,
|
|
384
432
|
projectId: true,
|
|
433
|
+
permission: true,
|
|
434
|
+
isBlockPermission: true,
|
|
435
|
+
labels: { _id: true },
|
|
436
|
+
scope: true,
|
|
385
437
|
team: {
|
|
386
438
|
isPermissionsEditable: true,
|
|
387
439
|
},
|
|
388
440
|
},
|
|
389
|
-
skip: 0,
|
|
390
|
-
limit: LIMIT_MAX,
|
|
391
441
|
props: {
|
|
392
442
|
isRoot: true,
|
|
393
443
|
},
|
|
394
444
|
});
|
|
395
445
|
for (const permission of teamPermissions) {
|
|
446
|
+
this.assertProjectMatchesTenant(permission.projectId, deleteBy.props);
|
|
396
447
|
if (!((_a = permission.team) === null || _a === void 0 ? void 0 : _a.isPermissionsEditable)) {
|
|
397
448
|
throw new BadDataException("Permissions for this team is not deleteable. You can create a new team and add permissions to that team instead.");
|
|
398
449
|
}
|
|
450
|
+
if (permission.isBlockPermission) {
|
|
451
|
+
this.assertCanGrantPermission({
|
|
452
|
+
permission: permission.permission,
|
|
453
|
+
labelIds: this.getLabelIds(permission.labels),
|
|
454
|
+
scope: permission.scope,
|
|
455
|
+
props: deleteBy.props,
|
|
456
|
+
});
|
|
457
|
+
}
|
|
399
458
|
}
|
|
459
|
+
// Keep the write restricted to the page whose authority was checked.
|
|
460
|
+
deleteBy.query = Object.assign(Object.assign({}, deleteBy.query), { _id: QueryHelper.any(selectedIds) });
|
|
461
|
+
deleteBy.skip = 0;
|
|
400
462
|
let teamMembers = [];
|
|
401
463
|
for (const permission of teamPermissions) {
|
|
402
464
|
const members = await TeamMemberService.findBy({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamPermissionService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamPermissionService.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,kCAAkC,EAAE,EACzC,cAAc,GACf,MAAM,6DAA6D,CAAC;AACrE,OAAO,SAAS,EAAE,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAClF,OAAO,eAAe,MAAM,oDAAoD,CAAC;AAEjF,OAAO,UAA8B,MAAM,wBAAwB,CAAC;AAIpE,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAE/D,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,0BAA0B,CAChC,SAAmB,EACnB,KAAqC;QAErC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1E,MAAM,IAAI,sBAAsB,CAC9B,kEAAkE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAgC;QAClD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;aAClB,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE;YACpB,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAwB,EAAuB,EAAE;YACxD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,qBAAqB,CAC3B,gBAAgC,EAChC,WAAwC,EACxC,cAA+B;QAE/B,MAAM,cAAc,GAAoB,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxE,MAAM,iBAAiB,GACrB,gBAAgB,CAAC,KAAK,KAAK,eAAe,CAAC,GAAG;YAC9C,CAAC,CAAC,gBAAgB,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;YACxD,CAAC,gBAAgB,CAAC,KAAK,KAAK,eAAe,CAAC,MAAM;gBAChD,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAEjC,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,mBAAmB,GACvB,cAAc,CAAC,MAAM,GAAG,CAAC;YACzB,WAAW,KAAK,eAAe,CAAC,GAAG;YACnC,WAAW,KAAK,eAAe,CAAC,KAAK,CAAC;QAExC,IACE,CAAC,mBAAmB;YACpB,gBAAgB,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,EAChD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,oBAAoB,GAAgB,IAAI,GAAG,CAC/C,cAAc,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;YACvC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,OAAiB,EAAE,EAAE;YAChD,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAAC,IAK/B;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GACrB,kCAAkC,CAAC,kBAAkB,CACnD,IAAI,CAAC,KAAK,EACV,cAAc,CAAC,KAAK,CACrB,CAAC;QAEJ;;;;;;;WAOG;QACH,IACE,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAA0B,EAAE,EAAE;YACpD,OAAO,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,YAAY,CAAC;QAC3D,CAAC,CAAC,EACF,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAoB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAY,iBAAiB;aAC3C,MAAM,CAAC,CAAC,UAA0B,EAAE,EAAE;YACrC,OAAO,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;QACnD,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,UAA0B,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,qBAAqB,CAC/B,UAAU,EACV,IAAI,CAAC,KAAK,EACV,cAAc,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,sBAAsB,CAC9B,oBAAoB,IAAI,CAAC,UAAU,yFAAyF,CAC7H,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IAEU,AAAN,KAAK,CAAC,6BAA6B,CAAC,IAI1C;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5D,MAAM,WAAW,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;iBACV;gBACD,KAAK,EAAE,IAAI;aACZ;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,wBAAwB,CAAC;gBAC5B,UAAU,EAAE,UAAU,CAAC,UAAW;gBAClC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzE;;;WAGG;QACH,MAAM,IAAI,GAAgB,MAAM,WAAW,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACzB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;aACnC;YACD,MAAM,EAAE;gBACN,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,gBAAgB,CACxB,mFAAmF,CACpF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC;YAC5B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACpC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QAEH,yFAAyF;QAEzF,MAAM,iBAAiB,GAAY,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAE5E,MAAM,kBAAkB,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YAC5D,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;gBAClC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;gBACpC,iBAAiB,EAAE,iBAAiB;aACrC;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,iBAAiB,EAAE,IAAI;aACxB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,eAAe;YAEf,MAAM,kBAAkB,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;gBAC5D,KAAK,EAAE;oBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;oBAC5B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;oBAClC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;oBACpC,iBAAiB,EAAE,CAAC,iBAAiB;iBACtC;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,iBAAiB,EAAE,IAAI;oBACvB,MAAM,EAAE,IAAI;iBACb;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,kBAAkB,IAAI,CAAC,CAAA,MAAA,kBAAkB,CAAC,MAAM,0CAAE,MAAM,KAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvE,qFAAqF;gBAErF,MAAM,SAAS,GAAW,kBAAkB,CAAC,iBAAiB;oBAC5D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,OAAO,CAAC;gBAEZ,MAAM,IAAI,gBAAgB,CACxB,qEAAqE,SAAS,6GAA6G,SAAS,aAAa,CAClN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyB,EACzB,WAAkB;QAElB,MAAM,QAAQ,GAAoB,QAAQ,CAAC,QAAQ,CAAC;QAEpD,MAAM,WAAW,GAAsB,MAAM,iBAAiB,CAAC,MAAM,CAAC;YACpE,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAO;gBAC7B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;aACpC;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;aACb;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,mBAAmB;YACnB,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,CAAC,MAAO,CACf,CAAC;YACF,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,CAAC,MAAO,EACd,QAAQ,CAAC,IAAI,CAAC,SAAU,CACzB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;;QAEzB,MAAM,eAAe,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;YACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;iBACV;gBACD,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,qBAAqB,EAAE,IAAI;iBAC5B;aACF;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,SAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEvE,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,qBAAqB,CAAA,EAAE,CAAC;gBAC5C,MAAM,IAAI,gBAAgB,CACxB,kHAAkH,CACnH,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAIf,QAAQ,CAAC,IAIZ,CAAC;YACF,MAAM,mBAAmB,GACvB,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ;gBAC1C,CAAC,CAAE,aAAa,CAAC,UAAyB;gBAC1C,CAAC,CAAC,UAAU,CAAC,UAAW,CAAC;YAC7B,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,IAAI;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;oBACnC,CAAC,CAAE,aAAa,CAAC,MAAuB;oBACxC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;YAChC,MAAM,cAAc,GAClB,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ;gBACrC,CAAC,CAAE,aAAa,CAAC,KAAyB;gBAC1C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;YAEvB,IAAI,CAAC,wBAAwB,CAAC;gBAC5B,UAAU,EAAE,mBAAmB;gBAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;gBAC3C,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,mBAAmB,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;gBAC1D,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,MAAM,EAAE,IAAI;oBACZ,iBAAiB,EAAE,IAAI;oBACvB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,KAAK,MAAM,sBAAsB,IAAI,mBAAmB,EAAE,CAAC;gBACzD,eAAe;gBAEf,MAAM,iBAAiB,GACrB,sBAAsB,CAAC,iBAAiB,IAAI,KAAK,CAAC;gBAEpD,MAAM,kBAAkB,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;oBAC5D,KAAK,EAAE;wBACL,MAAM,EAAE,sBAAsB,CAAC,MAAO;wBACtC,SAAS,EAAE,sBAAsB,CAAC,SAAU;wBAC5C,UAAU,EAAE,sBAAsB,CAAC,UAAW;wBAC9C,iBAAiB,EAAE,CAAC,iBAAiB;qBACtC;oBACD,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,iBAAiB,EAAE,IAAI;wBACvB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,IAAI;qBACjB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IACE,kBAAkB;oBAClB,CAAC,CAAA,MAAA,kBAAkB,CAAC,MAAM,0CAAE,MAAM,KAAI,CAAC,CAAC,GAAG,CAAC,EAC5C,CAAC;oBACD,qFAAqF;oBAErF,MAAM,SAAS,GAAW,kBAAkB,CAAC,iBAAiB;wBAC5D,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,OAAO,CAAC;oBAEZ,MAAM,IAAI,gBAAgB,CACxB,8CAA8C,kBAAkB,CAAC,UAAU,WAAW,SAAS,6GAA6G,SAAS,QAAQ,CAC9N,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;IACrD,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyB,EACzB,eAA2B;QAE3B,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAsB,MAAM,iBAAiB,CAAC,MAAM,CAAC;gBACpE,KAAK,EAAE;oBACL,MAAM,EAAE,UAAU,CAAC,MAAO;oBAC1B,SAAS,EAAE,UAAU,CAAC,SAAU;iBACjC;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBAChD,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtB,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;gBACnD,CAAC;gBAED,mBAAmB;gBACnB,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,CAAC,MAAM,CACd,CAAC;gBACF,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;;QAEzB,MAAM,eAAe,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;YACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE;oBACJ,qBAAqB,EAAE,IAAI;iBAC5B;aACF;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,qBAAqB,CAAA,EAAE,CAAC;gBAC5C,MAAM,IAAI,gBAAgB,CACxB,kHAAkH,CACnH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAsB,EAAE,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAsB,MAAM,iBAAiB,CAAC,MAAM,CAAC;gBAChE,KAAK,EAAE;oBACL,MAAM,EAAE,UAAU,CAAC,MAAO;oBAC1B,SAAS,EAAE,UAAU,CAAC,SAAU;iBACjC;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyB,EACzB,oBAAgC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAe,MAAoB,CAAC;YAEpD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACnD,CAAC;YAED,mBAAmB;YACnB,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,UAAU,CAAC,MAAM,CAClB,CAAC;YACF,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,SAAS,CACrB,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA9bc;IADZ,WAAW,EAAE;;;;4DAuCb;AAGwB;IADxB,WAAW,EAAE;;;;6CAgHb;AAGwB;IADxB,WAAW,EAAE;;6CAGC,KAAK;;8CA+BnB;AAGwB;IADxB,WAAW,EAAE;;;;6CA+Hb;AAGwB;IADxB,WAAW,EAAE;;;;8CA2Cb;AAGwB;IADxB,WAAW,EAAE;;;;6CAoDb;AAGwB;IADxB,WAAW,EAAE;;;;8CA2Bb;AAEH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"TeamPermissionService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamPermissionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import DatabaseService from "./DatabaseService";
|
|
|
2
2
|
import Model from "../../Models/DatabaseModels/ThreatIntelFeed";
|
|
3
3
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
4
4
|
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
5
|
-
import { THREAT_INTEL_MINIMUM_CONFIDENCE_MAX, THREAT_INTEL_MINIMUM_CONFIDENCE_MIN, } from "../../Types/SecurityEvent/ThreatIntelConstants";
|
|
5
|
+
import { THREAT_INTEL_MINIMUM_CONFIDENCE_MAX, THREAT_INTEL_MINIMUM_CONFIDENCE_MIN, THREAT_INTEL_POLL_INTERVAL_MAX_IN_MINUTES, THREAT_INTEL_POLL_INTERVAL_MIN_IN_MINUTES, } from "../../Types/SecurityEvent/ThreatIntelConstants";
|
|
6
6
|
import TaxiiClient from "../Utils/SecurityEvent/ThreatIntel/TaxiiClient";
|
|
7
7
|
export class Service extends DatabaseService {
|
|
8
8
|
constructor() {
|
|
@@ -23,9 +23,10 @@ export class Service extends DatabaseService {
|
|
|
23
23
|
}
|
|
24
24
|
if (data.pollIntervalInMinutes !== undefined) {
|
|
25
25
|
if (!Number.isInteger(data.pollIntervalInMinutes) ||
|
|
26
|
-
data.pollIntervalInMinutes <
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
data.pollIntervalInMinutes <
|
|
27
|
+
THREAT_INTEL_POLL_INTERVAL_MIN_IN_MINUTES ||
|
|
28
|
+
data.pollIntervalInMinutes > THREAT_INTEL_POLL_INTERVAL_MAX_IN_MINUTES) {
|
|
29
|
+
throw new BadDataException(`Poll interval must be a whole number of minutes between ${THREAT_INTEL_POLL_INTERVAL_MIN_IN_MINUTES} and ${THREAT_INTEL_POLL_INTERVAL_MAX_IN_MINUTES}.`);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
if (data.minimumConfidence !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreatIntelFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/ThreatIntelFeedService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAIhE,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,SAAS,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EACL,mCAAmC,EACnC,mCAAmC,
|
|
1
|
+
{"version":3,"file":"ThreatIntelFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/ThreatIntelFeedService.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,14 +41,17 @@ export default class BasePermission {
|
|
|
41
41
|
query = await TenantPermission.addTenantScopeToQuery(modelType, query, select, props, type);
|
|
42
42
|
// add user scope if any
|
|
43
43
|
query = await UserPermissions.addUserScopeToQuery(modelType, query, props);
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
/*
|
|
45
|
+
* Only TenantPermission's per-project recursion returns an array of
|
|
46
|
+
* queries whose permissions have already been checked. The incoming
|
|
47
|
+
* query is copied into an ordinary object above, so a caller cannot
|
|
48
|
+
* supply this array. A multi-tenant request scoped to the current user
|
|
49
|
+
* (such as pending team invitations) still needs every check below.
|
|
50
|
+
*/
|
|
51
|
+
if (!Array.isArray(query)) {
|
|
46
52
|
// check model level permissions.
|
|
47
53
|
TablePermission.checkTableLevelPermissions(modelType, props, type);
|
|
48
|
-
|
|
49
|
-
* We will check for this permission in recursive function.
|
|
50
|
-
* check query permissions.
|
|
51
|
-
*/
|
|
54
|
+
// check query permissions.
|
|
52
55
|
QueryPermission.checkQueryPermission(modelType, query, props);
|
|
53
56
|
query = await AccessControlPermission.addAccessControlIdsToQuery(modelType, query, select, props, type);
|
|
54
57
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/BasePermission.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AAEzE,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAK/C,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAM/D,MAAM,CAAC,OAAO,OAAO,cAAc;IAEb,AAAb,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAClC,SAAiC,EACjC,KAAwB,EACxB,MAAiC,EACjC,KAAqC,EACrC,IAAyB;QAEzB;;;;WAIG;QACH,KAAK,qBAAQ,KAAK,CAAE,CAAC;QAErB,MAAM,KAAK,GAAc,IAAI,SAAS,EAAE,CAAC;QAEzC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxC,KAAK,GAAG,MAAM,cAAc,CAAC,2BAA2B,CACtD,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC1C,iCAAiC;YACjC,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAE/D,oBAAoB;YACpB,KAAK,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAClD,SAAS,EACT,KAAK,EACL,MAAM,EACN,KAAK,EACL,IAAI,CACL,CAAC;YAEF,wBAAwB;YACxB,KAAK,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAC/C,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"BasePermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/BasePermission.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,25 +12,79 @@ import CreatePermission from "./CreatePermission";
|
|
|
12
12
|
import DeletePermission from "./DeletePermission";
|
|
13
13
|
import ReadPermission from "./ReadPermission";
|
|
14
14
|
import UpdatePermission from "./UpdatePermission";
|
|
15
|
+
import DatabaseCommonInteractionPropsUtil from "../../../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
|
|
16
|
+
import NotAuthenticatedException from "../../../../Types/Exception/NotAuthenticatedException";
|
|
17
|
+
import NotAuthorizedException from "../../../../Types/Exception/NotAuthorizedException";
|
|
15
18
|
import CaptureSpan from "../../../Utils/Telemetry/CaptureSpan";
|
|
16
19
|
export default class ModelPermission {
|
|
20
|
+
/*
|
|
21
|
+
* A refusal of a caller with no credentials at all is a 401.
|
|
22
|
+
*
|
|
23
|
+
* The login check near the top of every permission check passes an
|
|
24
|
+
* anonymous caller straight through on models that are readable (or
|
|
25
|
+
* creatable) by Public - Probe, AIAgent, LlmProvider and friends - and the
|
|
26
|
+
* column, select and query checks that follow then refuse it with 422
|
|
27
|
+
* NotAuthorizedException. For the dashboard that caller is a signed-in user
|
|
28
|
+
* whose access-token cookie expired, and only a 401 makes the browser client
|
|
29
|
+
* refresh the session and replay the request. Callers with credentials keep
|
|
30
|
+
* the 422 they always got; the message is kept either way.
|
|
31
|
+
*/
|
|
32
|
+
static toAnonymousRefusal(error, props) {
|
|
33
|
+
if (error instanceof NotAuthorizedException &&
|
|
34
|
+
!props.isRoot &&
|
|
35
|
+
!props.isMasterAdmin &&
|
|
36
|
+
DatabaseCommonInteractionPropsUtil.isAnonymous(props)) {
|
|
37
|
+
return new NotAuthenticatedException(error.message);
|
|
38
|
+
}
|
|
39
|
+
return error;
|
|
40
|
+
}
|
|
17
41
|
static async checkDeletePermissionByModel(data) {
|
|
18
|
-
|
|
42
|
+
try {
|
|
43
|
+
return await DeletePermission.checkDeletePermissionByModel(data);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw ModelPermission.toAnonymousRefusal(error, data.props);
|
|
47
|
+
}
|
|
19
48
|
}
|
|
20
49
|
static async checkUpdatePermissionByModel(data) {
|
|
21
|
-
|
|
50
|
+
try {
|
|
51
|
+
return await UpdatePermission.checkUpdatePermissionByModel(data);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
throw ModelPermission.toAnonymousRefusal(error, data.props);
|
|
55
|
+
}
|
|
22
56
|
}
|
|
23
57
|
static async checkDeleteQueryPermission(modelType, query, props) {
|
|
24
|
-
|
|
58
|
+
try {
|
|
59
|
+
return await DeletePermission.checkDeletePermission(modelType, query, props);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
throw ModelPermission.toAnonymousRefusal(error, props);
|
|
63
|
+
}
|
|
25
64
|
}
|
|
26
65
|
static async checkUpdateQueryPermissions(modelType, query, data, props) {
|
|
27
|
-
|
|
66
|
+
try {
|
|
67
|
+
return await UpdatePermission.checkUpdatePermissions(modelType, query, data, props);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw ModelPermission.toAnonymousRefusal(error, props);
|
|
71
|
+
}
|
|
28
72
|
}
|
|
29
73
|
static checkCreatePermissions(modelType, data, props) {
|
|
30
|
-
|
|
74
|
+
try {
|
|
75
|
+
return CreatePermission.checkCreatePermissions(modelType, data, props);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw ModelPermission.toAnonymousRefusal(error, props);
|
|
79
|
+
}
|
|
31
80
|
}
|
|
32
81
|
static async checkReadQueryPermission(modelType, query, select, props) {
|
|
33
|
-
|
|
82
|
+
try {
|
|
83
|
+
return await ReadPermission.checkReadPermission(modelType, query, select, props);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
throw ModelPermission.toAnonymousRefusal(error, props);
|
|
87
|
+
}
|
|
34
88
|
}
|
|
35
89
|
}
|
|
36
90
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/Index.ts"],"names":[],"mappings":";;;;;;;;;;AAGA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAA2C,MAAM,kBAAkB,CAAC;AAC3E,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/Index.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,19 +97,20 @@ export default class TablePermission {
|
|
|
97
97
|
// 2nd CHECK: Does user have access to CRUD data on this model.
|
|
98
98
|
const userPermissions = DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Block);
|
|
99
99
|
const modelPermissions = TablePermission.getTablePermission(modelType, type);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
100
|
+
/*
|
|
101
|
+
* The user gets one block row per TeamPermission across all of their
|
|
102
|
+
* teams, unmerged and unordered, so the same permission can be blocked
|
|
103
|
+
* both for some labels and for the whole table. A row without labels
|
|
104
|
+
* blocks the whole table and must win whichever row comes first:
|
|
105
|
+
* ReadPermission and AccessControlPermission only enforce the labelled
|
|
106
|
+
* rows, so an unlabelled row missed here is enforced nowhere.
|
|
107
|
+
*/
|
|
108
|
+
const tableWideBlock = userPermissions.find((userPermission) => {
|
|
109
|
+
return (modelPermissions.includes(userPermission.permission) &&
|
|
110
|
+
(!userPermission.labelIds || userPermission.labelIds.length === 0));
|
|
111
|
+
});
|
|
112
|
+
if (tableWideBlock) {
|
|
113
|
+
throw new NotAuthorizedException(`You are not authorized to ${type} ${new modelType().singularName} because ${tableWideBlock.permission} is in your team's permission block list.`);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/TablePermission.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TablePermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/TablePermission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import DatabaseCommonInteractionPropsUtil from "../../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
|
|
1
2
|
import NotAuthorizedException from "../../../Types/Exception/NotAuthorizedException";
|
|
2
3
|
/*
|
|
3
4
|
* AI conversations (and their messages, runs and run events) are personal to
|
|
@@ -9,6 +10,12 @@ export function pinQueryToRequestingUser(query, props, userColumnName) {
|
|
|
9
10
|
if (props.isRoot || props.isMasterAdmin) {
|
|
10
11
|
return query;
|
|
11
12
|
}
|
|
13
|
+
/*
|
|
14
|
+
* No credentials at all is an expired session, not someone else's data:
|
|
15
|
+
* 401 so the client refreshes. The countBy overrides reach this before the
|
|
16
|
+
* permission layer's own login check does.
|
|
17
|
+
*/
|
|
18
|
+
DatabaseCommonInteractionPropsUtil.assertCredentialsPresent(props);
|
|
12
19
|
if (!props.userId) {
|
|
13
20
|
throw new NotAuthorizedException("AI conversations are personal and can only be accessed by the user who created them.");
|
|
14
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIChatPrivacyFilter.js","sourceRoot":"","sources":["../../../../../Server/Utils/AI/AIChatPrivacyFilter.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,KAAqC,EACrC,cAAsB;IAEtB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAsB,CAC9B,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAEA,KAAiC,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAElE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"AIChatPrivacyFilter.js","sourceRoot":"","sources":["../../../../../Server/Utils/AI/AIChatPrivacyFilter.ts"],"names":[],"mappings":"AACA,OAAO,kCAAkC,MAAM,gEAAgE,CAAC;AAChH,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,KAAqC,EACrC,cAAsB;IAEtB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,kCAAkC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEnE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAsB,CAC9B,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAEA,KAAiC,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAElE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import DatabaseCommonInteractionPropsUtil from "../../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
|
|
1
2
|
import NotAuthorizedException from "../../../Types/Exception/NotAuthorizedException";
|
|
2
3
|
import AIRunType from "../../../Types/AI/AIRunType";
|
|
3
4
|
import Text from "../../../Types/Text";
|
|
@@ -51,6 +52,12 @@ export function getAIRunPrivacyRaw(props) {
|
|
|
51
52
|
* /ai-run nor /code-fix-run grants today. That is a separate product
|
|
52
53
|
* decision and must not ride in as a side effect of this filter.
|
|
53
54
|
*/
|
|
55
|
+
/*
|
|
56
|
+
* No credentials at all is an expired session, not someone else's data:
|
|
57
|
+
* 401 so the client refreshes. The countBy overrides reach this before the
|
|
58
|
+
* permission layer's own login check does.
|
|
59
|
+
*/
|
|
60
|
+
DatabaseCommonInteractionPropsUtil.assertCredentialsPresent(props);
|
|
54
61
|
if (!props.userId) {
|
|
55
62
|
throw new NotAuthorizedException("AI runs are personal and can only be accessed by the user who created them.");
|
|
56
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIRunPrivacyFilter.js","sourceRoot":"","sources":["../../../../../Server/Utils/AI/AIRunPrivacyFilter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIRunPrivacyFilter.js","sourceRoot":"","sources":["../../../../../Server/Utils/AI/AIRunPrivacyFilter.ts"],"names":[],"mappings":"AACA,OAAO,kCAAkC,MAAM,gEAAgE,CAAC;AAEhH,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AACrF,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAqC;IAErC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH;;;;OAIG;IACH,kCAAkC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEnE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,sBAAsB,CAC9B,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAW,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAW,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEtE,OAAO,GAAG,CACR,CAAC,KAAa,EAAU,EAAE;QACxB,OAAO,IAAI,KAAK,OAAO,UAAU,2BAA2B,SAAS,GAAG,CAAC;IAC3E,CAAC,EACD;QACE,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO;QAC/B,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;KACrC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,KAAqC;IAErC,MAAM,SAAS,GACb,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,SAAS,EAAuB,CAAC;IACrD,CAAC;IAEA,KAAa,CAAC,OAAO,GAAG,wBAAwB,CAC9C,KAAa,CAAC,OAAO,EACtB,SAAS,CACV,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import UserMiddleware from "../Middleware/UserAuthorization";
|
|
2
|
+
import JSONWebToken from "./JsonWebToken";
|
|
3
|
+
import logger from "./Logger";
|
|
4
|
+
import Response from "./Response";
|
|
5
|
+
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
6
|
+
export const NOT_A_MASTER_ADMIN_MESSAGE = "Unauthorized: Only master admins can access the admin dashboard.";
|
|
7
|
+
/*
|
|
8
|
+
* Gate for the Admin Dashboard's index page (the HTML shell, not its APIs).
|
|
9
|
+
*
|
|
10
|
+
* It refuses only a caller it can positively identify as NOT a master admin.
|
|
11
|
+
* A missing access token, or one that no longer decodes, is served the shell:
|
|
12
|
+
* the access-token cookie expires with the JWT inside it, so an admin who
|
|
13
|
+
* reloads a tab left open past the token lifetime arrives here with no token
|
|
14
|
+
* at all, and answering that with a 422 JSON page meant the app never loaded
|
|
15
|
+
* and so never got to refresh the session. The shell holds nothing the public
|
|
16
|
+
* static bundle does not; once it loads, the SPA sends a signed-out visitor to
|
|
17
|
+
* the login page, and every admin API it calls refreshes an expired session
|
|
18
|
+
* (or answers 401) on its own.
|
|
19
|
+
*/
|
|
20
|
+
export const ensureMasterAdminPageAccess = async (data) => {
|
|
21
|
+
const accessToken = UserMiddleware.getAccessTokenFromExpressRequest(data.req);
|
|
22
|
+
if (!accessToken) {
|
|
23
|
+
return {};
|
|
24
|
+
}
|
|
25
|
+
let authData;
|
|
26
|
+
try {
|
|
27
|
+
authData = JSONWebToken.decode(accessToken);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
// Expired or unreadable: let the app load and refresh it.
|
|
31
|
+
logger.debug(error, { service: data.service });
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
if (!authData.isMasterAdmin) {
|
|
35
|
+
Response.sendErrorResponse(data.req, data.res, new NotAuthorizedException(NOT_A_MASTER_ADMIN_MESSAGE));
|
|
36
|
+
}
|
|
37
|
+
return {};
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=MasterAdminPageAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MasterAdminPageAccess.js","sourceRoot":"","sources":["../../../../Server/Utils/MasterAdminPageAccess.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAE7D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAIlF,MAAM,CAAC,MAAM,0BAA0B,GACrC,kEAAkE,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAIZ,KAAK,EAAE,IAIlC,EAAuB,EAAE;IACxB,MAAM,WAAW,GACf,cAAc,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,QAA0B,CAAC;IAE/B,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0DAA0D;QAC1D,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,CACxB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,GAAG,EACR,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
|