#!/usr/bin/env bash
# Fetch remote git tags as the app user (who has git credentials) and cache the latest tag.
# Called via sudo by www-data (CheckUpdates scheduler command).
set -uo pipefail

APP_USER="${APP_USER:-mailwolt}"
APP_DIR="${APP_DIR:-/var/www/mailwolt}"
OUT_FILE="/var/lib/mailwolt/version_remote"

LATEST="$(sudo -u "$APP_USER" bash -c \
  "git -C '${APP_DIR}' ls-remote --tags --sort=-v:refname origin 'v*' 2>/dev/null \
   | grep -v '\^{}' | head -1 | sed 's|.*refs/tags/||'" 2>/dev/null || true)"

if [ -n "$LATEST" ]; then
  mkdir -p "$(dirname "$OUT_FILE")"
  printf '%s\n' "$LATEST" > "$OUT_FILE"
fi
