#!/bin/bash
set -e

# Directory where the actual versioned files are located
TARGET_DIR="/var/www/download"

# Usage: ./update.version.sh 26.0.99_99
if [ $# -ne 1 ]; then
    echo "Usage: $0 <version>_build"
    echo "Example: $0 26.0.99_99"
    exit 1
fi

VERSION="$1"

cd "$TARGET_DIR" || {
    echo "Error: Cannot access $TARGET_DIR"
    exit 1
}

echo "Updating hylion symlinks to version: $VERSION"
echo

# Public symlink  ->  underlying versioned file
declare -A FILES=(
    ["hylion.exe"]="hylion_${VERSION}.exe"
    ["hylion.msi"]="hylion_${VERSION}.msi"
    ["hylion.apk"]="hylion_${VERSION}.apk"
    ["hylion_arm64.dmg"]="hylion_${VERSION}_arm64.dmg"
    ["hylion_x86_64.dmg"]="hylion_${VERSION}_x86_64.dmg"
)

for LINK_NAME in "${!FILES[@]}"; do
    TARGET_FILE="$TARGET_DIR/${FILES[$LINK_NAME]}"
    if [ ! -f "$TARGET_FILE" ]; then
        echo "⚠️  Warning: Target file not found for $LINK_NAME -> $TARGET_FILE"
        continue
    fi

    if [ -L "$LINK_NAME" ]; then
        echo "🔁 Updating $LINK_NAME -> $TARGET_FILE"
        ln -sf "$TARGET_FILE" "$LINK_NAME"
    else
        echo "➕ Creating new symlink $LINK_NAME -> $TARGET_FILE"
        ln -s "$TARGET_FILE" "$LINK_NAME"
    fi
done

echo
echo "✅ All symlinks updated successfully!"
