# shellcheck    shell=dash disable=SC2154,SC2034
___x_cmd_bwh_backup(){
    local op="$1";  [ "$#" -eq 0 ] || shift
    case "$op" in
        list|ls)        ___x_cmd_bwh_backup_list    "$@" ;;
        copytosnapshot)
                        "___x_cmd_bwh_backup_${op}" "$@" ;;

        -h|--help)      ___x_cmd help -m bwh backup ;;
        "")             ___x_cmd help -m bwh backup >&2; return 64;;
        *)              N=bwh M="Unknown command for ___x_cmd_bwh_backup ==> $1" log:ret:64
    esac
}

# Section: list
___x_cmd_bwh_backup_list(){
    local X_help_cmd='___x_cmd help -m bwh backup list';   help:arg:parse
    local error=; local message=
    local data; data="$( ___x_cmd_bwh_backup_list___raw "$1" )"
    ___x_cmd_pipevar data     ___x_cmd jo env . .error .message

    bwh:arg:judge:display:content:bat
}

___x_cmd_bwh_backup_list___raw(){
    ___x_cmd_bwh_api backup/list ${1:+description="$1"}
}
# EndSection


# Section: copytosnapshot
___x_cmd_bwh_backup_copytosnapshot(){
    local X_help_cmd='___x_cmd help -m bwh backup copytosnapshot';   help:arg:parse
    [ $# -eq 1 ] || N=bwh M="Require argument as backup token. You can find it using command '___x_cmd bwh backup list'" log:ret:64
    local error=; local message=
    local data; data="$( ___x_cmd_bwh_backup_copytosnapshot___raw "$1" )"
    ___x_cmd_pipevar data     ___x_cmd jo env . .error .message

    bwh:arg:judge:display:content:bat
}

___x_cmd_bwh_backup_copytosnapshot___raw(){
    ___x_cmd_bwh_api backup/copyToSnapshot backupToken="$1"
}
# EndSection