lcly-data-admin/app/Http/Controllers/AdminPermissionController.php

37 lines
888 B
PHP

<?php
namespace App\Http\Controllers;
use App\Models\AdminPermission;
use Illuminate\Http\Request;
class AdminPermissionController extends Controller
{
public function index(Request $request)
{
$permissions = (new AdminPermission())->toTree(AdminPermission::endPoint()->get());
return $this->json($this->formatPermissionsTreeToArray($permissions));
}
/**
* 格式化树
*
* @param array $permissions
* @return void
*/
protected function formatPermissionsTreeToArray(array $permissions)
{
$res = [];
foreach ($permissions as $permission) {
$res[] = [
'id' => $permission->id,
'label' => $permission->name,
'children' => $this->formatPermissionsTreeToArray($permission->children ?? []),
];
}
return $res;
}
}