Skip to content

Commit ef6ecd5

Browse files
committed
added contracts for dto
1 parent 4124346 commit ef6ecd5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+336
-119
lines changed

config/config.php

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

33
declare(strict_types=1);
44

5+
use Bavix\Wallet\Internal\Assembler\AvailabilityDtoAssembler;
56
use Bavix\Wallet\Internal\Assembler\TransactionDtoAssembler;
67
use Bavix\Wallet\Internal\Assembler\TransferDtoAssembler;
78
use Bavix\Wallet\Internal\Assembler\TransferLazyDtoAssembler;
@@ -102,6 +103,7 @@
102103
* Builder class, needed to create DTO.
103104
*/
104105
'assemblers' => [
106+
'availability' => AvailabilityDtoAssembler::class,
105107
'transaction' => TransactionDtoAssembler::class,
106108
'transfer_lazy' => TransferLazyDtoAssembler::class,
107109
'transfer' => TransferDtoAssembler::class,

depfile.yaml

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ layers:
1313
regex: ^Bavix\\.*\\Traits\\.*
1414

1515
# internal
16+
- name: Dto
17+
collectors:
18+
- type: className
19+
regex: ^Bavix\\.*\\Internal\\Dto\\.*Dto$
20+
21+
- name: DtoInterface
22+
collectors:
23+
- type: className
24+
regex: ^Bavix\\.*\\Internal\\Dto\\.*DtoInterface$
25+
1626
- name: AssemblerDto
1727
collectors:
1828
- type: className
@@ -88,29 +98,50 @@ ruleset:
8898
- ModelNotFoundException
8999
- ServiceInterface
90100
- Legacy # delete as soon as possible
101+
91102
Infra:
92103
- ServiceInterface
93104
- Config
94105
- Cache
95-
ServiceInterface:
96-
- EloquentModel
106+
107+
Dto:
108+
- DtoInterface
109+
110+
TransformInterface:
111+
- DtoInterface
97112
Transform:
98113
- TransformInterface
99-
- Infra
114+
- ServiceInterface
115+
- DtoInterface
116+
117+
RepositoryInterface:
118+
- DtoInterface
100119
Repository:
101120
- RepositoryInterface
102121
- TransformInterface
122+
- DtoInterface
123+
124+
ServiceInterface:
125+
- EloquentModel
126+
- DtoInterface
103127
Service:
104128
- AssemblerDtoInterface
105129
- RepositoryInterface
106130
- ServiceInterface
107131
- EloquentModel
108-
Legacy:
109-
- AssemblerDtoInterface
110-
- ServiceInterface
132+
- DtoInterface
133+
111134
AssemblerDtoInterface:
112135
- EloquentModel
136+
- DtoInterface
113137
AssemblerDto:
114138
- AssemblerDtoInterface
115139
- ServiceInterface
116140
- EloquentModel
141+
- DtoInterface
142+
- Dto
143+
144+
Legacy:
145+
- AssemblerDtoInterface
146+
- ServiceInterface
147+
- DtoInterface
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Interfaces\Customer;
8+
use Bavix\Wallet\Internal\Dto\AvailabilityDto;
9+
use Bavix\Wallet\Internal\Dto\AvailabilityDtoInterface;
10+
use Bavix\Wallet\Internal\Dto\BasketDtoInterface;
11+
12+
final class AvailabilityDtoAssembler implements AvailabilityDtoAssemblerInterface
13+
{
14+
public function create(Customer $customer, BasketDtoInterface $basketDto, bool $force): AvailabilityDtoInterface
15+
{
16+
return new AvailabilityDto($customer, $basketDto, $force);
17+
}
18+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Bavix\Wallet\Internal\Assembler;
6+
7+
use Bavix\Wallet\Interfaces\Customer;
8+
use Bavix\Wallet\Internal\Dto\AvailabilityDtoInterface;
9+
use Bavix\Wallet\Internal\Dto\BasketDtoInterface;
10+
11+
interface AvailabilityDtoAssemblerInterface
12+
{
13+
public function create(Customer $customer, BasketDtoInterface $basketDto, bool $force): AvailabilityDtoInterface;
14+
}

src/Internal/Assembler/TransactionDtoAssembler.php

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

77
use Bavix\Wallet\Internal\Dto\TransactionDto;
8+
use Bavix\Wallet\Internal\Dto\TransactionDtoInterface;
89
use Bavix\Wallet\Internal\Service\UuidServiceInterface;
910
use Illuminate\Database\Eloquent\Model;
1011

@@ -24,7 +25,7 @@ public function create(
2425
string $amount,
2526
bool $confirmed,
2627
?array $meta
27-
): TransactionDto {
28+
): TransactionDtoInterface {
2829
return new TransactionDto(
2930
$this->uuidService->uuid4(),
3031
$payable->getMorphClass(),

src/Internal/Assembler/TransactionDtoAssemblerInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Bavix\Wallet\Internal\Assembler;
66

7-
use Bavix\Wallet\Internal\Dto\TransactionDto;
7+
use Bavix\Wallet\Internal\Dto\TransactionDtoInterface;
88
use Illuminate\Database\Eloquent\Model;
99

1010
interface TransactionDtoAssemblerInterface
@@ -16,5 +16,5 @@ public function create(
1616
string $amount,
1717
bool $confirmed,
1818
?array $meta
19-
): TransactionDto;
19+
): TransactionDtoInterface;
2020
}

src/Internal/Assembler/TransferDtoAssembler.php

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

77
use Bavix\Wallet\Internal\Dto\TransferDto;
8+
use Bavix\Wallet\Internal\Dto\TransferDtoInterface;
89
use Bavix\Wallet\Internal\Service\UuidServiceInterface;
910
use Illuminate\Database\Eloquent\Model;
1011

@@ -25,7 +26,7 @@ public function create(
2526
Model $toModel,
2627
int $discount,
2728
string $fee
28-
): TransferDto {
29+
): TransferDtoInterface {
2930
return new TransferDto(
3031
$this->uuidService->uuid4(),
3132
$depositId,

src/Internal/Assembler/TransferDtoAssemblerInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Bavix\Wallet\Internal\Assembler;
66

7-
use Bavix\Wallet\Internal\Dto\TransferDto;
7+
use Bavix\Wallet\Internal\Dto\TransferDtoInterface;
88
use Illuminate\Database\Eloquent\Model;
99

1010
interface TransferDtoAssemblerInterface
@@ -17,5 +17,5 @@ public function create(
1717
Model $toModel,
1818
int $discount,
1919
string $fee
20-
): TransferDto;
20+
): TransferDtoInterface;
2121
}

src/Internal/Assembler/TransferLazyDtoAssembler.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
namespace Bavix\Wallet\Internal\Assembler;
66

77
use Bavix\Wallet\Interfaces\Wallet;
8-
use Bavix\Wallet\Internal\Dto\TransactionDto;
8+
use Bavix\Wallet\Internal\Dto\TransactionDtoInterface;
99
use Bavix\Wallet\Internal\Dto\TransferLazyDto;
10+
use Bavix\Wallet\Internal\Dto\TransferLazyDtoInterface;
1011

1112
final class TransferLazyDtoAssembler implements TransferLazyDtoAssemblerInterface
1213
{
@@ -15,10 +16,10 @@ public function create(
1516
Wallet $toWallet,
1617
int $discount,
1718
string $fee,
18-
TransactionDto $withdrawDto,
19-
TransactionDto $depositDto,
19+
TransactionDtoInterface $withdrawDto,
20+
TransactionDtoInterface $depositDto,
2021
string $status
21-
): TransferLazyDto {
22+
): TransferLazyDtoInterface {
2223
return new TransferLazyDto(
2324
$fromWallet,
2425
$toWallet,

src/Internal/Assembler/TransferLazyDtoAssemblerInterface.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
namespace Bavix\Wallet\Internal\Assembler;
66

77
use Bavix\Wallet\Interfaces\Wallet;
8-
use Bavix\Wallet\Internal\Dto\TransactionDto;
9-
use Bavix\Wallet\Internal\Dto\TransferLazyDto;
8+
use Bavix\Wallet\Internal\Dto\TransactionDtoInterface;
9+
use Bavix\Wallet\Internal\Dto\TransferLazyDtoInterface;
1010

1111
interface TransferLazyDtoAssemblerInterface
1212
{
@@ -15,8 +15,8 @@ public function create(
1515
Wallet $toWallet,
1616
int $discount,
1717
string $fee,
18-
TransactionDto $withdrawDto,
19-
TransactionDto $depositDto,
18+
TransactionDtoInterface $withdrawDto,
19+
TransactionDtoInterface $depositDto,
2020
string $status
21-
): TransferLazyDto;
21+
): TransferLazyDtoInterface;
2222
}

0 commit comments

Comments
 (0)