From d4ec293d7077a30b12b646a6be36e62c0ec574c4 Mon Sep 17 00:00:00 2001 From: roai_linux Date: Fri, 13 Mar 2026 16:18:14 +0330 Subject: [PATCH] feat: add admin/notifications --- Back/domains/admin/api.py | 10 ++++++++++ Back/domains/notifications/repo.py | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/Back/domains/admin/api.py b/Back/domains/admin/api.py index cc6dc8d..6a4a4c0 100644 --- a/Back/domains/admin/api.py +++ b/Back/domains/admin/api.py @@ -20,6 +20,9 @@ from domains.admin.service import ( ) from domains.users.repo import get_all_users +from domains.notifications.schemas import NotificationResponse +from domains.notifications.repo import get_all_notifications + router = APIRouter( prefix="/admin", @@ -105,3 +108,10 @@ async def list_groups( admin=Depends(get_current_admin) ): return await get_all_groups(db) + +@router.get("/notifications", response_model=list[NotificationResponse]) +async def list_notifications( + db: AsyncSession = Depends(get_db), + admin=Depends(get_current_admin) +): + return await get_all_notifications(db) diff --git a/Back/domains/notifications/repo.py b/Back/domains/notifications/repo.py index 0c97b05..bbf09ea 100644 --- a/Back/domains/notifications/repo.py +++ b/Back/domains/notifications/repo.py @@ -24,6 +24,13 @@ async def get_user_notifications(db: AsyncSession, user_id: uuid.UUID): ) return result.scalars().all() +async def get_all_notifications(db: AsyncSession): + result = await db.execute( + select(Notification) + .order_by(Notification.created_at.desc()) + ) + return result.scalars().all() + async def update_notification(db: AsyncSession, notification: Notification): await db.commit() await db.refresh(notification)