summaryrefslogtreecommitdiff
path: root/src/controllers/comments_controller.py
blob: 9d6f02ea7266787b66ee772aa4eb57adc858f0e9 (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
29
30
31
32
33
34
35
36
from flask import Blueprint, request, abort, render_template
from src.queries import CommentsQuery
from src.services import CreateCommentService


comments_blueprint = Blueprint('comments_controller',
                               '__comments_controller__')
query = CommentsQuery()


@comments_blueprint.post('/<path:post>/comments/')
def create(post):
    service = CreateCommentService(request.get_json(), post)
    status_code = service.call()

    if status_code == 404:
        abort(404)

    return render_template('comments/index.jinja',
                           page=query.comments_of_post(post))


@comments_blueprint.get('/<path:post>/comments/new')
def new(post):
    return render_template('comments/form.jinja')


@comments_blueprint.get('/<path:post>/comments/')
def index(post):
    page = query.comments_of_post(post)

    if page.total == 0:
        abort(404)

    return render_template('comments/index.jinja',
                           page=page)