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):
access_token: str
token_type: str
login: Optional[str] = None
name: Optional[str] = None
surname: Optional[str] = None
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 auth import token
from auth.login.models import login as models
from auth.login.repository import login
from databases.pgsql import database
from auth.hashing import Hash
from sqlalchemy.orm import Session
@ -11,8 +12,11 @@ router = APIRouter(tags=['Authentication'])
@router.post('/login')
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:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
detail=f"Invalid Credentials")
@ -21,4 +25,4 @@ def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(
detail=f"Incorrect password")
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}