fix lnbitswallet issue, add ad_space_title, change lntips funding source

This commit is contained in:
dni ⚡ 2022-11-30 16:53:46 +01:00
parent 8b86936b07
commit e740ad3cf8
5 changed files with 32 additions and 8 deletions

View file

@ -24,6 +24,7 @@ async def m001_create_admin_settings_table(db):
lnbits_theme_options TEXT,
lnbits_custom_logo TEXT,
lnbits_ad_space TEXT,
lnbits_ad_space_title TEXT,
lnbits_data_folder TEXT,
lnbits_database_url TEXT,
lnbits_force_https TEXT,
@ -62,7 +63,11 @@ async def m001_create_admin_settings_table(db):
boltz_network TEXT,
boltz_url TEXT,
boltz_mempool_space_url TEXT,
boltz_mempool_space_url_ws TEXT
boltz_mempool_space_url_ws TEXT,
lntips_api_endpoint TEXT,
lntips_api_key TEXT,
lntips_admin_key TEXT,
lntips_invoice_key TEXT
);
"""
)

View file

@ -24,6 +24,7 @@ class UpdateSettings(BaseModel):
lnbits_theme: str = Query(None)
lnbits_custom_logo: str = Query(None)
lnbits_ad_space: List[str] = Query(None)
lnbits_ad_space_title: str = Query(None)
# funding sources
fake_wallet_secret: str = Query(None)
@ -56,6 +57,10 @@ class UpdateSettings(BaseModel):
opennode_key: str = Query(None)
spark_url: str = Query(None)
spark_token: str = Query(None)
lntips_api_endpoint: str = Query(None)
lntips_api_key: str = Query(None)
lntips_admin_key: str = Query(None)
lntips_invoice_key: str = Query(None)
class AdminSettings(UpdateSettings):

View file

@ -5,7 +5,6 @@ from fastapi.params import Depends
from starlette.exceptions import HTTPException
from lnbits.core.crud import get_wallet
from lnbits.core.models import User
from lnbits.decorators import check_admin
from lnbits.extensions.admin import admin_ext
from lnbits.extensions.admin.models import UpdateSettings
@ -13,6 +12,8 @@ from lnbits.server import server_restart
from .crud import delete_settings, get_settings, update_settings, update_wallet_balance
from lnbits.settings import settings, set_settings
@admin_ext.get(
"/api/v1/restart/", status_code=HTTPStatus.OK, dependencies=[Depends(check_admin)]
@ -52,6 +53,7 @@ async def api_update_settings(
data: UpdateSettings = Body(...),
):
settings = await update_settings(data)
set_settings(settings)
if settings:
return {"status": "Success", "settings": settings.dict()}

View file

@ -57,6 +57,7 @@ class Settings(BaseSettings):
)
lnbits_custom_logo: str = Field(default=None)
lnbits_ad_space: List[str] = Field(default=[])
lnbits_ad_space_title: str = Field(default="")
# ops
lnbits_data_folder: str = Field(default="./data")
@ -79,8 +80,9 @@ class Settings(BaseSettings):
"LndWallet",
"LntxbotWallet",
"LNPayWallet",
"LnbitsWallet",
"LNbitsWallet",
"OpenNodeWallet",
"LnTipsWallet",
]
)
fake_wallet_secret: str = Field(default="ToTheMoon1")
@ -113,6 +115,10 @@ class Settings(BaseSettings):
opennode_key: Optional[str] = Field(default=None)
spark_url: Optional[str] = Field(default=None)
spark_token: Optional[str] = Field(default=None)
lntips_api_endpoint: Optional[str] = Field(default=None)
lntips_api_key: Optional[str] = Field(default=None)
lntips_admin_key: Optional[str] = Field(default=None)
lntips_invoice_key: Optional[str] = Field(default=None)
# boltz
boltz_network: str = Field(default="main")
@ -170,6 +176,11 @@ if not settings.lnbits_admin_ui:
logger.debug(f"{key}: {value}")
def set_settings(**kwargs):
for key, value in kwargs.items():
setattr(settings, key, value)
def set_cli_settings(**kwargs):
for key, value in kwargs.items():
setattr(settings, key, value)

View file

@ -2,7 +2,6 @@ import asyncio
import hashlib
import json
import time
from os import getenv
from typing import AsyncGenerator, Dict, Optional
import httpx
@ -16,16 +15,18 @@ from .base import (
Wallet,
)
from lnbits.settings import settings
class LnTipsWallet(Wallet):
def __init__(self):
endpoint = getenv("LNTIPS_API_ENDPOINT")
endpoint = settings.lntips_api_endpoint
self.endpoint = endpoint[:-1] if endpoint.endswith("/") else endpoint
key = (
getenv("LNTIPS_API_KEY")
or getenv("LNTIPS_ADMIN_KEY")
or getenv("LNTIPS_INVOICE_KEY")
settings.lntips_api_key
or settings.lntips_admin_key
or settings.lntips_invoice_key
)
self.auth = {"Authorization": f"Basic {key}"}