return subscribed communities in user info
This commit is contained in:
parent
7fd0b7e643
commit
f92beaaeeb
|
@ -86,3 +86,12 @@ def community_unsubscribe(user, slug):
|
||||||
raise Exception("subscription not exist")
|
raise Exception("subscription not exist")
|
||||||
session.delete(sub)
|
session.delete(sub)
|
||||||
session.commit()
|
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
|
||||||
|
|
|
@ -5,7 +5,7 @@ from orm.base import local_session
|
||||||
from orm.topic import Topic, TopicSubscription
|
from orm.topic import Topic, TopicSubscription
|
||||||
from resolvers.base import mutation, query, subscription
|
from resolvers.base import mutation, query, subscription
|
||||||
from resolvers.topics import topic_subscribe, topic_unsubscribe
|
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 auth.authenticate import login_required
|
||||||
|
|
||||||
from inbox_resolvers.inbox import get_total_unread_messages_for_user
|
from inbox_resolvers.inbox import get_total_unread_messages_for_user
|
||||||
|
@ -34,7 +34,8 @@ 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)
|
"userSubscribedAuthors" : _get_user_subscribed_authors(slug),
|
||||||
|
"userSubscribedCommunities": get_subscribed_communities(slug)
|
||||||
}
|
}
|
||||||
|
|
||||||
@query.field("getCurrentUser")
|
@query.field("getCurrentUser")
|
||||||
|
|
|
@ -9,7 +9,8 @@ type Result {
|
||||||
type CurrentUserInfo {
|
type CurrentUserInfo {
|
||||||
totalUnreadMessages : Int
|
totalUnreadMessages : Int
|
||||||
userSubscribedTopics : [String]!
|
userSubscribedTopics : [String]!
|
||||||
userSubscribedAuthors: [User]!
|
userSubscribedAuthors : [User]!
|
||||||
|
userSubscribedCommunities : [String]!
|
||||||
}
|
}
|
||||||
|
|
||||||
type AuthResult {
|
type AuthResult {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user