From fdfd5b54f8090378842026383d2a87ae1390458f Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Mon, 29 Jun 2026 14:00:08 +0530 Subject: [PATCH] feat: Added get_by_id and update in job repository --- app/repositories/job_repository.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/repositories/job_repository.py b/app/repositories/job_repository.py index 3f5e135..64baf9f 100644 --- a/app/repositories/job_repository.py +++ b/app/repositories/job_repository.py @@ -14,6 +14,10 @@ class JobRepository: await self.db.flush() return job + async def get_by_id(self, job_id: str) -> Optional[Job]: + query = select(Job).where(Job.id == job_id) + result = await self.db.execute(query) + return result.scalar_one_or_none() async def list_all(self, status: Optional[str] = None) -> List[Job]: query = select(Job) @@ -23,3 +27,9 @@ class JobRepository: result = await self.db.execute(query) return list(result.scalars().all()) + async def update(self, job: Job, **kwargs) -> Job: + for key, value in kwargs.items(): + if hasattr(job, key): + setattr(job, key, value) + await self.db.flush() + return job