#!/bin/bash

# ==============================================================================
# Smart Skills India - Deployment & Update Script
# ==============================================================================
# Usage: ./deploy.sh
# ==============================================================================

set -e # Exit immediately if a command exits with a non-zero status

echo "🚀 [1/5] Pulling latest changes from Git..."
git pull origin main

echo "📦 [2/5] Updating Backend..."
cd backend
npm install
npx prisma generate
npx prisma migrate deploy
npm run build
cd ..

echo "🎨 [3/5] Updating Frontend..."
cd frontend
npm install
npm run build
cd ..

echo "🔄 [4/5] Reloading PM2 Services..."
if [ -f ecosystem.config.js ]; then
  pm2 startOrReload ecosystem.config.js --update-env
else
  pm2 restart all
fi

echo "💾 [5/5] Saving PM2 state..."
pm2 save

echo "✅ Deployment completed successfully!"
