. */ namespace SP\Domain\Client\Ports; use League\Fractal\Resource\Collection; use SP\Domain\Client\Models\Client; use SP\Domain\Common\Services\ServiceException; use SP\Domain\Core\Exceptions\ConstraintException; use SP\Domain\Core\Exceptions\QueryException; use SP\Domain\Core\Exceptions\SPException; use SP\Domain\CustomField\Ports\CustomFieldServiceInterface; /** * Class ClientAdapter * * @package SP\Adapters */ interface ClientAdapterInterface { /** * @throws ConstraintException * @throws QueryException * @throws SPException * @throws ServiceException */ public function includeCustomFields(Client $data, CustomFieldServiceInterface $customFieldService): Collection; public function transform(Client $data): array; }