#!/bin/bash
set -euo pipefail
BASE="/var/www/stessy.org/outils_divers/classe_php"
RELEASE_NAME="${1:?usage: activate_current.sh <release_name>}"
RELEASE="$BASE/releases/$RELEASE_NAME"
CURRENT="$BASE/current"
SHARED="$BASE/shared"

test -d "$RELEASE"
test -f "$RELEASE/index.php"

mkdir -p "$SHARED/class_archive"
chown -R www-data:www-data "$SHARED/class_archive"
chmod 775 "$SHARED/class_archive"
if [[ -f "$SHARED/structure_signature.json" ]]; then
  chown www-data:www-data "$SHARED/structure_signature.json"
  chmod 664 "$SHARED/structure_signature.json"
fi

if [[ -d "$SHARED/class_archive" ]]; then
  rm -rf "$RELEASE/class_archive"
  ln -sfn "$SHARED/class_archive" "$RELEASE/class_archive"
fi
if [[ -f "$SHARED/structure_signature.json" ]]; then
  rm -f "$RELEASE/structure_signature.json"
  ln -sfn "$SHARED/structure_signature.json" "$RELEASE/structure_signature.json"
fi

if [[ -e "$CURRENT" && ! -L "$CURRENT" ]]; then
  rm -rf "$CURRENT"
fi
ln -sfn "$RELEASE" "${CURRENT}.new"
mv -Tf "${CURRENT}.new" "$CURRENT"
echo "current -> $(readlink -f "$CURRENT")"
