# ============================================
# SmartTable 开发环境配置模板
# ============================================
# 用途：本地开发环境起始模板
# 使用方法：复制此文件为 config/.env 并根据需要修改
#
# 注意：此文件与 config/.env 保持同步

# ============================================
# 1. 应用基础配置
# ============================================
# Flask 应用入口文件
FLASK_APP=run.py

# 运行环境：development（开发）| testing（测试）| production（生产）
FLASK_ENV=development

# 是否启用调试模式（开发环境建议开启）
FLASK_DEBUG=True

# 监听地址（0.0.0.0 表示允许外部访问）
FLASK_HOST=0.0.0.0

# 监听端口
FLASK_PORT=5000

# 日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
LOG_LEVEL=INFO

# ============================================
# 2. 安全配置（⚠️ 生产环境必须修改！）
# ============================================
# Flask 会话密钥（用于加密 session 和 cookie）
# ⚠️ 生成方法：python -c "import secrets; print(secrets.token_hex(32))"
# ⚠️ 生产环境禁止使用默认值！
SECRET_KEY=your-secret-key-change-in-production

# JWT 令牌密钥（用于生成和验证访问令牌）
# ⚠️ 生成方法：python -c "import secrets; print(secrets.token_hex(32))"
# ⚠️ 生产环境禁止使用默认值！
JWT_SECRET_KEY=your-jwt-secret-key-change-in-production

# JWT 访问令牌过期时间（秒），默认 24 小时
JWT_ACCESS_TOKEN_EXPIRES=86400

# ============================================
# 3. 数据存储配置
# ============================================
# 数据根目录（相对路径基于项目根目录）
DATA_DIR=data

# 数据库连接 URL
# SQLite（本地开发/打包部署）：
DATABASE_URL=sqlite:///data/smarttable.db
#
# PostgreSQL（Docker/生产环境，取消注释并修改）：
# DATABASE_URL=postgresql://username:password@localhost:5432/smarttable

# 文件上传目录（相对路径基于 DATA_DIR）
UPLOAD_FOLDER=uploads

# 最大上传文件大小（字节），50MB
MAX_CONTENT_LENGTH=52428800

# ============================================
# 4. Redis 缓存配置
# ============================================
# Redis 连接 URL
REDIS_URL=redis://localhost:6379/0

# Redis 密码（可选，生产环境建议设置）
# REDIS_PASSWORD=

# ============================================
# 5. MinIO 对象存储配置（可选）
# ============================================
# MinIO 服务端点
MINIO_ENDPOINT=localhost:9000

# MinIO 访问密钥
MINIO_ACCESS_KEY=minioadmin

# MinIO 秘密密钥
MINIO_SECRET_KEY=minioadmin

# MinIO 存储桶名称
MINIO_BUCKET_NAME=smarttable

# 是否使用 HTTPS 连接 MinIO
MINIO_SECURE=False

# ============================================
# 6. 实时协作配置
# ============================================
# 是否启用实时协作功能（WebSocket）
ENABLE_REALTIME=false

# SocketIO 消息队列 Redis 地址
SOCKETIO_MESSAGE_QUEUE=redis://localhost:6379/2

# SocketIO 心跳超时时间（秒）
SOCKETIO_PING_TIMEOUT=60

# SocketIO 心跳间隔（秒）
SOCKETIO_PING_INTERVAL=25

# ============================================
# 7. CORS 跨域配置（生产环境必填）
# ============================================
# 允许的访问来源（逗号分隔，留空则允许所有本地访问）
# 示例：CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
# CORS_ORIGINS=

# ============================================
# 8. 演示环境与 Gitee Star 校验配置
# ============================================
# 是否开启演示环境（开启后登录需先 star Gitee 项目）
IS_DEMO_ENVIRONMENT=false

# Gitee OAuth 应用 Client ID
GITEE_CLIENT_ID=

# Gitee OAuth 应用 Client Secret
GITEE_CLIENT_SECRET=

# Gitee OAuth 回调地址，需与 OAuth 应用配置一致
GITEE_REDIRECT_URI=https://<frontend>/gitee-callback

# 待检测仓库所属空间
GITEE_REPO_OWNER=binac

# 待检测仓库名
GITEE_REPO_NAME=smart_table

# Gitee Star API 调用失败时是否阻止登录（true=严格模式，false=允许登录）
GITEE_STAR_CHECK_STRICT_MODE=false
