#!/bin/bash

# イベントユーザー登録実行スクリプト
# 
# 使用方法:
# ./run_event_registration.sh [EVENT_CODE] [OPTIONS]
#
# 例:
# ./run_event_registration.sh 大垣2509
# ./run_event_registration.sh 大垣2509 --dry-run
# ./run_event_registration.sh 大垣2509 --csv-file CPLIST/input/custom_teams.csv

set -e

# デフォルト値
EVENT_CODE=${1:-"大垣2509"}
CSV_FILE="CPLIST/input/team2025.csv"
BASE_URL="http://localhost:8000"
DRY_RUN=""

# コマンドライン引数を解析
shift
while [[ $# -gt 0 ]]; do
    case $1 in
        --dry-run)
            DRY_RUN="true"
            shift
            ;;
        --csv-file)
            CSV_FILE="$2"
            shift 2
            ;;
        --base-url)
            BASE_URL="$2"
            shift 2
            ;;
        --help)
            echo "使用方法: $0 [EVENT_CODE] [OPTIONS]"
            echo ""
            echo "オプション:"
            echo "  --dry-run          テスト実行（実際のAPI呼び出しなし）"
            echo "  --csv-file FILE    CSVファイルパス（デフォルト: CPLIST/input/team2025.csv）"
            echo "  --base-url URL     APIベースURL（デフォルト: http://localhost:8000）"
            echo "  --help             このヘルプを表示"
            echo ""
            echo "例:"
            echo "  $0 大垣2509"
            echo "  $0 大垣2509 --dry-run"
            echo "  $0 大垣2509 --csv-file CPLIST/input/custom_teams.csv"
            exit 0
            ;;
        *)
            echo "不明なオプション: $1"
            echo "ヘルプを表示するには --help を使用してください"
            exit 1
            ;;
    esac
done

echo "=== イベントユーザー登録処理 ==="
echo "イベントコード: $EVENT_CODE"
echo "CSVファイル: $CSV_FILE"
echo "APIベースURL: $BASE_URL"
echo "テスト実行: ${DRY_RUN:-false}"
echo "================================"

# CSVファイルの存在確認
if [ ! -f "$CSV_FILE" ]; then
    echo "エラー: CSVファイルが見つかりません: $CSV_FILE"
    exit 1
fi

# Docker Composeファイルの存在確認
if [ ! -f "docker-compose.event-registration.yml" ]; then
    echo "エラー: docker-compose.event-registration.yml が見つかりません"
    exit 1
fi

# ログディレクトリを作成
mkdir -p logs

# 環境変数を設定してDocker Composeを実行
export EVENT_CODE="$EVENT_CODE"
export CSV_FILE="$CSV_FILE"
export BASE_URL="$BASE_URL"
export DRY_RUN="$DRY_RUN"

echo "Docker Composeでイベントユーザー登録処理を開始します..."

# Docker Composeを実行
docker-compose -f docker-compose.event-registration.yml up --build --remove-orphans

echo ""
echo "=== 処理完了 ==="
echo "ログファイルを確認してください: logs/register_event_users.log"
