Prevent owner user from being deleted

This commit is contained in:
David Bomba 2023-12-15 14:53:00 +11:00
parent 87bbeeb67e
commit 3ebcbc034e
3 changed files with 6 additions and 3 deletions

View File

@ -196,7 +196,7 @@ class UserController extends BaseController
*/ */
public function destroy(DestroyUserRequest $request, User $user) public function destroy(DestroyUserRequest $request, User $user)
{ {
if ($user->isOwner()) { if ($user->hasOwnerFlag()) {
return response()->json(['message', 'Cannot detach owner.'], 401); return response()->json(['message', 'Cannot detach owner.'], 401);
} }

View File

@ -372,9 +372,12 @@ class User extends Authenticatable implements MustVerifyEmail
public function isOwner() : bool public function isOwner() : bool
{ {
return $this->token()->cu->is_owner; return $this->token()->cu->is_owner;
} }
public function hasOwnerFlag(): bool
{
return $this->company_users()->where('is_owner',true)->exists();
}
/** /**
* Returns true is user is an admin _or_ owner * Returns true is user is an admin _or_ owner
* *

View File

@ -120,7 +120,7 @@ class UserRepository extends BaseRepository
public function destroy(array $data, User $user) public function destroy(array $data, User $user)
{ {
if ($user->isOwner()) { if ($user->hasOwnerFlag()) {
return $user; return $user;
} }