summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2024-02-26 15:40:55 -0600
committerHombreLaser <sebastian-440@live.com>2024-02-26 15:40:55 -0600
commit9e38502edec81c47a54641186d888f191ed999f0 (patch)
treeca24af8b32148d1792250fff1b9d41b5ceb78c7b /src
parentadb6f7e9e73716e58529d96540f204e5e0825179 (diff)
Add pagination handling
Diffstat (limited to 'src')
-rw-r--r--src/controllers/comments_controller.py2
-rw-r--r--src/queries/comments_query.py11
2 files changed, 10 insertions, 3 deletions
diff --git a/src/controllers/comments_controller.py b/src/controllers/comments_controller.py
index c9bab0d..61b32c6 100644
--- a/src/controllers/comments_controller.py
+++ b/src/controllers/comments_controller.py
@@ -30,7 +30,7 @@ def new():
@comments_blueprint.get('/api/comments')
def index():
post = request.args.get('path')
- page = query.comments_of_post(post)
+ page = query.comments_of_post(post, page=request.args.get('page'))
if page.total == 0:
abort(404)
diff --git a/src/queries/comments_query.py b/src/queries/comments_query.py
index e343667..5312cca 100644
--- a/src/queries/comments_query.py
+++ b/src/queries/comments_query.py
@@ -10,9 +10,16 @@ class CommentsQuery(BaseQuery):
def all_comments(self):
return db.paginate(db.select(Comment))
- def comments_of_post(self, post):
+ 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())
+ 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):