#!/bin/bash
set -e

BUILD_TYPE="${BUILD_TYPE:-prod}"

# Parse optional CLI arguments to forward to preuninstall.run
FORWARDED_ARGS=()
while [[ $# -gt 0 ]] ; do
    case "$1" in
        --project )
        FORWARDED_ARGS+=("--project" "$2")
        shift 2 || { echo "invalid option: $1"; exit 1; }
        ;;
        --cluster )
        FORWARDED_ARGS+=("--cluster" "$2")
        shift 2 || { echo "invalid option: $1"; exit 1; }
        ;;
        --preserve-bucket )
        FORWARDED_ARGS+=("--preserve-bucket" "$2")
        shift 2 || { echo "invalid option: $1"; exit 1; }
        ;;
        --force-gcloud )
        FORWARDED_ARGS+=("--force-gcloud")
        shift 1 || { echo "invalid option: $1"; exit 1; }
        ;;
        * )
        echo "unexpected option: $1"
        exit 1
        ;;
    esac
done

# Validate BUILD_TYPE
case $BUILD_TYPE in
'dev' | 'alpha' | 'beta' | 'prod')
  ;;
*)
  echo "$BUILD_TYPE is not a supported BUILD_TYPE"
  exit 1
  ;;
esac

INSTALLER_URL="gs://capig-$BUILD_TYPE-public-release/release/cloudbridge_cloudrun.preuninstall.run"
if ! gcloud storage cp "$INSTALLER_URL" /tmp/uninstall.run 2>/dev/null ; then
    echo "No uninstallation script found in $BUILD_TYPE bucket"
    exit 1
fi

chmod +x /tmp/uninstall.run
/tmp/uninstall.run --quiet -- "${FORWARDED_ARGS[@]}"
