def post(self, request): post_data = json.loads(request.body) channel_name = None if 'channel' in post_data: channel_name = post_data['channel'] deviceToken = post_data['token'] browser = post_data['browser'] deviceId = post_data['device_id'] name = "-" if request.user.is_authenticated(): name = request.user.username # Create il subscriber if it doesn't exist subscriber, created = Subscriber.objects.update_or_create( device_id=deviceId, defaults={ 'sub_type': browser, 'sandbox': False, 'enabled': True, 'name': name, 'token': deviceToken }) # Channel subscription if channel_name is not None: channel = get_object_or_404(Channel, name=channel_name) ask_subscribe_channel(channel, deviceId) return HttpResponse(status=201 if created else 200)
def post(self, request): post_data = json.loads(request.body) channel_name = None if 'channel' in post_data: channel_name = post_data['channel'] deviceToken = post_data['token'] browser = post_data['browser'] deviceId = post_data['device_id'] name = "-" if request.user.is_authenticated(): name = request.user.username # Create il subscriber if it doesn't exist subscriber, created = Subscriber.objects.update_or_create(device_id=deviceId, defaults={'sub_type': browser, 'sandbox': False, 'enabled': True, 'name': name, 'token': deviceToken}) # Channel subscription if channel_name is not None: channel = get_object_or_404(Channel, name=channel_name) ask_subscribe_channel(channel, deviceId) return HttpResponse(status=201 if created else 200)
def post(self, request, format=None, name=None): """ Subscribe to the Channel identified by "name" """ channels = Channel.objects.filter(name=name) if not channels: logger.error("Subscribe to inexistent channel : " + name) return Response(status=status.HTTP_404_NOT_FOUND) serializer = ChannelSubscriptionSerializer(data=request.DATA) if serializer.is_valid(): subscriber_data = serializer.object channel = channels[0] subscribe_resp = ask_subscribe_channel( channel, subscriber_data['device_id']) if subscribe_resp == SubscribeResponse.SUBSCRIBED: return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response( status=(status.HTTP_202_ACCEPTED if subscribe_resp == SubscribeResponse.REQUEST_SEND else status. HTTP_400_BAD_REQUEST)) else: return Response(status=status.HTTP_400_BAD_REQUEST)
def post(self, request, format=None, name=None): """ Subscribe to the Channel identified by "name" """ channels = Channel.objects.filter(name=name) if not channels: logger.error("Subscribe to inexistent channel : " + name) return Response(status=status.HTTP_404_NOT_FOUND) serializer = ChannelSubscriptionSerializer(data=request.DATA) if serializer.is_valid(): subscriber_data = serializer.object channel = channels[0] subscribe_resp = ask_subscribe_channel(channel, subscriber_data['device_id']) if subscribe_resp == SubscribeResponse.SUBSCRIBED: return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(status=(status.HTTP_202_ACCEPTED if subscribe_resp == SubscribeResponse.REQUEST_SEND else status.HTTP_400_BAD_REQUEST)) else: return Response(status=status.HTTP_400_BAD_REQUEST)