[feat] User notifications backend (#3280)

Co-authored-by: Arc <33088785+arcbtc@users.noreply.github.com>
Co-authored-by: dni  <office@dnilabs.com>
This commit is contained in:
Vlad Stan
2025-07-17 16:11:40 +02:00
committed by GitHub
co-authored by Arc dni ⚡
parent a36ab2d408
commit dce2bfb440
15 changed files with 306 additions and 207 deletions
+10 -4
View File
@@ -16,7 +16,7 @@ from lnbits.core.models import User
from lnbits.core.models.misc import Image, SimpleStatus
from lnbits.core.models.notifications import NotificationType
from lnbits.core.services import (
enqueue_notification,
enqueue_admin_notification,
get_balance_delta,
update_cached_settings,
)
@@ -65,7 +65,9 @@ async def api_monitor():
)
async def api_test_email():
return await send_email_notification(
"This is a LNbits test email.", "LNbits Test Email"
settings.lnbits_email_notifications_to_emails,
"This is a LNbits test email.",
"LNbits Test Email",
)
@@ -82,7 +84,9 @@ async def api_get_settings(
status_code=HTTPStatus.OK,
)
async def api_update_settings(data: UpdateSettings, user: User = Depends(check_admin)):
enqueue_notification(NotificationType.settings_update, {"username": user.username})
enqueue_admin_notification(
NotificationType.settings_update, {"username": user.username}
)
await update_admin_settings(data)
admin_settings = await get_admin_settings(user.super_user)
if not admin_settings:
@@ -113,7 +117,9 @@ async def api_reset_settings(field_name: str):
@admin_router.delete("/api/v1/settings", status_code=HTTPStatus.OK)
async def api_delete_settings(user: User = Depends(check_super_user)) -> None:
enqueue_notification(NotificationType.settings_update, {"username": user.username})
enqueue_admin_notification(
NotificationType.settings_update, {"username": user.username}
)
await reset_core_settings()
server_restart.set()