diff --git a/lnbits/extensions/scrub/crud.py b/lnbits/extensions/scrub/crud.py index c9880567..549a2643 100644 --- a/lnbits/extensions/scrub/crud.py +++ b/lnbits/extensions/scrub/crud.py @@ -6,7 +6,7 @@ from . import db from .models import CreateScrubLink, ScrubLink -async def create_scrub_link(wallet_id: str, data: CreateScrubLink) -> ScrubLink: +async def create_scrub_link(data: CreateScrubLink) -> ScrubLink: scrub_id = urlsafe_short_hash() await db.execute( """ diff --git a/lnbits/extensions/scrub/templates/scrub/display.html b/lnbits/extensions/scrub/templates/scrub/display.html deleted file mode 100644 index 424d3c58..00000000 --- a/lnbits/extensions/scrub/templates/scrub/display.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "public.html" %} {% block page %} -
-
- - - -
- Copy LNURL -
-
-
-
-
- - -
LNbits LNURL-pay link
-

Use an LNURL compatible bitcoin wallet to pay.

-
- - - {% include "scrub/_lnurl.html" %} - -
-
-
-{% endblock %} {% block scripts %} - -{% endblock %} diff --git a/lnbits/extensions/scrub/templates/scrub/print_qr.html b/lnbits/extensions/scrub/templates/scrub/print_qr.html deleted file mode 100644 index 4e3152e8..00000000 --- a/lnbits/extensions/scrub/templates/scrub/print_qr.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "print.html" %} {% block page %} -
-
- -
-
-{% endblock %} {% block styles %} - -{% endblock %} {% block scripts %} - -{% endblock %} diff --git a/lnbits/extensions/scrub/views.py b/lnbits/extensions/scrub/views.py index d373e5b2..73c7ffd9 100644 --- a/lnbits/extensions/scrub/views.py +++ b/lnbits/extensions/scrub/views.py @@ -1,16 +1,12 @@ -from http import HTTPStatus - from fastapi import Request from fastapi.params import Depends from fastapi.templating import Jinja2Templates -from starlette.exceptions import HTTPException from starlette.responses import HTMLResponse from lnbits.core.models import User from lnbits.decorators import check_user_exists from . import scrub_ext, scrub_renderer -from .crud import get_scrub_link templates = Jinja2Templates(directory="templates") @@ -20,25 +16,3 @@ async def index(request: Request, user: User = Depends(check_user_exists)): return scrub_renderer().TemplateResponse( "scrub/index.html", {"request": request, "user": user.dict()} ) - -# DO WE NEED THIS ?! -@scrub_ext.get("/{link_id}", response_class=HTMLResponse) -async def display(request: Request, link_id): - link = await get_scrub_link(link_id) - if not link: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Scrub link does not exist." - ) - ctx = {"request": request, "lnurl": link.lnurl(req=request)} - return scrub_renderer().TemplateResponse("scrub/display.html", ctx) - -# DO WE NEED THIS ?! -@scrub_ext.get("/print/{link_id}", response_class=HTMLResponse) -async def print_qr(request: Request, link_id): - link = await get_scrub_link(link_id) - if not link: - raise HTTPException( - status_code=HTTPStatus.NOT_FOUND, detail="Scrub link does not exist." - ) - ctx = {"request": request, "lnurl": link.lnurl(req=request)} - return scrub_renderer().TemplateResponse("scrub/print_qr.html", ctx) diff --git a/lnbits/extensions/scrub/views_api.py b/lnbits/extensions/scrub/views_api.py index 176693ad..17dd5b52 100644 --- a/lnbits/extensions/scrub/views_api.py +++ b/lnbits/extensions/scrub/views_api.py @@ -15,6 +15,7 @@ from .crud import ( delete_scrub_link, get_scrub_link, get_scrub_links, + unique_scrubed_wallet, update_scrub_link, ) from .models import CreateScrubLink @@ -44,25 +45,6 @@ async def api_links( ) -@scrub_ext.get("/api/v1/links/{link_id}", status_code=HTTPStatus.OK) -async def api_link_retrieve( - r: Request, link_id, wallet: WalletTypeInfo = Depends(get_key_type) -): - link = await get_scrub_link(link_id) - - if not link: - raise HTTPException( - detail="Scrub link does not exist.", status_code=HTTPStatus.NOT_FOUND - ) - - if link.wallet != wallet.wallet.id: - raise HTTPException( - detail="Not your pay link.", status_code=HTTPStatus.FORBIDDEN - ) - - return {**link.dict(), **{"lnurl": link.lnurl(r)}} - - @scrub_ext.post("/api/v1/links", status_code=HTTPStatus.CREATED) @scrub_ext.put("/api/v1/links/{link_id}", status_code=HTTPStatus.OK) async def api_scrub_create_or_update( @@ -85,7 +67,13 @@ async def api_scrub_create_or_update( link = await update_scrub_link(**data.dict(), link_id=link_id) else: - link = await create_scrub_link(wallet_id=wallet.wallet.id, data=data) + wallet_has_scrub = await unique_scrubed_wallet(wallet_id=data.wallet) + print("HAS", wallet_has_scrub) + if wallet_has_scrub > 0: + raise HTTPException( + detail="Wallet is already being Scrubbed", status_code=HTTPStatus.FORBIDDEN + ) + link = await create_scrub_link(data=data) return link