#!/bin/bash
# Tool_OCR - 後端開發服務器啟動腳本

set -e

# 顏色定義
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${YELLOW}正在啟動 Tool_OCR 後端開發服務器...${NC}"
echo ""

# 檢查虛擬環境
if [ ! -d "venv" ]; then
    echo -e "${RED}錯誤: 未找到虛擬環境${NC}"
    echo "請先運行: ./setup_dev_env.sh"
    exit 1
fi

# 檢查 .env.local
if [ ! -f ".env.local" ]; then
    echo -e "${RED}錯誤: 未找到 .env.local 配置文件${NC}"
    echo "請確保 .env.local 文件存在"
    exit 1
fi

# 啟動虛擬環境
echo -e "${GREEN}啟動 Python 虛擬環境...${NC}"
source venv/bin/activate

# 載入環境變量
echo -e "${GREEN}載入環境變量...${NC}"
export $(cat .env.local | grep -v '^#' | xargs)

# 進入後端目錄
cd backend

# 檢查必要的目錄
echo -e "${GREEN}檢查目錄結構...${NC}"
mkdir -p uploads/{temp,processed,images}
mkdir -p storage/{markdown,json,exports}
mkdir -p models/paddleocr
mkdir -p logs

# 啟動後端服務器
echo ""
echo -e "${GREEN}================================${NC}"
echo -e "${GREEN}後端服務器啟動中...${NC}"
echo -e "${GREEN}================================${NC}"
echo ""
echo "API 文檔: http://localhost:8000/docs"
echo "健康檢查: http://localhost:8000/health"
echo ""
echo "按 Ctrl+C 停止服務器"
echo ""

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
