From a63ec981f18b90bdef329ffe0d37acc704c15cea Mon Sep 17 00:00:00 2001 From: Black Coffee Date: Mon, 24 Oct 2022 15:33:49 +0100 Subject: [PATCH] SatsPay server save custom css settings now working --- lnbits/extensions/satspay/crud.py | 38 ++++++++++- lnbits/extensions/satspay/migrations.py | 1 - lnbits/extensions/satspay/models.py | 2 + .../satspay/templates/satspay/index.html | 65 +++++++++++++++++++ lnbits/extensions/satspay/views_api.py | 29 ++++++++- 5 files changed, 132 insertions(+), 3 deletions(-) diff --git a/lnbits/extensions/satspay/crud.py b/lnbits/extensions/satspay/crud.py index 968c9ab01..3e45f773f 100644 --- a/lnbits/extensions/satspay/crud.py +++ b/lnbits/extensions/satspay/crud.py @@ -3,6 +3,8 @@ from typing import List, Optional from loguru import logger +from loguru import logger + from lnbits.core.services import create_invoice from lnbits.core.views.api import api_payment from lnbits.helpers import urlsafe_short_hash @@ -10,7 +12,8 @@ from lnbits.helpers import urlsafe_short_hash from ..watchonly.crud import get_config, get_fresh_address from . import db from .helpers import fetch_onchain_balance -from .models import Charges, CreateCharge +from .models import Charges, CreateCharge, SatsPaySettings + ###############CHARGES########################## @@ -121,3 +124,36 @@ async def check_address_balance(charge_id: str) -> Optional[Charges]: if invoice_status["paid"]: return await update_charge(charge_id=charge_id, balance=charge.amount) return await get_charge(charge_id) + + +################## SETTINGS ################### +async def save_settings(user: str, data: SatsPaySettings): + # insert or update + row = await db.fetchone( + """SELECT user FROM satspay.settings WHERE user = ?""", (user,) + ) + if row: + await db.execute( + """ + UPDATE satspay.settings SET custom_css = ? WHERE user = ? + """, + ( + data.custom_css, + user + ), + ) + else: + await db.execute( + """ + INSERT INTO satspay.settings ( + user, + custom_css + ) + VALUES (?, ?) + """, + ( + user, + data.custom_css, + ), + ) + return True diff --git a/lnbits/extensions/satspay/migrations.py b/lnbits/extensions/satspay/migrations.py index 47129dd96..4a4b54603 100644 --- a/lnbits/extensions/satspay/migrations.py +++ b/lnbits/extensions/satspay/migrations.py @@ -46,7 +46,6 @@ async def m002_add_settings_table(db): await db.execute( """ CREATE TABLE satspay.settings ( - id TEXT NOT NULL PRIMARY KEY, "user" TEXT, custom_css TEXT ); diff --git a/lnbits/extensions/satspay/models.py b/lnbits/extensions/satspay/models.py index 1e7c95c99..2c391f1ff 100644 --- a/lnbits/extensions/satspay/models.py +++ b/lnbits/extensions/satspay/models.py @@ -72,3 +72,5 @@ class Charges(BaseModel): def must_call_webhook(self): return self.webhook and self.paid and self.config.webhook_success == False +class SatsPaySettings(BaseModel): + custom_css: str = Query(None) diff --git a/lnbits/extensions/satspay/templates/satspay/index.html b/lnbits/extensions/satspay/templates/satspay/index.html index 60c4d5199..648da73f8 100644 --- a/lnbits/extensions/satspay/templates/satspay/index.html +++ b/lnbits/extensions/satspay/templates/satspay/index.html @@ -8,6 +8,11 @@ New charge + + SatsPay settings + + @@ -394,6 +399,33 @@ + + + + + + Custom CSS to apply styles to your SatsPay invoice + +
+ Save Settings + Cancel +
+
+
+
{% endblock %} {% block scripts %} {{ window_vars(user) }}