feat: agrega middleware para control de permisos en PermissionTypeController y actualiza RoleController para incluir permisos de visualización

This commit is contained in:
Juan Felipe Zapata Moreno 2026-02-24 10:14:18 -06:00
parent 31746867b8
commit 5bad287ef4
3 changed files with 15 additions and 5 deletions

View File

@ -5,17 +5,26 @@
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\PermissionType; use App\Models\PermissionType;
use Illuminate\Routing\Controllers\HasMiddleware;
use Notsoweb\ApiResponse\Enums\ApiResponse; use Notsoweb\ApiResponse\Enums\ApiResponse;
/** /**
* Tipos de permisos * Tipos de permisos
* *
* @author Moisés Cortés C. <moises.cortes@notsoweb.com> * @author Moisés Cortés C. <moises.cortes@notsoweb.com>
* *
* @version 1.0.0 * @version 1.0.0
*/ */
class PermissionTypeController extends Controller class PermissionTypeController extends Controller implements HasMiddleware
{ {
public static function middleware(): array
{
return [
self::can('roles.index', ['all', 'allWithPermissions']),
];
}
/** /**
* Listar todo * Listar todo
*/ */

View File

@ -28,8 +28,7 @@ class RoleController extends Controller implements HasMiddleware
public static function middleware(): array public static function middleware(): array
{ {
return [ return [
self::can('roles.index', ['index']), self::can('roles.index', ['index', 'show']),
self::can('roles.show', ['show']),
self::can('roles.destroy', ['destroy']), self::can('roles.destroy', ['destroy']),
self::can('roles.permissions', ['permissions', 'updatePermissions']), self::can('roles.permissions', ['permissions', 'updatePermissions']),
]; ];

View File

@ -51,6 +51,7 @@ public function run(): void
$roleEdit, $roleEdit,
$roleDestroy $roleDestroy
] = $this->onCRUD('roles', $roles, 'api'); ] = $this->onCRUD('roles', $roles, 'api');
$rolePermissions = $this->onPermission('roles.permissions', 'Permisos de roles', $roles, 'api');
$modules = PermissionType::firstOrCreate([ // Modulos $modules = PermissionType::firstOrCreate([ // Modulos
'name' => 'Módulos' 'name' => 'Módulos'
@ -227,6 +228,7 @@ public function run(): void
$roleCreate, $roleCreate,
$roleEdit, $roleEdit,
$roleDestroy, $roleDestroy,
$rolePermissions,
$moduleIndex, //Módulos $moduleIndex, //Módulos
$moduleCreate, $moduleCreate,
$moduleEdit, $moduleEdit,