return subscribed topics as slugs
This commit is contained in:
parent
9fab68fc29
commit
6919b2603c
|
@ -12,12 +12,14 @@ from sqlalchemy import func, and_, desc
|
||||||
from sqlalchemy.orm import selectinload
|
from sqlalchemy.orm import selectinload
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
def _get_user_subscribed_topics(slug):
|
def _get_user_subscribed_topic_slugs(slug):
|
||||||
with local_session() as session:
|
with local_session() as session:
|
||||||
topics = session.query(Topic).\
|
rows = session.query(Topic.slug).\
|
||||||
join(TopicSubscription).\
|
join(TopicSubscription).\
|
||||||
where(TopicSubscription.subscriber == slug)
|
where(TopicSubscription.subscriber == slug).\
|
||||||
return topics
|
all()
|
||||||
|
slugs = [row.slug for row in rows]
|
||||||
|
return slugs
|
||||||
|
|
||||||
@query.field("getCurrentUser")
|
@query.field("getCurrentUser")
|
||||||
@login_required
|
@login_required
|
||||||
|
@ -27,7 +29,7 @@ async def get_current_user(_, info):
|
||||||
return {
|
return {
|
||||||
"user": user,
|
"user": user,
|
||||||
"totalUnreadMessages": total_unread_messages,
|
"totalUnreadMessages": total_unread_messages,
|
||||||
"userSubscribedTopics": _get_user_subscribed_topics(user.slug)
|
"userSubscribedTopics": _get_user_subscribed_topic_slugs(user.slug)
|
||||||
}
|
}
|
||||||
|
|
||||||
@query.field("getUsersBySlugs")
|
@query.field("getUsersBySlugs")
|
||||||
|
@ -98,7 +100,7 @@ async def user_subscribers(_, info, slug):
|
||||||
|
|
||||||
@query.field("userSubscribedTopics")
|
@query.field("userSubscribedTopics")
|
||||||
async def user_subscribed_topics(_, info, slug):
|
async def user_subscribed_topics(_, info, slug):
|
||||||
return _get_user_subscribed_topics(slug)
|
return _get_user_subscribed_topic_slugs(slug)
|
||||||
|
|
||||||
@mutation.field("rateUser")
|
@mutation.field("rateUser")
|
||||||
@login_required
|
@login_required
|
||||||
|
|
|
@ -16,7 +16,7 @@ type UserResult {
|
||||||
error: String
|
error: String
|
||||||
user: User
|
user: User
|
||||||
totalUnreadMessages: Int
|
totalUnreadMessages: Int
|
||||||
userSubscribedTopics: [Topic]!
|
userSubscribedTopics: [String]!
|
||||||
}
|
}
|
||||||
|
|
||||||
input ShoutInput {
|
input ShoutInput {
|
||||||
|
@ -138,7 +138,7 @@ type Query {
|
||||||
userComments(slug: String!, page: Int!, size: Int!): [Comment]!
|
userComments(slug: String!, page: Int!, size: Int!): [Comment]!
|
||||||
userSubscriptions(slug: String!): [User]!
|
userSubscriptions(slug: String!): [User]!
|
||||||
userSubscribers(slug: String!): [User]!
|
userSubscribers(slug: String!): [User]!
|
||||||
userSubscribedTopics(slug: String!): [Topic]!
|
userSubscribedTopics(slug: String!): [String]!
|
||||||
|
|
||||||
shoutsCommentedByUser(slug: String!, page: Int!, size: Int!): [Shout]!
|
shoutsCommentedByUser(slug: String!, page: Int!, size: Int!): [Shout]!
|
||||||
shoutsRatedByUser(slug: String!, page: Int!, size: Int!): [Shout]!
|
shoutsRatedByUser(slug: String!, page: Int!, size: Int!): [Shout]!
|
||||||
|
|
Loading…
Reference in New Issue
Block a user