Files
alfa-bank-sdk/src/Requests/NominalAccounts/UniversalRecipients/GetUniversalRecipientsRequest.php
2026-01-14 16:50:27 +03:00

46 lines
1.3 KiB
PHP

<?php
namespace Apoloz\AlfaBank\Requests\NominalAccounts\UniversalRecipients;
use Apoloz\AlfaBank\Data\NominalAccounts\UniversalRecipients\UniversalRecipientData;
use Saloon\Enums\Method;
use Saloon\Http\Request;
use Saloon\Http\Response;
use Spatie\LaravelData\DataCollection;
class GetUniversalRecipientsRequest extends Request
{
protected Method $method = Method::GET;
public function __construct(
protected string $accountNumber,
protected string $type,
protected ?int $limit = 100,
protected ?int $offset = 0,
protected ?bool $isActive = null,
protected ?string $date = null,
) {}
public function resolveEndpoint(): string
{
return '/api/na/jp/v1/universal-recipients';
}
protected function defaultQuery(): array
{
return array_filter([
'accountNumber' => $this->accountNumber,
'type' => $this->type,
'limit' => $this->limit,
'offset' => $this->offset,
'isActive' => $this->isActive,
'date' => $this->date,
], fn($val) => $val !== null);
}
public function createDtoFromResponse(Response $response): DataCollection
{
return UniversalRecipientData::collect($response->json('universalRecipients'), DataCollection::class);
}
}