This commit is contained in:
@@ -5,7 +5,7 @@ from sqlalchemy.orm import joinedload
|
||||
|
||||
from orm.author import Author
|
||||
from orm.reaction import Reaction, ReactionKind
|
||||
from orm.shout import Shout, ShoutAuthor, ShoutTopic, ShoutVisibility
|
||||
from orm.shout import Shout, ShoutAuthor, ShoutTopic
|
||||
from orm.topic import Topic
|
||||
from resolvers.follower import reactions_follow, reactions_unfollow
|
||||
from resolvers.rater import is_negative, is_positive
|
||||
@@ -61,7 +61,7 @@ async def create_shout(_, info, inp):
|
||||
'authors': [],
|
||||
'slug': slug,
|
||||
'topics': inp.get('topics', []),
|
||||
'visibility': ShoutVisibility.AUTHORS.value,
|
||||
'published_at': None,
|
||||
'created_at': current_time, # Set created_at as Unix timestamp
|
||||
}
|
||||
|
||||
|
@@ -8,7 +8,7 @@ from sqlalchemy.sql import union
|
||||
|
||||
from orm.author import Author
|
||||
from orm.reaction import Reaction, ReactionKind
|
||||
from orm.shout import Shout, ShoutVisibility
|
||||
from orm.shout import Shout
|
||||
from resolvers.editor import handle_proposing
|
||||
from resolvers.follower import reactions_follow
|
||||
from resolvers.rater import RATING_REACTIONS, is_negative, is_positive
|
||||
@@ -90,7 +90,7 @@ def check_to_unfeature(session, rejecter_id, reaction):
|
||||
async def set_featured(session, shout_id):
|
||||
s = session.query(Shout).where(Shout.id == shout_id).first()
|
||||
s.featured_at = int(time.time())
|
||||
Shout.update(s, {'visibility': ShoutVisibility.FEATURED.value})
|
||||
Shout.update(s, { 'featured_at': int(time.time()) })
|
||||
author = session.query(Author).filter(Author.id == s.created_by).first()
|
||||
if author:
|
||||
await add_user_role(str(author.user))
|
||||
@@ -100,7 +100,7 @@ async def set_featured(session, shout_id):
|
||||
|
||||
def set_unfeatured(session, shout_id):
|
||||
s = session.query(Shout).where(Shout.id == shout_id).first()
|
||||
Shout.update(s, {'visibility': ShoutVisibility.COMMUNITY.value , 'featured_at': None })
|
||||
Shout.update(s, {'featured_at': None })
|
||||
session.add(s)
|
||||
session.commit()
|
||||
|
||||
|
@@ -7,7 +7,7 @@ from starlette.exceptions import HTTPException
|
||||
|
||||
from orm.author import Author, AuthorFollower
|
||||
from orm.reaction import Reaction, ReactionKind
|
||||
from orm.shout import Shout, ShoutAuthor, ShoutTopic, ShoutVisibility
|
||||
from orm.shout import Shout, ShoutAuthor, ShoutTopic
|
||||
from orm.topic import Topic, TopicFollower
|
||||
from resolvers.reaction import add_stat_columns
|
||||
from resolvers.topic import get_random_topic
|
||||
@@ -28,7 +28,7 @@ def apply_filters(q, filters, author_id=None):
|
||||
|
||||
by_featured = filters.get('featured')
|
||||
if by_featured:
|
||||
q = q.filter(Shout.visibility == ShoutVisibility.FEATURED.value)
|
||||
q = q.filter(Shout.featered_at.is_not(None))
|
||||
by_layouts = filters.get('layouts')
|
||||
if by_layouts:
|
||||
q = q.filter(Shout.layout.in_(by_layouts))
|
||||
@@ -206,8 +206,7 @@ async def load_shouts_drafts(_, info):
|
||||
joinedload(Shout.authors),
|
||||
joinedload(Shout.topics),
|
||||
)
|
||||
.filter(Shout.deleted_at.is_(None))
|
||||
.filter(Shout.visibility == ShoutVisibility.AUTHORS.value)
|
||||
.filter(and_(Shout.deleted_at.is_(None), Shout.published_at.is_(None)))
|
||||
)
|
||||
|
||||
shouts = []
|
||||
@@ -466,7 +465,7 @@ async def load_shouts_random_topic(_, info, limit: int = 10):
|
||||
.filter(
|
||||
and_(
|
||||
Shout.deleted_at.is_(None),
|
||||
Shout.visibility == ShoutVisibility.FEATURED.value,
|
||||
Shout.featured_at.is_not(None),
|
||||
Shout.topics.any(slug=topic.slug),
|
||||
)
|
||||
)
|
||||
|
Reference in New Issue
Block a user