Structuring api routes in route group

parent 3d14a920
...@@ -3,41 +3,42 @@ ...@@ -3,41 +3,42 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('role', function ($id) {
return app(\Modules\User\Repositories\RoleRepository::class)->find($id);
});
$router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) { $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) {
$router->get('roles', [ $router->group(['prefix' => 'roles'], function (Router $router) {
'as' => 'api.user.role.index', $router->bind('role', function ($id) {
'uses' => 'RoleController@index', return app(\Modules\User\Repositories\RoleRepository::class)->find($id);
'middleware' => 'token-can:user.roles.index', });
]); $router->get('/', [
$router->post('roles', [ 'as' => 'api.user.role.index',
'as' => 'api.user.role.store', 'uses' => 'RoleController@index',
'uses' => 'RoleController@store', 'middleware' => 'token-can:user.roles.index',
'middleware' => 'token-can:user.roles.create', ]);
]); $router->post('/', [
$router->post('roles/find/{role}', [ 'as' => 'api.user.role.store',
'as' => 'api.user.role.find', 'uses' => 'RoleController@store',
'uses' => 'RoleController@find', 'middleware' => 'token-can:user.roles.create',
'middleware' => 'token-can:user.roles.edit', ]);
]); $router->post('find/{role}', [
$router->post('roles/find-new', [ 'as' => 'api.user.role.find',
'as' => 'api.user.role.find-new', 'uses' => 'RoleController@find',
'uses' => 'RoleController@findNew', 'middleware' => 'token-can:user.roles.edit',
'middleware' => 'token-can:user.roles.edit', ]);
]); $router->post('find-new', [
$router->post('roles/{role}/edit', [ 'as' => 'api.user.role.find-new',
'as' => 'api.user.role.update', 'uses' => 'RoleController@findNew',
'uses' => 'RoleController@update', 'middleware' => 'token-can:user.roles.edit',
'middleware' => 'token-can:user.roles.edit', ]);
]); $router->post('{role}/edit', [
$router->delete('roles/{role}', [ 'as' => 'api.user.role.update',
'as' => 'api.user.role.destroy', 'uses' => 'RoleController@update',
'uses' => 'RoleController@destroy', 'middleware' => 'token-can:user.roles.edit',
'middleware' => 'token-can:user.roles.destroy', ]);
]); $router->delete('{role}', [
'as' => 'api.user.role.destroy',
'uses' => 'RoleController@destroy',
'middleware' => 'token-can:user.roles.destroy',
]);
});
$router->get('permissions', [ $router->get('permissions', [
'as' => 'api.user.permissions.index', 'as' => 'api.user.permissions.index',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment