#!/bin/bash

# Script untuk extract streamhg data dan restore ke database

BACKUP_FILE="videos.sql"
TEMP_SQL="/tmp/streamhg_restore.sql"
DB_NAME="${DB_DATABASE:-player2027}"
DB_USER="${DB_USERNAME:-root}"
DB_HOST="${DB_HOST:-localhost}"

echo "=========================================="
echo "RESTORE STREAMHG VIDEOS DARI BACKUP"
echo "=========================================="
echo ""

# Check file exists
if [ ! -f "$BACKUP_FILE" ]; then
    echo "❌ File backup tidak ditemukan: $BACKUP_FILE"
    exit 1
fi

echo "📂 File backup: $BACKUP_FILE"
echo "📊 Ukuran file: $(du -h "$BACKUP_FILE" | cut -f1)"
echo ""

# Extract header dari backup
echo "🔍 Extracting header..."
head -39 "$BACKUP_FILE" > "$TEMP_SQL"

# Extract INSERT statements untuk streamhg saja
echo "⏳ Filtering streamhg records..."
grep "'streamhg'" "$BACKUP_FILE" | wc -l
STREAMHG_COUNT=$(grep -c "'streamhg'" "$BACKUP_FILE")

echo "✅ Found $STREAMHG_COUNT streamhg records"
echo ""

# Create temporary SQL file dengan hanya streamhg data
echo "INSERT INTO \`videos\` VALUES" >> "$TEMP_SQL"
grep "'streamhg'" "$BACKUP_FILE" | sed 's/$/,/' | sed '$ s/,$/;/' >> "$TEMP_SQL"

# Add footer
echo "UNLOCK TABLES;" >> "$TEMP_SQL"

echo "💾 Temporary SQL file created: $TEMP_SQL"
echo "📊 Size: $(du -h "$TEMP_SQL" | cut -f1)"
echo ""

# Ask confirmation
read -p "Lanjut import ke database? (y/n) " confirm
if [ "$confirm" != "y" ]; then
    echo "❌ Dibatalkan"
    rm "$TEMP_SQL"
    exit 0
fi

echo ""
echo "🔄 Starting import..."

# Get DB credentials from Laravel .env if available
if [ -f ".env" ]; then
    DB_NAME=$(grep "^DB_DATABASE=" .env | cut -d= -f2)
    DB_USER=$(grep "^DB_USERNAME=" .env | cut -d= -f2)
    DB_PASSWORD=$(grep "^DB_PASSWORD=" .env | cut -d= -f2)
    DB_HOST=$(grep "^DB_HOST=" .env | cut -d= -f2 || echo "localhost")
fi

# Import
if [ -z "$DB_PASSWORD" ]; then
    mysql -h "$DB_HOST" -u "$DB_USER" "$DB_NAME" < "$TEMP_SQL"
else
    mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" < "$TEMP_SQL"
fi

if [ $? -eq 0 ]; then
    echo ""
    echo "=========================================="
    echo "✅ IMPORT SELESAI!"
    echo "=========================================="
    echo ""
    
    # Verify
    RESULT=$(mysql -h "$DB_HOST" -u "$DB_USER" ${DB_PASSWORD:+-p"$DB_PASSWORD"} "$DB_NAME" -e "SELECT COUNT(*) as count FROM videos WHERE provider='streamhg';" 2>/dev/null | tail -1)
    
    echo "💾 Total streamhg videos di database: $RESULT"
    echo ""
    echo "✅ Sukses! Data streamhg telah di-restore."
else
    echo "❌ Error saat import"
fi

# Cleanup
rm "$TEMP_SQL"
echo ""
