fix: Joomla 6 compat for webservices API route event
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s

Joomla 6 passes a BeforeApiRouteEvent object instead of the router
directly. Extract the router from the event for Joomla 5/6 dual compat.
This commit is contained in:
2026-06-25 09:53:29 -05:00
parent a4704ad267
commit bc290f3bed
@@ -35,8 +35,9 @@ class MokoSuiteCrossWebServices extends CMSPlugin implements SubscriberInterface
];
}
public function onBeforeApiRoute(&$router): void
public function onBeforeApiRoute($event): void
{
$router = $event instanceof \Joomla\CMS\Event\AbstractEvent ? $event->getRouter() : $event;
$defaults = ['component' => 'com_mokosuitecross'];
$router->createCRUDRoutes('v1/mokosuitecross/posts', 'posts', $defaults);
@@ -44,7 +45,6 @@ class MokoSuiteCrossWebServices extends CMSPlugin implements SubscriberInterface
$router->createCRUDRoutes('v1/mokosuitecross/templates', 'templates', $defaults);
$router->createCRUDRoutes('v1/mokosuitecross/logs', 'logs', $defaults);
// Action endpoint: dispatch cross-posts for an article (POST only)
$router->addRoute(
new \Joomla\Router\Route(['POST'], 'v1/mokosuitecross/dispatch', 'dispatch.dispatch', [], $defaults)
);