hasher->make($data['password']); } $this->connection->beginTransaction(); if (empty($data['password'])) { $generateResetToken = true; $data['password'] = $this->hasher->make(str_random(30)); } $user = User::query()->forceCreate(array_merge($data, [ 'uuid' => Uuid::uuid4()->toString(), ])); if (isset($generateResetToken)) { $token = $this->passwordBroker->createToken($user); } $this->connection->commit(); $user->notify(new AccountCreated($user, $token ?? null)); return $user; } }