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>
36 lines
1,000 B
PHP
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');
|
|
}
|
|
}
|