def post(self, request, format=None): self.log(request) serializer = ToDoSerializer(data=request.data) if serializer.is_valid(): todo = serializer.save(updated_by=request.user.pk) InMemoryStore.add(todo) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, format=None): self.log(request) todos = ToDoList() todos.items = InMemoryStore.list() serializer = ToDoListSerializer(todos) return Response(serializer.data)
def get(self, request, pk, format=None): self.log(request) try: todo = InMemoryStore.get(int(pk)) serializer = ToDoSerializer(todo) return Response(serializer.data) except IndexError: return Http404()
def put(self, request, pk, format=None): self.log(request) todo = InMemoryStore.get(int(pk)) serializer = ToDoSerializer(todo, data=request.data) if serializer.is_valid(): serializer.save(updated_by=request.user.pk) return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk, format=None): self.log(request) InMemoryStore.delete(int(pk)) return Response(status=status.HTTP_204_NO_CONTENT)