Test Failed
Push — main ( 2036f5...f2d0d3 )
by Proyecto
07:50
created

RoleService::addGroupToRole()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 11
rs 10
cc 1
nc 1
nop 2
1
<?php
2
3
namespace ProyectoTAU\TAU\Module\Administration\Role\Application;
4
5
use ProyectoTAU\TAU\Module\Administration\Role\Domain\Role;
6
use ProyectoTAU\TAU\Module\Administration\User\Domain\User;
7
8
final class RoleService
9
{
10
    public static function create($id, $name, $desc)
11
    {
12
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\create\CreateRoleCommandHandler',
13
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\create\CreateRoleCommandHandler(
14
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
15
            )
16
        );
17
18
        app('CommandBus')->handle(
19
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\create\CreateRoleCommand($id, $name, $desc)
20
        );
21
    }
22
23
    public static function delete($id)
24
    {
25
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\delete\DeleteRoleCommandHandler',
26
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\delete\DeleteRoleCommandHandler(
27
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
28
            )
29
        );
30
31
        app('CommandBus')->handle(
32
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\delete\DeleteRoleCommand($id)
33
        );
34
    }
35
36
    public static function update($id, $name, $desc)
37
    {
38
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\update\UpdateRoleCommandHandler',
39
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\update\UpdateRoleCommandHandler(
40
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
41
            )
42
        );
43
44
        app('CommandBus')->handle(
45
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\update\UpdateRoleCommand($id, $name, $desc)
46
        );
47
    }
48
49
    public static function addGroupToRole($groupId, $roleId)
50
    {
51
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\addGroupToRole\AddGroupToRoleCommandHandler',
52
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\addGroupToRole\AddGroupToRoleCommandHandler(
53
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository'),
54
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
55
            )
56
        );
57
58
        app('CommandBus')->handle(
59
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\addGroupToRole\AddGroupToRoleCommand($groupId, $roleId)
60
        );
61
    }
62
63
    public static function removeGroupFromRole($groupId, $roleId)
64
    {
65
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\removeGroupFromRole\RemoveGroupFromRoleCommandHandler',
66
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\removeGroupFromRole\RemoveGroupFromRoleCommandHandler(
67
                app()->get('ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository'),
68
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
69
            )
70
        );
71
72
        app('CommandBus')->handle(
73
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\removeGroupFromRole\RemoveGroupFromRoleCommand($groupId, $roleId)
74
        );
75
    }
76
77
    public static function removeModuleFromRole($moduleId, $roleId)
78
    {
79
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\removeModuleFromRole\RemoveModuleFromRoleCommandHandler',
80
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\removeModuleFromRole\RemoveModuleFromRoleCommandHandler(
81
                app()->get('ProyectoTAU\TAU\Module\Administration\Module\Domain\ModuleRepository'),
82
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
83
            )
84
        );
85
86
        app('CommandBus')->handle(
87
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\removeModuleFromRole\RemoveModuleFromRoleCommand($moduleId, $roleId)
88
        );
89
    }
90
91
    //TODO: Move to Query (rename Command to Query)
92
    public static function read($id): Role
93
    {
94
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\read\ReadRoleCommandHandler',
95
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\read\ReadRoleCommandHandler(
96
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
97
            )
98
        );
99
100
        return app('CommandBus')->handle(
101
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\read\ReadRoleCommand($id)
102
        );
103
    }
104
105
    public static function addModuleToRole($moduleId, $roleId)
106
    {
107
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\addModuleToRole\AddModuleToRoleCommandHandler',
108
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\addModuleToRole\AddModuleToRoleCommandHandler(
109
                app()->get('ProyectoTAU\TAU\Module\Administration\Module\Domain\ModuleRepository'),
110
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository')
111
            )
112
        );
113
114
        app('CommandBus')->handle(
115
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\addModuleToRole\AddModuleToRoleCommand($moduleId, $roleId)
116
        );
117
    }
118
119
    /*
120
     * TODO: Move to Query
121
     */
122
    public static function getGroupsFromRole($roleId): array
123
    {
124
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\getGroupsFromRole\GetGroupsFromRoleCommandHandler',
125
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\getGroupsFromRole\GetGroupsFromRoleCommandHandler(
126
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository'
127
                )
128
            )
129
        );
130
131
        return app('CommandBus')->handle(
132
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\getGroupsFromRole\GetGroupsFromRoleCommand($roleId)
133
        );
134
    }
135
136
    /*
137
    * TODO: Move to Query
138
    */
139
    public static function getModulesFromRole($roleId): array
140
    {
141
        app()->add('ProyectoTAU\TAU\Module\Administration\Role\Application\getModulesFromRole\GetModulesFromRoleCommandHandler',
142
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\getModulesFromRole\GetModulesFromRoleCommandHandler(
143
                app()->get('ProyectoTAU\TAU\Module\Administration\Role\Domain\RoleRepository'
144
                )
145
            )
146
        );
147
148
        return app('CommandBus')->handle(
149
            new \ProyectoTAU\TAU\Module\Administration\Role\Application\getModulesFromRole\GetModulesFromRoleCommand($roleId)
150
        );
151
    }
152
}
153