Edit file File name : RecordList.php Content :<?php /** * SuiteCRM is a customer relationship management program developed by SalesAgility Ltd. * Copyright (C) 2021 SalesAgility Ltd. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY SALESAGILITY, SALESAGILITY DISCLAIMS THE * WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * In accordance with Section 7(b) of the GNU Affero General Public License * version 3, these Appropriate Legal Notices must retain the display of the * "Supercharged by SuiteCRM" logo. If the display of the logos is not reasonably * feasible for technical reasons, the Appropriate Legal Notices must display * the words "Supercharged by SuiteCRM". */ namespace App\Data\Entity; use ApiPlatform\Core\Annotation\ApiProperty; use ApiPlatform\Core\Annotation\ApiResource; use App\Data\Resolver\RecordListResolver; /** * @ApiResource( * attributes={"security"="is_granted('ROLE_USER')"}, * itemOperations={ * "get"={"path"="/record-list/{id}"} * }, * collectionOperations={}, * graphql={ * "get"={ * "item_query"=RecordListResolver::class, * "args"={ * "module"={"type"="String!"}, * "limit"={"type"="Int"}, * "offset"={"type"="Int"}, * "criteria"={"type"="Iterable" , "description"="search criteria"}, * "sort"={"type"="Iterable" , "description"="sort"} * } * }, * }, * ) */ class RecordList { /** * RecordList data * * @var array * * @ApiProperty( * attributes={ * "openapi_context"={ * "type"="array", * "description"="The list-view data", * }, * } * ) */ public $records; /** * RecordList metadata * * @var array * * @ApiProperty( * attributes={ * "openapi_context"={ * "type"="array", * "description"="The list metadata", * }, * } * ) */ public $meta; /** * RecordList filters * * @var array * * @ApiProperty( * attributes={ * "openapi_context"={ * "type"="array", * "description"="The list-view filters", * }, * } * ) */ public $filters; /** * The module * * @var string * * @ApiProperty( * identifier=true, * attributes={ * "openapi_context"={ * "type"="string", * "description"="The module.", * "example"="Accounts" * } * }, * * ) */ protected $id; /** * @return string */ public function getId(): string { return $this->id; } /** * @param string $id */ public function setId($id): void { $this->id = $id; } /** * Get records * @return array */ public function getRecords(): ?array { return $this->records; } /** * Set records * @param array $records */ public function setRecords(array $records): void { $this->records = $records; } /** * Get meta * @return array */ public function getMeta(): array { return $this->meta; } /** * Set meta * @param array $meta */ public function setMeta(array $meta): void { $this->meta = $meta; } /** * get filters * @return array */ public function getFilters(): ?array { return $this->filters; } /** * Set filters * @param array $filters */ public function setFilters(array $filters): void { $this->filters = $filters; } } Save