From d0d157c727e8af45daa9490028b779f13bf5b2b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20L=C3=B8vgaard?= Date: Wed, 29 May 2024 09:56:14 +0200 Subject: [PATCH] Add service point data mapper --- composer.json | 2 +- src/DataMapper/ServicePointDataMapper.php | 46 +++++++++++++++++++ src/Resources/config/services/data_mapper.xml | 5 ++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/DataMapper/ServicePointDataMapper.php diff --git a/composer.json b/composer.json index 08a779e..6545f02 100644 --- a/composer.json +++ b/composer.json @@ -59,7 +59,7 @@ "phpunit/phpunit": "^9.6", "psalm/plugin-phpunit": "^0.18", "psalm/plugin-symfony": "^5.1", - "setono/code-quality-pack": "^2.6", + "setono/code-quality-pack": "^2.7.2", "sylius/sylius": "~1.12.13", "symfony/debug-bundle": "^6.4", "symfony/dotenv": "^6.4", diff --git a/src/DataMapper/ServicePointDataMapper.php b/src/DataMapper/ServicePointDataMapper.php new file mode 100644 index 0000000..306adfe --- /dev/null +++ b/src/DataMapper/ServicePointDataMapper.php @@ -0,0 +1,46 @@ +getShipments()->first(); + if (!$shipment instanceof ShipmentInterface) { + return; + } + + /** + * todo make the shipmondo pickup point a value object that's mapped in Doctrine + * + * The keys below match the properties from this class: \Setono\Shipmondo\Response\PickupPoints\PickupPoint + * + * @var array{id: string, name: string, address: string, zipcode: string, city: string, country: string, address2: string|null}|null $pickupPoint + */ + $pickupPoint = $shipment->getShipmondoPickupPoint(); + if (null === $pickupPoint) { + return; + } + + $salesOrder->servicePoint = new ServicePoint( + id: $pickupPoint['id'], + name: $pickupPoint['name'], + address1: $pickupPoint['address'], + zipCode: $pickupPoint['zipcode'], + city: $pickupPoint['city'], + countryCode: $pickupPoint['country'], + address2: $pickupPoint['address2'] ?? null, + ); + } +} diff --git a/src/Resources/config/services/data_mapper.xml b/src/Resources/config/services/data_mapper.xml index b1344e3..5785bf7 100644 --- a/src/Resources/config/services/data_mapper.xml +++ b/src/Resources/config/services/data_mapper.xml @@ -37,5 +37,10 @@ + + + +