"""
版本公开 API 蓝图：当前版本、最新版本下载链接
"""
import os
from flask import Blueprint, jsonify

from utils.db import get_db

version_bp = Blueprint('version', __name__, url_prefix='/api')


@version_bp.route('/version')
def api_version():
    """检测更新：返回当前版本及可选的最新版本信息"""
    return jsonify({
        'version': os.environ.get('APP_VERSION', '1.0.0'),
        'desc': '',
        'url': os.environ.get('APP_UPDATE_URL', ''),
    })


@version_bp.route('/version/latest')
def api_version_latest():
    """GET 获取最新版本的下载链接（按创建时间取最新一条）"""
    try:
        conn = get_db()
        with conn.cursor() as cur:
            cur.execute(
                "SELECT version, file_url FROM web_config ORDER BY created_at DESC LIMIT 1"
            )
            row = cur.fetchone()
        conn.close()
        if not row:
            return jsonify({'version': None, 'file_url': None})
        return jsonify({
            'version': row['version'] or '',
            'file_url': row['file_url'] or '',
        })
    except Exception as e:
        return jsonify({'error': str(e)}), 500
