# shellcheck shell=dash

# OSSInsight configuration management

xrc:mod:lib     ossinsight   cfg

___x_cmd_ossinsight_cfg(){
    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m ossinsight cfg "$@" ;;
        get)            ___x_cmd_ossinsight_cfg_get "$@" ;;
        set)            ___x_cmd_ossinsight_cfg_set "$@" ;;
        ls)             ___x_cmd_ossinsight_cfg_ls "$@" ;;
        *)              M="Unknown subcmd -> cfg $op" N=ossinsight log:ret:1 ;;
    esac
}

___x_cmd_ossinsight_cfg_get(){
    local key="${1:-}"
    case "$key" in
        endpoint)    printf "%s\n" "${___X_CMD_OSSINSIGHT_ENDPOINT:-$___X_CMD_OSSINSIGHT_API_ENDPOINT}" ;;
        "")         printf "endpoint=%s\n" "${___X_CMD_OSSINSIGHT_ENDPOINT:-$___X_CMD_OSSINSIGHT_API_ENDPOINT}" ;;
        *)          N=ossinsight M="Unknown config key: $key" log:ret:1 ;;
    esac
}

___x_cmd_ossinsight_cfg_set(){
    local key="$1"; local val="$2"
    case "$key" in
        endpoint)    export ___X_CMD_OSSINSIGHT_ENDPOINT="$val" ;;
        *)          N=ossinsight M="Unknown config key: $key" log:ret:1 ;;
    esac
}

___x_cmd_ossinsight_cfg_ls(){
    printf "endpoint=%s\n" "${___X_CMD_OSSINSIGHT_ENDPOINT:-$___X_CMD_OSSINSIGHT_API_ENDPOINT}"
}