#!/usr/bin/env bash
# =============================================================================
# RT Medical VPN — wrapper de linha de comando sobre o cliente NetBird.
# Pré-configura a Management URL da RT Medical para que o usuário nunca precise
# digitá-la. Repassa todos os argumentos ao binário `netbird`.
#
#   rtmedical-vpn up        -> conecta (abre login no Keycloak no navegador)
#   rtmedical-vpn down      -> desconecta
#   rtmedical-vpn status    -> estado da conexão
#   rtmedical-vpn <qualquer subcomando do netbird>
# =============================================================================
set -euo pipefail

MGMT_URL="${NB_MANAGEMENT_URL:-https://vpn.rtmedical.com.br}"
NETBIRD_BIN="${NETBIRD_BIN:-/usr/bin/rtmedical-vpnd}"

if [[ ! -x "$NETBIRD_BIN" ]]; then
  echo "rtmedical-vpn: binário netbird não encontrado em $NETBIRD_BIN" >&2
  exit 1
fi

cmd="${1:-status}"
case "$cmd" in
  up|login)
    shift || true
    # injeta --management-url se o usuário não passou um
    if [[ "$*" != *"--management-url"* ]]; then
      exec "$NETBIRD_BIN" "$cmd" --management-url "$MGMT_URL" "$@"
    fi
    exec "$NETBIRD_BIN" "$cmd" "$@"
    ;;
  *)
    exec "$NETBIRD_BIN" "$@"
    ;;
esac
