From 9a418a771103f9ee72520a5b7d3cd5f0ff7823a6 Mon Sep 17 00:00:00 2001 From: Sacha Al Himdani Date: Tue, 31 Mar 2026 19:57:52 +0200 Subject: [PATCH] Move document type from document to document version Follow the same pattern used for classification: document type now lives exclusively on DocumentVersion. A migration copies existing values from documents to their versions. The document filter uses a subquery on the latest version. All three API surfaces (GraphQL, MCP, CLI), resolvers, frontend, and e2e tests are updated accordingly. Signed-off-by: Sacha Al Himdani --- .../documents/LinkedDocumentsCard.tsx | 4 +- .../documents/LinkedDocumentsDialog.tsx | 10 +- .../CompliancePageAccessEditDialog.tsx | 125 +++++++--- .../CompliancePageDocumentListItem.tsx | 7 +- .../_components/DocumentLayoutDrawer.tsx | 53 +++-- .../_components/DocumentListItem.tsx | 4 +- .../_components/ApprovableDocumentRow.tsx | 4 +- .../employee/_components/DocumentRow.tsx | 4 +- apps/trust/src/pages/OverviewPage.tsx | 2 +- e2e/console/document_test.go | 94 +++----- .../coredata/src/TrustCenterDocumentAccess.ts | 25 -- packages/coredata/src/index.ts | 1 - packages/helpers/src/index.ts | 1 - .../helpers/src/trustCenterDocumentAccess.ts | 45 +--- pkg/coredata/document.go | 223 +++++++++++------- pkg/coredata/document_filter.go | 8 +- pkg/coredata/document_order_field.go | 25 +- pkg/coredata/document_version.go | 11 + pkg/coredata/migrations/20260331T120000Z.sql | 12 + pkg/probo/document_approval_service.go | 2 +- pkg/probo/document_service.go | 18 +- pkg/server/api/console/v1/schema.graphql | 6 +- pkg/server/api/console/v1/types/document.go | 1 - .../api/console/v1/types/document_version.go | 1 + .../api/console/v1/types/employee_document.go | 1 + pkg/server/api/console/v1/v1_resolver.go | 5 +- pkg/server/api/mcp/v1/schema.resolvers.go | 2 +- pkg/server/api/mcp/v1/specification.yaml | 14 +- pkg/server/api/mcp/v1/types/document.go | 2 +- 29 files changed, 396 insertions(+), 314 deletions(-) create mode 100644 pkg/coredata/migrations/20260331T120000Z.sql diff --git a/apps/console/src/components/documents/LinkedDocumentsCard.tsx b/apps/console/src/components/documents/LinkedDocumentsCard.tsx index 8bca9219f..d70fc67c1 100644 --- a/apps/console/src/components/documents/LinkedDocumentsCard.tsx +++ b/apps/console/src/components/documents/LinkedDocumentsCard.tsx @@ -44,11 +44,11 @@ const linkedDocumentFragment = graphql` fragment LinkedDocumentsCardFragment on Document { id title - documentType versions(first: 1) { edges { node { id + documentType status } } @@ -221,7 +221,7 @@ function DocumentRow(props: { - + diff --git a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx index 64885b85e..ccb18a912 100644 --- a/apps/console/src/components/documents/LinkedDocumentsDialog.tsx +++ b/apps/console/src/components/documents/LinkedDocumentsDialog.tsx @@ -72,7 +72,13 @@ const documentsFragment = graphql` node { id title - documentType + versions(first: 1, orderBy: { field: CREATED_AT, direction: DESC }) { + edges { + node { + documentType + } + } + } } } } @@ -187,7 +193,7 @@ function DocumentRow(props: RowProps) { onClick={() => onClick(props.document.id)} > {props.document.title} - +