Move document title ownership from document to version

Title is now owned by document_versions, following the same pattern as
classification and document_type. The documents.title column is made
nullable with a TODO to drop it. Backend loads title from a
latest_versions CTE for ordering purposes only. The frontend resolves
title from the latest version, and DocumentTitleForm now operates on
DocumentVersion using UpdateDocumentVersion mutation.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2026-04-07 18:45:46 +02:00
parent ba386d188b
commit b63f043849
20 changed files with 329 additions and 333 deletions

View File

@@ -2119,7 +2119,6 @@ func (r *Resolver) UpdateDocumentTool(ctx context.Context, req *mcp.CallToolRequ
ctx,
probo.UpdateDocumentRequest{
DocumentID: input.ID,
Title: input.Title,
TrustCenterVisibility: input.TrustCenterVisibility,
DefaultApproverIDs: defaultApproverIDs,
},
@@ -2224,6 +2223,7 @@ func (r *Resolver) UpdateDocumentVersionTool(ctx context.Context, req *mcp.CallT
ctx,
probo.UpdateDocumentVersionRequest{
ID: input.DocumentVersionID,
Title: input.Title,
Content: content,
Classification: input.Classification,
DocumentType: input.DocumentType,

View File

@@ -5243,7 +5243,6 @@ components:
required:
- id
- organization_id
- title
- trust_center_visibility
- status
- created_at
@@ -5255,9 +5254,6 @@ components:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
title:
type: string
description: Document title
current_published_major:
type:
- integer
@@ -5522,9 +5518,6 @@ components:
id:
$ref: "#/components/schemas/GID"
description: Document ID
title:
type: string
description: Document title
trust_center_visibility:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
@@ -5655,6 +5648,9 @@ components:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
title:
type: string
description: Document version title
content:
type: string
description: Document content in markdown format

View File

@@ -45,7 +45,6 @@ func NewDocument(d *coredata.Document) *Document {
return &Document{
ID: d.ID,
OrganizationID: d.OrganizationID,
Title: d.Title,
CurrentPublishedMajor: d.CurrentPublishedMajor,
CurrentPublishedMinor: d.CurrentPublishedMinor,
TrustCenterVisibility: d.TrustCenterVisibility,