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 logging = True class ClassifyRequest(BaseModel): email_data: EmailData router = APIRouter() @router.post("/classify") async def classify_route(request: ClassifyRequest): if logging: print("Payload Recieved:") print(request.email_data) print("\n\n-----") 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) if logging: print("Cleaned Payload:") print(clean_email) print("\n\n-----") response = await send_classify_request(clean_email) return response