#!/bin/bash
# Copyright (c) Huawei Technologies Co., Ltd. 2023-2026. All rights reserved.
# witty-ub is licensed under the Mulan PSL v2.
#
# witty-ub 命令派发器（RPM 安装入口，由 witty-ub-manager 子包安装）
#
# 主要子命令:
#   witty-ub manager [subcommand]   # 部署管理（推荐入口）
#
# 其它独立二进制（由 witty-ub 主包安装，可直接调用）:
#   witty-ub-log          日志解析诊断工具
#   witty-ub-topo         拓扑分析工具
#   witty-ub-diag-tool    综合诊断工具
#   witty-ub-brpc-diag    BRPC 诊断工具

set -euo pipefail

SUB="${1:-}"

case "$SUB" in
    manager)
        shift
        exec /usr/libexec/witty-ub-manager/manager.sh "$@"
        ;;
    -h|--help|help|"")
        cat <<'EOF'
Usage: witty-ub <command> [args]

Commands:
  manager [subcommand]   部署管理器（无参数进入交互菜单）

Manager subcommands:
  install      初始化 PostgreSQL + 同步凭据 + 启动服务
  uninstall    停止并禁用 systemd units（保留数据）
  clean        清空 PostgreSQL 数据 + /var/witty-ub/data（不可恢复）
  start        systemctl start witty-ub-web witty-ub-latency
  stop         systemctl stop witty-ub-web witty-ub-latency
  restart      systemctl restart witty-ub-web witty-ub-latency
  status       systemctl status witty-ub-web witty-ub-latency
  logs         journalctl -u witty-ub-web / witty-ub-latency -f
  psql         连接 PostgreSQL 终端
  (none)       交互式菜单

Other binaries (call directly):
  witty-ub-log          日志解析诊断工具
  witty-ub-topo         拓扑分析工具
  witty-ub-diag-tool    综合诊断工具
  witty-ub-brpc-diag    BRPC 诊断工具

Typical workflow:
  sudo yum install -y witty-ub         # 安装主包 + manager 子包
  sudo witty-ub manager install        # 初始化 PG + 同步凭据 + 启动服务
  witty-ub manager status              # 查看服务状态
EOF
        ;;
    *)
        echo "witty-ub: unknown subcommand '$SUB'" >&2
        echo "Run 'witty-ub --help' for usage." >&2
        exit 1
        ;;
esac
