added the /files view and auth for api and files

This commit is contained in:
Christian Krakau-Louis
2025-03-26 02:51:49 +01:00
parent f754b25c76
commit 48fce5d661
3 changed files with 159 additions and 10 deletions
+23 -2
View File
@@ -1,16 +1,37 @@
# app/frontend.py
import os
from pathlib import Path
from fastapi import APIRouter, Request
from fastapi import APIRouter, Request, Depends
from fastapi.templating import Jinja2Templates
from sqlalchemy.orm import Session
from app.auth import require_login
from app.database import SessionLocal
router = APIRouter()
# Point templates_dir to "frontend/templates"
templates_dir = Path(__file__).parent.parent / "frontend" / "templates"
templates = Jinja2Templates(directory=str(templates_dir))
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@router.get("/files")
@require_login
def files_page(request: Request):
"""
Return the 'files.html' template.
The actual file data is fetched via XHR from /api/files in the template.
"""
return templates.TemplateResponse("files.html", {"request": request})
# ... existing routes for /, /upload, /about, etc. ...
@router.get("/", include_in_schema=False)
async def serve_index(request: Request):
return templates.TemplateResponse("index.html", {"request": request})