def create_folder()

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


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

        response_body = {}

        request_data = request.get_json()
        node_type = request_data['node_type']
        new_folder_path = request_data['new_node_path']

        if contains_special_characters(request_data['node_name']):
            return bad_request("Name contains special characters.", 400)

        if node_type == "folder":
            sftp_connection = get_sftp_connection(usr, passwd, sftp_hostname)

            sftp_connection.mkdir(new_folder_path, 511)
            logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - create_folder(): New folder at {new_folder_path} created successfully ')
            response_body['message'] = "Folder created successfully."

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

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