feat: scaffold batch 2
This commit is contained in:
+2
@@ -0,0 +1,2 @@
|
||||
COM_MOKOSUITELOGISTICS="MokoSuiteLogistics"
|
||||
COM_MOKOSUITELOGISTICS_DESCRIPTION="Layer 2 — Fleet logistics, shipment tracking, route planning, warehouse management"
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="plugin" group="webservices" method="upgrade">
|
||||
<name>plg_webservices_mokosuitelogistics</name>
|
||||
<version>0.0.0</version>
|
||||
<creationDate>2026-06</creationDate>
|
||||
<author>Moko Consulting</author>
|
||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||
<authorUrl>https://mokoconsulting.tech</authorUrl>
|
||||
<copyright>(C) 2026 Moko Consulting</copyright>
|
||||
<license>GPL-3.0-or-later</license>
|
||||
<description>MokoSuiteLogistics webservices plugin</description>
|
||||
<namespace path="src">MokoConsulting\Plugin\WebServices\MokoSuiteLogistics</namespace>
|
||||
<files>
|
||||
<folder>src</folder>
|
||||
<folder>services</folder>
|
||||
</files>
|
||||
</extension>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C) 2026 Moko Consulting
|
||||
* @license GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Extension\PluginInterface;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\DI\Container;
|
||||
use Joomla\DI\ServiceProviderInterface;
|
||||
use Joomla\Event\DispatcherInterface;
|
||||
use MokoConsulting\Plugin\WebServices\MokoSuiteLogistics\Extension\MokoSuiteLogistics;
|
||||
|
||||
return new class implements ServiceProviderInterface
|
||||
{
|
||||
public function register(Container $container): void
|
||||
{
|
||||
$container->set(
|
||||
PluginInterface::class,
|
||||
function (Container $container) {
|
||||
$dispatcher = $container->get(DispatcherInterface::class);
|
||||
$plugin = new MokoSuiteLogistics($dispatcher, (array) PluginHelper::getPlugin('webservices', 'mokosuitelogistics'));
|
||||
$plugin->setApplication(Factory::getApplication());
|
||||
return $plugin;
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C) 2026 Moko Consulting
|
||||
* @license GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace MokoConsulting\Plugin\WebServices\MokoSuiteLogistics\Extension;
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Plugin\CMSPlugin;
|
||||
use Joomla\CMS\Router\ApiRouter;
|
||||
use Joomla\Event\SubscriberInterface;
|
||||
use Joomla\Router\Route;
|
||||
|
||||
final class MokoSuiteLogistics extends CMSPlugin implements SubscriberInterface
|
||||
{
|
||||
public static function getSubscribedEvents(): array
|
||||
{
|
||||
return [
|
||||
'onBeforeApiRoute' => 'onBeforeApiRoute',
|
||||
];
|
||||
}
|
||||
|
||||
public function onBeforeApiRoute(&$router): void
|
||||
{
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/shipments', 'shipments');
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/routes', 'routes');
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/carriers', 'carriers');
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/warehouses', 'warehouses');
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/packages', 'packages');
|
||||
$router->createCRUDRoutes('v1/mokosuitelogistics/tracking', 'tracking');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user