From b4514f6e53fcc772c65893314e528a01f762f7b6 Mon Sep 17 00:00:00 2001 From: dwindown Date: Wed, 1 Apr 2026 18:30:15 +0700 Subject: [PATCH] Add admin index redirect for /admin/ route --- app/admin.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/admin.py b/app/admin.py index 4baca75..19e2bc5 100644 --- a/app/admin.py +++ b/app/admin.py @@ -86,6 +86,7 @@ class EnvCredentialProvider(Provider): await super().register(app) # Keep explicit assignment for compatibility across fastapi-admin versions. app.login_provider = self + app.get("/")(self.index_view) app.get(self.login_path)(self.login_view) app.post(self.login_path)(self.login) app.get(self.logout_path)(self.logout) @@ -136,6 +137,16 @@ class EnvCredentialProvider(Provider): continue return f"{admin_path}{getattr(request.app.login_provider, 'login_path', '/login')}" + @staticmethod + def _login_url(request: Request) -> str: + return request.app.admin_path.rstrip("/") + "/login" + + async def index_view(self, request: Request): + # fastapi-admin has no default "/" page in this setup. + if getattr(request.state, "admin", None): + return RedirectResponse(url=self._admin_home(request), status_code=HTTP_303_SEE_OTHER) + return RedirectResponse(url=self._login_url(request), status_code=HTTP_303_SEE_OTHER) + async def login_view(self, request: Request): return self._template_response( request=request,