# shellcheck shell=dash

___x_cmd log init cowrie

xrc:mod:lib cowrie      run

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


___x_cmd_cowrie_open(){
    case "$1" in
        --cfg)      ___x_cmd open "https://github.com/cowrie/cowrie/blob/master/etc/cowrie.cfg.dist" ;;
        --doc)      ___x_cmd open "https://cowrie.readthedocs.io/en/latest/index.htmls" ;;
        --code)     ___x_cmd open "https://github.com/cowrie/cowrie/" ;;
        *)          ___x_cmd open "https://github.com/cowrie/cowrie/" ;;
    esac
}


___x_cmd_cowrie_test(){
    local port="${1:-2223}"
    cowrie:info "Demo try the cowrie in [port=$port]"
    cowrie:info "You can test it mannually -> ssh root@localhost -p $port"

    ___x_cmd_cmds ssh root@localhost -p "$port"
}

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


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

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

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

