#!/bin/sh
# /usr/bin/orvia-edge — atajo para usar ORVIA Edge desde la terminal.
#
#   orvia-edge pair 123456   vincula este equipo (y reinicia el servicio)
#   orvia-edge version       versión instalada
#   orvia-edge status        estado del servicio
#   orvia-edge logs          últimos mensajes del servicio
#
# Siempre trabaja sobre la carpeta del servicio (/var/lib/orvia-edge) y con su
# usuario (orvia-edge), para no crear una segunda configuración por error.
set -e

BIN=/opt/orvia-edge/orvia-edge
HOME_DIR=/var/lib/orvia-edge

case "${1:-}" in
  status)
    exec systemctl status orvia-edge --no-pager
    ;;
  logs)
    exec journalctl -u orvia-edge -n 100 --no-pager
    ;;
  version|--version|-V)
    exec "$BIN" version
    ;;
  ""|-h|--help|help)
    sed -n '2,10p' "$0" | sed 's/^# \{0,1\}//'
    exit 0
    ;;
esac

if [ "$(id -u)" -ne 0 ]; then
  exec sudo "$0" "$@"
fi

install -d -m 0700 -o orvia-edge -g orvia-edge "$HOME_DIR"

if [ "$1" = "run" ] && systemctl is-active --quiet orvia-edge 2>/dev/null; then
  echo "El servicio ORVIA Edge ya está en marcha. Para pararlo: sudo systemctl stop orvia-edge" >&2
  exit 1
fi

rc=0
runuser -u orvia-edge -- env ORVIA_EDGE_HOME="$HOME_DIR" "$BIN" "$@" || rc=$?

if [ "$1" = "pair" ] && [ "$rc" -eq 0 ] && [ -d /run/systemd/system ]; then
  systemctl restart orvia-edge && echo "Servicio reiniciado. Abre http://127.0.0.1:8765 para ver el estado."
fi
exit "$rc"
