#!/usr/bin/env bash
# Collect privacy-safe mail traffic stats from Postfix journal into MariaDB.
set -euo pipefail

SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
# shellcheck source=/dev/null
source "$SCRIPT_DIR/libenv.sh"

ENV_FILE=$(limristem_mail_resolve_main_env_file)
limristem_mail_load_env_file "$ENV_FILE"

BASE_DIR=${LIMRISTEM_MAIL_BASE_DIR:-/opt/limristem-mail}

if [[ -x "$BASE_DIR/limristem-mail" ]]; then
  exec "$BASE_DIR/limristem-mail" stats collect --json
fi

# Fallback: python module path
export PYTHONPATH="${BASE_DIR}/bin:${PYTHONPATH:-}"
if [[ -x "$BASE_DIR/.venv/bin/python" ]]; then
  exec "$BASE_DIR/.venv/bin/python" - <<'PY'
from api.db import SessionLocal
from api.mail_stats import collect_from_journal
import json
db = SessionLocal()
try:
    print(json.dumps(collect_from_journal(db)))
finally:
    db.close()
PY
fi

echo "limristem-mail runtime not found" >&2
exit 1
