add superuser and refactor check_admin function, also put it into satspay
This commit is contained in:
@@ -1,18 +1,15 @@
|
||||
import json
|
||||
from http import HTTPStatus
|
||||
|
||||
from fastapi import Response
|
||||
from fastapi.param_functions import Depends
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from loguru import logger
|
||||
from starlette.exceptions import HTTPException
|
||||
from starlette.requests import Request
|
||||
from starlette.responses import HTMLResponse
|
||||
|
||||
from lnbits.core.models import User
|
||||
from lnbits.decorators import check_user_exists
|
||||
from lnbits.decorators import check_admin
|
||||
from lnbits.extensions.satspay.helpers import public_charge
|
||||
from lnbits.settings import settings
|
||||
|
||||
from . import satspay_ext, satspay_renderer
|
||||
from .crud import get_charge, get_theme
|
||||
@@ -21,17 +18,15 @@ templates = Jinja2Templates(directory="templates")
|
||||
|
||||
|
||||
@satspay_ext.get("/", response_class=HTMLResponse)
|
||||
async def index(request: Request, user: User = Depends(check_user_exists)):
|
||||
admin = False
|
||||
if settings.lnbits_admin_users and user.id in settings.lnbits_admin_users:
|
||||
admin = True
|
||||
async def index(request: Request, user: User = Depends(check_admin)):
|
||||
return satspay_renderer().TemplateResponse(
|
||||
"satspay/index.html", {"request": request, "user": user.dict(), "admin": admin}
|
||||
"satspay/index.html",
|
||||
{"request": request, "user": user.dict(), "admin": user.admin},
|
||||
)
|
||||
|
||||
|
||||
@satspay_ext.get("/{charge_id}", response_class=HTMLResponse)
|
||||
async def display(request: Request, charge_id: str):
|
||||
async def display_charge(request: Request, charge_id: str):
|
||||
charge = await get_charge(charge_id)
|
||||
if not charge:
|
||||
raise HTTPException(
|
||||
@@ -50,7 +45,7 @@ async def display(request: Request, charge_id: str):
|
||||
|
||||
|
||||
@satspay_ext.get("/css/{css_id}")
|
||||
async def display(css_id: str, response: Response):
|
||||
async def display_css(css_id: str):
|
||||
theme = await get_theme(css_id)
|
||||
if theme:
|
||||
return Response(content=theme.custom_css, media_type="text/css")
|
||||
|
||||
Reference in New Issue
Block a user