From 4a16f580a25aba122a4990a61e0e96f4692b833c Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Mon, 28 Apr 2025 02:11:25 -0500 Subject: Initialise entry-point for managing publications. --- uploader/publications/views.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 uploader/publications/views.py (limited to 'uploader/publications/views.py') 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" + }) -- cgit v1.2.3