changePassword method

Future<void> changePassword({
  1. required String loginName,
  2. required String oldPassword,
  3. required String newPassword,
  4. UserCredentials? userCredentials,
  5. EventStoreClientOperationOptions? operationOptions,
})

Change current password for user in EventStore with given loginName.

Implementation

Future<void> changePassword({
  required String loginName,
  required String oldPassword,
  required String newPassword,
  UserCredentials? userCredentials,
  EventStoreClientOperationOptions? operationOptions,
}) {
  if (loginName.isEmpty) {
    throw ArgumentOutOfRangeException("'loginName' is empty");
  }
  if (oldPassword.isEmpty) {
    throw ArgumentOutOfRangeException("'oldPassword' is empty");
  }
  if (newPassword.isEmpty) {
    throw ArgumentOutOfRangeException("'newPassword' is empty");
  }

  return $runRequest<void>(() async {
    final request = $a.ChangePasswordReq()
      ..options = (ChangePasswordReq_Options()
        ..loginName = loginName
        ..currentPassword = oldPassword
        ..newPassword = newPassword);

    final client = await $getClient();
    await client.changePassword(
      request,
      options: $getOptions(
        userCredentials: userCredentials,
        operationOptions: operationOptions,
      ),
    );
  });
}