diff --git a/resolvers/reader.py b/resolvers/reader.py index d685fd9a..dc6f2748 100644 --- a/resolvers/reader.py +++ b/resolvers/reader.py @@ -48,21 +48,9 @@ def apply_filters(q, filters, author_id=None): if filters.get("reacted") and author_id: q.join(Reaction, Reaction.created_by == author_id) - by_visibility = filters.get("visibility") - if by_visibility: - visibility = { - "public": [ - ShoutVisibility.PUBLIC, - ], - ShoutVisibility.PUBLIC: [ - ShoutVisibility.PUBLIC, - ], - "community": [ShoutVisibility.PUBLIC, ShoutVisibility.COMMUNITY], - ShoutVisibility.COMMUNITY: [ShoutVisibility.PUBLIC, ShoutVisibility.COMMUNITY], - "authors": [ShoutVisibility.PUBLIC, ShoutVisibility.COMMUNITY, ShoutVisibility.AUTHORS], - ShoutVisibility.AUTHORS: [ShoutVisibility.PUBLIC, ShoutVisibility.COMMUNITY, ShoutVisibility.AUTHORS], - } - q = q.filter(Shout.visibility.in_(visibility.get(by_visibility) or [])) + by_published = filters.get("published") + if by_published: + q = q.filter(Shout.visibility == ShoutVisibility.PUBLIC) by_layouts = filters.get("layouts") if by_layouts: q = q.filter(Shout.layout.in_(by_layouts)) @@ -137,7 +125,7 @@ async def load_shouts_by(_, info, options): filters: { layouts: ['audio', 'video', ..], reacted: True, - visibility: ShoutVisibility.Public, + published: True, // filter published-only author: 'discours', topic: 'culture', after: 1234567 // unixtime diff --git a/schemas/core.graphql b/schemas/core.graphql index 4d5478cb..0dc34648 100644 --- a/schemas/core.graphql +++ b/schemas/core.graphql @@ -251,7 +251,7 @@ input ShoutsFilterBy { author: String authors: [String] layouts: [String] - visibility: ShoutVisibility + published: Boolean after: Int stat: String } @@ -260,7 +260,7 @@ input LoadShoutsFilters { topic: String author: String layouts: [String] - visibility: ShoutVisibility + published: Boolean after: Int reacted: Boolean }