#!/bin/bash
# /var/www/html/mkl/products/refresh-tdsynnex-catalog.sh
# Downloads latest TD Synnex catalog via SFTP and triggers search catalog reload
# Crontab: 0 4 * * * /var/www/html/mkl/products/refresh-tdsynnex-catalog.sh >> /var/log/tdsynnex-catalog.log 2>&1

CATALOG_DIR="/var/www/tdsynnex-catalog"
SFTP_HOST="sftp.us.tdsynnex.com"
SFTP_USER="u659421"
SFTP_PASS="siKF6fT3"
SFTP_FILE="659421.zip"

echo "$(date) - Starting TD Synnex catalog download..."

cd /tmp

# Download via SFTP with legacy key support
sshpass -p "$SFTP_PASS" sftp \
    -oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
    -oStrictHostKeyChecking=no \
    -oBatchMode=no \
    "$SFTP_USER@$SFTP_HOST" <<EOF
get $SFTP_FILE
bye
EOF

if [ ! -f "/tmp/$SFTP_FILE" ]; then
    echo "$(date) - ERROR: Download failed"
    exit 1
fi

# Extract
unzip -o "/tmp/$SFTP_FILE" -d "$CATALOG_DIR/"
rm -f "/tmp/$SFTP_FILE"

echo "$(date) - Catalog extracted to $CATALOG_DIR"
ls -lh "$CATALOG_DIR/"

# Trigger catalog reload via HTTP (no restart needed)
echo "$(date) - Triggering catalog reload..."
curl -sf --max-time 120 "http://localhost:3002/api/vendor-search/reload?vendor=synnex" || echo "$(date) - Warning: reload request failed (server may need manual reload)"

echo "$(date) - Done"
