invoice-processing-google-d.../main.py
2025-08-26 12:26:03 +02:00

42 lines
1.4 KiB
Python

# main.py
from fastapi import FastAPI, Request, Depends
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
from db.models import User
from api.dependencies import get_current_user_optional
from api.routers import users, invoices
from db.database import engine, Base
Base.metadata.create_all(bind=engine)
app = FastAPI(title="ACME Invoice Processor")
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="templates")
app.include_router(users.router, prefix="/api/users", tags=["Users"])
app.include_router(invoices.router, prefix="/api/invoices", tags=["Invoices"])
# --- RUTAS DE PLANTILLAS HTML ---
@app.get("/", response_class=HTMLResponse)
async def read_login_page(request: Request):
"""
Esta ruta ahora SOLO sirve la página de login.
"""
return templates.TemplateResponse("login.html", {"request": request})
@app.get("/dashboard", response_class=HTMLResponse)
async def read_dashboard(request: Request):
"""
Esta es la nueva ruta dedicada para el dashboard.
La seguridad se manejará en el propio HTML con JavaScript.
"""
return templates.TemplateResponse("dashboard.html", {"request": request})
@app.get("/register", response_class=HTMLResponse)
async def register_page(request: Request):
return templates.TemplateResponse("register.html", {"request": request})