#!/bin/bash

# Script di setup completo ambiente Netgescon
# Configura tutto l'ambiente di sviluppo sul nuovo server

echo "🚀 Setup completo ambiente Netgescon..."

# Parametri
REMOTE_USER="michele"
REMOTE_HOST="192.168.0.200"
REMOTE_PATH="/var/www/netgescon"

echo "🔧 Configurazione ambiente su $REMOTE_HOST..."

# Setup 1: Permissions e ownership
echo "📁 Step 1: Configurazione permessi..."
ssh $REMOTE_USER@$REMOTE_HOST "
    sudo chown -R www-data:www-data $REMOTE_PATH
    sudo chmod -R 755 $REMOTE_PATH
    sudo chmod -R 775 $REMOTE_PATH/storage
    sudo chmod -R 775 $REMOTE_PATH/bootstrap/cache
"

# Setup 2: Composer install
echo "📦 Step 2: Installazione dipendenze PHP..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && composer install --no-dev --optimize-autoloader"

# Setup 3: NPM install e build
echo "🎨 Step 3: Installazione dipendenze frontend..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && npm install && npm run build"

# Setup 4: Configurazione ambiente
echo "⚙️ Step 4: Configurazione ambiente Laravel..."
ssh $REMOTE_USER@$REMOTE_HOST "
    cd $REMOTE_PATH
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    php artisan storage:link
"

# Setup 5: Configurazione database
echo "🗄️ Step 5: Verifica configurazione database..."
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate:status"

# Setup 6: Configurazione web server
echo "🌐 Step 6: Configurazione Nginx/Apache..."
ssh $REMOTE_USER@$REMOTE_HOST "
    sudo systemctl restart nginx || sudo systemctl restart apache2
    sudo systemctl restart php8.3-fpm || sudo systemctl restart php-fpm
"

echo "✅ Setup ambiente completato!"
