Files
audio_resive/test.py
T

38 lines
1.5 KiB
Python

from fastapi import FastAPI, Request, Form, Depends, Cookie, responses, templating, staticfiles
from functions.admin import is_logged_in
from functions.admin.models import database
from functions.admin.templates import logins, refresh, logs, log
app = FastAPI()
templates = templating.Jinja2Templates(directory="static/templates")
app.mount("/static", staticfiles.StaticFiles(directory="static"), name="static")
@app.get("/", response_class=responses.HTMLResponse)
def login(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
@app.get("/login", response_class=responses.HTMLResponse)
def login(request: Request):
return templates.TemplateResponse("login.html", {"request": request})
@app.post("/logins")
async def logins_response(username: str = Form(...), password: str = Form(...), db=Depends(database.get_db)):
return await logins.logins(username, password, db)
@app.get("/refresh")
async def refresh_access_token(req: Request, refresh_token: str = Cookie(None), db=Depends(database.get_db)):
return await refresh.refresh_access_token(req, refresh_token, db)
@app.get("/logs", response_class=responses.HTMLResponse)
async def logs_response(request: Request, logged_in: bool = Depends(is_logged_in.is_logged_in)):
return await logs.logs(templates, request, logged_in)
@app.get("/logs/{log_id}", response_class=responses.HTMLResponse)
async def log_response(request: Request, log_id: int, logged_in: bool = Depends(is_logged_in.is_logged_in)):
return await log.log(templates, request, log_id, logged_in)