#!/bin/bash
set -euo pipefail

DEB_URL="$1"

# Domain validation (only allow official prod and dev domains)
if [[ "$DEB_URL" != "https://lopiq.dev.hack-le.com/"* ]] && [[ "$DEB_URL" != "https://lopiq.apps.hack-le.com/"* ]]; then
    echo "Error: Invalid update URL domain."
    exit 1
fi

# Basic filename validation to ensure it's a deb
FILE_NAME=$(basename "$DEB_URL")
if [[ ! "$FILE_NAME" =~ \.deb$ ]]; then
    echo "Error: Invalid file type."
    exit 1
fi

TMP_FILE="/tmp/${FILE_NAME}"
echo "Downloading ${DEB_URL} to ${TMP_FILE}..."
curl -sS -L -o "$TMP_FILE" "$DEB_URL"

echo "Installing ${TMP_FILE}..."
dpkg --force-confold --force-confdef -i "$TMP_FILE"
rm -f "$TMP_FILE"
echo "Update complete."
