Skip to content

Commit

Permalink
Support for asynchronous autopagination
Browse files Browse the repository at this point in the history
  • Loading branch information
ob-stripe committed Mar 7, 2020
1 parent 8c1141a commit 143005e
Show file tree
Hide file tree
Showing 126 changed files with 1,756 additions and 186 deletions.
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Accounts/AccountService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ public virtual IEnumerable<Account> ListAutoPaging(AccountListOptions options =
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Account> ListAutoPagingAsync(AccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual Account Reject(string accountId, AccountRejectOptions options, RequestOptions requestOptions = null)
{
return this.Request(HttpMethod.Post, $"{this.InstanceUrl(accountId)}/reject", options, requestOptions);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,12 @@ public virtual IEnumerable<ApplePayDomain> ListAutoPaging(ApplePayDomainListOpti
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<ApplePayDomain> ListAutoPagingAsync(ApplePayDomainListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ public virtual IEnumerable<ApplicationFeeRefund> ListAutoPaging(string applicati
return this.ListNestedEntitiesAutoPaging(applicationFeeId, options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<ApplicationFeeRefund> ListAutoPagingAsync(string applicationFeeId, ApplicationFeeRefundListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(applicationFeeId, options, requestOptions, cancellationToken);
}
#endif

public virtual ApplicationFeeRefund Update(string applicationFeeId, string refundId, ApplicationFeeRefundUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(applicationFeeId, refundId, options, requestOptions);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,12 @@ public virtual IEnumerable<ApplicationFee> ListAutoPaging(ApplicationFeeListOpti
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<ApplicationFee> ListAutoPagingAsync(ApplicationFeeListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,12 @@ public virtual IEnumerable<BalanceTransaction> ListAutoPaging(BalanceTransaction
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<BalanceTransaction> ListAutoPagingAsync(BalanceTransactionListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/BankAccounts/BankAccountService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@ public virtual IEnumerable<BankAccount> ListAutoPaging(string customerId, BankAc
return this.ListNestedEntitiesAutoPaging(customerId, options ?? new BankAccountListOptions(), requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<BankAccount> ListAutoPagingAsync(string customerId, BankAccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(customerId, options ?? new BankAccountListOptions(), requestOptions, cancellationToken);
}
#endif

public virtual BankAccount Update(string customerId, string bankAccountId, BankAccountUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(customerId, bankAccountId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Capabilities/CapabilityService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ public virtual IEnumerable<Capability> ListAutoPaging(string accountId, Capabili
return this.ListNestedEntitiesAutoPaging(accountId, options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Capability> ListAutoPagingAsync(string accountId, CapabilityListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(accountId, options, requestOptions, cancellationToken);
}
#endif

public virtual Capability Update(string accountId, string capabilityId, CapabilityUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(accountId, capabilityId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Cards/CardService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,13 @@ public virtual IEnumerable<Card> ListAutoPaging(string customerId, CardListOptio
return this.ListNestedEntitiesAutoPaging(customerId, options ?? new CardListOptions(), requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Card> ListAutoPagingAsync(string customerId, CardListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(customerId, options ?? new CardListOptions(), requestOptions, cancellationToken);
}
#endif

public virtual Card Update(string customerId, string cardId, CardUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(customerId, cardId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Charges/ChargeService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,13 @@ public virtual IEnumerable<Charge> ListAutoPaging(ChargeListOptions options = nu
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Charge> ListAutoPagingAsync(ChargeListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual Charge Update(string chargeId, ChargeUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(chargeId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Checkout/Sessions/SessionService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,12 @@ public virtual IEnumerable<Session> ListAutoPaging(SessionListOptions options =
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Session> ListAutoPagingAsync(SessionListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/CountrySpecs/CountrySpecService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,12 @@ public virtual IEnumerable<CountrySpec> ListAutoPaging(CountrySpecListOptions op
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<CountrySpec> ListAutoPagingAsync(CountrySpecListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Coupons/CouponService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@ public virtual IEnumerable<Coupon> ListAutoPaging(CouponListOptions options = nu
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Coupon> ListAutoPagingAsync(CouponListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual Coupon Update(string couponId, CouponUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(couponId, options, requestOptions);
Expand Down
21 changes: 21 additions & 0 deletions src/Stripe.net/Services/CreditNotes/CreditNoteService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ public virtual IEnumerable<CreditNote> ListAutoPaging(CreditNoteListOptions opti
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<CreditNote> ListAutoPagingAsync(CreditNoteListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual StripeList<CreditNoteLineItem> ListLineItems(string creditnoteId, CreditNoteListLineItemsOptions options = null, RequestOptions requestOptions = null)
{
return this.Request<StripeList<CreditNoteLineItem>>(HttpMethod.Get, $"{this.InstanceUrl(creditnoteId)}/lines", options, requestOptions);
Expand All @@ -73,6 +80,13 @@ public virtual IEnumerable<CreditNoteLineItem> ListLineItemsAutoPaging(string cr
return this.ListRequestAutoPaging<CreditNoteLineItem>($"{this.InstanceUrl(creditnoteId)}/lines", options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<CreditNoteLineItem> ListLineItemsAutoPagingAsync(string creditnoteId, CreditNoteListLineItemsOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListRequestAutoPagingAsync<CreditNoteLineItem>($"{this.InstanceUrl(creditnoteId)}/lines", options, requestOptions, cancellationToken);
}
#endif

public virtual StripeList<CreditNoteLineItem> ListPreviewLineItems(CreditNoteListPreviewLineItemsOptions options = null, RequestOptions requestOptions = null)
{
return this.Request<StripeList<CreditNoteLineItem>>(HttpMethod.Get, $"{this.InstanceUrl("preview")}/lines", options, requestOptions);
Expand All @@ -88,6 +102,13 @@ public virtual IEnumerable<CreditNoteLineItem> ListPreviewLineItemsAutoPaging(Cr
return this.ListRequestAutoPaging<CreditNoteLineItem>($"{this.InstanceUrl("preview")}/lines", options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<CreditNoteLineItem> ListPreviewLineItemsAutoPagingAsync(CreditNoteListPreviewLineItemsOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListRequestAutoPagingAsync<CreditNoteLineItem>($"{this.InstanceUrl("preview")}/lines", options, requestOptions, cancellationToken);
}
#endif

public virtual CreditNote Preview(CreditNotePreviewOptions options, RequestOptions requestOptions = null)
{
return this.Request(HttpMethod.Get, $"{this.ClassUrl()}/preview", options, requestOptions);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ public virtual IEnumerable<CustomerBalanceTransaction> ListAutoPaging(string cus
return this.ListNestedEntitiesAutoPaging(customerId, options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<CustomerBalanceTransaction> ListAutoPagingAsync(string customerId, CustomerBalanceTransactionListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(customerId, options, requestOptions, cancellationToken);
}
#endif

public virtual CustomerBalanceTransaction Update(string customerId, string transactionId, CustomerBalanceTransactionUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(customerId, transactionId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Customers/CustomerService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,13 @@ public virtual IEnumerable<Customer> ListAutoPaging(CustomerListOptions options
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Customer> ListAutoPagingAsync(CustomerListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual Customer Update(string customerId, CustomerUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(customerId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Disputes/DisputeService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ public virtual IEnumerable<Dispute> ListAutoPaging(DisputeListOptions options =
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Dispute> ListAutoPagingAsync(DisputeListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual Dispute Update(string disputeId, DisputeUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(disputeId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Events/EventService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,12 @@ public virtual IEnumerable<Event> ListAutoPaging(EventListOptions options = null
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<Event> ListAutoPagingAsync(EventListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/ExchangeRates/ExchangeRateService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,12 @@ public virtual IEnumerable<ExchangeRate> ListAutoPaging(ExchangeRateListOptions
{
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<ExchangeRate> ListAutoPagingAsync(ExchangeRateListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@ public virtual IEnumerable<IExternalAccount> ListAutoPaging(string accountId, Ex
return this.ListNestedEntitiesAutoPaging(accountId, options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<IExternalAccount> ListAutoPagingAsync(string accountId, ExternalAccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListNestedEntitiesAutoPagingAsync(accountId, options, requestOptions, cancellationToken);
}
#endif

public virtual IExternalAccount Update(string accountId, string externalAccountId, ExternalAccountUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateNestedEntity(accountId, externalAccountId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/FileLinks/FileLinkService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ public virtual IEnumerable<FileLink> ListAutoPaging(FileLinkListOptions options
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<FileLink> ListAutoPagingAsync(FileLinkListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual FileLink Update(string fileLinkId, FileLinkUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(fileLinkId, options, requestOptions);
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/Files/FileService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ public virtual IEnumerable<File> ListAutoPaging(FileListOptions options = null,
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<File> ListAutoPagingAsync(FileListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

private RequestOptions SetupRequestOptionsForFilesRequest(RequestOptions requestOptions)
{
if (requestOptions == null)
Expand Down
7 changes: 7 additions & 0 deletions src/Stripe.net/Services/InvoiceItems/InvoiceItemService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,13 @@ public virtual IEnumerable<InvoiceItem> ListAutoPaging(InvoiceItemListOptions op
return this.ListEntitiesAutoPaging(options, requestOptions);
}

#if !NET45
public virtual IAsyncEnumerable<InvoiceItem> ListAutoPagingAsync(InvoiceItemListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
{
return this.ListEntitiesAutoPagingAsync(options, requestOptions, cancellationToken);
}
#endif

public virtual InvoiceItem Update(string invoiceitemId, InvoiceItemUpdateOptions options, RequestOptions requestOptions = null)
{
return this.UpdateEntity(invoiceitemId, options, requestOptions);
Expand Down

0 comments on commit 143005e

Please sign in to comment.