# shellcheck shell=bash disable=SC2034,SC2154
# shellcheck disable=SC2039,3043

xrc:mod:lib     fjo                 \
                team/member/ls      \
                team/member/add     \
                team/member/info    \
                team/member/rm

___x_cmd_fjo_team_member(){
    param:subcmd ___x_cmd_fjo_team_member                  \
        ls             "Interactive UI show org of user"   \
        info           "Get org member user info"          \
        add            "Add org member"                    \
        rm             "Remove member"
    param:subcmd:try
    param:run
        # "edit|ed"      "Update org member"             \
        # ll             "List member"                   \


    ___x_cmd_fjo_team_member _param_help_doc
    return 1
}

# Section: org team utils
___x_cmd_fjo_team_member____ui_handler(){
    if  [ -n "$ENFORCE_JSON" ] || [ -n "$json" ]; then
        ___x_cmd_cmds_cat
        ___x_cmd_fjo_http_error
        return
    fi
    (
        case "$1" in
            Info)
                x jo env . fjo_resp_msg=.message fjo_resp_err=.errors \
                    id=.id is_admin=.is_admin name=.login
                _inf_msg="Getting member in team information"
                _err_msg="Getting member in team information failure"
                ;;
            Add)
                x jo env . fjo_resp_msg=.message fjo_resp_err=.errors
                _inf_msg="$1 member to team successfully"
                _err_msg="$1 member to team failure"
                ;;
        esac
        if ___x_cmd_fjo_http_error; then
            ___x_cmd_ui_tf  true "${_inf_msg}:" ${id:+"Id: $id"} ${name:+"Name: $name"}  ${is_admin:+"Is_admin: $is_admin"} ${state:+"State: $state"} ${url:+"Url: $url"}
        else
            ___x_cmd_ui_tf false "${_err_msg}:" >&2
            ___x_cmd_fjo____handle_resp
            return 1
        fi
    )
}
