Add transformer function for checkout links
This commit is contained in:
@@ -8,6 +8,7 @@ use App\ApiResource\Accounting\AccountingApiResource;
|
||||
use App\Entity\Gateway\Checkout;
|
||||
use App\Gateway\CheckoutStatus;
|
||||
use App\Gateway\Link;
|
||||
use App\Gateway\LinkType;
|
||||
use App\Gateway\Tracking;
|
||||
use App\Mapping\Transformer\GatewayNameMapTransformer;
|
||||
use App\State\ApiResourceStateProvider;
|
||||
@@ -69,6 +70,7 @@ class CheckoutApiResource
|
||||
* @var Link[]
|
||||
*/
|
||||
#[API\ApiProperty(writable: false)]
|
||||
#[MapFrom(transformer: [self::class, 'parseLinks'])]
|
||||
public array $links = [];
|
||||
|
||||
/**
|
||||
@@ -80,6 +82,19 @@ class CheckoutApiResource
|
||||
#[MapFrom(transformer: [self::class, 'parseTrackings'])]
|
||||
public array $trackings = [];
|
||||
|
||||
public static function parseLinks(array $values)
|
||||
{
|
||||
return \array_map(function ($value) {
|
||||
$link = new Link();
|
||||
$link->href = $value['href'];
|
||||
$link->rel = $value['rel'];
|
||||
$link->method = $value['method'];
|
||||
$link->type = LinkType::tryFrom($value['type']);
|
||||
|
||||
return $link;
|
||||
}, $values);
|
||||
}
|
||||
|
||||
public static function parseTrackings(array $values)
|
||||
{
|
||||
return \array_map(function ($value) {
|
||||
|
||||
Reference in New Issue
Block a user