return subscribed topics as slugs

This commit is contained in:
knst-kotov 2022-04-29 10:51:51 +03:00
parent 9fab68fc29
commit 6919b2603c
2 changed files with 10 additions and 8 deletions

View File

@ -12,12 +12,14 @@ from sqlalchemy import func, and_, desc
from sqlalchemy.orm import selectinload
import asyncio
def _get_user_subscribed_topics(slug):
def _get_user_subscribed_topic_slugs(slug):
with local_session() as session:
topics = session.query(Topic).\
rows = session.query(Topic.slug).\
join(TopicSubscription).\
where(TopicSubscription.subscriber == slug)
return topics
where(TopicSubscription.subscriber == slug).\
all()
slugs = [row.slug for row in rows]
return slugs
@query.field("getCurrentUser")
@login_required
@ -27,7 +29,7 @@ async def get_current_user(_, info):
return {
"user": user,
"totalUnreadMessages": total_unread_messages,
"userSubscribedTopics": _get_user_subscribed_topics(user.slug)
"userSubscribedTopics": _get_user_subscribed_topic_slugs(user.slug)
}
@query.field("getUsersBySlugs")
@ -98,7 +100,7 @@ async def user_subscribers(_, info, slug):
@query.field("userSubscribedTopics")
async def user_subscribed_topics(_, info, slug):
return _get_user_subscribed_topics(slug)
return _get_user_subscribed_topic_slugs(slug)
@mutation.field("rateUser")
@login_required

View File

@ -16,7 +16,7 @@ type UserResult {
error: String
user: User
totalUnreadMessages: Int
userSubscribedTopics: [Topic]!
userSubscribedTopics: [String]!
}
input ShoutInput {
@ -138,7 +138,7 @@ type Query {
userComments(slug: String!, page: Int!, size: Int!): [Comment]!
userSubscriptions(slug: String!): [User]!
userSubscribers(slug: String!): [User]!
userSubscribedTopics(slug: String!): [Topic]!
userSubscribedTopics(slug: String!): [String]!
shoutsCommentedByUser(slug: String!, page: Int!, size: Int!): [Shout]!
shoutsRatedByUser(slug: String!, page: Int!, size: Int!): [Shout]!