feat: PBAC UI — data purposes, data consumers, and query log config#7700
Draft
galvana wants to merge 6 commits intofeat/dataset-data-purposesfrom
Draft
feat: PBAC UI — data purposes, data consumers, and query log config#7700galvana wants to merge 6 commits intofeat/dataset-data-purposesfrom
galvana wants to merge 6 commits intofeat/dataset-data-purposesfrom
Conversation
Add admin UI for managing purpose-based access control (PBAC) entities: Data purposes & data consumers management pages: - List pages with Ant Table, search, pagination under Core Configuration - Add/edit pages using Ant Design v5 Form (Form.useForm, Form.Item) - Data purpose form mirrors privacy declaration fields (data use, categories, subjects, legal basis, retention, special category, features) - Data consumer form includes purpose assignment via multi-select - Delete confirmation modals with scope-based access control - RTK Query slices with cache invalidation (DataPurpose, DataConsumer tags) - Nav registration gated behind alphaPurposeBasedAccessControl flag Query log config integration tab: - Settings toggle panel on integration detail page (not CRUD table) - Enable/disable switch with poll interval selector - Inline Test connection and Poll now action buttons - RTK Query slice for query log config CRUD + test + poll endpoints - Tab registered for BigQuery and test_datastore (mock) integration types - test_datastore connections always pass connection test (no secrets needed) Infrastructure: - 12 new OAuth scope enums (DATA_PURPOSE_*, DATA_CONSUMER_*, QUERY_LOG_SOURCE_*) - 3 new cache tags (DataPurpose, DataConsumer, QueryLogConfig) - IntegrationFeature.QUERY_LOGGING enum value - test_datastore integration type info with QUERY_LOGGING feature - Connection test always succeeds for test_datastore/test_website types Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
Adds a new "Seed Data" page under the Developer nav (dev-only) that lets users select and trigger seed scenarios via the seed API. Includes RTK Query slice with status polling and cache tag invalidation mapped per seed task. Currently supports the PBAC scenario. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Toggling the query log switch off now sends PUT {enabled: false}
instead of DELETE, preserving the config and its watermark so
re-enabling resumes from where it left off.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The form was requesting size=500 but the API enforces max 100, causing a validation error and an empty dropdown. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket [ENG-XXXX]
Description Of Changes
Add the admin UI for managing purpose-based access control (PBAC) entities. Three feature areas:
Data purposes management (
/data-purposes)Data consumers management (
/data-consumers)Query log config (integration detail tab)
All pages gated behind
alphaPurposeBasedAccessControlfeature flag andrequiresPlus.Code Changes
features/data-purposes/— 8 files: RTK slice, table, form, delete modal, actions cell, constants, barrelfeatures/data-consumers/— 8 files: RTK slice, table, form, delete modal, actions cell, constants, barrelfeatures/integrations/configure-query-log/— 6 files: RTK slice, tab, table hook, modal, actions cell, constantspages/data-purposes/— 3 pages: list, add, editpages/data-consumers/— 3 pages: list, add, editfeatures/common/nav/routes.ts— 8 new route constantsfeatures/common/nav/nav-config.tsx— 2 nav items under Core Configurationfeatures/common/api.slice.ts— 3 cache tagstypes/api/models/ScopeRegistryEnum.ts— 12 scope enumstypes/api/models/IntegrationFeature.ts— QUERY_LOGGING enumfeatures/integrations/add-integration/allIntegrationTypes.tsx— test_datastore type infofeatures/integrations/integration-type-info/bigqueryInfo.tsx— QUERY_LOGGING featurefeatures/integrations/hooks/useFeatureBasedTabs.tsx— Query logging tabsrc/fides/service/connection/connection_service.py— test types always pass connection testSteps to Confirm
nox -s "dev(slim)" -- fides-pkg fides-admin-uialphaPurposeBasedAccessControlfeature flagcd clients/admin-ui && npm run lint && npm run typecheckPre-Merge Checklist
nox -s dev -- demoCHANGELOG.md