Issues (104)

admin-routes.php (1 issue)

1
<?php
2
3
declare(strict_types=1);
4
5
use AbterPhp\Admin\Config\Routes as RoutesConfig;
6
use AbterPhp\Admin\Constant\Route as RouteConstant;
7
use AbterPhp\Admin\Http\Middleware\Authentication;
8
use AbterPhp\Admin\Http\Middleware\Authorization;
9
use AbterPhp\Admin\Http\Middleware\LastGridPage;
10
use AbterPhp\Framework\Authorization\Constant\Role;
11
use Opulence\Routing\Router;
12
13
/**
14
 * ----------------------------------------------------------
15
 * Create all of the routes for the HTTP kernel
16
 * ----------------------------------------------------------
17
 *
18
 * @var Router $router
19
 */
20
$router->group(
21
    ['controllerNamespace' => 'AbterPhp\Admin\\Http\\Controllers'],
22
    function (Router $router) {
23
        $router->group(
24
            [
25
                'path'       => RoutesConfig::getAdminBasePath(),
0 ignored issues
show
Bug Best Practice introduced by
The method AbterPhp\Admin\Config\Routes::getAdminBasePath() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

25
                'path'       => RoutesConfig::/** @scrutinizer ignore-call */ getAdminBasePath(),
Loading history...
26
                'middleware' => [
27
                    Authentication::class,
28
                ],
29
            ],
30
            function (Router $router) {
31
                $entities = [
32
                    'user-groups' => 'UserGroup',
33
                    'users'       => 'User',
34
                    'api-clients' => 'ApiClient',
35
                ];
36
37
                foreach ($entities as $route => $controllerName) {
38
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Grid\User::show() */
39
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Grid\UserGroup::show() */
40
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Grid\ApiClient::show() */
41
                    $router->get(
42
                        "/${route}",
43
                        "Admin\Grid\\${controllerName}@show",
44
                        [
45
                            RouteConstant::OPTION_NAME       => "${route}-list",
46
                            RouteConstant::OPTION_MIDDLEWARE => [
47
                                Authorization::withParameters(
48
                                    [
49
                                        Authorization::RESOURCE => $route,
50
                                        Authorization::ROLE     => Role::READ,
51
                                    ]
52
                                ),
53
                                LastGridPage::class,
54
                            ],
55
                        ]
56
                    );
57
58
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\User::new() */
59
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\UserGroup::new() */
60
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\ApiClient::new() */
61
                    $router->get(
62
                        "/${route}/new",
63
                        "Admin\Form\\${controllerName}@new",
64
                        [
65
                            RouteConstant::OPTION_NAME       => "${route}-new",
66
                            RouteConstant::OPTION_MIDDLEWARE => [
67
                                Authorization::withParameters(
68
                                    [
69
                                        Authorization::RESOURCE => $route,
70
                                        Authorization::ROLE     => Role::WRITE,
71
                                    ]
72
                                ),
73
                            ],
74
                        ]
75
                    );
76
77
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\User::create() */
78
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\UserGroup::create() */
79
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\ApiClient::create() */
80
                    $router->post(
81
                        "/${route}/new",
82
                        "Admin\Execute\\${controllerName}@create",
83
                        [
84
                            RouteConstant::OPTION_NAME       => "${route}-create",
85
                            RouteConstant::OPTION_MIDDLEWARE => [
86
                                Authorization::withParameters(
87
                                    [
88
                                        Authorization::RESOURCE => $route,
89
                                        Authorization::ROLE     => Role::WRITE,
90
                                    ]
91
                                ),
92
                            ],
93
                        ]
94
                    );
95
96
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\User::edit() */
97
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\UserGroup::edit() */
98
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\ApiClient::edit() */
99
                    $router->get(
100
                        "/${route}/:entityId/edit",
101
                        "Admin\Form\\${controllerName}@edit",
102
                        [
103
                            RouteConstant::OPTION_NAME       => "${route}-edit",
104
                            RouteConstant::OPTION_MIDDLEWARE => [
105
                                Authorization::withParameters(
106
                                    [
107
                                        Authorization::RESOURCE => $route,
108
                                        Authorization::ROLE     => Role::WRITE,
109
                                    ]
110
                                ),
111
                            ],
112
                        ]
113
                    );
114
115
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\User::update() */
116
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\UserGroup::update() */
117
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\ApiClient::update() */
118
                    $router->put(
119
                        "/${route}/:entityId/edit",
120
                        "Admin\Execute\\${controllerName}@update",
121
                        [
122
                            RouteConstant::OPTION_NAME       => "${route}-update",
123
                            RouteConstant::OPTION_MIDDLEWARE => [
124
                                Authorization::withParameters(
125
                                    [
126
                                        Authorization::RESOURCE => $route,
127
                                        Authorization::ROLE     => Role::WRITE,
128
                                    ]
129
                                ),
130
                            ],
131
                        ]
132
                    );
133
134
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\User::delete() */
135
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\UserGroup::delete() */
136
                    /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\ApiClient::delete() */
137
                    $router->get(
138
                        "/${route}/:entityId/delete",
139
                        "Admin\Execute\\${controllerName}@delete",
140
                        [
141
                            RouteConstant::OPTION_NAME       => "${route}-delete",
142
                            RouteConstant::OPTION_MIDDLEWARE => [
143
                                Authorization::withParameters(
144
                                    [
145
                                        Authorization::RESOURCE => $route,
146
                                        Authorization::ROLE     => Role::WRITE,
147
                                    ]
148
                                ),
149
                            ],
150
                        ]
151
                    );
152
                }
153
154
                /** @see \AbterPhp\Admin\Http\Controllers\Admin\Form\Profile::profile() */
155
                $router->get(
156
                    RoutesConfig::PROFILE_PATH,
157
                    'Admin\Form\Profile@profile',
158
                    [
159
                        RouteConstant::OPTION_NAME => RouteConstant::PROFILE_EDIT,
160
                    ]
161
                );
162
163
                /** @see \AbterPhp\Admin\Http\Controllers\Admin\Execute\Profile::execute() */
164
                $router->put(
165
                    RoutesConfig::PROFILE_PATH,
166
                    'Admin\Execute\Profile@profile',
167
                    [
168
                        RouteConstant::OPTION_NAME => RouteConstant::PROFILE_UPDATE,
169
                    ]
170
                );
171
172
                /** @see \AbterPhp\Admin\Http\Controllers\Admin\Dashboard::showDashboard() */
173
                $router->get(
174
                    RoutesConfig::DASHBOARD_PATH,
175
                    'Admin\Dashboard@showDashboard',
176
                    [
177
                        RouteConstant::OPTION_NAME => RouteConstant::DASHBOARD_VIEW,
178
                    ]
179
                );
180
            }
181
        );
182
    }
183
);
184