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