lthn.io/app/Mod/Pool/Boot.php
Claude d1873dbe09
feat: migrate all API routes to ApiRoutesRegistering
All 6 Mod modules now register API routes via ApiRoutesRegistering
instead of WebRoutesRegistering with CSRF hacks. The api middleware
group (ThrottleRequests + SubstituteBindings, no CSRF/session)
handles everything natively. Website/Api module simplified to just
metrics and homepage. fireApiRoutes() added to Web Boot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:51:53 +01:00

36 lines
1,000 B
PHP

<?php
declare(strict_types=1);
namespace Mod\Pool;
use Core\Events\ApiRoutesRegistering;
use Core\Events\FrameworkBooted;
use Core\Events\WebRoutesRegistering;
use Illuminate\Support\Facades\Route;
use Mod\Pool\Services\PoolClient;
class Boot
{
public static array $listens = [
WebRoutesRegistering::class => 'onWebRoutes',
ApiRoutesRegistering::class => 'onApiRoutes',
FrameworkBooted::class => 'onFrameworkBooted',
];
public function onWebRoutes(WebRoutesRegistering $event): void
{
$event->routes(fn () => Route::prefix('pool')->group(__DIR__ . '/Routes/web.php'));
}
public function onApiRoutes(ApiRoutesRegistering $event): void
{
$event->routes(fn () => Route::prefix('v1/pool')->group(__DIR__ . '/Routes/api.php'));
}
public function onFrameworkBooted(FrameworkBooted $event): void
{
app()->singleton(PoolClient::class);
app('config')->set('pool', require __DIR__ . '/config.php');
}
}