Skip to content

Commit

Permalink
fix: add proper deserialization for some response objects
Browse files Browse the repository at this point in the history
  • Loading branch information
antonioturdo committed Jul 30, 2023
1 parent 87e0719 commit 368a9e1
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/Response/Campaigns/DetailsResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ public function fillFromArray(array $params, bool $allowExtraProperties = false)

$this->channels = $params['channels'] ?? [];

$this->tags = $params['tags'] ?? [];

$this->messages = $params['messages'] ?? [];

$this->conversion_behaviors = $params['conversion_behaviors'] ?? [];
Expand Down
14 changes: 14 additions & 0 deletions src/Response/Campaigns/ListResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,18 @@ class ListResponse extends BaseResponse
{
/** @var ?ListItem[] */
public ?array $campaigns = null;

public function fillFromArray(array $params, bool $allowExtraProperties = false): void
{
parent::fillFromArray($params);

$this->campaigns = [];

if (isset($params['campaigns']) && is_array($params['campaigns'])) {
foreach ($params['campaigns'] as $campaignParams) {
$canvas = ListItem::fromArray($campaignParams);
$this->campaigns[] = $canvas;
}
}
}
}
2 changes: 2 additions & 0 deletions src/Response/Canvas/DetailsResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ public function fillFromArray(array $params, bool $allowExtraProperties = false)

$this->variants = $params['variants'] ?? [];

$this->tags = $params['tags'] ?? [];

$this->steps = $params['steps'] ?? [];
}
}
14 changes: 14 additions & 0 deletions src/Response/Canvas/ListResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,18 @@ class ListResponse extends BaseResponse
{
/** @var ?ListItem[] */
public ?array $canvases = null;

public function fillFromArray(array $params, bool $allowExtraProperties = false): void
{
parent::fillFromArray($params);

$this->canvases = [];

if (isset($params['canvases']) && is_array($params['canvases'])) {
foreach ($params['canvases'] as $canvasParams) {
$canvas = ListItem::fromArray($canvasParams);
$this->canvases[] = $canvas;
}
}
}
}
7 changes: 7 additions & 0 deletions src/Response/Events/ListResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ class ListResponse extends BaseResponse
{
/** @var ?string[] */
public ?array $events = null;

public function fillFromArray(array $params, bool $allowExtraProperties = false): void
{
parent::fillFromArray($params, $allowExtraProperties);

$this->events = $params['events'];
}
}
7 changes: 7 additions & 0 deletions src/Response/Messages/ScheduledBroadcastsResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,11 @@
class ScheduledBroadcastsResponse extends BaseResponse
{
public ?array $scheduled_broadcasts = null;

public function fillFromArray(array $params, bool $allowExtraProperties = false): void
{
parent::fillFromArray($params, $allowExtraProperties);

$this->scheduled_broadcasts = $params['scheduled_broadcasts'];
}
}
7 changes: 7 additions & 0 deletions src/Response/Purchases/ProductListResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ class ProductListResponse extends BaseResponse
{
/** @var ?string[] */
public ?array $products = null;

public function fillFromArray(array $params, bool $allowExtraProperties = false): void
{
parent::fillFromArray($params, $allowExtraProperties);

$this->products = $params['products'];
}
}

0 comments on commit 368a9e1

Please sign in to comment.