updatePayload method

  1. @override
SubmitServiceEvent updatePayload(
  1. SubmitServiceEvent originalPayload,
  2. String newValue
)
override

Implement in subclasses to update the payload with the new value.

Implementation

@override
SubmitServiceEvent updatePayload(
  SubmitServiceEvent originalPayload,
  String newValue,
) {
  final updatedPayload = originalPayload.deepCopy();
  updatedPayload.addServiceAdminEmail = newValue;

  // update the bloom with the single email
  if (updatedPayload.addServiceAdminEmail.isEmpty) {
    updatedPayload.event.addServiceAdmin.filter = serviceState.filter;
  } else {
    final bloom = BloomFilterProcessor(
      size: serviceState.filter.size,
      hashCount: serviceState.filter.hashCount,
      bitArray: Uint8List.fromList(serviceState.filter.bitArray),
    )..add(updatedPayload.addServiceAdminEmail);

    updatedPayload.event.addServiceAdmin.filter = BloomFilter()
      ..size = bloom.size
      ..hashCount = bloom.hashCount
      ..bitArray = bloom.bitArray;
  }
  return updatedPayload;
}