fix: use super_admin from .env if present

This commit is contained in:
Vlad Stan 2022-12-16 10:29:43 +02:00
parent 7b274433d0
commit 4ee68628cc
2 changed files with 10 additions and 6 deletions

View File

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

View File

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