From e721351a4b0efac6bcc3578371ff7cb6f3ec7a6f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 7 Sep 2024 17:28:48 +1000 Subject: [PATCH] Symfony Serializer --- app/PaymentDrivers/CBAPowerBoard/Customer.php | 7 ++++--- app/PaymentDrivers/CBAPowerBoard/Models/Parse.php | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/PaymentDrivers/CBAPowerBoard/Customer.php b/app/PaymentDrivers/CBAPowerBoard/Customer.php index 480fdb5f05e0..92ac86ab5778 100644 --- a/app/PaymentDrivers/CBAPowerBoard/Customer.php +++ b/app/PaymentDrivers/CBAPowerBoard/Customer.php @@ -32,11 +32,12 @@ class Customer ->first(); if($token && $customer = $this->getCustomer($token->gateway_customer_reference)){ - return (new \App\PaymentDrivers\CBAPowerBoard\Models\Parse())->decode(ModelsCustomer::class, $customer->resource->data); + return (new \App\PaymentDrivers\CBAPowerBoard\Models\Parse())->encode(ModelsCustomer::class, $customer->resource->data); } if($customer = $this->findCustomer()) - return $customer; + return (new \App\PaymentDrivers\CBAPowerBoard\Models\Parse())->encode(ModelsCustomer::class, $customer); + return $this->createCustomer($customer_data); @@ -140,7 +141,7 @@ class Customer if($r->successful()) $this->storePaymentMethod($r->object()); - return $r->object()->resource->data ?? $r->throw(); + return (new \App\PaymentDrivers\CBAPowerBoard\Models\Parse())->encode(ModelsCustomer::class, $r->object()->resource->data) ?? $r->throw(); } diff --git a/app/PaymentDrivers/CBAPowerBoard/Models/Parse.php b/app/PaymentDrivers/CBAPowerBoard/Models/Parse.php index b6693c387224..55d213a33e3e 100644 --- a/app/PaymentDrivers/CBAPowerBoard/Models/Parse.php +++ b/app/PaymentDrivers/CBAPowerBoard/Models/Parse.php @@ -29,7 +29,7 @@ class Parse { } - public function decode($object_type, $document) + public function encode($object_type, $document) { $phpDocExtractor = new PhpDocExtractor(); @@ -61,7 +61,7 @@ class Parse $encoders = [new JsonEncoder()]; $serializer = new Serializer($normalizers, $encoders); -nlog($document); + $data = $serializer->deserialize(json_encode($document), $object_type, 'json', [\Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer::SKIP_NULL_VALUES => true]); return $data;