return userSubscribedTopics in current user info

This commit is contained in:
knst-kotov 2022-04-27 16:32:14 +03:00
parent fb3f1b5d34
commit cca6f8cec3
2 changed files with 11 additions and 6 deletions

View File

@ -12,6 +12,13 @@ from sqlalchemy import func, and_, desc
from sqlalchemy.orm import selectinload
import asyncio
def _get_user_subscribed_topics(slug):
with local_session() as session:
topics = session.query(Topic).\
join(TopicSubscription).\
where(TopicSubscription.subscriber == slug)
return topics
@query.field("getCurrentUser")
@login_required
async def get_current_user(_, info):
@ -19,7 +26,8 @@ async def get_current_user(_, info):
total_unread_messages = await get_total_unread_messages_for_user(user.slug)
return {
"user": user,
"totalUnreadMessages": total_unread_messages
"totalUnreadMessages": total_unread_messages,
"userSubscribedTopics": _get_user_subscribed_topics(user.slug)
}
@query.field("getUsersBySlugs")
@ -90,11 +98,7 @@ async def user_subscribers(_, info, slug):
@query.field("userSubscribedTopics")
async def user_subscribed_topics(_, info, slug):
with local_session() as session:
topics = session.query(Topic).\
join(TopicSubscription).\
where(TopicSubscription.subscriber == slug)
return topics
return _get_user_subscribed_topics(slug)
@mutation.field("rateUser")
@login_required

View File

@ -16,6 +16,7 @@ type UserResult {
error: String
user: User
totalUnreadMessages: Int
userSubscribedTopics: [Topic]!
}
input ShoutInput {