diff --git a/auth/identity.py b/auth/identity.py index b1a79e88..151e5806 100644 --- a/auth/identity.py +++ b/auth/identity.py @@ -9,12 +9,8 @@ from sqlalchemy import or_ class Identity: @staticmethod - def identity(user_id: int, password: str) -> User: - with local_session() as session: - user = session.query(OrmUser).filter_by(id=user_id).first() - if not user: - raise ObjectNotExist("User does not exist") - user = User(**user.dict()) + def identity(orm_user: OrmUser, password: str) -> User: + user = User(**orm_user.dict()) if user.password is None: raise InvalidPassword("Wrong user password") if not Password.verify(password, user.password): diff --git a/resolvers/auth.py b/resolvers/auth.py index dd38b54d..de064704 100644 --- a/resolvers/auth.py +++ b/resolvers/auth.py @@ -66,12 +66,12 @@ async def login(_, info: GraphQLResolveInfo, email: str, password: str = ""): auto_delete = False if device == "mobile" else True # why autodelete with mobile? try: - user = Identity.identity(user_id=orm_user.id, password=password) + user = Identity.identity(orm_user, password) except InvalidPassword: return {"error" : "invalid password"} token = await Authorize.authorize(user, device=device, auto_delete=auto_delete) - return {"token" : token, "user": user} + return {"token" : token, "user": orm_user} @query.field("signOut")