Example #1
0
 def update(self, request, pk=None):
     product = Product.objects.get(id=pk)
     serializer = ProductSerializer(instance=product, data=request.data)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     publish('product_updated', serializer.data)
     return Response(serializer.data, status=status.HTTP_202_ACCEPTED)
Example #2
0
    def create(self, request):
        serializer = ProductSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save()
        publish('product_created', serializer.data)

        return Response(serializer.data, status=status.HTTP_201_CREATED)
Example #3
0
 def update(self, request, pk=None):  # /api/products/<str:id>
     product = Product.objects.get(id=pk)
     serializer = ProductSerializer(instance=product, data=request.data)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     publish(event_updated, serializer.data)  # publishing to RabbitMQ
     return Response(serializer.data, status=status.HTTP_202_ACCEPTED)
Example #4
0
def like(id):
    req = requests.get('http://localhost:8002/user')
    json = req.json()
    try:
        productUser = ProductUser(user_id=json['id'], product_id=id)
        db.session.add(productUser)
        db.session.commit()

        publish('product_liked', id)
    except:
        abort(400, 'You already liked this product')
    return jsonify({'message': 'success'})
Example #5
0
 def destroy(self, request, pk=None):
     product = Product.objects.get(id=pk)
     product.delete()
     publish('product_deleted', pk)
     return Response(status=status.HTTP_204_NO_CONTENT)
Example #6
0
 def destroy(self, request, pk=None):  # /api/products/<str:id>
     product = Product.objects.get(id=pk)
     product.delete()
     publish(event_deleted, pk)  # publishing to RabbitMQ
     return Response(status=status.HTTP_204_NO_CONTENT)
Example #7
0
 def create(self, request):  # /api/products
     serializer = ProductSerializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     publish(event_created, serializer.data)  # publishing to RabbitMQ
     return Response(serializer.data, status=status.HTTP_201_CREATED)