Skip to content

Commit 395ae64

Browse files
committed
add query assembler's
1 parent ee7eedd commit 395ae64

17 files changed

+146
-16
lines changed

.phpstorm.meta.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22

33
namespace PHPSTORM_META {
44

5+
use Bavix\Wallet\Internal\Assembler\AvailabilityDtoAssemblerInterface;
56
use Bavix\Wallet\Internal\Assembler\TransactionDtoAssemblerInterface;
7+
use Bavix\Wallet\Internal\Assembler\TransactionQueryAssemblerInterface;
68
use Bavix\Wallet\Internal\Assembler\TransferDtoAssemblerInterface;
79
use Bavix\Wallet\Internal\Assembler\TransferLazyDtoAssemblerInterface;
10+
use Bavix\Wallet\Internal\Assembler\TransferQueryAssemblerInterface;
811
use Bavix\Wallet\Internal\Repository\TransactionRepositoryInterface;
912
use Bavix\Wallet\Internal\Repository\TransferRepositoryInterface;
1013
use Bavix\Wallet\Services\AtomicService;
@@ -40,9 +43,13 @@
4043

4144
override(\app(0), map([
4245
// internal.assembler
46+
AvailabilityDtoAssemblerInterface::class => AvailabilityDtoAssemblerInterface::class,
4347
TransactionDtoAssemblerInterface::class => TransactionDtoAssemblerInterface::class,
4448
TransferDtoAssemblerInterface::class => TransferDtoAssemblerInterface::class,
4549
TransferLazyDtoAssemblerInterface::class => TransferLazyDtoAssemblerInterface::class,
50+
// internal.query in assembler
51+
TransactionQueryAssemblerInterface::class => TransactionQueryAssemblerInterface::class,
52+
TransferQueryAssemblerInterface::class => TransferQueryAssemblerInterface::class,
4653

4754
// internal.repositories
4855
TransactionRepositoryInterface::class => TransactionRepositoryInterface::class,

config/config.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
use Bavix\Wallet\Internal\Assembler\AvailabilityDtoAssembler;
66
use Bavix\Wallet\Internal\Assembler\TransactionDtoAssembler;
7+
use Bavix\Wallet\Internal\Assembler\TransactionQueryAssembler;
78
use Bavix\Wallet\Internal\Assembler\TransferDtoAssembler;
89
use Bavix\Wallet\Internal\Assembler\TransferLazyDtoAssembler;
10+
use Bavix\Wallet\Internal\Assembler\TransferQueryAssembler;
911
use Bavix\Wallet\Internal\Repository\TransactionRepository;
1012
use Bavix\Wallet\Internal\Repository\TransferRepository;
1113
use Bavix\Wallet\Internal\Service\DatabaseService;
@@ -109,6 +111,8 @@
109111
'transaction' => TransactionDtoAssembler::class,
110112
'transfer_lazy' => TransferLazyDtoAssembler::class,
111113
'transfer' => TransferDtoAssembler::class,
114+
'transaction_query' => TransactionQueryAssembler::class,
115+
'transfer_query' => TransferQueryAssembler::class,
112116
],
113117

114118
/**

depfile.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ layers:
5252
- type: className
5353
regex: ^Bavix\\.*\\Internal\\Assembler\\.*DtoAssemblerInterface$
5454

55+
- name: QueryInterface
56+
collectors:
57+
- type: className
58+
regex: ^Bavix\\.*Internal\\Query\\.*QueryInterface$
59+
60+
- name: Query
61+
collectors:
62+
- type: className
63+
regex: ^Bavix\\.*Internal\\Query\\.*Query$
64+
5565
- name: RepositoryInterface
5666
collectors:
5767
- type: className
@@ -163,12 +173,18 @@ ruleset:
163173
- ServiceInterface
164174
- DtoInterface
165175

176+
QueryInterface:
177+
Query:
178+
- QueryInterface
179+
166180
RepositoryInterface:
181+
- QueryInterface
167182
- DtoInterface
168183
- Model
169184
Repository:
170185
- RepositoryInterface
171186
- TransformInterface
187+
- QueryInterface
172188
- DtoInterface
173189
- Model
174190

@@ -191,11 +207,14 @@ ruleset:
191207
- Model
192208

193209
AssemblerDtoInterface:
210+
- QueryInterface
194211
- EloquentModel
195212
- DtoInterface
196213
- Contract
197214
AssemblerDto:
198215
- AssemblerDtoInterface
216+
- QueryInterface
217+
- Query
199218
- ServiceInterface
200219
- EloquentModel
201220
- DtoInterface
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Internal\Query\TransactionQuery;
8+
use Bavix\Wallet\Internal\Query\TransactionQueryInterface;
9+
10+
final class TransactionQueryAssembler implements TransactionQueryAssemblerInterface
11+
{
12+
/** @param non-empty-array<int|string, string> $uuids */
13+
public function create(array $uuids): TransactionQueryInterface
14+
{
15+
return new TransactionQuery($uuids);
16+
}
17+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Internal\Query\TransactionQueryInterface;
8+
9+
interface TransactionQueryAssemblerInterface
10+
{
11+
/** @param non-empty-array<int|string, string> $uuids */
12+
public function create(array $uuids): TransactionQueryInterface;
13+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Internal\Query\TransferQuery;
8+
use Bavix\Wallet\Internal\Query\TransferQueryInterface;
9+
10+
final class TransferQueryAssembler implements TransferQueryAssemblerInterface
11+
{
12+
/** @param non-empty-array<int|string, string> $uuids */
13+
public function create(array $uuids): TransferQueryInterface
14+
{
15+
return new TransferQuery($uuids);
16+
}
17+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Internal\Query\TransferQueryInterface;
8+
9+
interface TransferQueryAssemblerInterface
10+
{
11+
/** @param non-empty-array<int|string, string> $uuids */
12+
public function create(array $uuids): TransferQueryInterface;
13+
}

src/Internal/Query/TransactionQuery.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Bavix\Wallet\Internal\Query;
66

77
/** @psalm-immutable */
8-
final class TransactionQuery
8+
final class TransactionQuery implements TransactionQueryInterface
99
{
1010
/** @var non-empty-array<int|string, string> */
1111
private array $uuids;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Query;
6+
7+
interface TransactionQueryInterface
8+
{
9+
/** @return non-empty-array<int|string, string> */
10+
public function getUuids(): array;
11+
}

src/Internal/Query/TransferQuery.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Bavix\Wallet\Internal\Query;
66

77
/** @psalm-immutable */
8-
final class TransferQuery
8+
final class TransferQuery implements TransferQueryInterface
99
{
1010
/** @var non-empty-array<int|string, string> */
1111
private array $uuids;

0 commit comments

Comments
 (0)