#!/bin/bash
# =============================================================================
# GoodGo Platform - PostgreSQL Database Initialization Script
# =============================================================================
# EN: Creates all required databases for each microservice on first startup.
# VI: Tạo tất cả databases cần thiết cho từng microservice khi khởi động lần đầu.
# =============================================================================

set -e

DATABASES=(
  "ads_analytics_service"
  "ads_billing_service"
  "ads_manager_service"
  "ads_serving_service"
  "ads_tracking_service"
  "booking_service"
  "catalog_service"
  "chat_service"
  "fnb_engine"
  "iam_service"
  "inventory_service"
  "membership_service"
  "merchant_service"
  "mining_service"
  "mission_service"
  "mkt_facebook_service"
  "mkt_whatsapp_service"
  "mkt_x_service"
  "mkt_zalo_service"
  "order_service"
  "promotion_service"
  "social_service"
  "storage_service"
  "wallet_service"
)

echo "=== GoodGo: Creating databases ==="

for DB_NAME in "${DATABASES[@]}"; do
  echo "Creating database: $DB_NAME"
  psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
    SELECT 'CREATE DATABASE $DB_NAME'
    WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DB_NAME')\gexec
EOSQL
done

echo "=== GoodGo: All databases created successfully ==="
