Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
UserResource
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 toArray
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Domain\User\Resources;
4
5use Illuminate\Http\Request;
6use Illuminate\Http\Resources\Json\JsonResource;
7
8use Domain\Team\Resources\TeamResource;
9use Domain\User\Enums\AccessLevel;
10
11/**
12 * @property int $id
13 * @property string $name
14 * @property string $email
15 * @property AccessLevel $access_level
16 * @property int $badge
17 * @property string $integrations
18 */
19class UserResource extends JsonResource
20{
21    public function toArray(Request $request): array
22    {
23        return [
24            'id'           => $this->id,
25            'name'         => $this->name,
26            'email'        => $this->email,
27            'access_level' => json_decode(json_encode($this->access_level)),
28            'badge'        => $this->badge,
29            'teams'        => TeamResource::collection($this->whenLoaded('teams')),
30            'integrations' => $this->integrations,
31        ];
32    }
33}