#!/usr/bin/env bash
# Retire un compte PhotoSync isole cree par add-photosync-user.sh.
# Demonte le partage, supprime l'instance, les creds, l'EnvironmentFile et la regle
# ufw. NE TOUCHE PAS aux donnees sur le NAS (seulement le point de montage local).
#
# A lancer SUR LE PI, en sudo :
#   sudo ./remove-photosync-user.sh <instance>
set -euo pipefail

[ "$(id -u)" -eq 0 ] || { echo "Lance en sudo."; exit 1; }
[ $# -eq 1 ] || { echo "Usage: sudo $0 <instance>"; exit 1; }
INST="$1"
[[ "$INST" =~ ^[a-z0-9]+$ ]] || { echo "instance : a-z0-9 uniquement"; exit 1; }

ENVF="/etc/photosync-agent.$INST.env"
CRED="/etc/photosync-$INST.cred"
ROOT="/mnt/nas-$INST"

# port (pour la regle ufw) lu depuis l'EnvironmentFile avant suppression
PORT="$(sed -n 's/^PORT=//p' "$ENVF" 2>/dev/null || true)"

systemctl disable --now "photosync-agent@$INST" 2>/dev/null || true

# demontage de tous les sous-points sous $ROOT puis retrait des lignes fstab
for mp in $(findmnt -rn -o TARGET | grep "^$ROOT" || true); do umount "$mp" 2>/dev/null || true; done
if [ -d "$ROOT" ]; then
  sed -i "\#[[:space:]]$ROOT/#d" /etc/fstab
  systemctl daemon-reload
  rmdir "$ROOT"/* 2>/dev/null || true; rmdir "$ROOT" 2>/dev/null || true
fi

rm -f "$ENVF" "$CRED"
[ -n "$PORT" ] && ufw delete allow from 192.168.1.0/24 to any port "$PORT" proto tcp 2>/dev/null || true

echo "✅ Compte '$INST' retire (donnees NAS intactes)."
