GroupService::create()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 10
ccs 6
cts 6
cp 1
rs 10
cc 1
nc 1
nop 3
crap 1
1
<?php
2
3
namespace ProyectoTAU\TAU\Module\Administration\Group\Application;
4
5
use ProyectoTAU\TAU\Module\Administration\Group\Domain\Group;
6
7
final class GroupService
8
{
9 34
    public static function create($id, $name, $desc)
10
    {
11 34
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\create\CreateGroupCommandHandler',
12 34
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\create\CreateGroupCommandHandler(
13 34
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
14
            )
15
        );
16
17 34
        app('CommandBus')->handle(
18 34
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\create\CreateGroupCommand($id, $name, $desc)
19
        );
20 34
    }
21
22 2
    public static function delete($id)
23
    {
24 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\delete\DeleteGroupCommandHandler',
25 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\delete\DeleteGroupCommandHandler(
26 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
27
            )
28
        );
29
30 2
        app('CommandBus')->handle(
31 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\delete\DeleteGroupCommand($id)
32
        );
33 2
    }
34
35 2
    public static function update($id, $name, $desc)
36
    {
37 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\update\UpdateGroupCommandHandler',
38 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\update\UpdateGroupCommandHandler(
39 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
40
            )
41
        );
42
43 2
        app('CommandBus')->handle(
44 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\update\UpdateGroupCommand($id, $name, $desc)
45
        );
46 2
    }
47
48 6
    public static function addUserToGroup($userId, $groupId)
49
    {
50 6
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\addUserToGroup\AddUserToGroupCommandHandler',
51 6
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\addUserToGroup\AddUserToGroupCommandHandler(
52 6
                app()->get('ProyectoTAU\TAU\Module\Administration\User\Domain\UserRepository'),
53 6
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
54
            )
55
        );
56
57 6
        app('CommandBus')->handle(
58 6
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\addUserToGroup\AddUserToGroupCommand($userId, $groupId)
59
        );
60 6
    }
61
62 2
    public static function removeUserFromGroup($userId, $groupId)
63
    {
64 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\removeUserFromGroup\RemoveUserFromGroupCommandHandler',
65 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\removeUserFromGroup\RemoveUserFromGroupCommandHandler(
66 2
                app()->get('ProyectoTAU\TAU\Module\Administration\User\Domain\UserRepository'),
67 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
68
            )
69
        );
70
71 2
        app('CommandBus')->handle(
72 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\removeUserFromGroup\RemoveUserFromGroupCommand($userId, $groupId)
73
        );
74 2
    }
75
76 6
    public static function addRoleToGroup($roleId, $groupId)
77
    {
78 6
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\addRoleToGroup\AddRoleToGroupCommandHandler',
79 6
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\addRoleToGroup\AddRoleToGroupCommandHandler(
80 6
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository'),
81 6
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
82
            )
83
        );
84
85 6
        app('CommandBus')->handle(
86 6
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\addRoleToGroup\AddRoleToGroupCommand($roleId, $groupId)
87
        );
88 6
    }
89
90 2
    public static function read($id): Group
91
    {
92 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\read\ReadGroupCommandHandler',
93 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\read\ReadGroupCommandHandler(
94 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
95
            )
96
        );
97
98 2
        return app('QueryBus')->handle(
99 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\read\ReadGroupCommand($id)
100
        );
101
    }
102
103 2
    public static function readAll(): array
104
    {
105 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\readAll\ReadAllGroupsCommandHandler',
106 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\readAll\ReadAllGroupsCommandHandler(
107 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
108
            )
109
        );
110
111 2
        return app('QueryBus')->handle(
112 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\readAll\ReadAllGroupsCommand()
113
        );
114
    }
115
116 2
    public static function getUsersFromGroup($groupId): array
117
    {
118 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\getUsersFromGroup\GetUsersFromGroupCommandHandler',
119 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\getUsersFromGroup\GetUsersFromGroupCommandHandler(
120 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
121
            )
122
        );
123
124 2
        return app('QueryBus')->handle(
125 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\getUsersFromGroup\GetUsersFromGroupCommand($groupId)
126
        );
127
    }
128
129 2
    public static function getRolesFromGroup($groupId)
130
    {
131 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\getRolesFromGroup\GetRolesFromGroupCommandHandler',
132 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\getRolesFromGroup\GetRolesFromGroupCommandHandler(
133 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
134
            )
135
        );
136
137 2
        return app('QueryBus')->handle(
138 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\getRolesFromGroup\GetRolesFromGroupCommand($groupId)
139
        );
140
    }
141
142 2
    public static function removeRoleFromGroup($roleId, $groupId)
143
    {
144 2
        app()->add('ProyectoTAU\TAU\Module\Administration\Group\Application\removeRoleFromGroup\RemoveRoleFromGroupCommandHandler',
145 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\removeRoleFromGroup\RemoveRoleFromGroupCommandHandler(
146 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository'),
147 2
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository')
148
            )
149
        );
150
151 2
        app('CommandBus')->handle(
152 2
            new \ProyectoTAU\TAU\Module\Administration\Group\Application\removeRoleFromGroup\RemoveRoleFromGroupCommand($roleId, $groupId)
153
        );
154 2
    }
155
}
156