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 urllib.parse import urlparse
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
from lnbits import bolt11
|
from lnbits import bolt11
|
||||||
from lnbits.db import COCKROACH, POSTGRES, Connection
|
from lnbits.db import COCKROACH, POSTGRES, Connection
|
||||||
from lnbits.settings import AdminSettings, EditableSetings, SuperSettings, settings
|
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),))
|
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):
|
async def init_admin_settings(super_user: str = None):
|
||||||
user = None
|
user = None
|
||||||
if super_user:
|
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 (?, ?)"
|
sql = f"INSERT INTO settings (super_user, editable_settings) VALUES (?, ?)"
|
||||||
await db.execute(sql, (super_user, json.dumps(editable_settings.dict())))
|
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,
|
init_admin_settings,
|
||||||
update_payment_details,
|
update_payment_details,
|
||||||
update_payment_status,
|
update_payment_status,
|
||||||
|
update_super_user,
|
||||||
)
|
)
|
||||||
from .models import Payment
|
from .models import Payment
|
||||||
|
|
||||||
|
|
@ -415,18 +416,18 @@ async def update_wallet_balance(wallet_id: str, amount: int):
|
||||||
|
|
||||||
async def check_admin_settings():
|
async def check_admin_settings():
|
||||||
if settings.lnbits_admin_ui:
|
if settings.lnbits_admin_ui:
|
||||||
sets = await get_super_settings()
|
settings_db = await get_super_settings()
|
||||||
if not sets:
|
if not settings_db:
|
||||||
# create new settings if table is empty
|
# create new settings if table is empty
|
||||||
logger.warning(
|
logger.warning("Settings DB empty. Inserting default settings.")
|
||||||
"settings empty. inserting new settings and creating admin account"
|
settings_db = await init_admin_settings(settings.super_user)
|
||||||
)
|
logger.warning("Initialized settings from enviroment variables.")
|
||||||
await init_admin_settings(settings.super_user)
|
|
||||||
logger.warning("initialized settings from enviroment variables.")
|
|
||||||
sets = await get_super_settings()
|
|
||||||
|
|
||||||
if sets:
|
if settings.super_user and settings.super_user != settings_db.super_user:
|
||||||
update_cached_settings(sets.dict())
|
# .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
|
# printing settings for debugging
|
||||||
logger.debug(f"Admin settings:")
|
logger.debug(f"Admin settings:")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue