# shellcheck shell=sh
# shellcheck disable=SC2039,3043

# author:       Li Junhao           edwin.jh.lee@gmail.com    edwinjhlee.github.io
# maintainer:   Li Junhao
___x_cmd_qywx_auth(){
    param:subcmd ___x_cmd_qywx_auth             \
        login           "login qywx"
    param:subcmd:try
    param:run

    ___x_cmd_qywx_auth _param_help_doc
    gitlab_log warn "Subcmd Not Found."
    return 1
}
___x_cmd_qywx_auth_login(){
    param:scope     ___x_cmd_qywx_auth_login
    param:dsl       '
options:
    --corpid         "enterprise ID"    <>
    --corpsecret     "secret"           <>
'
    param:run
    local token
    ___x_cmd_qywx_http get "/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret" | ___x_cmd jo env . token=.access_token
    printf "%s" "$token"
}

___x_cmd_qywx_http(){
    if ! O="${O:-___x_cmd_qywx_QYWX_DEFAULT}" ___x_cmd_http header get Content-Type 1>/dev/null 2>&1; then
         O="${O:-___x_cmd_qywx_QYWX_DEFAULT}" ___x_cmd_http header put Content-Type application/json
    fi
    O="${O:-___x_cmd_qywx_QYWX_DEFAULT}" ___x_cmd_http "$@"
}
