diff --git a/endpoints/email.post.py b/endpoints/email.post.py index 5ee0eb8..2f3334d 100644 --- a/endpoints/email.post.py +++ b/endpoints/email.post.py @@ -2,7 +2,7 @@ from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from core.database import get_db from schemas.contact_form import ContactFormCreate -from helpers.contact_form import create_contact_form, validate_contact_form_data +from helpers.contact_form_helpers import create_contact_form, validate_contact_form_data router = APIRouter() @@ -12,28 +12,27 @@ async def submit_contact_form( db: Session = Depends(get_db) ): """ - Submit a contact form with name, email, and message fields. + Submit a contact form with name, email, and message. All fields are required and email must be in valid format. """ # Validate the contact form data - validation_errors = validate_contact_form_data({ + errors = validate_contact_form_data({ "name": contact_form.name, "email": contact_form.email, "message": contact_form.message }) # If there are validation errors, return 400 with error details - if validation_errors: + if errors: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, - detail=validation_errors + detail=errors ) - # Create the contact form in the database - created_form = create_contact_form(db=db, contact_form_data=contact_form) + # Create the contact form entry in the database + create_contact_form(db=db, contact_form_data=contact_form) return { "status": "success", - "message": "Contact form submitted successfully", - "id": created_form.id + "message": "Contact form submitted successfully" } \ No newline at end of file diff --git a/helpers/contact_form_helpers.py b/helpers/contact_form_helpers.py index 4342e73..673c6b2 100644 --- a/helpers/contact_form_helpers.py +++ b/helpers/contact_form_helpers.py @@ -34,8 +34,8 @@ def create_contact_form(db: Session, contact_form_data: ContactFormCreate) -> Co def validate_contact_form_data(data: Dict[str, Any]) -> Dict[str, str]: """ - Validates contact form data manually, checking for required fields and valid email format. - Uses email_validator package for email validation. + Validates contact form data, checking for required fields and using + email_validator package for email validation. Args: data (Dict[str, Any]): The contact form data to validate.