#!/usr/bin/env bash
# One-shot backend bootstrap for /var/www/html/vocabapi on Math-2025.
# Reuses math's MySQL root password + Gmail SMTP creds; uses TEST Stripe keys.
# Idempotent: re-running is safe.
set -e

cd /var/www/html/vocabapi

DBPASS=$(grep ^DB_PASSWORD /var/www/html/mathapi/.env | cut -d= -f2-)
MAILPASS=$(grep ^MAIL_PASSWORD /var/www/html/mathapi/.env | cut -d= -f2-)

echo "=== Writing production .env ==="
cat > .env <<ENVFILE
APP_NAME=Vocabile
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_TIMEZONE=UTC
APP_URL=https://vocabapi.allgifted.com

APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=warning

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=vocab
DB_USERNAME=root
DB_PASSWORD=${DBPASS}

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database
CACHE_PREFIX=

# Mail config — runtime-overridden by SiteConfig (configs table). Defaults
# mirror math so OTP works before any config rows exist.
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=ace.allgifted@gmail.com
MAIL_PASSWORD=${MAILPASS}
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=ace.allgifted@gmail.com
MAIL_FROM_NAME="AllGifted OTP"

ALLGIFTED_ACCOUNT_URL=
ALLGIFTED_ACCOUNT_TOKEN=

# Stripe (TEST mode for first launch)
STRIPE_KEY=pk_test_51NcKSeIzbuqHEjNEL0j8y4ncYCTUk78p7xK5EUh2igPZnqDxLn1iMTfWWjMRNd6l6MCL7351Nwb3g89UxZ6JG8nR00G9iXIVL0
STRIPE_SECRET_KEY=sk_test_51NcKSeIzbuqHEjNEP9dYxQHiMmKb9HIEJ90rq7QbEs3VSxQNUjwtJJ716A9CdS8pdb682K0YZnPHQ6yzzjnK5blr00URPhoXMX
STRIPE_WEBHOOK_SECRET=whsec_REPLACE_WITH_TEST_WEBHOOK_SECRET
CASHIER_CURRENCY=sgd
STRIPE_PRICE_5_LIVES=
STRIPE_PRICE_10_LIVES=
STRIPE_PRICE_PREMIUM_MONTHLY=
STRIPE_PRICE_PREMIUM_ANNUAL=
STRIPE_SUCCESS_URL=https://vocab.allgifted.com/?payment=success
STRIPE_CANCEL_URL=https://vocab.allgifted.com/?payment=cancel
STRIPE_DEV_SHORTCUT=false
ENVFILE

echo "=== APP_KEY ==="
php artisan key:generate --force 2>&1 | tail -2

echo ""
echo "=== Migrations ==="
php artisan migrate --force 2>&1 | tail -30

echo ""
echo "=== Ownership + permissions ==="
chown -R www-data:www-data /var/www/html/vocabapi
chmod -R 775 /var/www/html/vocabapi/storage /var/www/html/vocabapi/bootstrap/cache
echo "perms ok"

echo ""
echo "=== storage:link ==="
php artisan storage:link 2>&1 | tail -1

echo ""
echo "=== Config cache ==="
php artisan config:cache 2>&1 | tail -1

echo ""
echo "=== Tables ==="
mysql -uroot -p"$DBPASS" vocab -Nse "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='vocab';" 2>/dev/null
