18 lines
765 B
Python
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 |