infrasynth-backend-kit/infrasynth/notifications/views.py
2026-08-28 14:38:47 -05:00

44 lines
1.4 KiB
Python

from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet
from .filters import (
ChannelConfigFilter,
NotificationDispatchFilter,
NotificationTemplateFilter,
)
from .models import ChannelConfig, NotificationDispatch, NotificationTemplate
from .serializers import (
ChannelConfigSerializer,
NotificationDispatchSerializer,
NotificationTemplateSerializer,
)
class NotificationTemplateViewSet(ModelViewSet):
queryset = NotificationTemplate.objects.all()
serializer_class = NotificationTemplateSerializer
permission_classes = [IsAuthenticated]
filterset_class = NotificationTemplateFilter
def get_queryset(self):
return NotificationTemplate.objects.all()
class NotificationDispatchViewSet(ReadOnlyModelViewSet):
queryset = NotificationDispatch.objects.select_related("template")
serializer_class = NotificationDispatchSerializer
permission_classes = [IsAuthenticated]
filterset_class = NotificationDispatchFilter
def get_queryset(self):
return NotificationDispatch.objects.select_related("template")
class ChannelConfigViewSet(ModelViewSet):
queryset = ChannelConfig.objects.all()
serializer_class = ChannelConfigSerializer
permission_classes = [IsAuthenticated]
filterset_class = ChannelConfigFilter
def get_queryset(self):
return ChannelConfig.objects.all()