feat: #10000 角色权限增加id

This commit is contained in:
赵世界 2022-08-15 16:15:00 +08:00
parent 1002605449
commit 31e038b6ed
2 changed files with 18 additions and 8 deletions

View File

@ -23,17 +23,21 @@ class PermissionsController extends Controller
]);
}
public function index()
public function index(Request $request)
{
$permissions = Permission::query()->get()->toArray();
$permissions = $request->user()->getPermissionsViaRoles()->toArray();
$permissions = ArrayUtils::index($permissions, 'name');
$routes = include(resource_path('lang/zh-CN/permission.php'));
foreach ($routes as $key => &$route) {
$route['id'] = $permissions[$key]['id'];
$allowedPermissions = [];
foreach ($routes as $route => $conf) {
if (isset($permissions[$route])) {
$conf['id'] = $permissions[$route]['id'];
$allowedPermissions[] = $conf;
}
$routes = FormatUtils::formatTreeData($routes, 0);
}
$allowedPermissions = FormatUtils::formatTreeData($allowedPermissions, 0);
return PermissionsResource::collection($routes);
return PermissionsResource::collection($allowedPermissions);
}
public function store(Request $request)

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers\Role;
use App\Http\Controllers\Controller;
use App\Models\Log as LogModel;
use App\Utils\ArrayUtils;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
@ -22,14 +23,19 @@ class RolesController extends Controller
]);
}
public function index()
public function index(Request $request)
{
$roles = Role::query()->with('permissions')->where('id', '<>', 1)->get()->toArray();
$routes = include(resource_path('lang/zh-CN/permission.php'));
$allPermissions = Permission::query()->get()->toArray();
$allPermissions = ArrayUtils::index($allPermissions, 'name');
foreach ($roles as &$role) {
$permissions = [];
foreach ($role['permissions'] as $item) {
$permissions[] = $routes[$item['name']]['name'];
$permissions[] = [
'id' => $allPermissions[$item['name']]['id'],
'name' => $routes[$item['name']]['name'],
];
}
$role['permissions'] = $permissions;
}