return subscribed communities in user info

This commit is contained in:
knst-kotov 2022-06-12 11:45:08 +03:00
parent 7fd0b7e643
commit f92beaaeeb
3 changed files with 18 additions and 7 deletions

View File

@ -86,3 +86,12 @@ def community_unsubscribe(user, slug):
raise Exception("subscription not exist")
session.delete(sub)
session.commit()
def get_subscribed_communities(user_slug):
with local_session() as session:
rows = session.query(Community.slug).\
join(CommunitySubscription).\
where(CommunitySubscription.subscriber == user_slug).\
all()
slugs = [row.slug for row in rows]
return slugs

View File

@ -5,7 +5,7 @@ from orm.base import local_session
from orm.topic import Topic, TopicSubscription
from resolvers.base import mutation, query, subscription
from resolvers.topics import topic_subscribe, topic_unsubscribe
from resolvers.community import community_subscribe, community_unsubscribe
from resolvers.community import community_subscribe, community_unsubscribe, get_subscribed_communities
from auth.authenticate import login_required
from inbox_resolvers.inbox import get_total_unread_messages_for_user
@ -34,7 +34,8 @@ async def get_user_info(slug):
return {
"totalUnreadMessages" : await get_total_unread_messages_for_user(slug),
"userSubscribedTopics" : _get_user_subscribed_topic_slugs(slug),
"userSubscribedAuthors": _get_user_subscribed_authors(slug)
"userSubscribedAuthors" : _get_user_subscribed_authors(slug),
"userSubscribedCommunities": get_subscribed_communities(slug)
}
@query.field("getCurrentUser")

View File

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