return userSubscribedAuthors

This commit is contained in:
knst-kotov 2022-05-04 16:53:23 +03:00
parent 0d67d1df95
commit 7a49da877d
2 changed files with 14 additions and 9 deletions

View File

@ -21,10 +21,18 @@ def _get_user_subscribed_topic_slugs(slug):
slugs = [row.slug for row in rows] slugs = [row.slug for row in rows]
return slugs return slugs
def _get_user_subscribed_authors(slug):
with local_session() as session:
authors = session.query(User).\
join(AuthorSubscription, User.slug == AuthorSubscription.author).\
where(AuthorSubscription.subscriber == slug)
return authors
async def get_user_info(slug): async def get_user_info(slug):
return { return {
"totalUnreadMessages" : await get_total_unread_messages_for_user(slug), "totalUnreadMessages" : await get_total_unread_messages_for_user(slug),
"userSubscribedTopics": _get_user_subscribed_topic_slugs(slug) "userSubscribedTopics" : _get_user_subscribed_topic_slugs(slug),
"userSubscribedAuthors": _get_user_subscribed_authors(slug)
} }
@query.field("getCurrentUser") @query.field("getCurrentUser")
@ -88,11 +96,7 @@ async def user_comments(_, info, slug, page, size):
@query.field("userSubscriptions") @query.field("userSubscriptions")
async def user_subscriptions(_, info, slug): async def user_subscriptions(_, info, slug):
with local_session() as session: return _get_user_subscribed_authors(slug)
users = session.query(User).\
join(AuthorSubscription, User.slug == AuthorSubscription.author).\
where(AuthorSubscription.subscriber == slug)
return users
@query.field("userSubscribers") @query.field("userSubscribers")
async def user_subscribers(_, info, slug): async def user_subscribers(_, info, slug):

View File

@ -9,6 +9,7 @@ type Result {
type CurrentUserInfo { type CurrentUserInfo {
totalUnreadMessages : Int totalUnreadMessages : Int
userSubscribedTopics : [String]! userSubscribedTopics : [String]!
userSubscribedAuthors: [User]!
} }
type AuthResult { type AuthResult {