#!/bin/bash

copyFolders()
{
    local source="$1"
    local save_dir="$2"
    local user_name="$3"   # advisory — the destination path determines the owner

    # Write as the destination's owner — no root, no chown (see copyFile).
    local op="runInstallOp"
    [[ "$save_dir" == "$containers_dir"* || "$save_dir" == "${LP_CONTAINERS_DIR:-/libreportal-containers}"/* ]] && op="runFileOp"

    local subdirs=($(find "$source" -mindepth 1 -maxdepth 1 -type d))
    if [ ${#subdirs[@]} -eq 0 ]; then
        echo "No subdirectories found in the source directory: $source"
    fi

    for subdir in "${subdirs[@]}"; do
        local subdir_name=$(basename "$subdir")
        local result=$($op cp -rf "$subdir" "$save_dir")
        checkSuccess "Copying $subdir_name to $save_dir"
    done
}
