mirror of
https://github.com/lnbits/lnbits.git
synced 2025-09-29 13:22:37 +02:00
feat: .env
super_user
overwrites DB super_user
This commit is contained in:
@@ -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:")
|
||||||
|
Reference in New Issue
Block a user