#!/bin/bash
# Select which postgresql_anonymizer build (vulnerable or fixed) is installed
# into the live PostgreSQL locations of the container.
set -euo pipefail

variant="${1:?usage: anon-select vuln|fixed}"
SHAREDIR="$(pg_config --sharedir)"
PKGLIBDIR="$(pg_config --pkglibdir)"

case "$variant" in
  vuln|fixed) ;;
  *) echo "anon-select: unknown variant '$variant'" >&2; exit 2 ;;
esac

rm -rf "${SHAREDIR}/extension/anon" "${SHAREDIR}"/extension/anon.control \
       "${SHAREDIR}"/extension/anon--*.sql "${PKGLIBDIR}/anon.so"
cp -r "/opt/anon-${variant}/extension/." "${SHAREDIR}/extension/"
cp "/opt/anon-${variant}/lib/anon.so" "${PKGLIBDIR}/"

echo "anon-select: installed variant '${variant}' (commit $(cat "/opt/anon-${variant}/COMMIT"))"
