Example #1
0
    def update_route(self, request, *args, **kwargs):
        socket = self.get_object()
        if not socket.install_url:
            raise SocketWithUrlRequired()
        if socket.is_locked:
            raise SocketLocked()

        socket.update()
        return Response(status=status.HTTP_200_OK,
                        data=self.serializer_class(socket,
                                                   context=self.get_serializer_context()).data)
Example #2
0
    def perform_update(self, serializer):
        socket = serializer.instance
        if socket.is_locked:
            # Retry process to make sure it runs ok.
            if socket.status == Socket.STATUSES.CHECKING:
                SocketCheckerTask.delay(instance_pk=self.request.instance.pk)
            elif socket.status == Socket.STATUSES.PROCESSING:
                SocketProcessorTask.delay(instance_pk=self.request.instance.pk)

            raise SocketLocked()

        old_env = socket.environment
        super().perform_update(serializer)
        self.check_environment(socket.pk, old_env, socket.environment_id)
Example #3
0
 def perform_update(self, serializer):
     env = serializer.instance
     if env.is_locked:
         raise SocketLocked()
     super().perform_update(serializer)
Example #4
0
    def perform_destroy(self, instance):
        if instance.is_locked:
            raise SocketLocked()

        super().perform_destroy(instance)
        self.check_environment(instance.pk, instance.environment, None)