def delete()

in decisionai_plugin/common/plugin_service.py [0:0]


    def delete(self, request, model_id):
        if not self.trainable:
            return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_SUCCESS, message='Model is not trainable')), 200)

        try:
            subscription = request.headers.get('apim-subscription-id', 'Official')
            request_body = json.loads(request.data)
            request_body[INSTANCE_ID_KEY] = subscription
            instance_id = request_body['instance']['instanceId']
            result, message = self.do_delete(request_body, model_id)
            if result == STATUS_SUCCESS:
                update_state(self.config, subscription, model_id, ModelState.Deleted)
                return make_response(jsonify(dict(instanceId=instance_id, modelId=model_id, taskId='', result=STATUS_SUCCESS, message='Model {} has been deleted'.format(model_id), modelState=ModelState.Deleted.name)), 200)
            else:
                raise Exception(message)
        except Exception as e:
            error_message = str(e)
            log.error("Delete model failed! subscription = %s, model_id = %s, last_error = %s" % (subscription, model_id, error_message + '\n' + traceback.format_exc()))
            return make_response(jsonify(dict(instanceId='', modelId=model_id, taskId='', result=STATUS_FAIL, message=error_message, modelState=ModelState.Failed.name)), 400)