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>
45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Mod\Names;
|
|
|
|
use Core\Events\ApiRoutesRegistering;
|
|
use Core\Events\ConsoleBooting;
|
|
use Core\Events\WebRoutesRegistering;
|
|
use Illuminate\Console\Scheduling\Schedule;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Mod\Names\Commands\RetryDnsTickets;
|
|
|
|
class Boot
|
|
{
|
|
public static array $listens = [
|
|
WebRoutesRegistering::class => 'onWebRoutes',
|
|
ApiRoutesRegistering::class => 'onApiRoutes',
|
|
ConsoleBooting::class => 'onConsole',
|
|
];
|
|
|
|
public function onWebRoutes(WebRoutesRegistering $event): void
|
|
{
|
|
$event->views('names', __DIR__ . '/Views');
|
|
$event->routes(fn () => Route::prefix('names')->group(__DIR__ . '/Routes/web.php'));
|
|
}
|
|
|
|
public function onApiRoutes(ApiRoutesRegistering $event): void
|
|
{
|
|
$event->routes(fn () => Route::prefix('v1/names')->group(__DIR__ . '/Routes/api.php'));
|
|
}
|
|
|
|
public function onConsole(ConsoleBooting $event): void
|
|
{
|
|
$event->command(RetryDnsTickets::class);
|
|
$event->command(Commands\SetupWorkspace::class);
|
|
|
|
app()->booted(function () {
|
|
app(Schedule::class)->command('names:retry-dns')
|
|
->everyMinute()
|
|
->withoutOverlapping()
|
|
->runInBackground();
|
|
});
|
|
}
|
|
}
|