#!/bin/bash

# Configuration
REMOTE_HOST="root@100.109.41.8"
REMOTE_USER="press"
REMOTE_DIR="domains/dev1.press.zone/public_html/wp-content/plugins/forum-press-zone"

echo "🚀 Deploying/Verifying dev1.press.zone..."

# Get local commit hash
LOCAL_COMMIT=$(git rev-parse HEAD)
echo "📍 Local HEAD:  $LOCAL_COMMIT"

# Get remote commit hash
REMOTE_COMMIT=$(ssh $REMOTE_HOST "su - $REMOTE_USER -c 'cd $REMOTE_DIR && git rev-parse HEAD'")
echo "🌍 Remote HEAD: $REMOTE_COMMIT"

# Compare
if [ "$LOCAL_COMMIT" == "$REMOTE_COMMIT" ]; then
    echo "✅ SUCCESS: Remote is already up to date!"
    exit 0
else
    echo "⚠️  MISMATCH: Remote is behind or different."
    echo "🔄 Attempting to pull from git..."
    
    # Run git pull on remote
    PULL_OUTPUT=$(ssh $REMOTE_HOST "su - $REMOTE_USER -c 'cd $REMOTE_DIR && git pull origin master'")
    echo "$PULL_OUTPUT"
    
    # Verify again
    NEW_REMOTE_COMMIT=$(ssh $REMOTE_HOST "su - $REMOTE_USER -c 'cd $REMOTE_DIR && git rev-parse HEAD'")
    
    if [ "$LOCAL_COMMIT" == "$NEW_REMOTE_COMMIT" ]; then
        echo "✅ SUCCESS: Remote updated successfully to $NEW_REMOTE_COMMIT"
        exit 0
    else
        echo "❌ FAILURE: Remote update failed or mismatch persists."
        echo "   Local:  $LOCAL_COMMIT"
        echo "   Remote: $NEW_REMOTE_COMMIT"
        exit 1
    fi
fi
