create method

Future create(
  1. CreateLinkListPayload payload
)

Implementation

Future create(CreateLinkListPayload payload) async {
  if (payload.async == false && payload.callbackUrl == null) {
    throw ArgumentError("callbackUrl is required when async is false");
  }

  var response = await apiAdapter.post(
      '/v1/organizations/$organizationId/distributions/createLinkList', {
    'survey_uuid': payload.surveyId,
    'shortened_link': payload.shortenedLink,
    'async': payload.async,
    'callback_url': payload.callbackUrl,
    'template_survey_expired_hash': payload.templateSurveyExpiredHash,
    'template_survey_thanks_hash': payload.templateSurveyThanksHash,
    'import_lines': payload.importLines
  });

  if (response.containsKey('success') && response['success'] == 0) {
    throw Exception(response['message']);
  }

  if (response.containsKey('import_lines')) {
    var importLine = response['import_lines'].first;

    if (importLine['link'] != null) {
      webviewUrl = importLine['link'];
    }
  }

  return response;
}