|
@@ -10,6 +10,7 @@ use App\Http\Requests\API\User\UpdateRequest;
|
|
|
use App\Http\Resources\API\UserInfoResource;
|
|
|
use App\Http\Resources\API\UserSimpleResource;
|
|
|
use App\Models\Enums\RequirementStatus;
|
|
|
+use App\Models\Menu;
|
|
|
use App\Models\Role;
|
|
|
use App\Models\User;
|
|
|
use Illuminate\Http\Request;
|
|
@@ -24,6 +25,35 @@ class UserController extends Controller
|
|
|
{
|
|
|
$user = Auth::user();
|
|
|
|
|
|
+ $menus = Menu::query()->where("group", \request("group", "web"))
|
|
|
+ ->with(['permissions:name'])
|
|
|
+ ->get()
|
|
|
+ ->filter(fn(Menu $menu) => Auth::user()->can($menu->permission));
|
|
|
+
|
|
|
+ $items = [
|
|
|
+ 'permissionList' => [],
|
|
|
+ 'permissions' => [],
|
|
|
+ ];
|
|
|
+
|
|
|
+ foreach ($menus as $menu) {
|
|
|
+ $items['permissionList'][] = $menu->name;
|
|
|
+
|
|
|
+ $permissionItem = [
|
|
|
+ 'actionList' => [],
|
|
|
+ 'permissionId' => $menu->name,
|
|
|
+ ];
|
|
|
+
|
|
|
+ foreach ($menu->permissions as $permission) {
|
|
|
+ if (Auth::user()->can($permission->name)) {
|
|
|
+ $permissionItem['actionList'][] = $permission->name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $items['permissions'][] = $permissionItem;
|
|
|
+ }
|
|
|
+
|
|
|
+ $user->menus = $items;
|
|
|
+
|
|
|
return new UserInfoResource($user);
|
|
|
}
|
|
|
|