#!/usr/bin/env bash
# =====================================================================
# Déploiement de sauvermonentreprise.fr sur le VPS.
# Usage : ./deploy/deploy.sh   (depuis la racine du projet, sur le VPS)
# Prérequis : git, php 8.3+, composer, node 22+, base PostgreSQL prête,
#             .env de production déjà en place (jamais dans le dépôt).
# =====================================================================
set -euo pipefail

cd "$(dirname "$0")/.."

echo "→ Maintenance ON"
php artisan down --retry=30 || true

echo "→ Code"
git pull --ff-only origin main

echo "→ Dépendances PHP (sans dev)"
composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction

echo "→ Assets"
npm ci --no-audit --no-fund
npm run build

echo "→ Base de données"
php artisan migrate --force

echo "→ Caches"
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

echo "→ Files d'attente"
php artisan queue:restart || true

echo "→ Maintenance OFF"
php artisan up

echo "✓ Déploiement terminé."
