#!/bin/bash
set -e

REPO_SOURCE="/etc/apt/sources.list.d/vasile-repo.list"
REPO_DEB_URL="https://apt.jamesvasile.com/vasile-repo.deb"
UPDATE_INTERVAL=86400  # 1 day in seconds

# Check if repo is already configured
if [ -f "$REPO_SOURCE" ]; then
    echo "apt.jamesvasile.com repo already configured"

    # Check if apt-get update needed (more than a day since last update)
    apt_lists="/var/lib/apt/lists"
    if [ -d "$apt_lists" ]; then
        last_update=$(stat -c %Y "$apt_lists" 2>/dev/null || echo 0)
        now=$(date +%s)
        age=$((now - last_update))

        if [ "$age" -gt "$UPDATE_INTERVAL" ]; then
            echo "Package lists are stale, updating..."
            sudo apt-get update
        else
            echo "Package lists are fresh (updated $((age / 3600)) hours ago)"
        fi
    fi
else
    echo "Installing apt.jamesvasile.com repo..."

    # Download and install the repo package
    tmpdir=$(mktemp -d)
    trap "rm -rf $tmpdir" EXIT

    wget -q -O "$tmpdir/vasile-repo.deb" "$REPO_DEB_URL"
    sudo dpkg -i "$tmpdir/vasile-repo.deb"
    sudo apt-get update

    echo "apt.jamesvasile.com repo installed"
fi
