mirror of
https://github.com/lnbits/lnbits.git
synced 2025-09-20 04:21:20 +02:00
checks, redundant error handling
This commit is contained in:
@@ -29,7 +29,9 @@ async def update_wallet_balance(wallet_id: str, amount: int):
|
||||
|
||||
async def get_admin_settings() -> AdminSettings:
|
||||
row = await db.fetchone("SELECT * FROM admin.settings")
|
||||
admin_settings = AdminSettings(**row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources)
|
||||
admin_settings = AdminSettings(
|
||||
**row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources
|
||||
)
|
||||
for key, _ in row.items():
|
||||
if hasattr(admin_settings, key):
|
||||
setattr(admin_settings, key, getattr(settings, key))
|
||||
@@ -38,7 +40,7 @@ async def get_admin_settings() -> AdminSettings:
|
||||
|
||||
async def update_admin_settings(data: UpdateSettings) -> Optional[AdminSettings]:
|
||||
fields = []
|
||||
for key, value in data.items():
|
||||
for key, value in data.dict().items():
|
||||
if not key in readonly_variables:
|
||||
setattr(settings, key, value)
|
||||
if type(value) == list:
|
||||
|
@@ -5,7 +5,6 @@ from pydantic import BaseModel, validator
|
||||
|
||||
|
||||
class UpdateSettings(BaseModel):
|
||||
|
||||
@validator(
|
||||
"lnbits_admin_users",
|
||||
"lnbits_allowed_users",
|
||||
|
@@ -10,7 +10,12 @@ from lnbits.extensions.admin import admin_ext
|
||||
from lnbits.extensions.admin.models import AdminSettings, UpdateSettings
|
||||
from lnbits.server import server_restart
|
||||
|
||||
from .crud import delete_admin_settings, get_admin_settings, update_admin_settings, update_wallet_balance
|
||||
from .crud import (
|
||||
delete_admin_settings,
|
||||
get_admin_settings,
|
||||
update_admin_settings,
|
||||
update_wallet_balance,
|
||||
)
|
||||
|
||||
|
||||
@admin_ext.get(
|
||||
|
@@ -10,7 +10,6 @@ from loguru import logger
|
||||
from pydantic import BaseSettings, Field, validator
|
||||
|
||||
|
||||
|
||||
def list_parse_fallback(v):
|
||||
try:
|
||||
return json.loads(v)
|
||||
@@ -200,12 +199,7 @@ def set_cli_settings(**kwargs):
|
||||
|
||||
async def check_admin_settings():
|
||||
if settings.lnbits_admin_ui:
|
||||
try:
|
||||
ext_db = importlib.import_module(f"lnbits.extensions.admin").db
|
||||
except:
|
||||
logger.error("could not import module lnbits.extensions.admin database")
|
||||
raise
|
||||
|
||||
ext_db = importlib.import_module(f"lnbits.extensions.admin").db
|
||||
async with ext_db.connect() as db:
|
||||
row = await db.fetchone("SELECT * FROM admin.settings")
|
||||
|
||||
@@ -218,15 +212,17 @@ async def check_admin_settings():
|
||||
|
||||
# setting settings from database into memory
|
||||
from lnbits.extensions.admin.models import AdminSettings
|
||||
sets = AdminSettings(**row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources)
|
||||
|
||||
sets = AdminSettings(
|
||||
**row,
|
||||
lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources,
|
||||
)
|
||||
for key, value in sets.dict().items():
|
||||
if not key in readonly_variables:
|
||||
try:
|
||||
setattr(settings, key, value)
|
||||
except:
|
||||
logger.error(
|
||||
f"error overriding setting: {key}, value: {value}"
|
||||
)
|
||||
logger.error(f"error overriding setting: {key}, value: {value}")
|
||||
|
||||
# printing settings for debugging
|
||||
logger.debug(f"Admin settings:")
|
||||
@@ -235,12 +231,9 @@ async def check_admin_settings():
|
||||
|
||||
http = "https" if settings.lnbits_force_https else "http"
|
||||
user = settings.lnbits_admin_users[0]
|
||||
admin_url = (
|
||||
f"{http}://{settings.host}:{settings.port}/wallet?usr={user}"
|
||||
)
|
||||
admin_url = f"{http}://{settings.host}:{settings.port}/wallet?usr={user}"
|
||||
logger.success(f"✔️ Access admin user account at: {admin_url}")
|
||||
|
||||
|
||||
# callback for saas
|
||||
if (
|
||||
settings.lnbits_saas_callback
|
||||
@@ -286,9 +279,7 @@ async def create_admin_settings(db):
|
||||
v = values.rstrip(",")
|
||||
sql = f"INSERT INTO admin.settings ({q}) VALUES ({v})"
|
||||
await db.execute(sql)
|
||||
logger.warning(
|
||||
"initialized admin.settings from enviroment variables."
|
||||
)
|
||||
logger.warning("initialized admin.settings from enviroment variables.")
|
||||
row = await db.fetchone("SELECT * FROM admin.settings")
|
||||
assert row, "Newly updated settings couldn't be retrieved"
|
||||
return row
|
||||
|
Reference in New Issue
Block a user