for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Containers\Authorization\Tasks;
use App\Containers\Authorization\Actions\GetRoleAction;
use App\Containers\Authorization\Data\Repositories\RoleRepository;
use App\Containers\User\Models\User;
use App\Containers\User\Tasks\FindUserByIdTask;
use App\Port\Task\Abstracts\Task;
/**
* Class AttachPermissionsToRoleTask.
*
* @author Mahmoud Zalt <[email protected]>
*/
class AttachPermissionsToRoleTask extends Task
{
* @var \App\Containers\Authorization\Actions\GetRoleAction
private $getRoleAction;
* AttachPermissionsToRoleTask constructor.
* @param \App\Containers\Authorization\Actions\GetRoleAction $getRoleAction
public function __construct(GetRoleAction $getRoleAction)
$this->getRoleAction = $getRoleAction;
}
* @param $roleName
* @param $permissionNames
* @return mixed
public function run($roleName, $permissionNames)
$role = $this->getRoleAction->run($roleName);
if(is_array($permissionNames)){
foreach ($permissionNames as $permissionName){
$role->givePermissionTo($permissionName);
}else{
$role->givePermissionTo($permissionNames);
return $role;