Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update stripe-connector to support list-customer functionality #821

Closed
wants to merge 11 commits into from
19 changes: 17 additions & 2 deletions openapi/stripe/client.bal
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,23 @@ public isolated client class Client {
Coupon response = check self.clientEp->get(resourcePath);
return response;
}
# <p>Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.</p>
#
# + email - A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.
# + endingBefore - A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
# + expand - Specifies which fields in the response should be expanded.
# + 'limit - A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
# + startingAfter - A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
# + testClock - Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set.
# + return - Successful response.
remote isolated function listCustomers(CreatedDetails? created = (), string? email = (), string? endingBefore = (), string[]? expand = (), int? 'limit = (), string? startingAfter = (), string? testClock = ()) returns CustomerResourceCustomerList|error {
string resourcePath = string `/v1/customers`;
map<anydata> queryParam = {"created": created, "email": email, "ending_before": endingBefore, "expand": expand, "limit": 'limit, "starting_after": startingAfter, "test_clock": testClock};
map<Encoding> queryParamEncoding = {"created": {style: DEEPOBJECT, explode: true}, "expand": {style: DEEPOBJECT, explode: true}};
resourcePath = resourcePath + check getPathForQueryParam(queryParam, queryParamEncoding);
CustomerResourceCustomerList response = check self.clientEp->get(resourcePath);
return response;
}
# <p>Creates a new customer object.</p>
#
# + payload - Customer details
Expand Down Expand Up @@ -530,7 +547,6 @@ public isolated client class Client {
UsageRecord response = check self.clientEp->post(resourcePath, request);
return response;
}

# <p>For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).</p>
#
# <p>The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.</p>
Expand All @@ -548,7 +564,6 @@ public isolated client class Client {
UsageEventsResourceUsageRecordSummaryList response = check self.clientEp->get(resourcePath);
return response;
}

# <p>By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify <code>status=canceled</code>.</p>
#
# + collectionMethod - The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`.
Expand Down
122 changes: 122 additions & 0 deletions openapi/stripe/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24614,6 +24614,128 @@ paths:
"$ref": "#/components/schemas/error"
description: Error response.
"/v1/customers":
get:
description: "<p>Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.</p>"
operationId: listCustomers
parameters:
- explode: true
in: query
name: created
required: false
schema:
$ref: '#/components/schemas/CreatedDetails'
style: deepObject
- description: >-
A case-sensitive filter on the list based on the customer's `email`
field. The value must be a string.
in: query
name: email
required: false
schema:
maxLength: 512
type: string
style: form
- description: >-
A cursor for use in pagination. `ending_before` is an object ID that
defines your place in the list. For instance, if you make a list
request and receive 100 objects, starting with `obj_bar`, your
subsequent call can include `ending_before=obj_bar` in order to
fetch the previous page of the list.
in: query
name: ending_before
required: false
schema:
maxLength: 5000
type: string
style: form
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- description: >-
A limit on the number of objects to be returned. Limit can range
between 1 and 100, and the default is 10.
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: >-
A cursor for use in pagination. `starting_after` is an object ID
that defines your place in the list. For instance, if you make a
list request and receive 100 objects, ending with `obj_foo`, your
subsequent call can include `starting_after=obj_foo` in order to
fetch the next page of the list.
in: query
name: starting_after
required: false
schema:
maxLength: 5000
type: string
style: form
- description: >-
Provides a list of customers that are associated with the specified
test clock. The response will not include customers with test clocks
if this parameter is not set.
in: query
name: test_clock
required: false
schema:
maxLength: 5000
type: string
style: form
responses:
'200':
content:
application/json:
schema:
description: ''
properties:
data:
items:
$ref: '#/components/schemas/customer'
type: array
has_more:
description: >-
True if this list has another page of items after this one
that can be fetched.
type: boolean
object:
description: >-
String representing the object's type. Objects of the same
type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
pattern: ^/v1/customers
type: string
required:
- data
- has_more
- object
- url
title: CustomerResourceCustomerList
type: object
x-expandableFields:
- data
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
post:
description: "<p>Creates a new customer object.</p>"
operationId: createCustomer
Expand Down
Loading
Loading