diff --git a/lnbits/extensions/diagonalley/__init__.py b/lnbits/extensions/diagonalley/__init__.py index 388c08db1..dc7b0efbb 100644 --- a/lnbits/extensions/diagonalley/__init__.py +++ b/lnbits/extensions/diagonalley/__init__.py @@ -1,28 +1,36 @@ import asyncio -from fastapi import APIRouter +from fastapi import APIRouter, Request from fastapi.staticfiles import StaticFiles from lnbits.db import Database from lnbits.helpers import template_renderer from lnbits.tasks import catch_everything_and_restart +from starlette.exceptions import HTTPException +from starlette.responses import HTMLResponse +from http import HTTPStatus -db = Database("ext_diagonalley") - +from lnbits.settings import LNBITS_ADMIN_EXTENSIONS diagonalley_ext: APIRouter = APIRouter( prefix="/diagonalley", tags=["diagonalley"] ) +db = Database("ext_diagonalley") +if 'nostradmin' not in LNBITS_ADMIN_EXTENSIONS: + @diagonalley_ext.get("/", response_class=HTMLResponse) + async def index(request: Request): + return template_renderer().TemplateResponse( + "error.html", {"request": request, "err": "Ask system admin to enable NostrAdmin!"} + ) +else: + def diagonalley_renderer(): + return template_renderer(["lnbits/extensions/diagonalley/templates"]) -def diagonalley_renderer(): - return template_renderer(["lnbits/extensions/diagonalley/templates"]) + from .tasks import wait_for_paid_invoices + from .views import * # noqa + from .views_api import * # noqa -from .tasks import wait_for_paid_invoices -from .views import * # noqa -from .views_api import * # noqa - - -def diagonalley_start(): - loop = asyncio.get_event_loop() - loop.create_task(catch_everything_and_restart(wait_for_paid_invoices)) \ No newline at end of file + def diagonalley_start(): + loop = asyncio.get_event_loop() + loop.create_task(catch_everything_and_restart(wait_for_paid_invoices)) \ No newline at end of file diff --git a/lnbits/extensions/diagonalley/config.json b/lnbits/extensions/diagonalley/config.json index 99e92e9b5..8ad417271 100644 --- a/lnbits/extensions/diagonalley/config.json +++ b/lnbits/extensions/diagonalley/config.json @@ -1,6 +1,6 @@ { - "name": "Diagon Alley", - "short_description": "Movable anonymous market stand", - "icon": "add_shopping_cart", - "contributors": ["benarc","DeanH"] + "name": "Diagon Alley", + "short_description": "Nostr shop system", + "icon": "add_shopping_cart", + "contributors": ["benarc"] } diff --git a/lnbits/extensions/nostradmin/__init__.py b/lnbits/extensions/nostradmin/__init__.py index 797542c49..915860003 100644 --- a/lnbits/extensions/nostradmin/__init__.py +++ b/lnbits/extensions/nostradmin/__init__.py @@ -1,16 +1,37 @@ -from fastapi import APIRouter +from fastapi import APIRouter, Request from lnbits.db import Database from lnbits.helpers import template_renderer -db = Database("ext_nostradmin") +from starlette.exceptions import HTTPException +from starlette.responses import HTMLResponse +from http import HTTPStatus + +from lnbits.settings import LNBITS_ADMIN_EXTENSIONS nostradmin_ext: APIRouter = APIRouter(prefix="/nostradmin", tags=["nostradmin"]) +db = Database("ext_nostradmin") +if 'nostradmin' not in LNBITS_ADMIN_EXTENSIONS: + @nostradmin_ext.get("/", response_class=HTMLResponse) + async def index(request: Request): + return template_renderer().TemplateResponse( + "error.html", {"request": request, "err": "NostrAdmin must be added to LNBITS_ADMIN_EXTENSIONS in .env"} + ) +else: + + def nostr_renderer(): + return template_renderer(["lnbits/extensions/nostradmin/templates"]) + + from .views import * # noqa + from .views_api import * # noqa + + + + + + + -def nostr_renderer(): - return template_renderer(["lnbits/extensions/nostradmin/templates"]) -from .views import * # noqa -from .views_api import * # noqa diff --git a/lnbits/extensions/nostradmin/views.py b/lnbits/extensions/nostradmin/views.py index 90d03eba0..8e421abb4 100644 --- a/lnbits/extensions/nostradmin/views.py +++ b/lnbits/extensions/nostradmin/views.py @@ -21,6 +21,7 @@ from .crud import get_nostrkeys, get_nostrrelay templates = Jinja2Templates(directory="templates") +nostradmin = True @nostradmin_ext.get("/", response_class=HTMLResponse) async def index(request: Request, user: User = Depends(check_user_exists)):