This commit is contained in:
2026-03-12 12:32:29 +08:00
parent c0f9ddabbf
commit 470446fa6f
18 changed files with 591 additions and 142 deletions

View File

@@ -2,10 +2,12 @@ from uuid import UUID
from datetime import datetime, timezone
from fastapi import APIRouter, Depends, Query, HTTPException
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import selectinload
from app.core.database import get_db
from app.models.assessment import ConfidenceLevel
from app.models.assessment import FraudAssessment, ConfidenceLevel
from app.repositories.assessment_repo import AssessmentRepository
from app.schemas.assessment import (
AssessmentOut,
@@ -46,6 +48,14 @@ async def review_assessment(
"reviewed_by": body.reviewed_by,
"reviewed_at": datetime.now(timezone.utc),
})
# eager-load the transaction relationship to avoid lazy-load in async context
result = await db.execute(
select(FraudAssessment)
.options(selectinload(FraudAssessment.transaction))
.where(FraudAssessment.id == assessment_id)
)
assessment = result.scalar_one()
return assessment