Verified Commit b68e42fa authored by Jakob Moser's avatar Jakob Moser
Browse files

Start adding API

parent 304a4932
Loading
Loading
Loading
Loading
Loading
+4 −1
Changes for portal/__init__.py: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
# Taken and adapted from the flaskr tutorial. Database logic adapted from Flask SQLAlchemy Documentation
# (https://flask-sqlalchemy.palletsprojects.com/en/2.x/contexts/). See LICENSE-3RD-PARTY.md for details.
import secrets
from typing import Optional
from pathlib import Path

from flask import Flask
@@ -13,7 +14,7 @@ db = SQLAlchemy()
from .model import *


def create_app(test_db_path: Path = None) -> Flask:
def create_app(test_db_path: Optional[Path] = None) -> Flask:
    """
    Create the Flask application.

@@ -74,8 +75,10 @@ def _register_blueprints(app: Flask) -> None:
    Register all blueprints
    """
    from . import main
    from . import api

    app.register_blueprint(main.bp)
    app.register_blueprint(api.bp)


def _connect_db(app: Flask, sqlalchemy_database_uri: str) -> None:

portal/api/__init__.py

0 → 100644
+2 −0
Changes for portal/api/__init__.py: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
from .blueprint import bp
from .rest import *
+3 −0
Changes for portal/api/blueprint.py: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
from flask import Blueprint

bp = Blueprint("api", __name__, url_prefix="/api/v0")

portal/api/rest.py

0 → 100644
+8 −0
Changes for portal/api/rest.py: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
from flask import render_template

from .blueprint import bp


@bp.get("/")
def index():
    return render_template("redocly.html")
+6 −1
Changes for portal/main.py: 6 added lines, 1 removed line.
Original line number Diff line number Diff line
from flask import Blueprint, render_template
from flask import Blueprint, render_template, redirect, url_for

bp = Blueprint("main", __name__)

@@ -13,3 +13,8 @@ def index(_):
    something useful), because only the client-side JavaScript code will process it.
    """
    return render_template("index.html")


@bp.get("/api/")
def redirect_to_api():
    return redirect(url_for("api.index"))
Loading