#!/bin/bash
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
WRAPPER_SRC="$SCRIPT_DIR/atualizar_wrapper.sh"
WRAPPER_DST="/usr/local/bin/atualizar_wrapper.sh"
SERVICE_DST="/etc/systemd/system/atualizar-github.service"

SERVICE_SRC=""
for candidate in \
  "$SCRIPT_DIR/systemd/atualizar-github.service" \
  "$SCRIPT_DIR/../systemd/atualizar-github.service"
do
  if [ -f "$candidate" ]; then
    SERVICE_SRC="$candidate"
    break
  fi
done

if [ "${EUID:-$(id -u)}" -ne 0 ]; then
  echo "Execute como root ou com sudo." >&2
  exit 1
fi

if [ ! -f "$WRAPPER_SRC" ]; then
  echo "Wrapper nao encontrado: $WRAPPER_SRC" >&2
  exit 1
fi

if [ -z "$SERVICE_SRC" ]; then
  echo "Unit file nao encontrado ao lado do instalador." >&2
  exit 1
fi

install -m 0755 "$WRAPPER_SRC" "$WRAPPER_DST"
install -m 0644 "$SERVICE_SRC" "$SERVICE_DST"

if [ -f /var/www/alvaroguedes.lat/Atualizar_Github.sh ]; then
  chmod 0755 /var/www/alvaroguedes.lat/Atualizar_Github.sh
fi

systemctl daemon-reload
systemctl enable atualizar-github.service
systemctl start atualizar-github.service

echo "Servico instalado: $SERVICE_DST"
echo "Wrapper instalado: $WRAPPER_DST"
echo
systemctl status atualizar-github.service --no-pager -l || true