feat(src): add notifications API endpoint

- **New Features**:
  - Added new URL route for notifications under `/notifications/` endpoint
  - Integrated `src.api.notifications.urls` module into the main URL configuration
```
This commit is contained in:
sankalp committed 2025-12-18 21:28:33 +05:45
1 parent a4cdaea4fe
commit 2459ccbb6d
3 files changed
+53

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
from django.urls import path
from . import views
urlpatterns = [
path("", views.notifications_dashboard, name="notifications_dashboard"),
path("list/", views.notification_list, name="notification_list"),
path("<int:pk>/detail/", views.notification_detail, name="notification_detail"),
]
+41
View File
@@ -0,0 +1,41 @@
from django.shortcuts import get_object_or_404, render
from src.models.notifications import Notification
def notifications_dashboard(request):
recent_notifications = Notification.objects.all()[:10]
pending_count = Notification.objects.filter(status="PENDING").count()
failed_count = Notification.objects.filter(status="FAILED").count()
sent_count = Notification.objects.filter(status="SENT").count()
return render(
request,
"notifications/dashboard.html",
{
"recent_notifications": recent_notifications,
"pending_count": pending_count,
"failed_count": failed_count,
"sent_count": sent_count,
},
)
def notification_list(request):
notifications = Notification.objects.all()
return render(
request,
"notifications/notification_list.html",
{"notifications": notifications},
)
def notification_detail(request, pk):
notification = get_object_or_404(Notification, pk=pk)
return render(
request,
"notifications/notification_detail.html",
{"notification": notification},
)
+1
View File
@@ -12,4 +12,5 @@ urlpatterns = [
path("projects/", include("src.api.projects.urls")),
path("finance/", include("src.api.finance.urls")),
path("productivity/", include("src.api.productivity.urls")),
path("notifications/", include("src.api.notifications.urls")),
]