Added: Dashboard html file and routing

This commit is contained in:
2025-11-17 01:50:06 +01:00
parent cafb39d9df
commit f2ebde841d
3 changed files with 39 additions and 2 deletions

18
main.py
View File

@@ -2,7 +2,7 @@ import os
from fastapi import FastAPI
from starlette.middleware.sessions import SessionMiddleware
from starlette.staticfiles import StaticFiles
from starlette.responses import FileResponse
from starlette.responses import FileResponse, RedirectResponse
import models
from database import engine
@@ -33,4 +33,18 @@ app.add_middleware(SessionMiddleware, secret_key=settings.ENCRYPTION_KEY)
@app.get("/")
async def read_root():
return FileResponse(os.path.join(STATIC_DIR, "login.html"))
return FileResponse(os.path.join(STATIC_DIR, "login.html"))
@app.get("/dashboard")
async def read_dashboard(request: Request):
# This is our protected route. It checks if a user_id exists in the session.
if not request.session.get('user_id'):
# If not, redirect them to the login page.
return RedirectResponse(url="/")
return FileResponse(os.path.join(STATIC_DIR, "dashboard.html"))
@app.get("/logout")
async def logout(request: Request):
# Clear the session cookie
request.session.clear()
return RedirectResponse(url="/")