"""Home routes.""" from fastapi import APIRouter, Depends, Request from keycloak_collective_portal.dependencies import ( get_invites, get_user, logged_in, ) router = APIRouter() @router.get("/", dependencies=[Depends(logged_in)]) async def home( request: Request, user=Depends(get_user), invites=Depends(get_invites) ): from keycloak_collective_portal.config import ( FEATURE_FLAG_ADMINS_ONLY, KEYCLOAK_ADMINS_GROUP, KEYCLOAK_GROUPS_KEY, ) context = {"request": request, "user": user, "invites": invites} if FEATURE_FLAG_ADMINS_ONLY: context["message"] = "only admins can access this service" if KEYCLOAK_GROUPS_KEY not in user: return request.app.state.templates.TemplateResponse( "invalid.html", context=context ) if KEYCLOAK_ADMINS_GROUP not in user[KEYCLOAK_GROUPS_KEY]: return request.app.state.templates.TemplateResponse( "invalid.html", context=context ) return request.app.state.templates.TemplateResponse( "admin.html", context=context )