43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
"""Web page routes for dashboard and config page."""
|
|
from fastapi import APIRouter, Request
|
|
from fastapi.responses import HTMLResponse, RedirectResponse
|
|
from fastapi.templating import Jinja2Templates
|
|
from utils.auth import check_auth
|
|
|
|
router = APIRouter()
|
|
templates = Jinja2Templates(directory="templates")
|
|
|
|
|
|
@router.get("/login", response_class=HTMLResponse)
|
|
async def login_page(request: Request):
|
|
#Login page
|
|
# If already authenticated, redirect to dashboard
|
|
if check_auth(request):
|
|
return RedirectResponse(url="/", status_code=302)
|
|
return templates.TemplateResponse("login.html", {"request": request})
|
|
|
|
|
|
@router.get("/", response_class=HTMLResponse)
|
|
async def dashboard(request: Request):
|
|
#Dashboard page - requires authentication
|
|
if not check_auth(request):
|
|
return RedirectResponse(url="/login", status_code=302)
|
|
print(">>> DASHBOARD ROUTE LOADED")
|
|
return templates.TemplateResponse("dashboard.html", {"request": request})
|
|
|
|
|
|
@router.get("/config", response_class=HTMLResponse)
|
|
async def config_page(request: Request):
|
|
#Config page - requires authentication
|
|
if not check_auth(request):
|
|
return RedirectResponse(url="/login", status_code=302)
|
|
return templates.TemplateResponse("config.html", {"request": request})
|
|
|
|
|
|
@router.get("/users-log", response_class=HTMLResponse)
|
|
async def users_log_page(request: Request):
|
|
#Users/Log page - requires authentication
|
|
if not check_auth(request):
|
|
return RedirectResponse(url="/login", status_code=302)
|
|
return templates.TemplateResponse("users_log.html", {"request": request})
|