<?php
/**
 * WeChatBot SaaS API - 入口文件
 * 借鉴萌兔 api.wxmtu.com PHP 7.4 + nginx 架构
 * Phase 1: 36+ API 端点
 */
declare(strict_types=1);

use DI\Container;
use Slim\Factory\AppFactory;
use Slim\Middleware\ErrorMiddleware;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;

require __DIR__ . '/../vendor/autoload.php';

// 加载环境变量
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
$dotenv->safeLoad();

// 创建容器
$container = new Container();

// 数据库连接（全局）
\WeChatBot\Helpers\Database::init([
    'host' => $_ENV['DB_HOST'] ?? '127.0.0.1',
    'port' => (int)($_ENV['DB_PORT'] ?? 3306),
    'database' => $_ENV['DB_DATABASE'] ?? 'wechatbot_saas',
    'username' => $_ENV['DB_USERNAME'] ?? 'saas_user',
    'password' => $_ENV['DB_PASSWORD'] ?? '',
]);

// Redis 连接
\WeChatBot\Helpers\Redis::init([
    'host' => $_ENV['REDIS_HOST'] ?? '127.0.0.1',
    'port' => (int)($_ENV['REDIS_PORT'] ?? 6379),
    'password' => $_ENV['REDIS_PASSWORD'] ?? null,
]);

// 创建 Slim App
AppFactory::setContainer($container);
$app = AppFactory::create();

// 错误中间件
$app->addErrorMiddleware(true, true, true);

// 路由（参考萌兔 api.wxmtu.com）
$routes = require __DIR__ . '/../src/Routes/api.php';
$routes($app);

$app->run();