Added: Dashboard html file and routing
This commit is contained in:
18
main.py
18
main.py
@@ -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="/")
|
||||
Reference in New Issue
Block a user