blob: 5312cca890f2d375549da85b02fa1730061591d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
from src.database import db
from src.database.models import Comment, Reply
from src.queries.base_query import BaseQuery
class CommentsQuery(BaseQuery):
def __init__(self):
super().__init__(Comment)
def all_comments(self):
return db.paginate(db.select(Comment))
def comments_of_post(self, post, page=1):
try:
if page is not None and isinstance(page, str):
page = int(page)
except ValueError:
page = 1
return db.paginate(
db.select(Comment).where(Comment.post == post).order_by(Comment.created_at.desc()),
page=page, max_per_page=5
)
def replies_of(self, comment_id):
return db.paginate(
db.select(Reply).where(Reply.comment_id == comment_id).order_by(Reply.created_at.desc())
)
|