""" Example route module - Copy this pattern for your domain. This module demonstrates: 1. Registering routes with Flask app 2. Using auth validation 3. Making database calls via postgres module """ import flask import sys import os sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import core.auth as auth import core.postgres as postgres def register(app): """Register routes with the Flask app.""" @app.route("/api/example", methods=["GET"]) def api_listExamples(): header = flask.request.headers.get("Authorization", "") if not header.startswith("Bearer "): return flask.jsonify({"error": "missing token"}), 401 token = header[7:] decoded = auth.verifyLoginToken(token, userUUID=True) if decoded != True: return flask.jsonify({"error": "unauthorized"}), 401 items = postgres.select("examples") return flask.jsonify(items), 200 @app.route("/api/example", methods=["POST"]) def api_addExample(): header = flask.request.headers.get("Authorization", "") if not header.startswith("Bearer "): return flask.jsonify({"error": "missing token"}), 401 token = header[7:] decoded = auth.verifyLoginToken(token, userUUID=True) if decoded != True: return flask.jsonify({"error": "unauthorized"}), 401 data = flask.request.get_json() item = postgres.insert("examples", data) return flask.jsonify(item), 201