#!/bin/bash
set -e

# 创建运行时数据目录
mkdir -p /data/uploads /data/instance
chmod 755 /data/uploads /data/instance

# 首次启动时初始化数据库；非首次启动时触发应用初始化逻辑检查表结构。
if [ ! -f /data/instance/transcriptions.db ]; then
    echo "数据库不存在，正在创建..."
    python -c "from src.app import app; from src.clients import db; app.app_context().push(); db.create_all()"
    echo "数据库创建完成。"
else
    echo "数据库已存在，正在检查表结构更新..."
    python -c "from src.app import app; app.app_context().push()"
fi

# 如果配置了管理员环境变量，则创建或更新管理员账号。
if [ -n "$ADMIN_USERNAME" ] && [ -n "$ADMIN_EMAIL" ] && [ -n "$ADMIN_PASSWORD" ]; then
    echo "正在根据环境变量创建管理员账号..."
    cd /app && python scripts/docker_create_admin.py
fi

# 启动应用
exec "$@"
