add userSubscribedTopics

This commit is contained in:
knst-kotov 2022-02-22 12:55:02 +03:00
parent 411470e5ef
commit 30f965e6e9
2 changed files with 10 additions and 0 deletions

View File

@ -2,6 +2,7 @@ from orm import User, UserRole, Role, UserRating
from orm.user import AuthorSubscription, UserStorage
from orm.comment import Comment
from orm.base import local_session
from orm.topic import Topic, TopicSubscription
from resolvers.base import mutation, query, subscription
from auth.authenticate import login_required
@ -81,6 +82,14 @@ async def user_subscribers(_, info, slug):
where(AuthorSubscription.author == slug)
return users
@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
@mutation.field("rateUser")
@login_required
async def rate_user(_, info, slug, value):

View File

@ -170,6 +170,7 @@ type Query {
userComments(slug: String!, page: Int!, size: Int!): [Comment]!
userSubscriptions(slug: String!): [User]!
userSubscribers(slug: String!): [User]!
userSubscribedTopics(slug: String!): [Topic]!
# messages
enterChat(chatId: String!, size: Int = 50): EnterChatResult!