from fastapi import APIRouter

from core.schemas import FaceEnrollRequest, FaceVerifyRequest, FaceVerifyResponse
from face.service import FaceVerificationService

router = APIRouter(prefix="/face", tags=["face"])
svc = FaceVerificationService()


@router.post("/enroll")
def enroll(req: FaceEnrollRequest) -> dict:
    return svc.enroll(req.person_id, req.image_b64)


@router.post("/verify", response_model=FaceVerifyResponse)
def verify(req: FaceVerifyRequest) -> FaceVerifyResponse:
    matched, score, provider = svc.verify(req.person_id, req.image_b64)
    return FaceVerifyResponse(person_id=req.person_id, matched=matched, score=score, provider=provider)
