Something went wrong. Try again.
A Django application to deliver user notifications made with django-snitch using WebSockets.
Something went wrong. Try again.
1.1 kB · 30 lines
Python
at main
12345678910111213141516171819202122232425262728293031from rest_framework import serializers, status, viewsetsfrom rest_framework.permissions import IsAuthenticatedfrom rest_framework.response import Response
from websocket_notifications.models import NotificationGroup
class NotificationGroupSerializer(serializers.ModelSerializer): class Meta: model = NotificationGroup fields = ["code"]
class NotificationGroupViewSet(viewsets.ModelViewSet): queryset = NotificationGroup.objects.all() serializer_class = NotificationGroupSerializer permission_classes = [IsAuthenticated]
def create(self, request, *args, **kwargs): instance = self.queryset.model.objects.filter(user=self.request.user).first() if not instance: instance, _ = self.queryset.model.objects.get_or_create_for_user( user=self.request.user ) serializer = self.get_serializer(instance, data=request.data) serializer.is_valid(raise_exception=True) headers = self.get_success_headers(serializer.data) return Response( serializer.data, status=status.HTTP_201_CREATED, headers=headers )