connect method

dynamic connect({
  1. required String customerId,
  2. required List<LeanPermissions> permissions,
  3. String? endUserId,
  4. String? accessTo,
  5. String? accessFrom,
  6. String? bankIdentifier,
  7. String? failRedirectUrl,
  8. String? successRedirectUrl,
  9. String? paymentDestinationId,
  10. String? accountType,
  11. String? accessToken,
  12. bool? showConsentExplanation,
  13. String? destinationAlias,
  14. String? destinationAvatar,
})

Implementation

connect({
  required String customerId,
  required List<LeanPermissions> permissions,
  String? endUserId,
  String? accessTo,
  String? accessFrom,
  String? bankIdentifier,
  String? failRedirectUrl,
  String? successRedirectUrl,
  String? paymentDestinationId,
  String? accountType,
  String? accessToken,
  bool? showConsentExplanation,
  String? destinationAlias,
  String? destinationAvatar,
}) {
  String permissionsParams = _convertPermissionsToURLString(permissions);
  String customizationParams = _convertCustomizationToURLString();

  var initializationURL =
      "$_getBaseUrl&method=${LeanMethods.connect.name}&${Params.customer_id.name}=$customerId$permissionsParams$customizationParams";

  final optionalParams = {
    Params.bank_identifier.name: bankIdentifier,
    Params.payment_destination_id.name: paymentDestinationId,
    Params.end_user_id.name: endUserId,
    Params.access_to.name: accessTo,
    Params.access_from.name: accessFrom,
    Params.access_token.name: accessToken,
    Params.fail_redirect_url.name: failRedirectUrl,
    Params.success_redirect_url.name: successRedirectUrl,
    Params.account_type.name: accountType,
    Params.show_consent_explanation.name: showConsentExplanation,
    Params.destination_alias.name: destinationAlias,
    Params.destination_avatar.name: destinationAvatar,
  };

  initializationURL = _appendOptionalConfigToURLParams(
    initializationURL,
    optionalParams,
  );

  return initializationURL;
}