51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
"""
|
|
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
|