from rest_framework import generics, status from rest_framework.response import Response from core.apps.notifications.serializers import notification as serializers from core.apps.notifications.models import Notification from core.apps.accounts.permissions.permissions import HasRolePermission class RegisterExpoPushToken(generics.GenericAPIView): serializer_class = serializers.NotificationSerializer queryset = Notification.objects.all() permission_classes = [HasRolePermission] def post(self, request): serializer = self.serializer_class(data=request.data) if serializer.is_valid(): Notification.objects.get_or_create( user=request.user, token=serializer.validated_data['token'], type=serializer.validated_data.get('type') \ if serializer.validated_data.get('type') \ else 'mobile', ) return Response({"message": "Token saqlandi"}, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)