Code Duplication    Length = 40-40 lines in 2 locations

src/Commands/AssignRole.php 1 location

@@ 9-48 (lines=40) @@
6
use Illuminate\Console\Command;
7
use Spatie\Permission\Contracts\Role as RoleContract;
8
9
class AssignRole extends Command
10
{
11
    protected $signature = 'permission:assign-user
12
        {user : User ID}
13
        {name : The name of the role}
14
        {guard? : The name of the guard}';
15
16
    protected $description = 'Assign a role';
17
18
    /**
19
     * User model.
20
     *
21
     * @var User
22
     */
23
    protected $user;
24
25
    /**
26
     * Create a new command instance.
27
     *
28
     * @param User $user
29
     * @return void
30
     */
31
    public function __construct(User $user)
32
    {
33
        parent::__construct();
34
35
        $this->user = $user;
36
    }
37
38
    public function handle()
39
    {
40
        $roleClass = app(RoleContract::class);
41
42
        $user = $this->user->find($this->argument('user'));
43
        $role = $roleClass::findByName($this->argument('name'), $this->argument('guard'));
44
45
        $user->assignRole($role->name);
46
        $this->info("Role `{$role->name}` assigned to `{$user->name}` (ID:{$user->name}) created");
47
    }
48
}
49

src/Commands/GivePermissionUser.php 1 location

@@ 9-48 (lines=40) @@
6
use Illuminate\Console\Command;
7
use Spatie\Permission\Contracts\Permission as PermissionContract;
8
9
class GivePermissionUser extends Command
10
{
11
    protected $signature = 'permission:give-user
12
        {user : User ID}
13
        {name : The name of the permission}
14
        {guard? : The name of the guard}';
15
16
    protected $description = 'Give user a permission';
17
18
    /**
19
     * User model.
20
     *
21
     * @var User
22
     */
23
    protected $user;
24
25
    /**
26
     * Create a new command instance.
27
     *
28
     * @param  User  $user
29
     * @return void
30
     */
31
    public function __construct(User $user)
32
    {
33
        parent::__construct();
34
35
        $this->user = $user;
36
    }
37
38
    public function handle()
39
    {
40
        $permissionClass = app(PermissionContract::class);
41
42
        $user = $this->user->find($this->argument('user'));
43
        $permission = $permissionClass::findByName($this->argument('name'), $this->argument('guard'));
44
45
        $user->givePermissionTo($permission->name);
46
        $this->info("Permission `{$permission->name}` given to `{$user->name}` (ID:{$user->name})");
47
    }
48
}
49