@echo off
REM Content Service 실행 스크립트
REM Port: 8084
REM Context Path: /api/v1/content

setlocal enabledelayedexpansion

set SERVICE_NAME=content-service
set PORT=8084
set LOG_DIR=logs
set LOG_FILE=%LOG_DIR%\%SERVICE_NAME%.log

REM 로그 디렉토리 생성
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"

REM 환경 변수 설정
set SERVER_PORT=8084
set REDIS_HOST=20.214.210.71
set REDIS_PORT=6379
set REDIS_PASSWORD=Hi5Jessica!
set REDIS_DATABASE=0
set JWT_SECRET=kt-event-marketing-jwt-secret-key-for-authentication-and-authorization-2025
set JWT_ACCESS_TOKEN_VALIDITY=3600000
set JWT_REFRESH_TOKEN_VALIDITY=604800000

REM Azure Blob Storage
set AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=blobkteventstorage;AccountKey=tcBN7mAfojbl0uGsOpU7RNuKNhHnzmwDiWjN31liSMVSrWaEK+HHnYKZrjBXXAC6ZPsuxUDlsf8x+AStd++QYg==;EndpointSuffix=core.windows.net
set AZURE_CONTAINER_NAME=content-images

REM CORS
set CORS_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:8081,http://localhost:8082,http://localhost:8083,http://localhost:8084,http://kt-event-marketing.20.214.196.128.nip.io
set CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,OPTIONS,PATCH
set CORS_ALLOWED_HEADERS=*
set CORS_ALLOW_CREDENTIALS=true
set CORS_MAX_AGE=3600

REM Logging
set LOG_LEVEL_APP=DEBUG
set LOG_LEVEL_WEB=INFO
set LOG_LEVEL_ROOT=INFO
set LOG_FILE_PATH=%LOG_FILE%
set LOG_FILE_MAX_SIZE=10MB
set LOG_FILE_MAX_HISTORY=7
set LOG_FILE_TOTAL_CAP=100MB

echo ==================================================
echo Content Service 시작
echo ==================================================
echo 포트: %PORT%
echo 로그 파일: %LOG_FILE%
echo Context Path: /api/v1/content
echo ==================================================

REM 기존 프로세스 확인
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%PORT%.*LISTENING"') do (
    echo ⚠️  포트 %PORT%가 이미 사용 중입니다. PID: %%a
    set /p answer="기존 프로세스를 종료하시겠습니까? (y/n): "
    if /i "!answer!"=="y" (
        taskkill /F /PID %%a
        timeout /t 2 /nobreak > nul
    ) else (
        echo 서비스 시작을 취소합니다.
        exit /b 1
    )
)

REM 서비스 시작
echo 서비스를 시작합니다...
start /b cmd /c "gradlew.bat %SERVICE_NAME%:bootRun > %LOG_FILE% 2>&1"

timeout /t 3 /nobreak > nul

echo ✅ Content Service가 시작되었습니다.
echo 로그 확인: tail -f %LOG_FILE% 또는 type %LOG_FILE%
echo.
echo Health Check: curl http://localhost:%PORT%/api/v1/content/actuator/health
echo.
echo 서비스 종료: 작업 관리자에서 java 프로세스 종료
echo ==================================================

endlocal
