#!/usr/bin/env bash
#
# Notch ERP — one-command setup.
# Usage: bash setup.sh
#
set -e

echo "==> Notch ERP setup"

# 1. PHP dependencies
if [ ! -d vendor ]; then
    echo "==> Installing composer dependencies..."
    composer install --no-interaction --prefer-dist
fi

# 2. Environment file
if [ ! -f .env ]; then
    echo "==> Creating .env"
    cp .env.example .env
fi

# 3. Use SQLite by default (zero-config). Comment these out to use MySQL.
if ! grep -q '^DB_CONNECTION=sqlite' .env; then
    echo "==> Configuring SQLite database"
    sed -i.bak -E 's/^DB_CONNECTION=.*/DB_CONNECTION=sqlite/' .env || true
    # Remove MySQL-specific lines so Laravel falls back to the sqlite defaults
    sed -i.bak -E '/^DB_(HOST|PORT|DATABASE|USERNAME|PASSWORD)=/d' .env || true
    rm -f .env.bak
fi
touch database/database.sqlite

# 4. App key
if ! grep -q '^APP_KEY=base64' .env; then
    echo "==> Generating application key"
    php artisan key:generate --force
fi

# 5. Install (migrate, seed, modules, admin, lock)
echo "==> Running installer"
php artisan erp:install --fresh

echo ""
echo "============================================"
echo " Setup complete. Start the app with:"
echo "   php artisan serve"
echo " Then open http://localhost:8000"
echo " Login: admin@notch.test  /  password"
echo "============================================"
