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)
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)
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)
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'})
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)
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)
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)