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

xrc:mod:lib     fjo     issue/ls  issue/create   issue/edit    issue/close    issue/reopen

# https://gitea.com/api/swagger#/issue
___x_cmd_fjo_issue() {
    param:subcmd ___x_cmd_fjo_issue                 \
        "ls"            "List repo issue"           \
        create          "create an issue"           \
        "edit|ed"       "update an issue"           \
        close           "Close issue"               \
        reopen          "Reopen issue"
    param:subcmd:try
    param:run


    ___x_cmd_fjo_issue _param_help_doc
    return 1
}


___x_cmd_fjo_issue____ui_handler(){
    if [ -n "$ENFORCE_JSON" ] || [ -n "$json" ]; then
        ___x_cmd_cmds_cat
        ___x_cmd_fjo_http_error
        return
    fi
    (
        local msg="$1 issue  success."
        local error_msg="$1 issue failure."
        case "$1" in
            Creating|Edit)
                ___x_cmd jo env . id=.number fjo_resp_err=.message \
                                title=.title url=.html_url state=.state
                ;;
            Reopen|Close)
                ___x_cmd jo env . id=.number fjo_resp_err=.message
                ;;
        esac
        if [ -n "$id" ]; then
            ___x_cmd_ui_tf true "$msg" "number: $id" ${title+"title: $title"}  ${url+"url: $url"} ${state+"state: $state"}
        else
            ___x_cmd_ui_tf false "$error_msg"
            ___x_cmd_fjo____handle_resp
            return 1
        fi
    )
}
