# shellcheck shell=dash

___x_cmd log init umami

xrc:mod:lib     umami       cfg  api  util  site/_index  event/_index  me/_index  session/_index

# If self-hosting, the API endpoints are available at http://<your-umami-instance>/api.
# V2 API: https://api.umami.is (cloud) or http://<your-umami-instance>/api (self-hosted)
___X_CMD_UMAMI___API_ENDPOINT_CLOUD="https://api.umami.is"

___x_cmd_umami___main(){
    [ "$#" -gt 0 ] || set -- --help

    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m umami ;    return 0;;
        cfg|--cfg)      ___x_cmd_umami_cfg             "$@" ;;
        cur|--cur)      ___x_cmd_umami_cur             "$@" ;;
        init|--init)    ___x_cmd_umami_init            "$@" ;;

        site)           ___x_cmd_umami_site            "$@" ;;
        event)          ___x_cmd_umami_event           "$@" ;;
        me)             ___x_cmd_umami_me              "$@" ;;
        session)        ___x_cmd_umami_session         "$@" ;;
        *)              M="Not found command - 'x umami $op'" N=umami log:ret:1
    esac
}

___x_cmd_umami___date(){
    printf "%s\n" "$(___x_cmd_umami___date_ "$@")000"
}

___x_cmd_umami___date_(){
    if [ $# -eq 0 ]; then
        ___x_cmd date timestamp
    else
        local ts
        case "$1" in
            -*)
                ts="$(___x_cmd date timestamp)"
                d="${1#-}"
                printf "%s\n" "$((ts - 86400 * d))"
                ;;
            *)
                ___x_cmd date iso2ts "$1"
        esac
    fi
}
