From 2a1d9d70ff99bbb815c0e457cbb8525d8d47c8e7 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 12 Mar 2025 17:54:30 +0000 Subject: [PATCH] feat: Update endpoint login --- app/api/endpoints/login.py | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/app/api/endpoints/login.py b/app/api/endpoints/login.py index 6ed4dac..4941ea5 100644 --- a/app/api/endpoints/login.py +++ b/app/api/endpoints/login.py @@ -1,7 +1,31 @@ -from fastapi import APIRouter +from typing import Optional +from fastapi import APIRouter, Depends, HTTPException, status +from sqlalchemy.orm import Session +from models import User +from schemas import UserCreate +from database import get_db +from utils import hash_password router = APIRouter() -@router.post("/login") -async def login(username: str, password: str): - return {"message": "User logged in successfully", "username": username} \ No newline at end of file +@router.post("/register", response_model=UserCreate) +async def register(user: UserCreate, db: Session = Depends(get_db)): + """ + Register a new user + """ + existing_user = db.query(User).filter(User.email == user.email).first() + if existing_user: + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Email already registered") + + hashed_password = hash_password(user.password) + new_user = User( + email=user.email, + password=hashed_password, + address=user.address, + dob=user.dob, + phone_number=user.phone_number + ) + db.add(new_user) + db.commit() + db.refresh(new_user) + return new_user \ No newline at end of file