fixed-queries
This commit is contained in:
parent
a09daedaac
commit
db3617c80d
|
@ -1,5 +1,5 @@
|
|||
from datetime import datetime, timedelta
|
||||
from sqlalchemy import and_, desc, select
|
||||
from sqlalchemy import and_, desc, select, text
|
||||
from sqlalchemy.orm import selectinload
|
||||
|
||||
from auth.authenticate import login_required
|
||||
|
@ -115,14 +115,14 @@ def set_published(session, slug, publisher):
|
|||
s = session.query(Shout).where(Shout.slug == slug).first()
|
||||
s.publishedAt = datetime.now()
|
||||
s.publishedBy = publisher
|
||||
s.visibility = 'public'
|
||||
s.visibility = text('public')
|
||||
session.add(s)
|
||||
session.commit()
|
||||
|
||||
|
||||
def set_hidden(session, slug):
|
||||
s = session.query(Shout).where(Shout.slug == slug).first()
|
||||
s.visibility = 'authors'
|
||||
s.visibility = text('authors')
|
||||
s.publishedAt = None # TODO: discuss
|
||||
s.publishedBy = None # TODO: store changes history in git
|
||||
session.add(s)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from datetime import datetime, timedelta
|
||||
|
||||
from sqlalchemy.orm import selectinload
|
||||
from sqlalchemy.sql.expression import desc, select
|
||||
from sqlalchemy.sql.expression import or_, desc, select
|
||||
|
||||
from auth.authenticate import login_required
|
||||
from base.orm import local_session
|
||||
|
@ -50,7 +50,10 @@ async def load_shouts_by(_, info, by, amount=50, offset=0):
|
|||
user = info.context["request"].user
|
||||
q = q.filter(Reaction.createdBy == user.slug)
|
||||
if by.get("visibility"):
|
||||
q = q.filter(Shout.visibility == by.get("visibility") or "public")
|
||||
q = q.filter(or_(
|
||||
Shout.visibility.ilike(f"%{by.get('visibility')}%"),
|
||||
Shout.visibility.ilike(f"%{'public'}%"),
|
||||
))
|
||||
if by.get("layout"):
|
||||
q = q.filter(Shout.layout == by["layout"])
|
||||
if by.get("author"):
|
||||
|
|
Loading…
Reference in New Issue
Block a user