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