*/ final class IndexResponse implements ApiResponse, PagingProvider { use PaginationResponse; private $items; private function __construct() { } public static function create(array $data): self { $complaints = []; if (isset($data['items'])) { foreach ($data['items'] as $item) { $complaints[] = Complaint::create($item); } } $model = new self(); $model->items = $complaints; $model->paging = $data['paging']; return $model; } /** * @return Complaint[] */ public function getItems(): array { return $this->items; } }