#!/usr/bin/env bash
set -euo pipefail

ROOT="${ROOT:-/opt/rental-system}"
SUDO_PASSWORD="${SUDO_PASSWORD:-}"

run_in_root() {
  cd "${ROOT}"
  "$@"
}

sudo_run() {
  if sudo -n true 2>/dev/null; then
    sudo "$@"
    return
  fi

  if [[ -z "${SUDO_PASSWORD}" ]]; then
    echo "SUDO_PASSWORD is required to execute sudo commands." >&2
    exit 1
  fi

  printf '%s\n' "${SUDO_PASSWORD}" | sudo -S "$@"
}

restart_unit() {
  local unit="$1"

  sudo_run systemctl restart "${unit}"
  sudo_run systemctl is-active "${unit}"
}

daemon_reload() {
  sudo_run systemctl daemon-reload
}
