/** * Sync the roles. * * @todo: Refactor this method */ private function syncRoles() { $permissions = Permission::all(); $roles = ['blog-moderators' => 'blog.', 'blog-authors' => 'blog.posts.']; foreach ($roles as $roleSlug => $permissionSlug) { /** @var \Arcanesoft\Auth\Models\Role $role */ $role = Role::where('slug', $roleSlug)->first(); $ids = $permissions->filter(function (Permission $permission) use($permissionSlug) { return starts_with($permission->slug, $permissionSlug); })->lists('id')->toArray(); $role->permissions()->sync($ids); } }
/** * Sync the roles. * * @todo: Refactor this method */ private function syncRoles() { /** @var \Illuminate\Database\Eloquent\Collection $permissions */ $permissions = Permission::all(); $roles = ['logviewer-manager' => 'foundation.logviewer.']; foreach ($roles as $roleSlug => $permissionSlug) { /** @var \Arcanesoft\Auth\Models\Role $role */ $role = Role::where('slug', $roleSlug)->first(); $ids = $permissions->filter(function (Permission $permission) use($permissionSlug) { return Str::startsWith($permission->slug, $permissionSlug); })->pluck('id')->toArray(); $role->permissions()->sync($ids); } }