attributes->get('tenant_id') ?? $request->input('tenant_id') ?? $request->user()?->tenant_id; if (! $tenantId) { throw (new ModelNotFoundException)->setModel(User::class); } $user = $request->user(); if ($user && in_array($user->role, ['tenant_admin', 'admin', 'super_admin'], true)) { if ($user->role !== 'super_admin' || (int) $user->tenant_id === (int) $tenantId) { return $user; } } $user = User::query() ->where('tenant_id', $tenantId) ->whereIn('role', ['tenant_admin', 'admin']) ->orderByDesc('email_verified_at') ->orderBy('id') ->first(); if (! $user) { throw (new ModelNotFoundException)->setModel(User::class); } return $user; } }