From 51cb7eff127971d1f48cb797d01c0ff8647c86c4 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue, 14 Apr 2026 09:00:25 -0700 Subject: [PATCH] feat: update DocumentVersionInfo and Document interfaces for DocumentVersion API - Add version_number field to DocumentVersionInfo interface - Remove root_document field from Document interface (field removed from backend model) Co-Authored-By: Claude Sonnet 4.6 --- src-ui/src/app/data/document.ts | 2 +- src/documents/tests/factories.py | 4 +--- src/documents/versioning.py | 19 ------------------- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/src-ui/src/app/data/document.ts b/src-ui/src/app/data/document.ts index d33b64248..924d639f5 100644 --- a/src-ui/src/app/data/document.ts +++ b/src-ui/src/app/data/document.ts @@ -162,7 +162,6 @@ export interface Document extends ObjectWithPermissions { duplicate_documents?: Document[] // Versioning - root_document?: number versions?: DocumentVersionInfo[] // Frontend only @@ -171,6 +170,7 @@ export interface Document extends ObjectWithPermissions { export interface DocumentVersionInfo { id: number + version_number: number added?: Date version_label?: string checksum?: string diff --git a/src/documents/tests/factories.py b/src/documents/tests/factories.py index af57dd0c7..e7db8996d 100644 --- a/src/documents/tests/factories.py +++ b/src/documents/tests/factories.py @@ -70,10 +70,8 @@ class DocumentFactory(DjangoModelFactory): @factory.post_generation def with_version(self, create, extracted, **kwargs): """Create an initial DocumentVersion(version_number=1) matching the Document's fields.""" - if not create: + if not create or not extracted: return - from documents.models import DocumentVersion - DocumentVersion.objects.create( document=self, version_number=1, diff --git a/src/documents/versioning.py b/src/documents/versioning.py index ef7a66aa3..efd73cb2a 100644 --- a/src/documents/versioning.py +++ b/src/documents/versioning.py @@ -41,25 +41,6 @@ def get_version_by_pk(doc: Document, version_pk: int) -> DocumentVersion | None: return DocumentVersion.objects.filter(pk=version_pk, document=doc).first() -def get_root_document(doc: Document) -> Document: - """Return the root document. - - In the new model, every Document IS the root. This is a compatibility stub - used by bulk_edit.py; Task 10 will refactor the callers. - """ - return doc - - -def get_latest_version_for_root(doc: Document) -> Document: - """Return the document to use as the version source. - - In the new model, DocumentVersion holds per-version files. This stub - returns the document itself so that bulk_edit callers that have not yet - been updated to the new model do not crash. Task 10 will replace this. - """ - return doc - - def resolve_requested_version( doc: Document, request: Any,