Login change return dictionary. Added user login, name, surname.

This commit is contained in:
2021-07-26 17:31:56 +09:00
parent c8d4676764
commit 0fab3270d3
2 changed files with 11 additions and 4 deletions

View File

@ -35,7 +35,10 @@ class User(UserBase):
class Token(BaseModel): class Token(BaseModel):
access_token: str access_token: str
token_type: str token_type: str
login: Optional[str] = None
name: Optional[str] = None
surname: Optional[str] = None
class TokenData(BaseModel): class TokenData(BaseModel):
email: Optional[str] = None login: Optional[str] = None

View File

@ -2,6 +2,7 @@ from fastapi import APIRouter, Depends, status, HTTPException
from fastapi.security import OAuth2PasswordRequestForm from fastapi.security import OAuth2PasswordRequestForm
from auth import token from auth import token
from auth.login.models import login as models from auth.login.models import login as models
from auth.login.repository import login
from databases.pgsql import database from databases.pgsql import database
from auth.hashing import Hash from auth.hashing import Hash
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
@ -11,8 +12,11 @@ router = APIRouter(tags=['Authentication'])
@router.post('/login') @router.post('/login')
def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(database.get_db)): def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(database.get_db)):
user = db.query(models.User).filter(
models.User.email == request.username).first() user_list = [login.get_user_by_email(db, request.username),
login.get_user_by_login(db, request.username),
login.get_user_by_phone(db, request.username)]
user = next((user for user in user_list if user is not None), None)
if not user: if not user:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
detail=f"Invalid Credentials") detail=f"Invalid Credentials")
@ -21,4 +25,4 @@ def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(
detail=f"Incorrect password") detail=f"Incorrect password")
access_token = token.create_access_token(data={"sub": user.email}) access_token = token.create_access_token(data={"sub": user.email})
return {"access_token": access_token, "token_type": "bearer", "login": user.login,"name": user.name, "surname": user.surname} return {"access_token": access_token, "token_type": "bearer", "login": user.login, "name": user.name, "surname": user.surname}