diff --git a/modules/User/Http/Controllers/UserController.php b/modules/User/Http/Controllers/UserController.php index bc19287..b4582b9 100644 --- a/modules/User/Http/Controllers/UserController.php +++ b/modules/User/Http/Controllers/UserController.php @@ -27,7 +27,13 @@ class UserController extends Controller */ public function index() { - return $this->user->getList(); + return $this->user->setBeforeGetList(function ($query){ + if (! $this->getLoginUser()->isSuperAdmin()) { + return $query->where('id', '<>', config('catch.super_admin')); + } + + return $query; + })->getList(); } /** diff --git a/modules/User/Models/User.php b/modules/User/Models/User.php index 1b626a6..509022b 100644 --- a/modules/User/Models/User.php +++ b/modules/User/Models/User.php @@ -70,6 +70,13 @@ class User extends Model implements AuthenticatableContract ); } + protected function DepartmentId(): Attribute + { + return new Attribute( + get: fn($value) => $value ? : null + ); + } + /** * is super admin * @@ -91,7 +98,7 @@ class User extends Model implements AuthenticatableContract if (isset($data['password']) && ! $data['password']) { unset($data['password']); } - + return parent::updateBy($id, $data); } }