Files
ibapp-backend/core/apps/notifications/views/notification.py
2025-10-30 15:18:07 +05:00

25 lines
1.1 KiB
Python

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)