Installed laravel-permission and laravel-modules
This commit is contained in:
72
app/Http/Controllers/UserRolePermissionController.php
Normal file
72
app/Http/Controllers/UserRolePermissionController.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Permission;
|
||||
use App\Role;
|
||||
use App\Http\Resources\PermissionResource;
|
||||
use App\Http\Resources\RoleResource;
|
||||
|
||||
class UserRolePermissionController extends Controller
|
||||
{
|
||||
public function permissionAttachRole($permission, $role)
|
||||
{
|
||||
$permission = Permission::findOrFail($permission);
|
||||
$role = Role::findOrFail($role);
|
||||
|
||||
$permission->assignRole($role);
|
||||
|
||||
return new PermissionResource($permission);
|
||||
}
|
||||
|
||||
public function permissionAttachMultiRoles(Request $roles, $permission)
|
||||
{
|
||||
$permission = Permission::findOrFail($permission);
|
||||
$roles = Role::whereIn('id', $roles)->get();
|
||||
|
||||
$permission->syncRoles($roles);
|
||||
|
||||
return new PermissionResource($permission);
|
||||
}
|
||||
|
||||
public function permissionRemoveRole($permission, $role)
|
||||
{
|
||||
$permission = Permission::findOrFail($permission);
|
||||
$role = Role::findOrFail($role);
|
||||
|
||||
$permission->removeRole($role);
|
||||
|
||||
return new PermissionResource($permission);
|
||||
}
|
||||
|
||||
public function roleAttachPermission($role, $permission)
|
||||
{
|
||||
$role = Role::findOrFail($role);
|
||||
$permission = Permission::findOrFail($permission);
|
||||
|
||||
$role->givePermissionTo($permission);
|
||||
|
||||
return new RoleResource($role);
|
||||
}
|
||||
|
||||
public function roleAttachMultiPermissions(Request $permissions, $role)
|
||||
{
|
||||
$role = Role::findOrFail($role);
|
||||
$permissions = Permission::whereIn('id', $permissions)->get();
|
||||
|
||||
$role->syncPermissions($permissions);
|
||||
|
||||
return new RoleResource($role);
|
||||
}
|
||||
|
||||
public function roleRemovePermission($role, $permission)
|
||||
{
|
||||
$role = Role::findOrFail($role);
|
||||
$permission = Permission::findOrFail($permission);
|
||||
|
||||
$role->revokePermissionTo($permission);
|
||||
|
||||
return new RoleResource($role);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user