feat: process middleware aliases in all fire* methods
Extracted processMiddleware() helper and added it to fireWebRoutes, fireAdminBooting, fireClientRoutes, fireApiRoutes, fireMcpRoutes, and fireConsoleBooting. Modules can now register middleware aliases via $event->middleware() on any lifecycle event consistently. Previously only fireApiRoutes processed middleware (added in prior commit), other methods silently ignored them despite the base LifecycleEvent class supporting it. Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
9b36ae0661
commit
7c20a5f905
1 changed files with 27 additions and 6 deletions
|
|
@ -244,6 +244,22 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Register middleware aliases collected by a lifecycle event.
|
||||
*
|
||||
* Every fire* method calls this so modules can register middleware
|
||||
* aliases via `$event->middleware('alias', Class::class)` on any event.
|
||||
*/
|
||||
protected static function processMiddleware(Events\LifecycleEvent $event): void
|
||||
{
|
||||
/** @var \Illuminate\Routing\Router $router */
|
||||
$router = app('router');
|
||||
|
||||
foreach ($event->middlewareRequests() as [$alias, $class]) {
|
||||
$router->aliasMiddleware($alias, $class);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fire WebRoutesRegistering and process collected requests.
|
||||
*
|
||||
|
|
@ -263,6 +279,8 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new WebRoutesRegistering;
|
||||
event($event);
|
||||
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process view namespace requests
|
||||
foreach ($event->viewRequests() as [$namespace, $path]) {
|
||||
if (is_dir($path)) {
|
||||
|
|
@ -308,6 +326,8 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new AdminPanelBooting;
|
||||
event($event);
|
||||
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process view namespace requests
|
||||
foreach ($event->viewRequests() as [$namespace, $path]) {
|
||||
if (is_dir($path)) {
|
||||
|
|
@ -356,6 +376,8 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new ClientRoutesRegistering;
|
||||
event($event);
|
||||
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process view namespace requests
|
||||
foreach ($event->viewRequests() as [$namespace, $path]) {
|
||||
if (is_dir($path)) {
|
||||
|
|
@ -395,12 +417,7 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new ApiRoutesRegistering;
|
||||
event($event);
|
||||
|
||||
// Process middleware alias requests
|
||||
/** @var \Illuminate\Routing\Router $router */
|
||||
$router = app('router');
|
||||
foreach ($event->middlewareRequests() as [$alias, $class]) {
|
||||
$router->aliasMiddleware($alias, $class);
|
||||
}
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process route requests with api middleware
|
||||
foreach ($event->routeRequests() as $callback) {
|
||||
|
|
@ -423,6 +440,8 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new McpRoutesRegistering;
|
||||
event($event);
|
||||
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process route requests with mcp middleware
|
||||
foreach ($event->routeRequests() as $callback) {
|
||||
Route::middleware('mcp')->group($callback);
|
||||
|
|
@ -458,6 +477,8 @@ class LifecycleEventProvider extends ServiceProvider
|
|||
$event = new ConsoleBooting;
|
||||
event($event);
|
||||
|
||||
static::processMiddleware($event);
|
||||
|
||||
// Process command requests
|
||||
if (! empty($event->commandRequests())) {
|
||||
$this->commands($event->commandRequests());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue