def post(self, request, format=None, name=None):
        channel = None
        try:
            channel = Channel.objects.get(name=name)
        except Channel.DoesNotExist:
            return Response(status=status.HTTP_404_NOT_FOUND)

        if channel.owner != request.user:
            return Response(status=status.HTTP_403_FORBIDDEN)

        serializer = PushMessageSerializer(data=request.DATA)
        if not serializer.is_valid():
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)


        push_msg = serializer.object

        expire = datetime.today() + relativedelta(months=1) # Default 1 mese
        if 'expire' in push_msg:
            expire = push_msg["expire"]

        target = None
        if "target" in push_msg:
            target = push_msg["target"]
          
        response = send_push_message(channel, push_msg["message_type"], push_msg["body"], expire, target)

        serializer = PushResponseSerializer(response)
        return Response(serializer.data, status=status.HTTP_200_OK)
Beispiel #2
0
    def post(self, request, channel_name=None):
        if request.is_ajax:
            try:
                channel = Channel.objects.get(name=channel_name)
            except Channel.DoesNotExist:
                return Http404()

            body = request.POST['body']
            expire = datetime.today() + relativedelta(months=1)  # Default 1 mese
            response = send_push_message(channel, 'text/plain', body, expire)

            return HttpResponse(json.dumps(response.__dict__))
        else:
            return HttpResponseBadRequest()