1 from rest_framework import serializers
2 from rest_framework.generics import ListCreateAPIView, RetrieveUpdateDestroyAPIView
3 from rest_framework.permissions import IsAuthenticated
4 from api.utils import never_cache
5 from api.fields import AbsoluteURLField
6 from push import models
9 class DeviceTokenSerializer(serializers.ModelSerializer):
10 href = AbsoluteURLField(
11 view_name='push_api_device_token',
16 model = models.DeviceToken
17 fields = ['token', 'created_at', 'updated_at', 'href']
18 read_only_fields = ['created_at', 'updated_at']
20 def create(self, validated_data):
21 return models.DeviceToken.objects.create(
22 user=self.context['request'].user,
28 class DeviceTokensView(ListCreateAPIView):
29 permission_classes = [IsAuthenticated]
30 serializer_class = DeviceTokenSerializer
32 def get_queryset(self):
33 return models.DeviceToken.objects.filter(user=self.request.user)
37 class DeviceTokenView(RetrieveUpdateDestroyAPIView):
38 permission_classes = [IsAuthenticated]
39 serializer_class = DeviceTokenSerializer
41 def get_queryset(self):
42 return models.DeviceToken.objects.filter(user=self.request.user)