37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
/*
|
|
// MODULE_CONTRACT: Defines the data structure for the GET /payoffs list response.
|
|
// RESPONSIBILITY: To hold and type-safely represent the paginated list of payoffs returned by the bank API.
|
|
// INPUTS: Raw JSON object from the API response.
|
|
// OUTPUTS: A structured object containing pagination metadata, account number, and an array of payoff items.
|
|
// LINKS: Requests/NominalAccounts/Payouts/GetPayoffsRequest.php, PayoffListItemData.php
|
|
*/
|
|
|
|
namespace Apoloz\AlfaBank\Data\NominalAccounts\Payouts;
|
|
|
|
use Apoloz\AlfaBank\Data\Shared\PaginationData;
|
|
use Spatie\LaravelData\Data;
|
|
|
|
/**
|
|
* DTO for the GET /payoffs list response.
|
|
*
|
|
* @property-read PaginationData $pagination Pagination metadata
|
|
* @property-read string $accountNumber Номер номинального счёта
|
|
* @property-read PayoffListItemData[] $payoffs Список выплат
|
|
*/
|
|
class PayOffsListResponseData extends Data
|
|
{
|
|
/**
|
|
* @param PaginationData $pagination Pagination metadata
|
|
* @param string $accountNumber Номер номинального счёта
|
|
* @param PayoffListItemData[] $payoffs Список выплат
|
|
*/
|
|
public function __construct(
|
|
public PaginationData $pagination,
|
|
public string $accountNumber,
|
|
public array $payoffs,
|
|
) {}
|
|
}
|