where('public_id', $publicId)->first(); if ($user) { return $user; } if ($email === '') { return null; } return User::query()->create([ 'public_id' => $publicId, 'email' => $email, 'name' => $name !== '' ? $name : $email, ]); } }