MutationType::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 40
Code Lines 31

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 34
CRAP Score 1

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 31
dl 0
loc 40
ccs 34
cts 34
cp 1
rs 9.424
c 3
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Application\Api;
6
7
use Application\Api\Field\Mutation\ConfirmRegistration;
8
use Application\Api\Field\Mutation\CreateOrder;
9
use Application\Api\Field\Mutation\Import;
10
use Application\Api\Field\Mutation\Login;
11
use Application\Api\Field\Mutation\Logout;
12
use Application\Api\Field\Mutation\Register;
13
use Application\Api\Field\Mutation\RequestMembershipEnd;
14
use Application\Api\Field\Mutation\RequestPasswordReset;
15
use Application\Api\Field\Mutation\SubscribeNewsletter;
16
use Application\Api\Field\Mutation\UpdateConfiguration;
17
use Application\Api\Field\Mutation\UpdateOrderLine;
18
use Application\Api\Field\Mutation\UpdateOrderStatus;
19
use Application\Api\Field\Mutation\UpdatePassword;
20
use Application\Api\Field\Mutation\UpdateUser;
21
use Application\Api\Field\Standard;
22
use Application\Model\Comment;
23
use Application\Model\Event;
24
use Application\Model\FacilitatorDocument;
25
use Application\Model\File;
26
use Application\Model\Image;
27
use Application\Model\News;
28
use Application\Model\Product;
29
use Application\Model\ProductTag;
30
use Application\Model\Session;
31
use Application\Model\Subscription;
32
use Application\Model\User;
33
use Ecodev\Felix\Utility;
34
use GraphQL\Type\Definition\ObjectType;
35
36
class MutationType extends ObjectType
37
{
38 1
    public function __construct()
39
    {
40 1
        $fields = Utility::concat(
41
            // Specialized fields
42 1
            Login::build(),
43 1
            Logout::build(),
44 1
            RequestPasswordReset::build(),
45 1
            UpdatePassword::build(),
46 1
            Register::build(),
47 1
            ConfirmRegistration::build(),
48 1
            CreateOrder::build(),
49 1
            UpdateOrderStatus::build(),
50 1
            UpdateOrderLine::build(),
51 1
            UpdateConfiguration::build(),
52 1
            UpdateUser::build(),
53 1
            RequestMembershipEnd::build(),
54 1
            SubscribeNewsletter::build(),
55 1
            Import::build(),
56
57
            // Standard fields
58 1
            Standard::buildMutation(Event::class),
59 1
            Standard::buildMutation(File::class),
60 1
            Standard::buildMutation(Image::class),
61 1
            Standard::buildMutation(News::class),
62 1
            Standard::buildMutation(Product::class),
63 1
            Standard::buildMutation(Session::class),
64 1
            Standard::buildMutation(Subscription::class),
65 1
            Standard::buildMutation(User::class),
66 1
            Standard::buildMutation(Comment::class),
67 1
            Standard::buildMutation(FacilitatorDocument::class),
68 1
            Standard::buildRelationMutation(Product::class, Product::class, 'RelatedProduct'),
69 1
            Standard::buildRelationMutation(ProductTag::class, Product::class),
70 1
            Standard::buildRelationMutation(Session::class, User::class, 'Facilitator'),
71 1
        );
72
73 1
        $config = [
74 1
            'fields' => $fields,
75 1
        ];
76
77 1
        parent::__construct($config);
78
    }
79
}
80