From 84b088ce58a86bd8200e0c093294a1c35f3959ee Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Fri, 28 Mar 2025 19:07:49 +0000 Subject: [PATCH] Update code in endpoints/login.post.py --- endpoints/login.post.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/endpoints/login.post.py b/endpoints/login.post.py index cedeb81..8b32c50 100644 --- a/endpoints/login.post.py +++ b/endpoints/login.post.py @@ -2,20 +2,29 @@ from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from core.database import get_db from models.user import User -from schemas.user import UserLoginSchema, UserResponse -from helpers.auth_helpers import validate_user_credentials +from schemas.user import UserLogin, UserResponse +from helpers.auth_helpers import authenticate_user +from helpers.token_helpers import create_access_token router = APIRouter() @router.post("/login", status_code=200, response_model=UserResponse) async def login( - credentials: UserLoginSchema, + login_data: UserLogin, db: Session = Depends(get_db) ): - user = validate_user_credentials(db, credentials.userId, credentials.password) + user = authenticate_user(db, login_data.userid, login_data.password) if not user: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, - detail="Invalid credentials" + detail="Incorrect username or password", + headers={"WWW-Authenticate": "Bearer"}, ) - return user \ No newline at end of file + + access_token = create_access_token(data={"sub": user.userid}) + + return { + "access_token": access_token, + "token_type": "bearer", + "userid": user.userid + } \ No newline at end of file