From c78ebb4f4bfbe309d9da3f5934857801034dc9c7 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 26 Mar 2025 19:26:52 +0000 Subject: [PATCH] Add POST endpoint for /login --- endpoints/login.post.py | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/endpoints/login.post.py b/endpoints/login.post.py index 2a506b8..7a87f7f 100644 --- a/endpoints/login.post.py +++ b/endpoints/login.post.py @@ -2,33 +2,23 @@ ```python from fastapi import APIRouter, Depends, HTTPException, status -from fastapi.security import OAuth2PasswordRequestForm from sqlalchemy.orm import Session from core.database import get_db -from core.security import verify_password, create_access_token -from models.user import User -from schemas.user import UserLogin, TokenResponse +from core.models.user import User +from core.schemas.user import UserLogin, UserResponse router = APIRouter() -@router.post("/login", response_model=TokenResponse) +@router.post("/login", status_code=200, response_model=UserResponse) async def login( - form_data: OAuth2PasswordRequestForm = Depends(), + login_data: UserLogin, db: Session = Depends(get_db) ): - user = db.query(User).filter(User.email == form_data.username).first() - - if not user or not verify_password(form_data.password, user.hashed_password): + user = db.query(User).filter(User.email == login_data.email).first() + if not user or not user.verify_password(login_data.password): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, - detail="Incorrect email or password", - headers={"WWW-Authenticate": "Bearer"}, + detail="Incorrect email or password" ) - - access_token = create_access_token(data={"sub": user.email}) - - return { - "access_token": access_token, - "token_type": "bearer" - } + return user ``` \ No newline at end of file