submitConsents static method

Future<SubmitConsentResult> submitConsents(
  1. Map<String, ConsentMessage> consentMessages
)

Implementation

static Future<SubmitConsentResult> submitConsents(
    Map<String, ConsentMessage> consentMessages) async {
  var consentAPI = ConsentAPI(shared.config?.pamServer ?? "");

  return shared.queue.add(() async {
    Map<String, AllowConsentResult> consentResult = {};
    List<String> ids = [];

    await Future.wait(consentMessages.keys.map((aKey) async {
      var item = consentMessages[aKey];
      if (item != null) {
        var result = await consentAPI.submitConsent(item);
        shared._saveContactID(result?.contactID);
        if (result != null) {
          consentResult = {item.id ?? "x": result};
          ids.add(result.consentID ?? "");
        }
      }
    }));

    return SubmitConsentResult(consentResult, ids.join(","));
  });
}