mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-23 14:40:47 +01:00
feat: .env
super_user
overwrites DB super_user
This commit is contained in:
parent
d6757ed2cf
commit
d596992993
2 changed files with 20 additions and 12 deletions
|
@ -4,8 +4,6 @@ from typing import Any, Dict, List, Optional
|
|||
from urllib.parse import urlparse
|
||||
from uuid import uuid4
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from lnbits import bolt11
|
||||
from lnbits.db import COCKROACH, POSTGRES, Connection
|
||||
from lnbits.settings import AdminSettings, EditableSetings, SuperSettings, settings
|
||||
|
@ -585,6 +583,14 @@ async def update_admin_settings(data: EditableSetings):
|
|||
await db.execute(f"UPDATE settings SET editable_settings = ?", (json.dumps(data),))
|
||||
|
||||
|
||||
async def update_super_user(super_user: str):
|
||||
await db.execute(
|
||||
"UPDATE settings SET super_user = ?",
|
||||
(super_user),
|
||||
)
|
||||
return await get_super_settings()
|
||||
|
||||
|
||||
async def init_admin_settings(super_user: str = None):
|
||||
user = None
|
||||
if super_user:
|
||||
|
@ -597,3 +603,4 @@ async def init_admin_settings(super_user: str = None):
|
|||
|
||||
sql = f"INSERT INTO settings (super_user, editable_settings) VALUES (?, ?)"
|
||||
await db.execute(sql, (super_user, json.dumps(editable_settings.dict())))
|
||||
return await get_super_settings()
|
||||
|
|
|
@ -41,6 +41,7 @@ from .crud import (
|
|||
init_admin_settings,
|
||||
update_payment_details,
|
||||
update_payment_status,
|
||||
update_super_user,
|
||||
)
|
||||
from .models import Payment
|
||||
|
||||
|
@ -415,18 +416,18 @@ async def update_wallet_balance(wallet_id: str, amount: int):
|
|||
|
||||
async def check_admin_settings():
|
||||
if settings.lnbits_admin_ui:
|
||||
sets = await get_super_settings()
|
||||
if not sets:
|
||||
settings_db = await get_super_settings()
|
||||
if not settings_db:
|
||||
# create new settings if table is empty
|
||||
logger.warning(
|
||||
"settings empty. inserting new settings and creating admin account"
|
||||
)
|
||||
await init_admin_settings(settings.super_user)
|
||||
logger.warning("initialized settings from enviroment variables.")
|
||||
sets = await get_super_settings()
|
||||
logger.warning("Settings DB empty. Inserting default settings.")
|
||||
settings_db = await init_admin_settings(settings.super_user)
|
||||
logger.warning("Initialized settings from enviroment variables.")
|
||||
|
||||
if sets:
|
||||
update_cached_settings(sets.dict())
|
||||
if settings.super_user and settings.super_user != settings_db.super_user:
|
||||
# .env super_user overwrites DB super_user
|
||||
settings_db = await update_super_user(settings.super_user)
|
||||
|
||||
update_cached_settings(settings_db.dict())
|
||||
|
||||
# printing settings for debugging
|
||||
logger.debug(f"Admin settings:")
|
||||
|
|
Loading…
Add table
Reference in a new issue