diff --git a/resolvers/zine.py b/resolvers/zine.py index 3f9fd29a..f8bceaf9 100644 --- a/resolvers/zine.py +++ b/resolvers/zine.py @@ -488,3 +488,14 @@ async def shouts_commented_by_user(_, info, slug, page, size): limit(size).\ offset( (page - 1) * size) return shouts + +@query.field("shoutsRatedByUser") +async def shouts_rated_by_user(_, info, slug, page, size): + with local_session() as session: + shouts = session.query(Shout).\ + join(ShoutRating).\ + where(ShoutRating.rater == slug).\ + order_by(desc(ShoutRating.ts)).\ + limit(size).\ + offset( (page - 1) * size) + return shouts diff --git a/schema.graphql b/schema.graphql index bc394ae9..77d19d66 100644 --- a/schema.graphql +++ b/schema.graphql @@ -141,6 +141,7 @@ type Query { userSubscribedTopics(slug: String!): [Topic]! shoutsCommentedByUser(slug: String!, page: Int!, size: Int!): [Shout]! + shoutsRatedByUser(slug: String!, page: Int!, size: Int!): [Shout]! # shouts getShoutBySlug(slug: String!): Shout!