|
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\API;
|
|
|
use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\Role\CreateOrUpdateRequest;
|
|
|
use App\Http\Resources\API\RoleResource;
|
|
|
+use App\Models\Menu;
|
|
|
use App\Models\Role;
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
@@ -85,4 +86,27 @@ class RoleController extends Controller
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
+
|
|
|
+ public function menus(string $id)
|
|
|
+ {
|
|
|
+ $role = Role::query()->findOrFail($id);
|
|
|
+
|
|
|
+ $menus = Menu::query()->where("group", \request("group", "web"))
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ $rolePermission=$role->permissions->pluck('name')->toArray();
|
|
|
+
|
|
|
+ $flattenedPaths = [];
|
|
|
+ foreach ($menus as $index=> $menu) {
|
|
|
+ if(in_array($menu->permission,$rolePermission)){
|
|
|
+ $individualPaths = explode(',', $menu->path);
|
|
|
+ $flattenedPaths = array_merge($flattenedPaths, $individualPaths);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $roleHasMenu=Menu::query()->whereIn('id',$flattenedPaths)->pluck('name')->toArray();
|
|
|
+
|
|
|
+ return $roleHasMenu;
|
|
|
+
|
|
|
+ }
|
|
|
}
|