fix(webservice): Namespaces and redundancies

redundant require statements, clean up install trait, standardize trait names, remove hard-coded php version require for composer.json
This commit is contained in:
2026-03-02 13:22:25 +01:00
parent ff46d6c11c
commit a36587d312
10 changed files with 52 additions and 25 deletions

View File

@@ -12,7 +12,7 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Module\\WsOrderreference\\": "src/" "Websmid\\WsOrderReference\\": "src/"
}, },
"classmap": [ "classmap": [
"ws_orderreference.php", "ws_orderreference.php",

View File

@@ -3,17 +3,15 @@ services:
autowire: true autowire: true
autoconfigure: true autoconfigure: true
Module\WsOrderreference\Controller\:
resource: "../src/Controller/*"
# Repository - this makes it available via dependency injection # Repository - this makes it available via dependency injection
Module\WsOrderreference\Repository\OrderReferenceRepository: Websmid\WsOrderReference\Repository\OrderReferenceRepository:
public: true public: true
factory: ["@doctrine.orm.default_entity_manager", getRepository] factory: ["@doctrine.orm.default_entity_manager", getRepository]
arguments: arguments:
- Module\WsOrderreference\Entity\OrderReference - Websmid\WsOrderReference\Entity\OrderReference
# Database installer # Database installer
Module\WsOrderreference\Database\ReferenceInstaller: Websmid\WsOrderReference\Database\ReferenceInstaller:
public: true public: true
arguments: arguments:
- "@doctrine.dbal.default_connection" - "@doctrine.dbal.default_connection"

View File

@@ -0,0 +1,19 @@
<?php
namespace Websmid\WsOrderReference\Controller;
use PrestaShopBundle\Controller\Admin\PrestaShopAdminController;
use Symfony\Component\HttpFoundation\JsonResponse;
class OrderReferenceController extends PrestaShopAdminController
{
public function getReferenceAction(int $id_order)
{
// Dummy data for testing. See https://simonspeelgoed.websmid.dev/api/order_reference
return new JsonResponse([
'orderId' => $id_order,
'customReference' => 'DUMMY-REF-12345',
'status' => 'This is a test response'
]);
}
}

View File

@@ -14,7 +14,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Module\WsOrderreference\Database; namespace Websmid\WsOrderReference\Database;
use Doctrine\DBAL\Connection; use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Exception as DBALException; use Doctrine\DBAL\Exception as DBALException;

View File

@@ -10,13 +10,13 @@
declare(strict_types=1); declare(strict_types=1);
namespace Module\WsOrderreference\Entity; namespace Websmid\WsOrderReference\Entity;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** /**
* @ORM\Table() * @ORM\Table()
* @ORM\Entity(repositoryClass="Module\WsOrderreference\Repository\OrderReferenceRepository") * @ORM\Entity(repositoryClass="Websmid\WsOrderReference\Repository\OrderReferenceRepository")
*/ */
class OrderReference class OrderReference
{ {

View File

@@ -1,16 +1,28 @@
<?php <?php
namespace Module\WsOrderreference\Module; namespace Websmid\WsOrderReference\Module;
use Module\WsOrderreference\Database\ReferenceInstaller; use Websmid\WsOrderReference\Database\ReferenceInstaller;
trait Install trait Install
{ {
public function install() public function install()
{ {
return $this->installTables() if (!parent::install()) {
&& parent::install() return false;
&& $this->registerHook('displayShoppingCart') }
if (!$this->installTables()){
return false;
}
if (!$this->registerHooks()){
return false;
}
return true;
}
public function registerHooks(){
return $this->registerHook('displayShoppingCart')
&& $this->registerHook('displayPDFDeliverySlip') && $this->registerHook('displayPDFDeliverySlip')
&& $this->registerHook('addWebserviceResources') && $this->registerHook('addWebserviceResources')
&& $this->registerHook('actionFrontControllerSetMedia'); && $this->registerHook('actionFrontControllerSetMedia');

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace Module\WsOrderreference\Module; namespace Websmid\WsOrderReference\Module;
trait actionHooks trait actionHooks
{ {

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace Module\WsOrderreference\Module; namespace Websmid\WsOrderReference\Module;
trait displayHooks trait displayHooks
{ {
@@ -13,7 +13,7 @@ trait displayHooks
{ {
$orderId = $params['object']->id_order; $orderId = $params['object']->id_order;
$orderReferenceRepo = \PrestaShop\PrestaShop\Adapter\SymfonyContainer::getInstance()->get('Module\WsOrderreference\Repository\OrderReferenceRepository'); $orderReferenceRepo = \PrestaShop\PrestaShop\Adapter\SymfonyContainer::getInstance()->get('Websmid\WsOrderReference\Repository\OrderReferenceRepository');
$orderReference = $orderReferenceRepo->customRefByOrderId($orderId); $orderReference = $orderReferenceRepo->customRefByOrderId($orderId);
$this->context->smarty->assign('orderReference', $orderReference); $this->context->smarty->assign('orderReference', $orderReference);

View File

@@ -9,10 +9,10 @@
declare(strict_types=1); declare(strict_types=1);
namespace Module\WsOrderreference\Repository; namespace Websmid\WsOrderReference\Repository;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
use Module\WsOrderreference\Entity\OrderReference; use Websmid\WsOrderReference\Entity\OrderReference;
class OrderReferenceRepository extends EntityRepository class OrderReferenceRepository extends EntityRepository
{ {

View File

@@ -4,17 +4,14 @@ if (!defined('_PS_VERSION_')) {
exit; exit;
} }
use Module\WsOrderreference\Module\Install; use Websmid\WsOrderReference\Module\Install;
use Module\WsOrderreference\Module\displayHooks; use Websmid\WsOrderReference\Module\displayHooks;
use Module\WsOrderreference\Module\actionHooks; use Websmid\WsOrderReference\Module\actionHooks;
if (file_exists(__DIR__ . '/vendor/autoload.php')) { if (file_exists(__DIR__ . '/vendor/autoload.php')) {
require_once __DIR__ . '/vendor/autoload.php'; require_once __DIR__ . '/vendor/autoload.php';
} }
require_once __DIR__ . '/classes/WebserviceSpecificManagementOrderreference.php';
class Ws_OrderReference extends Module class Ws_OrderReference extends Module
{ {
/** @var OrderReferenceRepository */ /** @var OrderReferenceRepository */
@@ -24,6 +21,7 @@ class Ws_OrderReference extends Module
use displayHooks; use displayHooks;
use actionHooks; use actionHooks;
public function __construct() public function __construct()
{ {
$this->name = 'ws_orderreference'; $this->name = 'ws_orderreference';