return user info in signIn

This commit is contained in:
knst-kotov
2022-05-03 15:55:29 +03:00
parent d7cbe150d6
commit 0d67d1df95
3 changed files with 21 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ from auth.email import send_confirm_email, send_auth_email, send_reset_password_
from orm import User, UserStorage, Role, UserRole
from orm.base import local_session
from resolvers.base import mutation, query
from resolvers.profile import get_user_info
from exceptions import InvalidPassword, InvalidToken
from settings import JWT_AUTH_HEADER
@@ -108,7 +109,12 @@ async def login(_, info: GraphQLResolveInfo, email: str, password: str = ""):
token = await Authorize.authorize(user, device=device, auto_delete=auto_delete)
print(f"signIn {email}: OK")
return {"token" : token, "user": orm_user}
return {
"token" : token,
"user": orm_user,
"info": await get_user_info(orm_user.slug)
}
@query.field("signOut")

View File

@@ -21,15 +21,19 @@ def _get_user_subscribed_topic_slugs(slug):
slugs = [row.slug for row in rows]
return slugs
async def get_user_info(slug):
return {
"totalUnreadMessages" : await get_total_unread_messages_for_user(slug),
"userSubscribedTopics": _get_user_subscribed_topic_slugs(slug)
}
@query.field("getCurrentUser")
@login_required
async def get_current_user(_, info):
user = info.context["request"].user
total_unread_messages = await get_total_unread_messages_for_user(user.slug)
return {
"user": user,
"totalUnreadMessages": total_unread_messages,
"userSubscribedTopics": _get_user_subscribed_topic_slugs(user.slug)
"info": await get_user_info(user.slug)
}
@query.field("getUsersBySlugs")