diff --git a/apps/api/ww_api/routers/jobs.py b/apps/api/ww_api/routers/jobs.py index 515a481..e2f99a8 100644 --- a/apps/api/ww_api/routers/jobs.py +++ b/apps/api/ww_api/routers/jobs.py @@ -6,13 +6,11 @@ import uuid from typing import Annotated from fastapi import APIRouter, Depends -from sqlalchemy import select -from sqlalchemy.ext.asyncio import AsyncSession -from ww_db import get_session -from ww_db.models import Job +from ww_core.domain import JobRepo from ww_shared import AppError, ErrorCode, ErrorEnvelope from ww_api.schemas.jobs import JobResponse +from ww_api.services.project_deps import get_job_repo router = APIRouter(prefix="/jobs", tags=["jobs"]) @@ -23,9 +21,9 @@ router = APIRouter(prefix="/jobs", tags=["jobs"]) ) async def get_job( job_id: uuid.UUID, - session: Annotated[AsyncSession, Depends(get_session)], + job_repo: Annotated[JobRepo, Depends(get_job_repo)], ) -> JobResponse: - job = (await session.execute(select(Job).where(Job.id == job_id))).scalar_one_or_none() + job = await job_repo.get(job_id) if job is None: raise AppError(ErrorCode.NOT_FOUND, f"job {job_id} not found") return JobResponse(