diff --git a/views.py b/views.py index 61701cd..6532836 100644 --- a/views.py +++ b/views.py @@ -1,9 +1,11 @@ # Description: DCA Admin page endpoints. -from fastapi import APIRouter, Depends, Request +from http import HTTPStatus + +from fastapi import APIRouter, Depends, HTTPException, Request from fastapi.responses import HTMLResponse from lnbits.core.models import User -from lnbits.decorators import check_super_user +from lnbits.decorators import check_user_exists from lnbits.helpers import template_renderer satmachineadmin_generic_router = APIRouter() @@ -15,7 +17,11 @@ def satmachineadmin_renderer(): # DCA Admin page - Requires superuser access @satmachineadmin_generic_router.get("/", response_class=HTMLResponse) -async def index(req: Request, user: User = Depends(check_super_user)): +async def index(req: Request, user: User = Depends(check_user_exists)): + if not user.super_user: + raise HTTPException( + HTTPStatus.FORBIDDEN, "User not authorized. No super user privileges." + ) return satmachineadmin_renderer().TemplateResponse( "satmachineadmin/index.html", {"request": req, "user": user.json()} )