load(); // ====================================== // Inicializa KrothiumAPI com configs // ====================================== KrothiumAPI::init(config: [ 'app' => [ 'mode' => $_ENV['APP_MODE'] ?? 'DEV', // DEV | PROD ], 'paths' => [ 'root' => __DIR__ . '/..', 'src' => __DIR__ . '/../app', 'module' => __DIR__ . '/../app/Module', 'storage' => __DIR__ . '/../storage', 'component' => __DIR__ . '/../app/Common/Component', ], 'router' => [ 'base_path' => $_ENV['ROUTER_BASE_PATH'] ?? '', 'allowed_origins' => ['*'], ], 'system' => [ 'enable_session' => true, 'default_timezone' => 'America/Fortaleza', ], 'errors' => [ 'error_log' => __DIR__ . '/../storage/Logs/php-error.log', ], 'logger' => [ 'driver' => 'FILE', 'logDir' => __DIR__ . '/../storage/Logs' ], 'constants' => [ // Constantes extras específicas da aplicação, se precisar. ] ]); // ====================================== // Registra Middlewares // ====================================== use KrothiumAPI\Http\Router; use WorkbloomERP\Middleware\AuthMiddleware; use WorkbloomERP\Module\Auth\Routes as AuthRoutes; Router::defineMiddleware('auth', [AuthMiddleware::class, 'handle']); // ====================================== // Importa rotas dos módulos // ====================================== AuthRoutes::register(); // ============================ // Dispara o roteador // ============================ KrothiumAPI::routerDispatch();