# shellcheck shell=dash

___x_cmd log init endlessh

xrc:mod:lib     endlessh    run

___x_cmd_endlessh___main(){
    [ "$#" -gt 0 ] ||   set -- --help
    local op="$1";      shift
    case "$op" in
        -h|--help)      ___x_cmd help -m endlessh   "$@" ;;
        test|open|restart|stop|run|status)
                        ___x_cmd_endlessh_"$op"     "$@" ;;
        log|logs)       ___x_cmd_endlessh_log       "$@" ;;
        *)              N=endlessh M="Unsupproted subcmd -> $op" log:ret:64
    esac
}

___x_cmd_endlessh_test(){
    local port="${1:-2222}"
    endlessh:info "Demo try the endlessh in [port=$port]"
    endlessh:info "You can test it mannually -> ssh -v localhost -p $port"

    ___x_cmd_cmds ssh -v localhost -p "$port"
}

___x_cmd_endlessh_log(){
    local name="${1:-x-endlessh}"
    ___x_cmd docker logs -f "$name"
}

___x_cmd_endlessh_status(){
    local name="${1:-x-endlessh}"
    # TODO: how
    ___x_cmd docker inspect "$name" | ___x_cmd jo .1.State | ___x_cmd j2y
}

___x_cmd_endlessh_stop(){
    local name="${1:-x-endlessh}"
    ___x_cmd docker stop "$name"
}

___x_cmd_endlessh_restart(){
    local name="${1:-x-endlessh}"
    ___x_cmd docker restart "$name"
}
