fix lnbitswallet issue, add ad_space_title, change lntips funding source
This commit is contained in:
parent
8b86936b07
commit
e740ad3cf8
5 changed files with 32 additions and 8 deletions
|
|
@ -24,6 +24,7 @@ async def m001_create_admin_settings_table(db):
|
||||||
lnbits_theme_options TEXT,
|
lnbits_theme_options TEXT,
|
||||||
lnbits_custom_logo TEXT,
|
lnbits_custom_logo TEXT,
|
||||||
lnbits_ad_space TEXT,
|
lnbits_ad_space TEXT,
|
||||||
|
lnbits_ad_space_title TEXT,
|
||||||
lnbits_data_folder TEXT,
|
lnbits_data_folder TEXT,
|
||||||
lnbits_database_url TEXT,
|
lnbits_database_url TEXT,
|
||||||
lnbits_force_https TEXT,
|
lnbits_force_https TEXT,
|
||||||
|
|
@ -62,7 +63,11 @@ async def m001_create_admin_settings_table(db):
|
||||||
boltz_network TEXT,
|
boltz_network TEXT,
|
||||||
boltz_url TEXT,
|
boltz_url TEXT,
|
||||||
boltz_mempool_space_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
|
||||||
);
|
);
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ class UpdateSettings(BaseModel):
|
||||||
lnbits_theme: str = Query(None)
|
lnbits_theme: str = Query(None)
|
||||||
lnbits_custom_logo: str = Query(None)
|
lnbits_custom_logo: str = Query(None)
|
||||||
lnbits_ad_space: List[str] = Query(None)
|
lnbits_ad_space: List[str] = Query(None)
|
||||||
|
lnbits_ad_space_title: str = Query(None)
|
||||||
|
|
||||||
# funding sources
|
# funding sources
|
||||||
fake_wallet_secret: str = Query(None)
|
fake_wallet_secret: str = Query(None)
|
||||||
|
|
@ -56,6 +57,10 @@ class UpdateSettings(BaseModel):
|
||||||
opennode_key: str = Query(None)
|
opennode_key: str = Query(None)
|
||||||
spark_url: str = Query(None)
|
spark_url: str = Query(None)
|
||||||
spark_token: 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):
|
class AdminSettings(UpdateSettings):
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ from fastapi.params import Depends
|
||||||
from starlette.exceptions import HTTPException
|
from starlette.exceptions import HTTPException
|
||||||
|
|
||||||
from lnbits.core.crud import get_wallet
|
from lnbits.core.crud import get_wallet
|
||||||
from lnbits.core.models import User
|
|
||||||
from lnbits.decorators import check_admin
|
from lnbits.decorators import check_admin
|
||||||
from lnbits.extensions.admin import admin_ext
|
from lnbits.extensions.admin import admin_ext
|
||||||
from lnbits.extensions.admin.models import UpdateSettings
|
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 .crud import delete_settings, get_settings, update_settings, update_wallet_balance
|
||||||
|
|
||||||
|
from lnbits.settings import settings, set_settings
|
||||||
|
|
||||||
|
|
||||||
@admin_ext.get(
|
@admin_ext.get(
|
||||||
"/api/v1/restart/", status_code=HTTPStatus.OK, dependencies=[Depends(check_admin)]
|
"/api/v1/restart/", status_code=HTTPStatus.OK, dependencies=[Depends(check_admin)]
|
||||||
|
|
@ -52,6 +53,7 @@ async def api_update_settings(
|
||||||
data: UpdateSettings = Body(...),
|
data: UpdateSettings = Body(...),
|
||||||
):
|
):
|
||||||
settings = await update_settings(data)
|
settings = await update_settings(data)
|
||||||
|
set_settings(settings)
|
||||||
if settings:
|
if settings:
|
||||||
return {"status": "Success", "settings": settings.dict()}
|
return {"status": "Success", "settings": settings.dict()}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ class Settings(BaseSettings):
|
||||||
)
|
)
|
||||||
lnbits_custom_logo: str = Field(default=None)
|
lnbits_custom_logo: str = Field(default=None)
|
||||||
lnbits_ad_space: List[str] = Field(default=[])
|
lnbits_ad_space: List[str] = Field(default=[])
|
||||||
|
lnbits_ad_space_title: str = Field(default="")
|
||||||
|
|
||||||
# ops
|
# ops
|
||||||
lnbits_data_folder: str = Field(default="./data")
|
lnbits_data_folder: str = Field(default="./data")
|
||||||
|
|
@ -79,8 +80,9 @@ class Settings(BaseSettings):
|
||||||
"LndWallet",
|
"LndWallet",
|
||||||
"LntxbotWallet",
|
"LntxbotWallet",
|
||||||
"LNPayWallet",
|
"LNPayWallet",
|
||||||
"LnbitsWallet",
|
"LNbitsWallet",
|
||||||
"OpenNodeWallet",
|
"OpenNodeWallet",
|
||||||
|
"LnTipsWallet",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
fake_wallet_secret: str = Field(default="ToTheMoon1")
|
fake_wallet_secret: str = Field(default="ToTheMoon1")
|
||||||
|
|
@ -113,6 +115,10 @@ class Settings(BaseSettings):
|
||||||
opennode_key: Optional[str] = Field(default=None)
|
opennode_key: Optional[str] = Field(default=None)
|
||||||
spark_url: Optional[str] = Field(default=None)
|
spark_url: Optional[str] = Field(default=None)
|
||||||
spark_token: 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
|
||||||
boltz_network: str = Field(default="main")
|
boltz_network: str = Field(default="main")
|
||||||
|
|
@ -170,6 +176,11 @@ if not settings.lnbits_admin_ui:
|
||||||
logger.debug(f"{key}: {value}")
|
logger.debug(f"{key}: {value}")
|
||||||
|
|
||||||
|
|
||||||
|
def set_settings(**kwargs):
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
setattr(settings, key, value)
|
||||||
|
|
||||||
|
|
||||||
def set_cli_settings(**kwargs):
|
def set_cli_settings(**kwargs):
|
||||||
for key, value in kwargs.items():
|
for key, value in kwargs.items():
|
||||||
setattr(settings, key, value)
|
setattr(settings, key, value)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ import asyncio
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
import time
|
import time
|
||||||
from os import getenv
|
|
||||||
from typing import AsyncGenerator, Dict, Optional
|
from typing import AsyncGenerator, Dict, Optional
|
||||||
|
|
||||||
import httpx
|
import httpx
|
||||||
|
|
@ -16,16 +15,18 @@ from .base import (
|
||||||
Wallet,
|
Wallet,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from lnbits.settings import settings
|
||||||
|
|
||||||
|
|
||||||
class LnTipsWallet(Wallet):
|
class LnTipsWallet(Wallet):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
endpoint = getenv("LNTIPS_API_ENDPOINT")
|
endpoint = settings.lntips_api_endpoint
|
||||||
self.endpoint = endpoint[:-1] if endpoint.endswith("/") else endpoint
|
self.endpoint = endpoint[:-1] if endpoint.endswith("/") else endpoint
|
||||||
|
|
||||||
key = (
|
key = (
|
||||||
getenv("LNTIPS_API_KEY")
|
settings.lntips_api_key
|
||||||
or getenv("LNTIPS_ADMIN_KEY")
|
or settings.lntips_admin_key
|
||||||
or getenv("LNTIPS_INVOICE_KEY")
|
or settings.lntips_invoice_key
|
||||||
)
|
)
|
||||||
self.auth = {"Authorization": f"Basic {key}"}
|
self.auth = {"Authorization": f"Basic {key}"}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue