diff --git a/endpoints/contact-us.post.py b/endpoints/contact-us.post.py index c016957..38e6200 100644 --- a/endpoints/contact-us.post.py +++ b/endpoints/contact-us.post.py @@ -1,15 +1,18 @@ from fastapi import APIRouter, HTTPException, status -from schemas.contact_form import ContactFormCreate, ContactFormSchema -from helpers.contact_form_helpers import create_contact_form, validate_contact_form_data +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=ContactFormSchema) -async def create_new_contact_form(contact_form_data: ContactFormCreate): +@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""" - try: - validate_contact_form_data(contact_form_data) - new_contact_form = create_contact_form(contact_form_data=contact_form_data) - return new_contact_form - except ValueError as e: - raise HTTPException(status_code=400, detail=str(e)) \ No newline at end of file + 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 \ No newline at end of file