44 lines
1.4 KiB
Python
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()
|