diff --git a/lnbits/extensions/scrub/__init__.py b/lnbits/extensions/scrub/__init__.py index 3d25a097..777a7c3f 100644 --- a/lnbits/extensions/scrub/__init__.py +++ b/lnbits/extensions/scrub/__init__.py @@ -24,7 +24,6 @@ def scrub_renderer(): return template_renderer(["lnbits/extensions/scrub/templates"]) -from .lnurl import * # noqa from .tasks import wait_for_paid_invoices from .views import * # noqa from .views_api import * # noqa diff --git a/lnbits/extensions/scrub/crud.py b/lnbits/extensions/scrub/crud.py index 0dee689c..b6d1bf72 100644 --- a/lnbits/extensions/scrub/crud.py +++ b/lnbits/extensions/scrub/crud.py @@ -2,10 +2,10 @@ from typing import List, Optional, Union from lnbits.db import SQLITE from . import db -from .models import ScrubLink, CreateScrubLinkData +from .models import ScrubLink -async def create_scrub_link(wallet_id: str, data: CreateSatsDiceLink) -> satsdiceLink: +async def create_scrub_link(wallet_id: str, data: ScrubLink) -> ScrubLink: satsdice_id = urlsafe_short_hash() await db.execute( """ @@ -29,14 +29,14 @@ async def create_scrub_link(wallet_id: str, data: CreateSatsDiceLink) -> satsdic return link -async def get_scrub_link(link_id: str) -> Optional[satsdiceLink]: +async def get_scrub_link(link_id: str) -> Optional[ScrubLink]: row = await db.fetchone( "SELECT * FROM scrub.scrub_links WHERE id = ?", (link_id,) ) - return satsdiceLink(**row) if row else None + return ScrubLink(**row) if row else None -async def get_scrub_links(wallet_ids: Union[str, List[str]]) -> List[satsdiceLink]: +async def get_scrub_links(wallet_ids: Union[str, List[str]]) -> List[ScrubLink]: if isinstance(wallet_ids, str): wallet_ids = [wallet_ids] @@ -48,10 +48,10 @@ async def get_scrub_links(wallet_ids: Union[str, List[str]]) -> List[satsdiceLin """, (*wallet_ids,), ) - return [satsdiceLink(**row) for row in rows] + return [ScrubLink(**row) for row in rows] -async def update_scrub_link(link_id: int, **kwargs) -> Optional[satsdiceLink]: +async def update_scrub_link(link_id: int, **kwargs) -> Optional[ScrubLink]: q = ", ".join([f"{field[0]} = ?" for field in kwargs.items()]) await db.execute( f"UPDATE scrub.scrub_links SET {q} WHERE id = ?", @@ -60,7 +60,7 @@ async def update_scrub_link(link_id: int, **kwargs) -> Optional[satsdiceLink]: row = await db.fetchone( "SELECT * FROM scrub.scrub_links WHERE id = ?", (link_id,) ) - return satsdiceLink(**row) if row else None + return ScrubLink(**row) if row else None async def delete_scrub_link(link_id: int) -> None: await db.execute("DELETE FROM scrub.scrub_links WHERE id = ?", (link_id,)) diff --git a/lnbits/extensions/scrub/models.py b/lnbits/extensions/scrub/models.py index b4eae631..41fa5f37 100644 --- a/lnbits/extensions/scrub/models.py +++ b/lnbits/extensions/scrub/models.py @@ -4,10 +4,16 @@ from starlette.requests import Request from fastapi.param_functions import Query from typing import Optional, Dict from lnbits.lnurl import encode as lnurl_encode # type: ignore -from lnurl.types import LnurlScrubMetadata # type: ignore from sqlite3 import Row from pydantic import BaseModel + +class CreateScrubLink(BaseModel): + wallet: str + description: str + payoraddress: str + + class ScrubLink(BaseModel): id: int wallet: str @@ -21,8 +27,4 @@ class ScrubLink(BaseModel): def lnurl(self, req: Request) -> str: url = req.url_for("scrub.api_lnurl_response", link_id=self.id) - return lnurl_encode(url) - - @property - def scrubay_metadata(self) -> LnurlScrubMetadata: - return LnurlScrubMetadata(json.dumps([["text/plain", self.description]])) \ No newline at end of file + return lnurl_encode(url) \ No newline at end of file diff --git a/lnbits/extensions/scrub/static/js/index.js b/lnbits/extensions/scrub/static/js/index.js index bfc8c1a6..ab41381c 100644 --- a/lnbits/extensions/scrub/static/js/index.js +++ b/lnbits/extensions/scrub/static/js/index.js @@ -106,11 +106,7 @@ new Vue({ const wallet = _.findWhere(this.g.user.wallets, { id: this.formDialog.data.wallet }) - var data = _.omit(this.formDialog.data, 'wallet') - - if (this.formDialog.fixedAmount) data.max = data.min - if (data.currency === 'satoshis') data.currency = null - if (isNaN(parseInt(data.comment_chars))) data.comment_chars = 0 + console.log(wallet) if (data.id) { this.updateScrubLink(wallet, data) diff --git a/lnbits/extensions/scrub/tasks.py b/lnbits/extensions/scrub/tasks.py index b99dc35c..9627707c 100644 --- a/lnbits/extensions/scrub/tasks.py +++ b/lnbits/extensions/scrub/tasks.py @@ -3,10 +3,10 @@ import json import httpx from lnbits.core import db as core_db -from lnbits.core.models import Scrubment +from .models import ScrubLink from lnbits.tasks import register_invoice_listener -from .crud import get_pay_link +from .crud import get_scrub_link async def wait_for_paid_invoices(): @@ -18,7 +18,7 @@ async def wait_for_paid_invoices(): await on_invoice_paid(payment) -async def on_invoice_paid(payment: Scrubment) -> None: +async def on_invoice_paid(payment: ScrubLink) -> None: if "scrub" != payment.extra.get("tag"): # not an scrub invoice return @@ -31,7 +31,7 @@ async def on_invoice_paid(payment: Scrubment) -> None: # PAY LNURLP AND LNADDRESS -async def mark_webhook_sent(payment: Scrubment, status: int) -> None: +async def mark_webhook_sent(payment: ScrubLink, status: int) -> None: payment.extra["wh_status"] = status await core_db.execute( diff --git a/lnbits/extensions/scrub/templates/lnurlp/_api_docs.html b/lnbits/extensions/scrub/templates/scrub/_api_docs.html similarity index 100% rename from lnbits/extensions/scrub/templates/lnurlp/_api_docs.html rename to lnbits/extensions/scrub/templates/scrub/_api_docs.html diff --git a/lnbits/extensions/scrub/templates/lnurlp/_lnurl.html b/lnbits/extensions/scrub/templates/scrub/_lnurl.html similarity index 100% rename from lnbits/extensions/scrub/templates/lnurlp/_lnurl.html rename to lnbits/extensions/scrub/templates/scrub/_lnurl.html diff --git a/lnbits/extensions/scrub/templates/lnurlp/display.html b/lnbits/extensions/scrub/templates/scrub/display.html similarity index 100% rename from lnbits/extensions/scrub/templates/lnurlp/display.html rename to lnbits/extensions/scrub/templates/scrub/display.html diff --git a/lnbits/extensions/scrub/templates/lnurlp/index.html b/lnbits/extensions/scrub/templates/scrub/index.html similarity index 97% rename from lnbits/extensions/scrub/templates/lnurlp/index.html rename to lnbits/extensions/scrub/templates/scrub/index.html index ec9aafea..95354da4 100644 --- a/lnbits/extensions/scrub/templates/lnurlp/index.html +++ b/lnbits/extensions/scrub/templates/scrub/index.html @@ -5,7 +5,7 @@ New pay linkNew scrub link @@ -28,9 +28,9 @@