checks, redundant error handling

This commit is contained in:
dni ⚡
2022-12-05 17:50:13 +01:00
parent e49112d4ee
commit 9d67c8e4e5
4 changed files with 19 additions and 22 deletions

View File

@@ -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:

View File

@@ -5,7 +5,6 @@ from pydantic import BaseModel, validator
class UpdateSettings(BaseModel):
@validator(
"lnbits_admin_users",
"lnbits_allowed_users",

View File

@@ -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(

View File

@@ -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