from fastapi import APIRouter from pydantic import BaseModel from app.helpers.extract_latest_message import extract_latest_message from app.helpers.clean_email_html import clean_email_html from app.helpers.remove_disclaimer import remove_disclaimer from app.helpers.send_classify_request import send_classify_request from app.models import EmailData class ClassifyRequest(BaseModel): email_data: EmailData router = APIRouter() @router.post("/classify") async def classify_route(request: ClassifyRequest): email = request.email_data clean_email = email.copy() clean_email.subject = email.subject clean_email.body = extract_latest_message(clean_email.body) clean_email.body = clean_email_html(clean_email.body) clean_email.body = remove_disclaimer(clean_email.body) response = await send_classify_request(clean_email) return response