From 3036cb0113fe6c2c0fb877b205faf8228431a1e4 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Tue, 23 Jun 2026 11:59:54 -0500 Subject: [PATCH] feat: add admin component (6 views) + webservices plugin (6 API routes) --- .../com_mokosuiteauto/admin/access.xml | 1 + .../com_mokosuiteauto/admin/config.xml | 1 + .../admin/services/provider.php | 17 +++++++++++++++++ .../src/Controller/DisplayController.php | 7 +++++++ .../admin/src/Model/AutoDashboardModel.php | 7 +++++++ .../admin/src/View/AutoDashboard/HtmlView.php | 11 +++++++++++ .../admin/src/View/AutoDeals/HtmlView.php | 11 +++++++++++ .../admin/src/View/AutoInventory/HtmlView.php | 11 +++++++++++ .../src/View/AutoServiceDept/HtmlView.php | 11 +++++++++++ .../src/View/AutoTestDrives/HtmlView.php | 11 +++++++++++ .../admin/src/View/AutoTradeIns/HtmlView.php | 11 +++++++++++ .../admin/tmpl/autodashboard/default.php | 1 + .../admin/tmpl/autodeals/default.php | 1 + .../admin/tmpl/autoinventory/default.php | 1 + .../admin/tmpl/autoservicedept/default.php | 1 + .../admin/tmpl/autotestdrives/default.php | 1 + .../admin/tmpl/autotradeins/default.php | 1 + .../com_mokosuiteauto/mokosuiteauto.xml | 14 ++++++++++++++ .../mokosuiteauto.xml | 10 ++++++++++ .../services/provider.php | 15 +++++++++++++++ .../src/Extension/MokoSuiteAuto.php | 19 +++++++++++++++++++ 21 files changed, 163 insertions(+) create mode 100644 source/packages/com_mokosuiteauto/admin/access.xml create mode 100644 source/packages/com_mokosuiteauto/admin/config.xml create mode 100644 source/packages/com_mokosuiteauto/admin/services/provider.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/Controller/DisplayController.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/Model/AutoDashboardModel.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoDashboard/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoDeals/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoInventory/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoServiceDept/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoTestDrives/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/src/View/AutoTradeIns/HtmlView.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autodashboard/default.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autodeals/default.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autoinventory/default.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autoservicedept/default.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autotestdrives/default.php create mode 100644 source/packages/com_mokosuiteauto/admin/tmpl/autotradeins/default.php create mode 100644 source/packages/com_mokosuiteauto/mokosuiteauto.xml create mode 100644 source/packages/plg_webservices_mokosuiteauto/mokosuiteauto.xml create mode 100644 source/packages/plg_webservices_mokosuiteauto/services/provider.php create mode 100644 source/packages/plg_webservices_mokosuiteauto/src/Extension/MokoSuiteAuto.php diff --git a/source/packages/com_mokosuiteauto/admin/access.xml b/source/packages/com_mokosuiteauto/admin/access.xml new file mode 100644 index 0000000..f554fd4 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/access.xml @@ -0,0 +1 @@ +
diff --git a/source/packages/com_mokosuiteauto/admin/config.xml b/source/packages/com_mokosuiteauto/admin/config.xml new file mode 100644 index 0000000..afabf44 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/config.xml @@ -0,0 +1 @@ +
diff --git a/source/packages/com_mokosuiteauto/admin/services/provider.php b/source/packages/com_mokosuiteauto/admin/services/provider.php new file mode 100644 index 0000000..ae2e203 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/services/provider.php @@ -0,0 +1,17 @@ +set(ComponentInterface::class, function (Container $container) { + $c = new MVCComponent($container->get(ComponentDispatcherFactoryInterface::class)); + $c->setMVCFactory($container->get(MVCFactoryInterface::class)); + return $c; + }); + } +}; diff --git a/source/packages/com_mokosuiteauto/admin/src/Controller/DisplayController.php b/source/packages/com_mokosuiteauto/admin/src/Controller/DisplayController.php new file mode 100644 index 0000000..505af4e --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/src/Controller/DisplayController.php @@ -0,0 +1,7 @@ + 'ok']; } +} diff --git a/source/packages/com_mokosuiteauto/admin/src/View/AutoDashboard/HtmlView.php b/source/packages/com_mokosuiteauto/admin/src/View/AutoDashboard/HtmlView.php new file mode 100644 index 0000000..b6d7ff7 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/src/View/AutoDashboard/HtmlView.php @@ -0,0 +1,11 @@ +

AutoDashboard

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/admin/tmpl/autodeals/default.php b/source/packages/com_mokosuiteauto/admin/tmpl/autodeals/default.php new file mode 100644 index 0000000..8f139e9 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/tmpl/autodeals/default.php @@ -0,0 +1 @@ +

AutoDeals

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/admin/tmpl/autoinventory/default.php b/source/packages/com_mokosuiteauto/admin/tmpl/autoinventory/default.php new file mode 100644 index 0000000..9fce410 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/tmpl/autoinventory/default.php @@ -0,0 +1 @@ +

AutoInventory

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/admin/tmpl/autoservicedept/default.php b/source/packages/com_mokosuiteauto/admin/tmpl/autoservicedept/default.php new file mode 100644 index 0000000..d59cf5e --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/tmpl/autoservicedept/default.php @@ -0,0 +1 @@ +

AutoServiceDept

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/admin/tmpl/autotestdrives/default.php b/source/packages/com_mokosuiteauto/admin/tmpl/autotestdrives/default.php new file mode 100644 index 0000000..396f7d2 --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/tmpl/autotestdrives/default.php @@ -0,0 +1 @@ +

AutoTestDrives

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/admin/tmpl/autotradeins/default.php b/source/packages/com_mokosuiteauto/admin/tmpl/autotradeins/default.php new file mode 100644 index 0000000..6d20afa --- /dev/null +++ b/source/packages/com_mokosuiteauto/admin/tmpl/autotradeins/default.php @@ -0,0 +1 @@ +

AutoTradeIns

Coming soon.

diff --git a/source/packages/com_mokosuiteauto/mokosuiteauto.xml b/source/packages/com_mokosuiteauto/mokosuiteauto.xml new file mode 100644 index 0000000..8d0a2ee --- /dev/null +++ b/source/packages/com_mokosuiteauto/mokosuiteauto.xml @@ -0,0 +1,14 @@ + + + MokoSuite Auto + Moko Consulting + 2026-06-23 + Copyright (C) 2026 Moko Consulting. + GPL-3.0-or-later + 01.00.00 + Moko\Component\MokoSuiteAuto + + servicessrctmpl + COM_MOKOSUITEAUTO + + diff --git a/source/packages/plg_webservices_mokosuiteauto/mokosuiteauto.xml b/source/packages/plg_webservices_mokosuiteauto/mokosuiteauto.xml new file mode 100644 index 0000000..7cfe07e --- /dev/null +++ b/source/packages/plg_webservices_mokosuiteauto/mokosuiteauto.xml @@ -0,0 +1,10 @@ + + + Web Services - MokoSuite Auto + mokosuiteauto + Moko Consulting + 01.00.00 + GPL-3.0-or-later + Moko\Plugin\WebServices\MokoSuiteAuto + srcservices + diff --git a/source/packages/plg_webservices_mokosuiteauto/services/provider.php b/source/packages/plg_webservices_mokosuiteauto/services/provider.php new file mode 100644 index 0000000..82539ae --- /dev/null +++ b/source/packages/plg_webservices_mokosuiteauto/services/provider.php @@ -0,0 +1,15 @@ +set(PluginInterface::class, function (Container $container) { + return new MokoSuiteAuto($container->get(DispatcherInterface::class), (array) PluginHelper::getPlugin('webservices', 'mokosuiteauto')); + }); + } +}; diff --git a/source/packages/plg_webservices_mokosuiteauto/src/Extension/MokoSuiteAuto.php b/source/packages/plg_webservices_mokosuiteauto/src/Extension/MokoSuiteAuto.php new file mode 100644 index 0000000..9bdf5a9 --- /dev/null +++ b/source/packages/plg_webservices_mokosuiteauto/src/Extension/MokoSuiteAuto.php @@ -0,0 +1,19 @@ + 'onBeforeApiRoute']; + } + public function onBeforeApiRoute(&$event): void { + $router = $event->getArgument('router'); + $router->createCRUDRoutes('v1/mokosuiteauto/vehicles', 'vehicles', ['component' => 'com_mokosuiteauto']); + $router->createCRUDRoutes('v1/mokosuiteauto/deals', 'deals', ['component' => 'com_mokosuiteauto']); + $router->createCRUDRoutes('v1/mokosuiteauto/tradeins', 'tradeins', ['component' => 'com_mokosuiteauto']); + $router->createCRUDRoutes('v1/mokosuiteauto/test_drives', 'test_drives', ['component' => 'com_mokosuiteauto']); + $router->createCRUDRoutes('v1/mokosuiteauto/financing', 'financing', ['component' => 'com_mokosuiteauto']); + $router->createCRUDRoutes('v1/mokosuiteauto/service_orders', 'service_orders', ['component' => 'com_mokosuiteauto']); + } +}