diff --git a/lnbits/core/crud.py b/lnbits/core/crud.py index 01a01fccb..ded7665c2 100644 --- a/lnbits/core/crud.py +++ b/lnbits/core/crud.py @@ -585,11 +585,15 @@ async def update_admin_settings(data: EditableSetings): await db.execute(f"UPDATE settings SET editable_settings = ?", (json.dumps(data),)) -async def create_admin_settings(): - account = await create_account() - settings.super_user = account.id +async def init_admin_settings(super_user: str = None): + user = None + if super_user: + user = await get_account(super_user) + if not user: + account = await create_account() + super_user = account.id editable_settings = EditableSetings.from_dict(settings.dict()) sql = f"INSERT INTO settings (super_user, editable_settings) VALUES (?, ?)" - await db.execute(sql, (settings.super_user, json.dumps(editable_settings.dict()))) + await db.execute(sql, (super_user, json.dumps(editable_settings.dict()))) diff --git a/lnbits/core/services.py b/lnbits/core/services.py index 69cd79193..ed898e730 100644 --- a/lnbits/core/services.py +++ b/lnbits/core/services.py @@ -33,12 +33,12 @@ from lnbits.wallets.base import PaymentResponse, PaymentStatus from . import db from .crud import ( check_internal, - create_admin_settings, create_payment, delete_wallet_payment, get_super_settings, get_wallet, get_wallet_payment, + init_admin_settings, update_payment_details, update_payment_status, ) @@ -421,7 +421,7 @@ async def check_admin_settings(): logger.warning( "settings empty. inserting new settings and creating admin account" ) - await create_admin_settings() + await init_admin_settings(settings.super_user) logger.warning("initialized settings from enviroment variables.") sets = await get_super_settings()