From f08a75e1032abdddca8d88661ff0f5eb5b0740d8 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 9 Jun 2026 11:54:14 +0000 Subject: [PATCH] =?UTF-8?q?UploadedFilePostgresRepository=20returns=20late?= =?UTF-8?q?st=20uploaded=20file=20by=20deal=20ID=20and=20type=20?= =?UTF-8?q?=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .../uploaded_file_postgres_repository.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/repositories/uploaded_file/uploaded_file_postgres_repository.py b/repositories/uploaded_file/uploaded_file_postgres_repository.py index 6936e14d..9bf4a3d3 100644 --- a/repositories/uploaded_file/uploaded_file_postgres_repository.py +++ b/repositories/uploaded_file/uploaded_file_postgres_repository.py @@ -2,7 +2,8 @@ from __future__ import annotations from typing import Optional -from sqlmodel import Session +from sqlalchemy import select +from sqlmodel import Session, col from infrastructure.postgres.uploaded_file_table import FileTypeEnum, UploadedFile @@ -14,7 +15,14 @@ class UploadedFilePostgresRepository: def get_latest_by_hubspot_deal_id( self, hubspot_deal_id: str, file_type: FileTypeEnum ) -> Optional[UploadedFile]: - raise NotImplementedError + stmt = ( + select(UploadedFile) + .where(col(UploadedFile.hubspot_deal_id) == hubspot_deal_id) + .where(col(UploadedFile.file_type) == file_type.value) + .order_by(col(UploadedFile.s3_upload_timestamp).desc()) + .limit(1) + ) + return self._session.execute(stmt).scalars().one_or_none() # pyright: ignore[reportDeprecated] def insert(self, uploaded_file: UploadedFile) -> None: - raise NotImplementedError + self._session.add(uploaded_file)