From 3f20ad985ce7a097472062ffaf8c45feec1c300e Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Tue, 26 May 2026 13:42:32 -0500 Subject: [PATCH] fix(joomla6): update webservices plugin for Joomla 6 typed event API Joomla 6 changed SubscriberInterface event handlers to receive a typed event object instead of pass-by-reference parameters. Update onBeforeApiRoute() to accept BeforeApiRouteEvent and extract the router via $event->getRouter(). Fixes #48 Authored-by: Moko Consulting --- .../plg_webservices_mokowaas/src/Extension/MokoWaaSApi.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/packages/plg_webservices_mokowaas/src/Extension/MokoWaaSApi.php b/src/packages/plg_webservices_mokowaas/src/Extension/MokoWaaSApi.php index 0e1860f..b6e2e40 100644 --- a/src/packages/plg_webservices_mokowaas/src/Extension/MokoWaaSApi.php +++ b/src/packages/plg_webservices_mokowaas/src/Extension/MokoWaaSApi.php @@ -11,6 +11,7 @@ namespace Moko\Plugin\WebServices\MokoWaaS\Extension; defined('_JEXEC') or die; use Joomla\CMS\Plugin\CMSPlugin; +use Joomla\CMS\Event\Application\BeforeApiRouteEvent; use Joomla\CMS\Router\ApiRouter; use Joomla\Event\SubscriberInterface; @@ -36,14 +37,16 @@ final class MokoWaaSApi extends CMSPlugin implements SubscriberInterface /** * Register API routes for MokoWaaS. * - * @param ApiRouter $router The API router + * @param BeforeApiRouteEvent $event The API route event (Joomla 6 typed event) * * @return void * * @since 1.0.0 */ - public function onBeforeApiRoute(&$router): void + public function onBeforeApiRoute(BeforeApiRouteEvent $event): void { + $router = $event->getRouter(); + $router->createCRUDRoutes( 'v1/mokowaas/health', 'health',