@echo off
chcp 65001 >nul
setlocal EnableDelayedExpansion

REM 스크립트가 있는 디렉토리에서 루트로 이동
cd /d "%~dp0\..\.."

REM 시작 시간 기록
set START_TIME=%DATE% %TIME%

echo ============================================
echo WACE 솔루션 - 전체 서비스 시작 (병렬 최적화)
echo ============================================
echo [시작 시간] %START_TIME%
echo.

REM Docker Desktop 실행 확인
echo [1/5] Docker Desktop 상태 확인 중...
docker --version >nul 2>&1
if %errorlevel% neq 0 (
    echo [ERROR] Docker Desktop이 실행되지 않았습니다!
    echo         Docker Desktop을 먼저 실행해주세요.
    pause
    exit /b 1
)
echo [OK] Docker Desktop이 실행 중입니다.
echo.

REM 기존 컨테이너 및 이미지 정리
echo [2/5] 기존 컨테이너 및 이미지 정리 중...
docker rm -f pms-backend-win pms-frontend-win 2>nul
docker rmi -f erp-node-backend erp-node-frontend 2>nul
docker network rm pms-network 2>nul
docker network create pms-network 2>nul
docker system prune -f >nul 2>&1
echo [OK] 컨테이너 및 이미지 정리 완료
echo.

REM 병렬 빌드 (docker-compose 자체가 병렬 처리)
echo [3/5] 이미지 빌드 중... (백엔드 + 프론트엔드 병렬)
echo       이 작업은 시간이 걸릴 수 있습니다...
echo.

REM 백엔드 빌드 (캐시 없이 완전 재빌드)
docker-compose -f docker-compose.backend.win.yml build --no-cache
if %errorlevel% neq 0 (
    echo [ERROR] 백엔드 빌드 실패!
    pause
    exit /b 1
)
echo [OK] 백엔드 빌드 완료
echo.

REM 프론트엔드 빌드 (캐시 없이 완전 재빌드)
docker-compose -f docker-compose.frontend.win.yml build --no-cache
if %errorlevel% neq 0 (
    echo [ERROR] 프론트엔드 빌드 실패!
    pause
    exit /b 1
)
echo [OK] 프론트엔드 빌드 완료
echo.

REM 기존 컨테이너 정리 후 서비스 시작
echo [4/5] 서비스 시작 중...
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul

REM 백엔드 시작
echo       백엔드 서비스 시작...
docker-compose -f docker-compose.backend.win.yml up -d
if %errorlevel% neq 0 (
    echo [ERROR] 백엔드 시작 실패!
    pause
    exit /b 1
)

REM 프론트엔드 시작
echo       프론트엔드 서비스 시작...
docker-compose -f docker-compose.frontend.win.yml up -d
if %errorlevel% neq 0 (
    echo [ERROR] 프론트엔드 시작 실패!
    pause
    exit /b 1
)
echo [OK] 서비스 시작 완료
echo.

REM 안정화 대기
echo [5/5] 서비스 안정화 대기 중... (10초)
timeout /t 10 /nobreak >nul
echo.

echo ============================================
echo [완료] 모든 서비스가 시작되었습니다!
echo ============================================
echo.
echo [DATABASE] PostgreSQL: http://39.117.244.52:11132
echo [BACKEND]  Node.js API: http://localhost:8080/api
echo [FRONTEND] Next.js:     http://localhost:9771
echo.
echo [서비스 상태 확인]
echo   docker-compose -f docker-compose.backend.win.yml ps
echo   docker-compose -f docker-compose.frontend.win.yml ps
echo.
echo [로그 확인]
echo   백엔드:   docker-compose -f docker-compose.backend.win.yml logs -f
echo   프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f
echo.
echo [서비스 중지]
echo   scripts\dev\stop-all.bat
echo.

set END_TIME=%DATE% %TIME%
echo [종료 시간] %END_TIME%
echo ============================================

pause
