#!/bin/bash
# =============================================================================
# SeeYouResto – Bidfood FTP Download
# Cron: 30 5 * * * /var/www/html/bidfood/download-latest.sh >> /var/log/bidfood_download.log 2>&1
# =============================================================================

PREFIX="8679"
LOCAL_DIR="/var/www/html/bidfood/downloads"
LOG_FILE="/var/log/bidfood_download.log"

# Credentials uit .env
source <(grep -E '^BIDFOOD_' /var/www/html/.env)

log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"; }

log "======================================================"
log " Bidfood FTP Download – $(date '+%Y-%m-%d')"
log "======================================================"

mkdir -p "$LOCAL_DIR"

# Download enkel nieuwe bestanden (--only-newer)
lftp -u "${BIDFOOD_FTP_USER}","${BIDFOOD_FTP_PASS}" "${BIDFOOD_FTP_HOST}" << LFTP
set ssl:verify-certificate no
set ftp:ssl-force true
lcd $LOCAL_DIR
mget -c ${PREFIX}.*.json
bye
LFTP

# Symlink latest.json → meest recente bestand
# Symlinks bijhouden — oldest = basis, newest = latest
OLDEST=$(ls -1 "$LOCAL_DIR"/${PREFIX}.*.json 2>/dev/null | sort | head -1)
NEWEST=$(ls -1 "$LOCAL_DIR"/${PREFIX}.*.json 2>/dev/null | sort | tail -1)

if [ -n "$OLDEST" ]; then
    ln -sf "$(realpath $OLDEST)" "$LOCAL_DIR/base.json"
    log "🔗 base.json → $(basename $OLDEST)"
fi

if [ -n "$NEWEST" ]; then
    ln -sf "$(realpath $NEWEST)" "$LOCAL_DIR/latest.json"
    log "🔗 latest.json → $(basename $NEWEST)"
fi

log "✅ Download klaar."
log "Bestanden in $LOCAL_DIR:"
ls -lh "$LOCAL_DIR"/${PREFIX}.*.json | tee -a "$LOG_FILE"
