new feature

This commit is contained in:
JaguarJack
2022-12-16 18:30:36 +08:00
parent 098463f4e1
commit 47a76af4b0
13 changed files with 170 additions and 61 deletions

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Modules\Permissions\Http\Controllers;
use Catch\Base\CatchController as Controller;
use Modules\Permissions\Enums\MenuType;
use Modules\Permissions\Models\PermissionsModel;
use Illuminate\Http\Request;
@@ -16,12 +17,13 @@ class PermissionsController extends Controller
}
/**
* @param Request $request
* @return mixed
*/
public function index(Request $request): mixed
public function index(): mixed
{
return $this->model->getList();
return $this->model->setBeforeGetList(function ($query){
return $query->with('actions')->whereIn('type', [MenuType::Top->value(), MenuType::Menu->value]);
})->getList();
}
public function store(Request $request)

View File

@@ -20,7 +20,9 @@ class RolesController extends Controller
*/
public function index(): mixed
{
return $this->model->getList();
return $this->model->setBeforeGetList(function ($query){
return $query->with(['permissions' => function($query){ $query->select('id');}]);
})->getList();
}
public function store(RoleRequest $request)
@@ -30,7 +32,11 @@ class RolesController extends Controller
public function show($id)
{
return $this->model->firstBy($id);
$role = $this->model->firstBy($id);
$role->setAttribute('permissions', $role->permissions()->get()->toTree());
return $role;
}
public function update($id, RoleRequest $request)