from fastapi import APIRouter, Depends from pydantic.networks import EmailStr import httpx from pydantic import BaseModel import re 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): text = data.text cleaned_text = text.strip().replace("\n", "") cleaned_text = re.sub(r'[\x00-\x1F]', '', cleaned_text) async with httpx.AsyncClient() as client: response = await client.post( "http://120.76.41.122:3000/classify", json={"text": f"{cleaned_text}"} ) result = response.json() return fast_json_response(data=result)