from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from typing import Dict, Any from core.database import get_db from helpers.contact_form_helpers import handle_contact_form_submission router = APIRouter() @router.post("/contact", status_code=status.HTTP_201_CREATED) async def submit_contact_form( contact_form: Dict[str, Any], db: Session = Depends(get_db) ): """ Submit a contact form with name, email, and message. All fields are required and email must be in valid format. """ try: result = handle_contact_form_submission(db=db, form_data=contact_form) return result except HTTPException: # Re-raise any HTTPExceptions from the helper function raise except Exception as e: raise HTTPException( status_code=500, detail=f"An unexpected error occurred: {str(e)}" )