""" Home and root routes for L1 server. """ from fastapi import APIRouter, Request, Depends from fastapi.responses import HTMLResponse, RedirectResponse from artdag_common import render from artdag_common.middleware import wants_html from ..dependencies import get_templates, get_current_user router = APIRouter() @router.get("/") async def home(request: Request): """ Home page - redirect to runs if authenticated, show landing otherwise. """ user = await get_current_user(request) if user: return RedirectResponse(url="/runs", status_code=302) # For now, redirect to login at L2 # TODO: Show a landing page with login link return RedirectResponse(url="/runs", status_code=302) @router.get("/login") async def login_redirect(request: Request): """ Redirect to L2 for login. """ from ..config import settings if settings.l2_server: # Redirect to L2 login with return URL return_url = str(request.url_for("auth_callback")) login_url = f"{settings.l2_server}/login?return_to={return_url}" return RedirectResponse(url=login_url, status_code=302) # No L2 configured - show error return HTMLResponse( "
No L2 server configured for authentication.
", status_code=503 )