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)