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

SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
BASE_DIR=$(dirname "$SCRIPT_DIR")

if [[ $EUID -ne 0 ]]; then
  echo "Run as root." >&2
  exit 1
fi

if [[ ${1:-} == "apply-update" && "${LIMRISTEM_MAIL_UPDATE_WORKER:-no}" != "yes" ]] && command -v systemd-run >/dev/null 2>&1; then
  unit_name="limristem-mail-update-$(date +%s)-$$"
  exec systemd-run \
    --quiet \
    --wait \
    --pipe \
    --collect \
    --unit="$unit_name" \
    --setenv=LIMRISTEM_MAIL_UPDATE_WORKER=yes \
    "$BASE_DIR/limristem-mail" settings "$@"
fi

if [[ -x "$BASE_DIR/limristem-mail" ]]; then
  exec "$BASE_DIR/limristem-mail" settings "$@"
fi

exec "$BASE_DIR/limristem-mail" settings "$@"
