MutationType   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
eloc 37
dl 0
loc 47
ccs 39
cts 39
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 45 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Application\Api;
6
7
use Application\Api\Field\Mutation\AcceptChange;
8
use Application\Api\Field\Mutation\CreateCard;
9
use Application\Api\Field\Mutation\CreateCards;
10
use Application\Api\Field\Mutation\CreateExport;
11
use Application\Api\Field\Mutation\LinkCollectionToCollection;
12
use Application\Api\Field\Mutation\Login;
13
use Application\Api\Field\Mutation\Logout;
14
use Application\Api\Field\Mutation\RecordDetail;
15
use Application\Api\Field\Mutation\RecordPage;
16
use Application\Api\Field\Mutation\RecordSearch;
17
use Application\Api\Field\Mutation\RejectChange;
18
use Application\Api\Field\Mutation\SuggestCreation;
19
use Application\Api\Field\Mutation\SuggestDeletion;
20
use Application\Api\Field\Mutation\SuggestUpdate;
21
use Application\Api\Field\Standard;
22
use Application\Model\AntiqueName;
23
use Application\Model\Artist;
24
use Application\Model\Card;
25
use Application\Model\Collection;
26
use Application\Model\DocumentType;
27
use Application\Model\Domain;
28
use Application\Model\File;
29
use Application\Model\Institution;
30
use Application\Model\Material;
31
use Application\Model\News;
32
use Application\Model\Period;
33
use Application\Model\Tag;
34
use Application\Model\User;
35
use Ecodev\Felix\Utility;
36
use GraphQL\Type\Definition\ObjectType;
37
38
class MutationType extends ObjectType
39
{
40 1
    public function __construct()
41
    {
42 1
        $fields = Utility::concat(
43
            // Specialized fields
44 1
            SuggestCreation::build(),
45 1
            SuggestUpdate::build(),
46 1
            SuggestDeletion::build(),
47 1
            AcceptChange::build(),
48 1
            RejectChange::build(),
49 1
            Login::build(),
50 1
            Logout::build(),
51 1
            LinkCollectionToCollection::build(),
52 1
            RecordPage::build(),
53 1
            RecordDetail::build(),
54 1
            RecordSearch::build(),
55 1
            CreateCard::build(),
56 1
            CreateCards::build(),
57 1
            CreateExport::build(),
58
59
            // Standard fields
60 1
            Standard::buildMutation(Artist::class),
61 1
            Standard::buildMutation(Collection::class),
62 1
            Standard::buildMutation(Institution::class),
63 1
            Utility::filterByKeys(Standard::buildMutation(Card::class), 'updateCard', 'deleteCards'),
64 1
            Standard::buildMutation(User::class),
65 1
            Standard::buildMutation(DocumentType::class),
66 1
            Standard::buildMutation(Domain::class),
67 1
            Standard::buildMutation(Material::class),
68 1
            Standard::buildMutation(News::class),
69 1
            Standard::buildMutation(Period::class),
70 1
            Standard::buildMutation(Tag::class),
71 1
            Standard::buildMutation(AntiqueName::class),
72 1
            Standard::buildMutation(File::class),
73 1
            Standard::buildRelationMutation(Collection::class, User::class),
74 1
            Standard::buildRelationMutation(Card::class, Card::class),
75 1
            Standard::buildRelationMutation(Card::class, Collection::class, 'linkCard'),
76 1
            Standard::buildRelationMutation(Card::class, Period::class),
77 1
            Standard::buildRelationMutation(Card::class, Material::class),
78 1
        );
79
80 1
        $config = [
81 1
            'fields' => $fields,
82 1
        ];
83
84 1
        parent::__construct($config);
85
    }
86
}
87