<?php

use Slim\Factory\AppFactory;
use DI\Container;
use Dotenv\Dotenv;

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

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

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

// 创建应用
$app = AppFactory::create();

// 添加路由中间件（必须在路由定义之前）
$app->addRoutingMiddleware();

// 添加错误处理
$app->addErrorMiddleware(true, true, true);

// 添加 CORS 中间件
$app->add(new \App\Middleware\CorsMiddleware());

// 处理 OPTIONS 请求
$app->options('/{routes:.+}', function ($request, $response) {
    return $response;
});

// 加载路由
require __DIR__ . '/../config/routes.php';

$app->run();
