* Refactor and add importer to Installer module #443 * Refactor for finances to use in import * Import groups into roles * Formatting * Formatting * Add interface in installer for import * Notes about importing * Check for installer folder * Formatting * Fix pirep->user mapping * Unused import * Formatting
This commit is contained in:
47
app/Services/RoleService.php
Normal file
47
app/Services/RoleService.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Contracts\Service;
|
||||
use App\Models\Role;
|
||||
use App\Repositories\RoleRepository;
|
||||
|
||||
class RoleService extends Service
|
||||
{
|
||||
private $roleRepo;
|
||||
|
||||
public function __construct(RoleRepository $roleRepo)
|
||||
{
|
||||
$this->roleRepo = $roleRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a role with the given attributes
|
||||
*
|
||||
* @param Role $role
|
||||
* @param array $attrs
|
||||
*
|
||||
* @return Role
|
||||
*/
|
||||
public function updateRole(Role $role, array $attrs)
|
||||
{
|
||||
$role->update($attrs);
|
||||
$role->save();
|
||||
|
||||
return $role;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Role $role
|
||||
* @param array $permissions
|
||||
*/
|
||||
public function setPermissionsForRole(Role $role, array $permissions)
|
||||
{
|
||||
// Update the permissions, filter out null/invalid values
|
||||
$perms = collect($permissions)->filter(static function ($v, $k) {
|
||||
return $v;
|
||||
});
|
||||
|
||||
$role->permissions()->sync($perms);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user