Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a412af3e07 |
@@ -13,7 +13,6 @@ namespace Apoloz\AlfaBank\Data\Statement;
|
||||
|
||||
// <SECTION name="module_imports" intent="Import necessary DTOs and Spatie Laravel Data components.">
|
||||
// <BELIEF_STATE "This collection DTO relies on `PaginationData` for metadata and `TransactionData` for the individual items. `DataCollection` and `DataCollectionOf` are Spatie Data features for handling typed arrays of DTOs.">
|
||||
use Apoloz\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
@@ -27,9 +26,9 @@ class TransactionCollectionData extends Data
|
||||
// <SECTION name="constructor_properties" intent="Define the properties of the transaction collection.">
|
||||
// <BELIEF_STATE "The collection structure includes pagination metadata (`pagination`) and the actual list of transactions (`transactions`). The `#[DataCollectionOf(TransactionData::class)]` attribute is crucial for ensuring that each item in the `transactions` array is automatically cast to a `TransactionData` DTO.">
|
||||
public function __construct(
|
||||
public PaginationData $pagination,
|
||||
#[DataCollectionOf(TransactionData::class)]
|
||||
public DataCollection $transactions
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
// </SECTION>
|
||||
}
|
||||
|
||||
@@ -27,8 +27,7 @@ class GetTransactionsRequest extends Request
|
||||
|
||||
public function __construct(
|
||||
protected string $accountNumber,
|
||||
protected string $executeDateFrom,
|
||||
protected string $executeDateTo,
|
||||
protected string $statementDate,
|
||||
?int $limit = 1000,
|
||||
?int $offset = 0
|
||||
) {
|
||||
@@ -53,8 +52,7 @@ class GetTransactionsRequest extends Request
|
||||
{
|
||||
return array_merge([
|
||||
'accountNumber' => $this->accountNumber,
|
||||
'executeDateFrom' => $this->executeDateFrom,
|
||||
'executeDateTo' => $this->executeDateTo,
|
||||
'statementDate' => $this->statementDate,
|
||||
], $this->getPaginationQuery());
|
||||
}
|
||||
// </SECTION>
|
||||
|
||||
Reference in New Issue
Block a user