From abc44b43e7e21ed6bd72b23224895824897ec7b1 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Mon, 28 Apr 2025 13:32:17 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20add=20contact=20form=20submission=20end?= =?UTF-8?q?point=20with=20field=20validation=20=E2=9C=85=20(auto-linted)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- endpoints/email.post.py | 17 ++++++++--------- helpers/contact_form_helpers.py | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) 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.