setRecipient method

  1. @override
Future<EmailSettingsV1> setRecipient(
  1. String? correlationId,
  2. String recipientId,
  3. String name,
  4. String email,
  5. String language,
)
override

Sets a recipient info into email settings.

  • correlation_id (optional) transaction id to trace execution through call chain.
  • recipientId a recipient id of settings to be retrieved.
  • name a recipient name of settings to be set.
  • email a recipient email of settings to be set.
  • language a recipient language of settings to be set. Return (optional) Future that receives updated email settings Throws error.

Implementation

@override
Future<EmailSettingsV1> setRecipient(String? correlationId,
    String recipientId, String name, String email, String language) async {
  var settings = _settings.isNotEmpty
      ? _settings.firstWhere((s) => s.id == recipientId)
      : null;

  if (settings != null) {
    settings.name = name;
    settings.email = email;
    settings.language = language;
  } else {
    settings = EmailSettingsV1(
        id: recipientId,
        name: name,
        email: email,
        language: language,
        verified: false,
        subscriptions: {});
    _settings.add(settings);
  }

  return settings;
}