test-project-856u96/endpoints/contact.post.py

25 lines
861 B
Python

from fastapi import APIRouter, Depends, status
from sqlalchemy.orm import Session
from core.database import get_db
from schemas.contact_form import ContactFormCreate
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: ContactFormCreate,
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.
"""
# Convert Pydantic model to dict for processing
form_data = contact_form.dict()
# Process the form submission using the helper function
# This will validate fields and handle database operations
result = handle_contact_form_submission(db, form_data)
return result