File indexing completed on 2023-09-24 10:02:47

0001 from flask import Blueprint, request
0002 
0003 from .endpoints.Pages import Pages
0004 from .endpoints.Categories import Categories
0005 from .endpoints.Courses import Courses
0006 from .endpoints.Polling import Polling
0007 
0008 from .response import response_ok
0009 
0010 api = Blueprint("api", __name__)
0011 
0012 pages_view = Pages.as_view("pages")
0013 api.add_url_rule(
0014     "/pages/<path:title>",
0015     view_func=pages_view,
0016     methods=["GET"]
0017 )
0018 
0019 categories_view = Categories.as_view("categories")
0020 api.add_url_rule(
0021     "/categories/",
0022     defaults={"category_name": None},
0023     view_func=categories_view,
0024     methods=["GET"]
0025 )
0026 api.add_url_rule(
0027     "/categories/<category_name>",
0028     view_func=categories_view,
0029     methods=["GET"]
0030 )
0031 
0032 courses_vies = Courses.as_view("courses")
0033 api.add_url_rule(
0034     "/courses/<course_name>",
0035     view_func=courses_vies,
0036     methods=["GET"]
0037 )
0038 
0039 
0040 polling_view = Polling.as_view("polling")
0041 api.add_url_rule(
0042     "/polling/",
0043     defaults={"polling_id": None},
0044     view_func=polling_view,
0045     methods=["GET"]
0046 )
0047 api.add_url_rule(
0048     "/polling/<polling_id>",
0049     view_func=polling_view,
0050     methods=["GET"]
0051 )
0052 
0053 
0054 @api.route("/auth/login", methods=["GET", "POST"])
0055 def auth_login():
0056     headers = {
0057         "Authorization": "thisisatoken"
0058     }
0059     return response_ok("ok", headers)
0060 
0061 @api.route("/auth/user", methods=["GET", "POST"])
0062 def auth_user():
0063     headers = {
0064         "Authorization": "thisisatoken"
0065     }
0066     return response_ok({ "name": "crisbal" }, headers)
0067 
0068 
0069 @api.route("/auth/refresh", methods=["GET", "POST"])
0070 def auth_refresh():
0071     headers = {
0072         "Authorization": "Bearer thisisatoken"
0073     }
0074     return response_ok("ok", headers)