published-filter
This commit is contained in:
parent
4a1d7280fc
commit
28853c3a4b
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user