From 3ebe9d3fb80572c2d8abcd53d7fbc8c90abc2dd9 Mon Sep 17 00:00:00 2001 From: Daniel Rosel Date: Thu, 2 Apr 2026 21:04:24 +0200 Subject: [PATCH] fix(db): resolve ambiguous foreign key relationships in join queries --- apps/backend/fastapi/app/services/publication.py | 6 +++--- apps/backend/fastapi/app/services/submissions.py | 6 +++--- apps/backend/fastapi/app/services/versions.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/backend/fastapi/app/services/publication.py b/apps/backend/fastapi/app/services/publication.py index 9fe7fa8..c90e2e9 100644 --- a/apps/backend/fastapi/app/services/publication.py +++ b/apps/backend/fastapi/app/services/publication.py @@ -24,8 +24,8 @@ async def publish_version( if submission_id: stmt = ( select(Submission) - .join(CvVersion, Submission.version_id == CvVersion.id) - .join(CvDocument, CvVersion.document_id == CvDocument.id) + .join(Submission.version) + .join(CvVersion.document) .where(Submission.id == submission_id, CvDocument.owner_id == owner_id) ) result = await session.execute(stmt) @@ -34,7 +34,7 @@ async def publish_version( elif version_id: stmt = ( select(CvVersion) - .join(CvDocument, CvVersion.document_id == CvDocument.id) + .join(CvVersion.document) .where(CvVersion.id == version_id, CvDocument.owner_id == owner_id) ) result = await session.execute(stmt) diff --git a/apps/backend/fastapi/app/services/submissions.py b/apps/backend/fastapi/app/services/submissions.py index a4fe415..fba096e 100644 --- a/apps/backend/fastapi/app/services/submissions.py +++ b/apps/backend/fastapi/app/services/submissions.py @@ -89,7 +89,7 @@ async def _get_version_for_owner( ) -> CvVersion | None: stmt = ( select(CvVersion) - .join(CvDocument) + .join(CvVersion.document) .where(CvVersion.id == version_id, CvDocument.owner_id == owner_id) ) result = await session.execute(stmt) @@ -103,8 +103,8 @@ async def _get_submission_for_owner( ) -> Submission | None: stmt = ( select(Submission) - .join(CvVersion) - .join(CvDocument) + .join(Submission.version) + .join(CvVersion.document) .where(Submission.id == submission_id, CvDocument.owner_id == owner_id) .options(selectinload(Submission.version)) ) diff --git a/apps/backend/fastapi/app/services/versions.py b/apps/backend/fastapi/app/services/versions.py index 28f9d0c..615fdbe 100644 --- a/apps/backend/fastapi/app/services/versions.py +++ b/apps/backend/fastapi/app/services/versions.py @@ -26,7 +26,7 @@ async def create_branch( ) -> CvVersion | None: stmt = ( select(CvVersion) - .join(CvDocument) + .join(CvVersion.document) .where(CvVersion.id == parent_version_id, CvDocument.owner_id == owner_id) .options(selectinload(CvVersion.patches)) )