From 7cacc2803d5f185f449a7846c25acc4f7dc96407 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Mon, 28 Apr 2025 11:21:05 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Add=20new=20endpoints/form.?= =?UTF-8?q?post.py=20endpoint=20for=20Contact=5Fform=20=F0=9F=9A=80=20?= =?UTF-8?q?=E2=9C=85=20(auto-linted)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- endpoints/form.post.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/endpoints/form.post.py b/endpoints/form.post.py index e69de29..44941f7 100644 --- a/endpoints/form.post.py +++ b/endpoints/form.post.py @@ -0,0 +1,25 @@ +from fastapi import APIRouter, HTTPException, status +from schemas.contact_form import ContactFormCreate +from helpers.contact_form_helpers import create_contact_form, validate_email +from sqlalchemy.orm import Session +from fastapi import Depends +from core.database import get_db + +router = APIRouter() + +@router.post("/form", status_code=status.HTTP_201_CREATED) +async def create_contact_form_endpoint( + contact_form_data: ContactFormCreate, + db: Session = Depends(get_db) +): + if not contact_form_data.name: + raise HTTPException(status_code=400, detail="Name is required") + if not contact_form_data.email: + raise HTTPException(status_code=400, detail="Email is required") + if not validate_email(contact_form_data.email): + raise HTTPException(status_code=400, detail="Invalid email format") + if not contact_form_data.message: + raise HTTPException(status_code=400, detail="Message is required") + + new_contact_form = create_contact_form(db=db, contact_form_data=contact_form_data) + return new_contact_form \ No newline at end of file