def delete()

in source/backend/src/transfer_sftp_backend.py [0:0]


def delete():
    try:
        logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - delete(): Request received')
        sftp_hostname = app.config.get('sftp_hostname')
        usr, passwd = authenticate_request(request)

        response_body = {}

        request_data = request.get_json()
        node_name = request_data['node_name']  # path
        node_type = request_data['node_type']  # do we want folders or non-folders

        sftp_connection = get_sftp_connection(usr, passwd, sftp_hostname)

        if node_type == "folder":
            sftp_connection.rmdir(node_name)
            logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - delete(): Folder {node_name} deleted successfully')
            response_body['message'] = "Folder deleted successfully."

        elif node_type == "file":
            rmfile = sftp_connection.remove(node_name)
            logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - delete(): File {node_name} deleted successfully')
            response_body['message'] = "File deleted successfully."

        response = jsonify(response_body)
        response.status_code = 200
        logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - delete(): Responding back with 200 status code')
        return response

    except Exception as e:
        logger.error(f'TaskID: {fargate_task_id}(PID:{pid}) - delete(): call to /api/delete returned exception {e}')
        return bad_request("Bad or Invalid Request", 500)