feat: consolidate database management work
Add catalog-owned logical relationships and runtime snapshots, extend the database-management UI and validation coverage, and document the updated operational workflow. Keep active sensitive-generation status in a tooltip and indicator, and update the layout E2E to follow the history action in its new database-scoped location.
This commit is contained in:
@@ -152,6 +152,15 @@ test.each([
|
||||
["sensitive_data_suggestion_history_request_invalid", "Sensitive suggestion history parameters are invalid."],
|
||||
["sensitive_data_suggestion_history_failed", "Sensitive suggestion history could not be loaded."],
|
||||
["sensitive_data_suggestion_run_not_found", "The sensitive suggestion run was not found."],
|
||||
["relationship_not_found", "The relationship no longer exists. Refresh and try again."],
|
||||
["relationship_duplicate", "This relationship already exists."],
|
||||
["relationship_target_not_unique", "The target column must be the only primary-key column of its table."],
|
||||
["relationship_type_incompatible", "Source and target column types are not compatible."],
|
||||
["relationship_read_only", "Physical relationships are read-only."],
|
||||
["relationship_request_invalid", "The relationship request is invalid."],
|
||||
["relationship_operation_failed", "The relationship operation failed."],
|
||||
["relationship_schema_stale", "Synchronize the current database schema before managing logical relationships."],
|
||||
["column_not_found", "The selected catalog column was not found. Refresh and try again."],
|
||||
])("maps the catalog error code %s to safe local copy", async (code, message) => {
|
||||
const fetchSpy = vi.spyOn(globalThis, "fetch").mockResolvedValue(
|
||||
new Response(JSON.stringify({ code, message: "provider detail must not be trusted" }), {
|
||||
|
||||
Reference in New Issue
Block a user