Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
UserAngelTypeReferenceResource
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 toArray
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace Engelsystem\Controllers\Api\Resources;
6
7use Engelsystem\Models\AngelType;
8use Engelsystem\Models\User\User;
9use Engelsystem\Models\UserAngelType;
10
11class UserAngelTypeReferenceResource extends BasicResource
12{
13    public function toArray(): array
14    {
15        /** @var User $user */
16        $user = $this->model->pivotRelated;
17        /** @var AngelType $angelType */
18        $angelType = $this->model->pivotParent;
19        /** @var UserAngelType $userAngelType */
20        $userAngelType = $this->model;
21
22        return [
23            'user' => UserResource::toIdentifierArray($user),
24            'confirmed' => !$angelType->restricted
25                || $userAngelType->supporter
26                || $userAngelType->confirm_user_id,
27            'supporter' => $userAngelType->supporter,
28        ];
29    }
30}