![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/clinic.corals.io/app/Repositories/ |
<?php namespace App\Repositories; use App\Models\Permission; use App\Models\Role; use App\Repositories\BaseRepository; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; /** * Class RoleRepository * @package App\Repositories * @version August 5, 2021, 10:43 am UTC */ class RoleRepository extends BaseRepository { /** * @var array */ protected $fieldSearchable = [ 'name' ]; /** * Return searchable fields * * @return array */ public function getFieldsSearchable() { return $this->fieldSearchable; } /** * Configure the Model **/ public function model() { return Role::class; } /** * @return mixed */ public function getPermissions() { $permissions['permissions'] = Permission::toBase()->where('name', '!=', 'manage_admin_dashboard')->get(); $permissions['count'] = Permission::count(); return $permissions; } /** * @param $input * * @return Role */ public function store($input) { $displayName = strtolower($input['display_name']); $input['name'] = str_replace(' ', '_', $displayName); /** @var Role $role */ $role = Role::create($input); if (isset($input['permission_id']) && !empty($input['permission_id'])) { $role->permissions()->sync($input['permission_id']); } return $role; } /** * @param array $input * @param int $id * * * @return Role */ public function update($input, $id): Role { $displayName = strtolower($input['display_name']); $str = str_replace(' ', '_', $displayName); $role = Role::findById($id); /** @var Role $role */ $role->update([ 'name' => $str, 'display_name' => $input['display_name'], ]); if (isset($input['permission_id']) && !empty($input['permission_id'])) { $role->permissions()->sync($input['permission_id']); } return $role; } }