Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
StorageItemDTO
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 toArray
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 fromRequest
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\Storage\DTOs;
4
5use Domain\Shared\Interfaces\DataTransferObjectInterface;
6use Illuminate\Foundation\Http\FormRequest;
7
8readonly final class StorageItemDTO implements DataTransferObjectInterface
9{
10    public array $storages;
11    public array $products;
12
13    public function __construct(array $args)
14    {
15        $this->storages = $args['storages'] ?? [];
16        $this->products = $args['products'] ?? [];
17    }
18
19    public function toArray(): array
20    {
21        return [
22            'storages' => $this->storages,
23            'products' => $this->products,
24        ];
25    }
26
27    public static function fromRequest(FormRequest $request): StorageItemDTO
28    {
29        return new self([
30            'storages' => $request->validated('storages'),
31            'products' => $request->validated('products'),
32        ]);
33    }
34}