21 lines
671 B
Python
21 lines
671 B
Python
|
|
from uuid import UUID
|
||
|
|
|
||
|
|
from fastapi import APIRouter, Depends
|
||
|
|
from sqlalchemy.orm import Session
|
||
|
|
|
||
|
|
from app.api.schemas import EvaluateIn
|
||
|
|
from app.persistence.db import get_session
|
||
|
|
from app.services.evaluation_service import evaluate_and_store, load_evaluation
|
||
|
|
|
||
|
|
router = APIRouter(prefix="/api/v1")
|
||
|
|
|
||
|
|
|
||
|
|
@router.post("/evaluate/{variant_id}", status_code=201)
|
||
|
|
def evaluate(variant_id: UUID, payload: EvaluateIn):
|
||
|
|
return evaluate_and_store(variant_id=variant_id, payload=payload.model_dump())
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/evaluations/{evaluation_id}")
|
||
|
|
def get_evaluation(evaluation_id: UUID, session: Session = Depends(get_session)):
|
||
|
|
return load_evaluation(session, evaluation_id)
|