diff options
author | Frederick Muriuki Muriithi | 2025-04-28 02:11:25 -0500 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2025-04-28 02:37:45 -0500 |
commit | 4a16f580a25aba122a4990a61e0e96f4692b833c (patch) | |
tree | eb3fd65bad0f4bbaa033a0444edb0f0f18d474a7 /uploader/publications/views.py | |
parent | 77f18b73276d2bf57b52703b48e3b44b3c89c516 (diff) | |
download | gn-uploader-4a16f580a25aba122a4990a61e0e96f4692b833c.tar.gz |
Initialise entry-point for managing publications.
Diffstat (limited to 'uploader/publications/views.py')
-rw-r--r-- | uploader/publications/views.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/uploader/publications/views.py b/uploader/publications/views.py new file mode 100644 index 0000000..85d3aef --- /dev/null +++ b/uploader/publications/views.py @@ -0,0 +1,34 @@ +"""Endpoints for publications""" +import json + +from gn_libs.mysqldb import database_connection +from flask import Blueprint, render_template, current_app as app + +from uploader.authorisation import require_login + +from .models import fetch_publications + +from gn_libs.debug import __pk__ + +pubbp = Blueprint("publications", __name__) + + +@pubbp.route("/", methods=["GET"]) +@require_login +def index(): + """Index page for publications.""" + with database_connection(app.config["SQL_URI"]) as conn: + return render_template("publications/index.html") + + +@pubbp.route("/list", methods=["GET"]) +@require_login +def list_publications(): + with database_connection(app.config["SQL_URI"]) as conn: + return json.dumps({ + "publications": tuple({ + **row, "index": idx + } for idx,row in enumerate( + fetch_publications(conn), start=1)), + "status": "success" + }) |