Sejal1908/email-classification-api
0
1from flask import Blueprint, jsonify, request2 3from models import classify_email_category, classify_email_model4from utils import mask_pii_entities5 6# This name must match what app.py imports7classify_email_route = Blueprint("classify_email", __name__)8 9 10@classify_email_route.route("/classify_email", methods=["POST"])11def classify_email():12 data = request.get_json() or {}13 email_body = data.get("email")14 15 if not isinstance(email_body, str) or not email_body.strip():16 return jsonify({"error": "Missing or invalid 'email' field"}), 40017 18 # 1. Mask PII19 masked = mask_pii_entities(email_body)20 21 # 2. Classify (ML model with fallback)22 category = classify_email_model(masked["masked_email"])23 # (classify_email_model returns fallback if model not found)24 25 # 3. Build response26 return (27 jsonify(28 {29 "input_email_body": email_body,30 "list_of_masked_entities": masked["masked_entities"],31 "masked_email": masked["masked_email"],32 "category_of_the_email": category,33 }34 ),35 200,36 )