backend-dy8zux/endpoints/contact-us.post.py

18 lines
765 B
Python

from fastapi import APIRouter, HTTPException, status
from typing import Any, Dict
from helpers.contact_form_helpers import validate_contact_form_data, create_contact_form
router = APIRouter()
@router.post("/contact-us", status_code=status.HTTP_201_CREATED, response_model=Dict[str, Any])
async def create_new_contact_form(contact_form_data: Dict[str, Any]):
"""Create a new contact form"""
is_valid, error_message = validate_contact_form_data(contact_form_data)
if not is_valid:
raise HTTPException(status_code=400, detail=error_message)
new_contact_form = create_contact_form(contact_form_data)
if not new_contact_form:
raise HTTPException(status_code=500, detail="Failed to create contact form")
return new_contact_form