from fastapi import APIRouter, Depends from pydantic.networks import EmailStr import httpx from pydantic import BaseModel from app.api.deps import get_current_active_superuser from app.models import Message from app.utils import generate_test_email, send_email, fast_json_response router = APIRouter(prefix="/utils", tags=["utils"]) @router.post( "/test-email/", dependencies=[Depends(get_current_active_superuser)], status_code=201, ) def test_email(email_to: EmailStr) -> Message: """ Test emails. """ email_data = generate_test_email(email_to=email_to) send_email( email_to=email_to, subject=email_data.subject, html_content=email_data.html_content, ) return Message(message="Test email sent") @router.get("/health-check/") async def health_check() -> bool: return True class ClassifyRequest(BaseModel): text: str @router.post("/bentoml_classifiy") async def bentoml_classifiy(data: ClassifyRequest): async with httpx.AsyncClient() as client: response = await client.post( "http://120.76.41.122:3000/classify", json={"text": f"{data.text}"} ) result = response.json() return fast_json_response(data=result)