summaryrefslogtreecommitdiff
path: root/src/queries/comments_query.py
blob: e343667ea8049fb22ac34ba543dab29f1d228fa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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):
        return db.paginate(
            db.select(Comment).where(Comment.post == post).order_by(Comment.created_at.desc())
        )

    def replies_of(self, comment_id):
        return db.paginate(
            db.select(Reply).where(Reply.comment_id == comment_id).order_by(Reply.created_at.desc())
        )