From e4665726df80e798308855b8a11c23d915523243 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 15 Jul 2024 15:46:13 +0200 Subject: [PATCH] Fix multiple tokens issue --- api/views.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/api/views.py b/api/views.py index bd1616e..d1b9fda 100644 --- a/api/views.py +++ b/api/views.py @@ -252,21 +252,16 @@ class DeviceTokenViewSet(viewsets.ModelViewSet): return self.queryset.filter(user=self.request.user) return [] - # def create(self, request, *args, **kwargs): - # value = request.data.get('value') - # if DeviceToken.objects.filter(value=value).exists(): - # return Response({"detail": "This device token is already registered."}, status=208) - - # print('a') - # serializer = self.get_serializer(data=request.data) - # print('b') - # # serializer.is_valid(raise_exception=True) - # print('c') - # self.perform_create(serializer) - # print('d') - # headers = self.get_success_headers(serializer.data) - # return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) + def create(self, request, *args, **kwargs): + value = request.data.get('value') + if DeviceToken.objects.filter(value=value).exists(): + return Response({"detail": "This device token is already registered."}, status=208) + + serializer = self.get_serializer(data=request.data) + serializer.is_valid(raise_exception=True) + self.perform_create(serializer) + headers = self.get_success_headers(serializer.data) + return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) def perform_create(self, serializer): - # serializer.is_valid(raise_exception=True) serializer.save(user=self.request.user)