@polar-sh/sdk 1.0.0-alpha.12 → 1.0.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/2026-04/index.d.cts +36 -36
- package/dist/2026-04/index.d.mts +36 -36
- package/dist/2026-04/services/benefit_grants.cjs +3 -3
- package/dist/2026-04/services/benefit_grants.cjs.map +1 -1
- package/dist/2026-04/services/benefit_grants.d.cts +3 -3
- package/dist/2026-04/services/benefit_grants.d.mts +3 -3
- package/dist/2026-04/services/benefit_grants.mjs +3 -3
- package/dist/2026-04/services/benefit_grants.mjs.map +1 -1
- package/dist/2026-04/services/benefits.cjs +6 -6
- package/dist/2026-04/services/benefits.cjs.map +1 -1
- package/dist/2026-04/services/benefits.d.cts +5 -5
- package/dist/2026-04/services/benefits.d.mts +5 -5
- package/dist/2026-04/services/benefits.mjs +5 -5
- package/dist/2026-04/services/benefits.mjs.map +1 -1
- package/dist/2026-04/services/checkout_links.cjs +3 -3
- package/dist/2026-04/services/checkout_links.cjs.map +1 -1
- package/dist/2026-04/services/checkout_links.d.cts +3 -3
- package/dist/2026-04/services/checkout_links.d.mts +3 -3
- package/dist/2026-04/services/checkout_links.mjs +3 -3
- package/dist/2026-04/services/checkout_links.mjs.map +1 -1
- package/dist/2026-04/services/checkouts.cjs +3 -3
- package/dist/2026-04/services/checkouts.cjs.map +1 -1
- package/dist/2026-04/services/checkouts.d.cts +3 -3
- package/dist/2026-04/services/checkouts.d.mts +3 -3
- package/dist/2026-04/services/checkouts.mjs +3 -3
- package/dist/2026-04/services/checkouts.mjs.map +1 -1
- package/dist/2026-04/services/custom_fields.cjs +3 -3
- package/dist/2026-04/services/custom_fields.cjs.map +1 -1
- package/dist/2026-04/services/custom_fields.d.cts +3 -3
- package/dist/2026-04/services/custom_fields.d.mts +3 -3
- package/dist/2026-04/services/custom_fields.mjs +3 -3
- package/dist/2026-04/services/custom_fields.mjs.map +1 -1
- package/dist/2026-04/services/customer_meters.cjs +3 -3
- package/dist/2026-04/services/customer_meters.cjs.map +1 -1
- package/dist/2026-04/services/customer_meters.d.cts +3 -3
- package/dist/2026-04/services/customer_meters.d.mts +3 -3
- package/dist/2026-04/services/customer_meters.mjs +3 -3
- package/dist/2026-04/services/customer_meters.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/benefit_grants.cjs +3 -3
- package/dist/2026-04/services/customer_portal/benefit_grants.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/benefit_grants.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/benefit_grants.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/benefit_grants.mjs +3 -3
- package/dist/2026-04/services/customer_portal/benefit_grants.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/customer_meters.cjs +3 -3
- package/dist/2026-04/services/customer_portal/customer_meters.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/customer_meters.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/customer_meters.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/customer_meters.mjs +3 -3
- package/dist/2026-04/services/customer_portal/customer_meters.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/customers.cjs +3 -3
- package/dist/2026-04/services/customer_portal/customers.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/customers.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/customers.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/customers.mjs +3 -3
- package/dist/2026-04/services/customer_portal/customers.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/downloadables.cjs +3 -3
- package/dist/2026-04/services/customer_portal/downloadables.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/downloadables.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/downloadables.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/downloadables.mjs +3 -3
- package/dist/2026-04/services/customer_portal/downloadables.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/index.d.cts +10 -10
- package/dist/2026-04/services/customer_portal/index.d.mts +10 -10
- package/dist/2026-04/services/customer_portal/license_keys.cjs +3 -3
- package/dist/2026-04/services/customer_portal/license_keys.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/license_keys.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/license_keys.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/license_keys.mjs +3 -3
- package/dist/2026-04/services/customer_portal/license_keys.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/members.cjs +3 -3
- package/dist/2026-04/services/customer_portal/members.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/members.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/members.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/members.mjs +3 -3
- package/dist/2026-04/services/customer_portal/members.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/orders.cjs +3 -3
- package/dist/2026-04/services/customer_portal/orders.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/orders.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/orders.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/orders.mjs +3 -3
- package/dist/2026-04/services/customer_portal/orders.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/seats.cjs +3 -3
- package/dist/2026-04/services/customer_portal/seats.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/seats.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/seats.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/seats.mjs +3 -3
- package/dist/2026-04/services/customer_portal/seats.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/subscriptions.cjs +3 -3
- package/dist/2026-04/services/customer_portal/subscriptions.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/subscriptions.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/subscriptions.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/subscriptions.mjs +3 -3
- package/dist/2026-04/services/customer_portal/subscriptions.mjs.map +1 -1
- package/dist/2026-04/services/customer_portal/wallets.cjs +3 -3
- package/dist/2026-04/services/customer_portal/wallets.cjs.map +1 -1
- package/dist/2026-04/services/customer_portal/wallets.d.cts +3 -3
- package/dist/2026-04/services/customer_portal/wallets.d.mts +3 -3
- package/dist/2026-04/services/customer_portal/wallets.mjs +3 -3
- package/dist/2026-04/services/customer_portal/wallets.mjs.map +1 -1
- package/dist/2026-04/services/customers/index.cjs +9 -9
- package/dist/2026-04/services/customers/index.cjs.map +1 -1
- package/dist/2026-04/services/customers/index.d.cts +7 -7
- package/dist/2026-04/services/customers/index.d.mts +7 -7
- package/dist/2026-04/services/customers/index.mjs +7 -7
- package/dist/2026-04/services/customers/index.mjs.map +1 -1
- package/dist/2026-04/services/discounts.cjs +3 -3
- package/dist/2026-04/services/discounts.cjs.map +1 -1
- package/dist/2026-04/services/discounts.d.cts +3 -3
- package/dist/2026-04/services/discounts.d.mts +3 -3
- package/dist/2026-04/services/discounts.mjs +3 -3
- package/dist/2026-04/services/discounts.mjs.map +1 -1
- package/dist/2026-04/services/disputes.cjs +3 -3
- package/dist/2026-04/services/disputes.cjs.map +1 -1
- package/dist/2026-04/services/disputes.d.cts +3 -3
- package/dist/2026-04/services/disputes.d.mts +3 -3
- package/dist/2026-04/services/disputes.mjs +3 -3
- package/dist/2026-04/services/disputes.mjs.map +1 -1
- package/dist/2026-04/services/event_types.cjs +3 -3
- package/dist/2026-04/services/event_types.cjs.map +1 -1
- package/dist/2026-04/services/event_types.d.cts +3 -3
- package/dist/2026-04/services/event_types.d.mts +3 -3
- package/dist/2026-04/services/event_types.mjs +3 -3
- package/dist/2026-04/services/event_types.mjs.map +1 -1
- package/dist/2026-04/services/events.cjs +3 -3
- package/dist/2026-04/services/events.cjs.map +1 -1
- package/dist/2026-04/services/events.d.cts +3 -3
- package/dist/2026-04/services/events.d.mts +3 -3
- package/dist/2026-04/services/events.mjs +3 -3
- package/dist/2026-04/services/events.mjs.map +1 -1
- package/dist/2026-04/services/files.cjs +3 -3
- package/dist/2026-04/services/files.cjs.map +1 -1
- package/dist/2026-04/services/files.d.cts +3 -3
- package/dist/2026-04/services/files.d.mts +3 -3
- package/dist/2026-04/services/files.mjs +3 -3
- package/dist/2026-04/services/files.mjs.map +1 -1
- package/dist/2026-04/services/license_keys.cjs +3 -3
- package/dist/2026-04/services/license_keys.cjs.map +1 -1
- package/dist/2026-04/services/license_keys.d.cts +3 -3
- package/dist/2026-04/services/license_keys.d.mts +3 -3
- package/dist/2026-04/services/license_keys.mjs +3 -3
- package/dist/2026-04/services/license_keys.mjs.map +1 -1
- package/dist/2026-04/services/members.cjs +3 -3
- package/dist/2026-04/services/members.cjs.map +1 -1
- package/dist/2026-04/services/members.d.cts +3 -3
- package/dist/2026-04/services/members.d.mts +3 -3
- package/dist/2026-04/services/members.mjs +3 -3
- package/dist/2026-04/services/members.mjs.map +1 -1
- package/dist/2026-04/services/meters.cjs +3 -3
- package/dist/2026-04/services/meters.cjs.map +1 -1
- package/dist/2026-04/services/meters.d.cts +3 -3
- package/dist/2026-04/services/meters.d.mts +3 -3
- package/dist/2026-04/services/meters.mjs +3 -3
- package/dist/2026-04/services/meters.mjs.map +1 -1
- package/dist/2026-04/services/orders.cjs +3 -3
- package/dist/2026-04/services/orders.cjs.map +1 -1
- package/dist/2026-04/services/orders.d.cts +3 -3
- package/dist/2026-04/services/orders.d.mts +3 -3
- package/dist/2026-04/services/orders.mjs +3 -3
- package/dist/2026-04/services/orders.mjs.map +1 -1
- package/dist/2026-04/services/organizations.cjs +3 -3
- package/dist/2026-04/services/organizations.cjs.map +1 -1
- package/dist/2026-04/services/organizations.d.cts +3 -3
- package/dist/2026-04/services/organizations.d.mts +3 -3
- package/dist/2026-04/services/organizations.mjs +3 -3
- package/dist/2026-04/services/organizations.mjs.map +1 -1
- package/dist/2026-04/services/payments.cjs +3 -3
- package/dist/2026-04/services/payments.cjs.map +1 -1
- package/dist/2026-04/services/payments.d.cts +3 -3
- package/dist/2026-04/services/payments.d.mts +3 -3
- package/dist/2026-04/services/payments.mjs +3 -3
- package/dist/2026-04/services/payments.mjs.map +1 -1
- package/dist/2026-04/services/products.cjs +3 -3
- package/dist/2026-04/services/products.cjs.map +1 -1
- package/dist/2026-04/services/products.d.cts +3 -3
- package/dist/2026-04/services/products.d.mts +3 -3
- package/dist/2026-04/services/products.mjs +3 -3
- package/dist/2026-04/services/products.mjs.map +1 -1
- package/dist/2026-04/services/refunds.cjs +3 -3
- package/dist/2026-04/services/refunds.cjs.map +1 -1
- package/dist/2026-04/services/refunds.d.cts +3 -3
- package/dist/2026-04/services/refunds.d.mts +3 -3
- package/dist/2026-04/services/refunds.mjs +3 -3
- package/dist/2026-04/services/refunds.mjs.map +1 -1
- package/dist/2026-04/services/subscriptions.cjs +3 -3
- package/dist/2026-04/services/subscriptions.cjs.map +1 -1
- package/dist/2026-04/services/subscriptions.d.cts +3 -3
- package/dist/2026-04/services/subscriptions.d.mts +3 -3
- package/dist/2026-04/services/subscriptions.mjs +3 -3
- package/dist/2026-04/services/subscriptions.mjs.map +1 -1
- package/dist/2026-04/services/webhooks.cjs +6 -6
- package/dist/2026-04/services/webhooks.cjs.map +1 -1
- package/dist/2026-04/services/webhooks.d.cts +5 -5
- package/dist/2026-04/services/webhooks.d.mts +5 -5
- package/dist/2026-04/services/webhooks.mjs +5 -5
- package/dist/2026-04/services/webhooks.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ const listProducts = (client) => {
|
|
|
46
46
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
47
47
|
* @throws {HTTPValidationError} Validation Error
|
|
48
48
|
*/
|
|
49
|
-
const
|
|
49
|
+
const iterListProducts = (client) => {
|
|
50
50
|
return async function* (query) {
|
|
51
51
|
let page;
|
|
52
52
|
page = query?.page ?? 1;
|
|
@@ -168,14 +168,14 @@ function createProductsService(client) {
|
|
|
168
168
|
get: getProducts(client),
|
|
169
169
|
update: updateProducts(client),
|
|
170
170
|
updateBenefits: updateBenefitsProducts(client),
|
|
171
|
-
|
|
171
|
+
iterList: iterListProducts(client)
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
//#endregion
|
|
175
175
|
exports.createProducts = createProducts;
|
|
176
176
|
exports.createProductsService = createProductsService;
|
|
177
177
|
exports.getProducts = getProducts;
|
|
178
|
-
exports.
|
|
178
|
+
exports.iterListProducts = iterListProducts;
|
|
179
179
|
exports.listProducts = listProducts;
|
|
180
180
|
exports.updateBenefitsProducts = updateBenefitsProducts;
|
|
181
181
|
exports.updateProducts = updateProducts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.cjs","names":["HTTPValidationError","ResourceNotFound","NotPermitted"],"sources":["../../../src/2026-04/services/products.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n ListResourceProduct,\n MetadataQuery,\n Product,\n ProductBenefitsUpdate,\n ProductCreate,\n ProductSortProperty,\n ProductUpdate,\n ProductVisibility,\n} from \"../models\";\n\nimport { HTTPValidationError, NotPermitted, ResourceNotFound } from \"../errors\";\n\nexport const listProducts = (client: ClientBase) => {\n /**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceProduct}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceProduct> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n query: query?.query,\n is_archived: query?.is_archived,\n is_recurring: query?.is_recurring,\n benefit_id: query?.benefit_id,\n visibility: query?.visibility,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\"GET\", \"/v1/products/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceProduct>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Product>} A generator that yields items of type Product.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterlistProducts = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Product> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listProducts(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createProducts = (client: ClientBase) => {\n /**\n * Create a product.\n *\n * **Scopes**: `products:write`\n *\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: ProductCreate): Promise<Product> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/products/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getProducts = (client: ClientBase) => {\n /**\n * Get a product by ID.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param id\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateProducts = (client: ClientBase) => {\n /**\n * Update a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateBenefitsProducts = (client: ClientBase) => {\n /**\n * Update benefits granted by a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductBenefitsUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/products/{id}/benefits\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createProductsService(client: ClientBase) {\n return {\n list: listProducts(client),\n create: createProducts(client),\n get: getProducts(client),\n update: updateProducts(client),\n updateBenefits: updateBenefitsProducts(client),\n iterlist: iterlistProducts(client),\n };\n}\n\nexport type Products = ReturnType<typeof createProductsService>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"products.cjs","names":["HTTPValidationError","ResourceNotFound","NotPermitted"],"sources":["../../../src/2026-04/services/products.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n ListResourceProduct,\n MetadataQuery,\n Product,\n ProductBenefitsUpdate,\n ProductCreate,\n ProductSortProperty,\n ProductUpdate,\n ProductVisibility,\n} from \"../models\";\n\nimport { HTTPValidationError, NotPermitted, ResourceNotFound } from \"../errors\";\n\nexport const listProducts = (client: ClientBase) => {\n /**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceProduct}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceProduct> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n query: query?.query,\n is_archived: query?.is_archived,\n is_recurring: query?.is_recurring,\n benefit_id: query?.benefit_id,\n visibility: query?.visibility,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\"GET\", \"/v1/products/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceProduct>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Product>} A generator that yields items of type Product.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListProducts = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Product> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listProducts(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createProducts = (client: ClientBase) => {\n /**\n * Create a product.\n *\n * **Scopes**: `products:write`\n *\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: ProductCreate): Promise<Product> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/products/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getProducts = (client: ClientBase) => {\n /**\n * Get a product by ID.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param id\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateProducts = (client: ClientBase) => {\n /**\n * Update a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateBenefitsProducts = (client: ClientBase) => {\n /**\n * Update benefits granted by a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductBenefitsUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/products/{id}/benefits\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createProductsService(client: ClientBase) {\n return {\n list: listProducts(client),\n create: createProducts(client),\n get: getProducts(client),\n update: updateProducts(client),\n updateBenefits: updateBenefitsProducts(client),\n iterList: iterListProducts(client),\n };\n}\n\nexport type Products = ReturnType<typeof createProductsService>;\n"],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ declare const listProducts: (client: ClientBase) => (query?: {
|
|
|
26
26
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
27
27
|
* @throws {HTTPValidationError} Validation Error
|
|
28
28
|
*/
|
|
29
|
-
declare const
|
|
29
|
+
declare const iterListProducts: (client: ClientBase) => (query?: {
|
|
30
30
|
id?: string | string[] | null;
|
|
31
31
|
organization_id?: string | string[] | null;
|
|
32
32
|
query?: string | null;
|
|
@@ -61,7 +61,7 @@ declare function createProductsService(client: ClientBase): {
|
|
|
61
61
|
get: (id: string) => Promise<Product>;
|
|
62
62
|
update: (id: string, body: ProductUpdate) => Promise<Product>;
|
|
63
63
|
updateBenefits: (id: string, body: ProductBenefitsUpdate) => Promise<Product>;
|
|
64
|
-
|
|
64
|
+
iterList: (query?: {
|
|
65
65
|
id?: string | string[] | null;
|
|
66
66
|
organization_id?: string | string[] | null;
|
|
67
67
|
query?: string | null;
|
|
@@ -77,5 +77,5 @@ declare function createProductsService(client: ClientBase): {
|
|
|
77
77
|
};
|
|
78
78
|
type Products = ReturnType<typeof createProductsService>;
|
|
79
79
|
//#endregion
|
|
80
|
-
export { Products, createProducts, createProductsService, getProducts,
|
|
80
|
+
export { Products, createProducts, createProductsService, getProducts, iterListProducts, listProducts, updateBenefitsProducts, updateProducts };
|
|
81
81
|
//# sourceMappingURL=products.d.cts.map
|
|
@@ -26,7 +26,7 @@ declare const listProducts: (client: ClientBase) => (query?: {
|
|
|
26
26
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
27
27
|
* @throws {HTTPValidationError} Validation Error
|
|
28
28
|
*/
|
|
29
|
-
declare const
|
|
29
|
+
declare const iterListProducts: (client: ClientBase) => (query?: {
|
|
30
30
|
id?: string | string[] | null;
|
|
31
31
|
organization_id?: string | string[] | null;
|
|
32
32
|
query?: string | null;
|
|
@@ -61,7 +61,7 @@ declare function createProductsService(client: ClientBase): {
|
|
|
61
61
|
get: (id: string) => Promise<Product>;
|
|
62
62
|
update: (id: string, body: ProductUpdate) => Promise<Product>;
|
|
63
63
|
updateBenefits: (id: string, body: ProductBenefitsUpdate) => Promise<Product>;
|
|
64
|
-
|
|
64
|
+
iterList: (query?: {
|
|
65
65
|
id?: string | string[] | null;
|
|
66
66
|
organization_id?: string | string[] | null;
|
|
67
67
|
query?: string | null;
|
|
@@ -77,5 +77,5 @@ declare function createProductsService(client: ClientBase): {
|
|
|
77
77
|
};
|
|
78
78
|
type Products = ReturnType<typeof createProductsService>;
|
|
79
79
|
//#endregion
|
|
80
|
-
export { Products, createProducts, createProductsService, getProducts,
|
|
80
|
+
export { Products, createProducts, createProductsService, getProducts, iterListProducts, listProducts, updateBenefitsProducts, updateProducts };
|
|
81
81
|
//# sourceMappingURL=products.d.mts.map
|
|
@@ -45,7 +45,7 @@ const listProducts = (client) => {
|
|
|
45
45
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
46
46
|
* @throws {HTTPValidationError} Validation Error
|
|
47
47
|
*/
|
|
48
|
-
const
|
|
48
|
+
const iterListProducts = (client) => {
|
|
49
49
|
return async function* (query) {
|
|
50
50
|
let page;
|
|
51
51
|
page = query?.page ?? 1;
|
|
@@ -167,10 +167,10 @@ function createProductsService(client) {
|
|
|
167
167
|
get: getProducts(client),
|
|
168
168
|
update: updateProducts(client),
|
|
169
169
|
updateBenefits: updateBenefitsProducts(client),
|
|
170
|
-
|
|
170
|
+
iterList: iterListProducts(client)
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
173
|
//#endregion
|
|
174
|
-
export { createProducts, createProductsService, getProducts,
|
|
174
|
+
export { createProducts, createProductsService, getProducts, iterListProducts, listProducts, updateBenefitsProducts, updateProducts };
|
|
175
175
|
|
|
176
176
|
//# sourceMappingURL=products.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.mjs","names":[],"sources":["../../../src/2026-04/services/products.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n ListResourceProduct,\n MetadataQuery,\n Product,\n ProductBenefitsUpdate,\n ProductCreate,\n ProductSortProperty,\n ProductUpdate,\n ProductVisibility,\n} from \"../models\";\n\nimport { HTTPValidationError, NotPermitted, ResourceNotFound } from \"../errors\";\n\nexport const listProducts = (client: ClientBase) => {\n /**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceProduct}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceProduct> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n query: query?.query,\n is_archived: query?.is_archived,\n is_recurring: query?.is_recurring,\n benefit_id: query?.benefit_id,\n visibility: query?.visibility,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\"GET\", \"/v1/products/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceProduct>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Product>} A generator that yields items of type Product.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterlistProducts = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Product> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listProducts(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createProducts = (client: ClientBase) => {\n /**\n * Create a product.\n *\n * **Scopes**: `products:write`\n *\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: ProductCreate): Promise<Product> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/products/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getProducts = (client: ClientBase) => {\n /**\n * Get a product by ID.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param id\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateProducts = (client: ClientBase) => {\n /**\n * Update a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateBenefitsProducts = (client: ClientBase) => {\n /**\n * Update benefits granted by a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductBenefitsUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/products/{id}/benefits\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createProductsService(client: ClientBase) {\n return {\n list: listProducts(client),\n create: createProducts(client),\n get: getProducts(client),\n update: updateProducts(client),\n updateBenefits: updateBenefitsProducts(client),\n iterlist: iterlistProducts(client),\n };\n}\n\nexport type Products = ReturnType<typeof createProductsService>;\n"],"mappings":";;AAcA,MAAa,gBAAgB,WAAuB;;;;;;;;;;;;;CAalD,OAAO,OAAO,UAYsB;EAClC,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc;GAClB,IAAI,OAAO;GACX,iBAAiB,OAAO;GACxB,OAAO,OAAO;GACd,aAAa,OAAO;GACpB,cAAc,OAAO;GACrB,YAAY,OAAO;GACnB,YAAY,OAAO;GACnB,MAAM,OAAO,QAAQ;GACrB,OAAO,OAAO,SAAS;GACvB,SAAS,OAAO,WAAW,CAAC,aAAa;GACzC,UAAU,OAAO;EACnB;EACA,MAAM,UAAU,OAAO,aAAa,OAAO,iBAAiB,YAAY,aAAa,KAAA,CAAS;EAC9F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAmC,UAAU,QAAQ,EACjE,KAAK,oBACP,CAAC;CACH;AACF;;;;;;;;;;;;;AAaA,MAAa,oBAAoB,WAAuB;CACtD,OAAO,iBAAiB,OAYI;EAC1B,IAAI;EACJ,OAAO,OAAO,QAAQ;EACtB,IAAI;EACJ,QAAQ,OAAO;EAEf,OAAO,MAAM;GACX,MAAM,WAAW,MAAM,aAAa,MAAM,CAAC,CAAC;IAAE,GAAG;IAAO;IAAM;GAAM,CAAC;GACrE,KAAK,MAAM,QAAQ,SAAS,OAC1B,MAAM;GAER,IAAI,QAAQ,SAAS,WAAW,UAC9B;GAEF;EACF;CACF;AACF;AACA,MAAa,kBAAkB,WAAuB;;;;;;;;;;;;;CAapD,OAAO,OAAO,SAA0C;EAGtD,MAAM,UAAU,OAAO,aAAa,QAAQ,iBAAiB,CAAS,GAAG,CAAU,GAAG,IAAI;EAC1F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ,EACrD,KAAK,oBACP,CAAC;CACH;AACF;AACA,MAAa,eAAe,WAAuB;;;;;;;;;;;;;;CAcjD,OAAO,OAAO,OAAiC;EAC7C,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,OACA,qBACA,YACA,CAAU,GACV,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AACA,MAAa,kBAAkB,WAAuB;;;;;;;;;;;;;;;;CAgBpD,OAAO,OAAO,IAAY,SAA0C;EAClE,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,SACA,qBACA,YACA,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AACA,MAAa,0BAA0B,WAAuB;;;;;;;;;;;;;;;;CAgB5D,OAAO,OAAO,IAAY,SAAkD;EAC1E,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,QACA,8BACA,YACA,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AAEA,SAAgB,sBAAsB,QAAoB;CACxD,OAAO;EACL,MAAM,aAAa,MAAM;EACzB,QAAQ,eAAe,MAAM;EAC7B,KAAK,YAAY,MAAM;EACvB,QAAQ,eAAe,MAAM;EAC7B,gBAAgB,uBAAuB,MAAM;EAC7C,UAAU,iBAAiB,MAAM;CACnC;AACF"}
|
|
1
|
+
{"version":3,"file":"products.mjs","names":[],"sources":["../../../src/2026-04/services/products.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n ListResourceProduct,\n MetadataQuery,\n Product,\n ProductBenefitsUpdate,\n ProductCreate,\n ProductSortProperty,\n ProductUpdate,\n ProductVisibility,\n} from \"../models\";\n\nimport { HTTPValidationError, NotPermitted, ResourceNotFound } from \"../errors\";\n\nexport const listProducts = (client: ClientBase) => {\n /**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceProduct}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceProduct> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n query: query?.query,\n is_archived: query?.is_archived,\n is_recurring: query?.is_recurring,\n benefit_id: query?.benefit_id,\n visibility: query?.visibility,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\"GET\", \"/v1/products/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceProduct>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List products.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Product>} A generator that yields items of type Product.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListProducts = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n query?: string | null;\n is_archived?: boolean | null;\n is_recurring?: boolean | null;\n benefit_id?: string | string[] | null;\n visibility?: ProductVisibility[] | null;\n page?: number;\n limit?: number;\n sorting?: ProductSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Product> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listProducts(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createProducts = (client: ClientBase) => {\n /**\n * Create a product.\n *\n * **Scopes**: `products:write`\n *\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: ProductCreate): Promise<Product> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/products/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getProducts = (client: ClientBase) => {\n /**\n * Get a product by ID.\n *\n * **Scopes**: `products:read` `products:write`\n *\n * @param id\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateProducts = (client: ClientBase) => {\n /**\n * Update a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/products/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateBenefitsProducts = (client: ClientBase) => {\n /**\n * Update benefits granted by a product.\n *\n * **Scopes**: `products:write`\n *\n * @param id\n * @param body - Request body\n * @returns {Product}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {NotPermitted} You don't have the permission to update this product.\n * @throws {ResourceNotFound} Product not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: ProductBenefitsUpdate): Promise<Product> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/products/{id}/benefits\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Product>(response, \"json\", {\n 403: NotPermitted,\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createProductsService(client: ClientBase) {\n return {\n list: listProducts(client),\n create: createProducts(client),\n get: getProducts(client),\n update: updateProducts(client),\n updateBenefits: updateBenefitsProducts(client),\n iterList: iterListProducts(client),\n };\n}\n\nexport type Products = ReturnType<typeof createProductsService>;\n"],"mappings":";;AAcA,MAAa,gBAAgB,WAAuB;;;;;;;;;;;;;CAalD,OAAO,OAAO,UAYsB;EAClC,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc;GAClB,IAAI,OAAO;GACX,iBAAiB,OAAO;GACxB,OAAO,OAAO;GACd,aAAa,OAAO;GACpB,cAAc,OAAO;GACrB,YAAY,OAAO;GACnB,YAAY,OAAO;GACnB,MAAM,OAAO,QAAQ;GACrB,OAAO,OAAO,SAAS;GACvB,SAAS,OAAO,WAAW,CAAC,aAAa;GACzC,UAAU,OAAO;EACnB;EACA,MAAM,UAAU,OAAO,aAAa,OAAO,iBAAiB,YAAY,aAAa,KAAA,CAAS;EAC9F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAmC,UAAU,QAAQ,EACjE,KAAK,oBACP,CAAC;CACH;AACF;;;;;;;;;;;;;AAaA,MAAa,oBAAoB,WAAuB;CACtD,OAAO,iBAAiB,OAYI;EAC1B,IAAI;EACJ,OAAO,OAAO,QAAQ;EACtB,IAAI;EACJ,QAAQ,OAAO;EAEf,OAAO,MAAM;GACX,MAAM,WAAW,MAAM,aAAa,MAAM,CAAC,CAAC;IAAE,GAAG;IAAO;IAAM;GAAM,CAAC;GACrE,KAAK,MAAM,QAAQ,SAAS,OAC1B,MAAM;GAER,IAAI,QAAQ,SAAS,WAAW,UAC9B;GAEF;EACF;CACF;AACF;AACA,MAAa,kBAAkB,WAAuB;;;;;;;;;;;;;CAapD,OAAO,OAAO,SAA0C;EAGtD,MAAM,UAAU,OAAO,aAAa,QAAQ,iBAAiB,CAAS,GAAG,CAAU,GAAG,IAAI;EAC1F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ,EACrD,KAAK,oBACP,CAAC;CACH;AACF;AACA,MAAa,eAAe,WAAuB;;;;;;;;;;;;;;CAcjD,OAAO,OAAO,OAAiC;EAC7C,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,OACA,qBACA,YACA,CAAU,GACV,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AACA,MAAa,kBAAkB,WAAuB;;;;;;;;;;;;;;;;CAgBpD,OAAO,OAAO,IAAY,SAA0C;EAClE,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,SACA,qBACA,YACA,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AACA,MAAa,0BAA0B,WAAuB;;;;;;;;;;;;;;;;CAgB5D,OAAO,OAAO,IAAY,SAAkD;EAC1E,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,QACA,8BACA,YACA,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAuB,UAAU,QAAQ;GACrD,KAAK;GACL,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AAEA,SAAgB,sBAAsB,QAAoB;CACxD,OAAO;EACL,MAAM,aAAa,MAAM;EACzB,QAAQ,eAAe,MAAM;EAC7B,KAAK,YAAY,MAAM;EACvB,QAAQ,eAAe,MAAM;EAC7B,gBAAgB,uBAAuB,MAAM;EAC7C,UAAU,iBAAiB,MAAM;CACnC;AACF"}
|
|
@@ -45,7 +45,7 @@ const listRefunds = (client) => {
|
|
|
45
45
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
46
46
|
* @throws {HTTPValidationError} Validation Error
|
|
47
47
|
*/
|
|
48
|
-
const
|
|
48
|
+
const iterListRefunds = (client) => {
|
|
49
49
|
return async function* (query) {
|
|
50
50
|
let page;
|
|
51
51
|
page = query?.page ?? 1;
|
|
@@ -90,13 +90,13 @@ function createRefundsService(client) {
|
|
|
90
90
|
return {
|
|
91
91
|
list: listRefunds(client),
|
|
92
92
|
create: createRefunds(client),
|
|
93
|
-
|
|
93
|
+
iterList: iterListRefunds(client)
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
//#endregion
|
|
97
97
|
exports.createRefunds = createRefunds;
|
|
98
98
|
exports.createRefundsService = createRefundsService;
|
|
99
|
-
exports.
|
|
99
|
+
exports.iterListRefunds = iterListRefunds;
|
|
100
100
|
exports.listRefunds = listRefunds;
|
|
101
101
|
|
|
102
102
|
//# sourceMappingURL=refunds.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refunds.cjs","names":["HTTPValidationError","RefundedAlready"],"sources":["../../../src/2026-04/services/refunds.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type { ListResourceRefund, Refund, RefundCreate, RefundSortProperty } from \"../models\";\n\nimport { HTTPValidationError, RefundedAlready } from \"../errors\";\n\nexport const listRefunds = (client: ClientBase) => {\n /**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceRefund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): Promise<ListResourceRefund> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n order_id: query?.order_id,\n subscription_id: query?.subscription_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n succeeded: query?.succeeded,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n };\n const request = client.buildRequest(\"GET\", \"/v1/refunds/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceRefund>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Refund>} A generator that yields items of type Refund.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const
|
|
1
|
+
{"version":3,"file":"refunds.cjs","names":["HTTPValidationError","RefundedAlready"],"sources":["../../../src/2026-04/services/refunds.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type { ListResourceRefund, Refund, RefundCreate, RefundSortProperty } from \"../models\";\n\nimport { HTTPValidationError, RefundedAlready } from \"../errors\";\n\nexport const listRefunds = (client: ClientBase) => {\n /**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceRefund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): Promise<ListResourceRefund> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n order_id: query?.order_id,\n subscription_id: query?.subscription_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n succeeded: query?.succeeded,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n };\n const request = client.buildRequest(\"GET\", \"/v1/refunds/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceRefund>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Refund>} A generator that yields items of type Refund.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListRefunds = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): AsyncGenerator<Refund> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listRefunds(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createRefunds = (client: ClientBase) => {\n /**\n * Create a refund.\n *\n * **Scopes**: `refunds:write`\n *\n * @param body - Request body\n * @returns {Refund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {RefundedAlready} Order is already fully refunded.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: RefundCreate): Promise<Refund> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/refunds/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Refund>(response, \"json\", {\n 403: RefundedAlready,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createRefundsService(client: ClientBase) {\n return {\n list: listRefunds(client),\n create: createRefunds(client),\n iterList: iterListRefunds(client),\n };\n}\n\nexport type Refunds = ReturnType<typeof createRefundsService>;\n"],"mappings":";;;AAKA,MAAa,eAAe,WAAuB;;;;;;;;;;;;;CAajD,OAAO,OAAO,UAWqB;EACjC,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc;GAClB,IAAI,OAAO;GACX,iBAAiB,OAAO;GACxB,UAAU,OAAO;GACjB,iBAAiB,OAAO;GACxB,aAAa,OAAO;GACpB,sBAAsB,OAAO;GAC7B,WAAW,OAAO;GAClB,MAAM,OAAO,QAAQ;GACrB,OAAO,OAAO,SAAS;GACvB,SAAS,OAAO,WAAW,CAAC,aAAa;EAC3C;EACA,MAAM,UAAU,OAAO,aAAa,OAAO,gBAAgB,YAAY,aAAa,KAAA,CAAS;EAC7F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAkC,UAAU,QAAQ,EAChE,KAAKA,eAAAA,oBACP,CAAC;CACH;AACF;;;;;;;;;;;;;AAaA,MAAa,mBAAmB,WAAuB;CACrD,OAAO,iBAAiB,OAWG;EACzB,IAAI;EACJ,OAAO,OAAO,QAAQ;EACtB,IAAI;EACJ,QAAQ,OAAO;EAEf,OAAO,MAAM;GACX,MAAM,WAAW,MAAM,YAAY,MAAM,CAAC,CAAC;IAAE,GAAG;IAAO;IAAM;GAAM,CAAC;GACpE,KAAK,MAAM,QAAQ,SAAS,OAC1B,MAAM;GAER,IAAI,QAAQ,SAAS,WAAW,UAC9B;GAEF;EACF;CACF;AACF;AACA,MAAa,iBAAiB,WAAuB;;;;;;;;;;;;;;CAcnD,OAAO,OAAO,SAAwC;EAGpD,MAAM,UAAU,OAAO,aAAa,QAAQ,gBAAgB,CAAS,GAAG,CAAU,GAAG,IAAI;EACzF,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAsB,UAAU,QAAQ;GACpD,KAAKC,eAAAA;GACL,KAAKD,eAAAA;EACP,CAAC;CACH;AACF;AAEA,SAAgB,qBAAqB,QAAoB;CACvD,OAAO;EACL,MAAM,YAAY,MAAM;EACxB,QAAQ,cAAc,MAAM;EAC5B,UAAU,gBAAgB,MAAM;CAClC;AACF"}
|
|
@@ -25,7 +25,7 @@ declare const listRefunds: (client: ClientBase) => (query?: {
|
|
|
25
25
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
26
26
|
* @throws {HTTPValidationError} Validation Error
|
|
27
27
|
*/
|
|
28
|
-
declare const
|
|
28
|
+
declare const iterListRefunds: (client: ClientBase) => (query?: {
|
|
29
29
|
id?: string | string[] | null;
|
|
30
30
|
organization_id?: string | string[] | null;
|
|
31
31
|
order_id?: string | string[] | null;
|
|
@@ -52,7 +52,7 @@ declare function createRefundsService(client: ClientBase): {
|
|
|
52
52
|
sorting?: RefundSortProperty[] | null;
|
|
53
53
|
}) => Promise<ListResourceRefund>;
|
|
54
54
|
create: (body: RefundCreate) => Promise<Refund>;
|
|
55
|
-
|
|
55
|
+
iterList: (query?: {
|
|
56
56
|
id?: string | string[] | null;
|
|
57
57
|
organization_id?: string | string[] | null;
|
|
58
58
|
order_id?: string | string[] | null;
|
|
@@ -67,5 +67,5 @@ declare function createRefundsService(client: ClientBase): {
|
|
|
67
67
|
};
|
|
68
68
|
type Refunds = ReturnType<typeof createRefundsService>;
|
|
69
69
|
//#endregion
|
|
70
|
-
export { Refunds, createRefunds, createRefundsService,
|
|
70
|
+
export { Refunds, createRefunds, createRefundsService, iterListRefunds, listRefunds };
|
|
71
71
|
//# sourceMappingURL=refunds.d.cts.map
|
|
@@ -25,7 +25,7 @@ declare const listRefunds: (client: ClientBase) => (query?: {
|
|
|
25
25
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
26
26
|
* @throws {HTTPValidationError} Validation Error
|
|
27
27
|
*/
|
|
28
|
-
declare const
|
|
28
|
+
declare const iterListRefunds: (client: ClientBase) => (query?: {
|
|
29
29
|
id?: string | string[] | null;
|
|
30
30
|
organization_id?: string | string[] | null;
|
|
31
31
|
order_id?: string | string[] | null;
|
|
@@ -52,7 +52,7 @@ declare function createRefundsService(client: ClientBase): {
|
|
|
52
52
|
sorting?: RefundSortProperty[] | null;
|
|
53
53
|
}) => Promise<ListResourceRefund>;
|
|
54
54
|
create: (body: RefundCreate) => Promise<Refund>;
|
|
55
|
-
|
|
55
|
+
iterList: (query?: {
|
|
56
56
|
id?: string | string[] | null;
|
|
57
57
|
organization_id?: string | string[] | null;
|
|
58
58
|
order_id?: string | string[] | null;
|
|
@@ -67,5 +67,5 @@ declare function createRefundsService(client: ClientBase): {
|
|
|
67
67
|
};
|
|
68
68
|
type Refunds = ReturnType<typeof createRefundsService>;
|
|
69
69
|
//#endregion
|
|
70
|
-
export { Refunds, createRefunds, createRefundsService,
|
|
70
|
+
export { Refunds, createRefunds, createRefundsService, iterListRefunds, listRefunds };
|
|
71
71
|
//# sourceMappingURL=refunds.d.mts.map
|
|
@@ -44,7 +44,7 @@ const listRefunds = (client) => {
|
|
|
44
44
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
45
45
|
* @throws {HTTPValidationError} Validation Error
|
|
46
46
|
*/
|
|
47
|
-
const
|
|
47
|
+
const iterListRefunds = (client) => {
|
|
48
48
|
return async function* (query) {
|
|
49
49
|
let page;
|
|
50
50
|
page = query?.page ?? 1;
|
|
@@ -89,10 +89,10 @@ function createRefundsService(client) {
|
|
|
89
89
|
return {
|
|
90
90
|
list: listRefunds(client),
|
|
91
91
|
create: createRefunds(client),
|
|
92
|
-
|
|
92
|
+
iterList: iterListRefunds(client)
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
//#endregion
|
|
96
|
-
export { createRefunds, createRefundsService,
|
|
96
|
+
export { createRefunds, createRefundsService, iterListRefunds, listRefunds };
|
|
97
97
|
|
|
98
98
|
//# sourceMappingURL=refunds.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refunds.mjs","names":[],"sources":["../../../src/2026-04/services/refunds.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type { ListResourceRefund, Refund, RefundCreate, RefundSortProperty } from \"../models\";\n\nimport { HTTPValidationError, RefundedAlready } from \"../errors\";\n\nexport const listRefunds = (client: ClientBase) => {\n /**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceRefund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): Promise<ListResourceRefund> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n order_id: query?.order_id,\n subscription_id: query?.subscription_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n succeeded: query?.succeeded,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n };\n const request = client.buildRequest(\"GET\", \"/v1/refunds/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceRefund>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Refund>} A generator that yields items of type Refund.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const
|
|
1
|
+
{"version":3,"file":"refunds.mjs","names":[],"sources":["../../../src/2026-04/services/refunds.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type { ListResourceRefund, Refund, RefundCreate, RefundSortProperty } from \"../models\";\n\nimport { HTTPValidationError, RefundedAlready } from \"../errors\";\n\nexport const listRefunds = (client: ClientBase) => {\n /**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceRefund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): Promise<ListResourceRefund> => {\n const pathParams = {};\n const queryParams = {\n id: query?.id,\n organization_id: query?.organization_id,\n order_id: query?.order_id,\n subscription_id: query?.subscription_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n succeeded: query?.succeeded,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-created_at\"],\n };\n const request = client.buildRequest(\"GET\", \"/v1/refunds/\", pathParams, queryParams, undefined);\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceRefund>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List refunds.\n *\n * **Scopes**: `refunds:read` `refunds:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Refund>} A generator that yields items of type Refund.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListRefunds = (client: ClientBase) => {\n return async function* (query?: {\n id?: string | string[] | null;\n organization_id?: string | string[] | null;\n order_id?: string | string[] | null;\n subscription_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n succeeded?: boolean | null;\n page?: number;\n limit?: number;\n sorting?: RefundSortProperty[] | null;\n }): AsyncGenerator<Refund> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listRefunds(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createRefunds = (client: ClientBase) => {\n /**\n * Create a refund.\n *\n * **Scopes**: `refunds:write`\n *\n * @param body - Request body\n * @returns {Refund}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {RefundedAlready} Order is already fully refunded.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (body: RefundCreate): Promise<Refund> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\"POST\", \"/v1/refunds/\", pathParams, queryParams, body);\n const response = await client.sendRequest(request);\n return client.parseResponse<Refund>(response, \"json\", {\n 403: RefundedAlready,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createRefundsService(client: ClientBase) {\n return {\n list: listRefunds(client),\n create: createRefunds(client),\n iterList: iterListRefunds(client),\n };\n}\n\nexport type Refunds = ReturnType<typeof createRefundsService>;\n"],"mappings":";;AAKA,MAAa,eAAe,WAAuB;;;;;;;;;;;;;CAajD,OAAO,OAAO,UAWqB;EACjC,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc;GAClB,IAAI,OAAO;GACX,iBAAiB,OAAO;GACxB,UAAU,OAAO;GACjB,iBAAiB,OAAO;GACxB,aAAa,OAAO;GACpB,sBAAsB,OAAO;GAC7B,WAAW,OAAO;GAClB,MAAM,OAAO,QAAQ;GACrB,OAAO,OAAO,SAAS;GACvB,SAAS,OAAO,WAAW,CAAC,aAAa;EAC3C;EACA,MAAM,UAAU,OAAO,aAAa,OAAO,gBAAgB,YAAY,aAAa,KAAA,CAAS;EAC7F,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAkC,UAAU,QAAQ,EAChE,KAAK,oBACP,CAAC;CACH;AACF;;;;;;;;;;;;;AAaA,MAAa,mBAAmB,WAAuB;CACrD,OAAO,iBAAiB,OAWG;EACzB,IAAI;EACJ,OAAO,OAAO,QAAQ;EACtB,IAAI;EACJ,QAAQ,OAAO;EAEf,OAAO,MAAM;GACX,MAAM,WAAW,MAAM,YAAY,MAAM,CAAC,CAAC;IAAE,GAAG;IAAO;IAAM;GAAM,CAAC;GACpE,KAAK,MAAM,QAAQ,SAAS,OAC1B,MAAM;GAER,IAAI,QAAQ,SAAS,WAAW,UAC9B;GAEF;EACF;CACF;AACF;AACA,MAAa,iBAAiB,WAAuB;;;;;;;;;;;;;;CAcnD,OAAO,OAAO,SAAwC;EAGpD,MAAM,UAAU,OAAO,aAAa,QAAQ,gBAAgB,CAAS,GAAG,CAAU,GAAG,IAAI;EACzF,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAsB,UAAU,QAAQ;GACpD,KAAK;GACL,KAAK;EACP,CAAC;CACH;AACF;AAEA,SAAgB,qBAAqB,QAAoB;CACvD,OAAO;EACL,MAAM,YAAY,MAAM;EACxB,QAAQ,cAAc,MAAM;EAC5B,UAAU,gBAAgB,MAAM;CAClC;AACF"}
|
|
@@ -50,7 +50,7 @@ const listSubscriptions = (client) => {
|
|
|
50
50
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
51
51
|
* @throws {HTTPValidationError} Validation Error
|
|
52
52
|
*/
|
|
53
|
-
const
|
|
53
|
+
const iterListSubscriptions = (client) => {
|
|
54
54
|
return async function* (query) {
|
|
55
55
|
let page;
|
|
56
56
|
page = query?.page ?? 1;
|
|
@@ -204,7 +204,7 @@ function createSubscriptionsService(client) {
|
|
|
204
204
|
get: getSubscriptions(client),
|
|
205
205
|
revoke: revokeSubscriptions(client),
|
|
206
206
|
update: updateSubscriptions(client),
|
|
207
|
-
|
|
207
|
+
iterList: iterListSubscriptions(client)
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
210
|
//#endregion
|
|
@@ -212,7 +212,7 @@ exports.createSubscriptions = createSubscriptions;
|
|
|
212
212
|
exports.createSubscriptionsService = createSubscriptionsService;
|
|
213
213
|
exports.exportSubscriptions = exportSubscriptions;
|
|
214
214
|
exports.getSubscriptions = getSubscriptions;
|
|
215
|
-
exports.
|
|
215
|
+
exports.iterListSubscriptions = iterListSubscriptions;
|
|
216
216
|
exports.listSubscriptions = listSubscriptions;
|
|
217
217
|
exports.revokeSubscriptions = revokeSubscriptions;
|
|
218
218
|
exports.updateSubscriptions = updateSubscriptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.cjs","names":["HTTPValidationError","ResourceNotFound","AlreadyCanceledSubscription","SubscriptionLocked","PaymentFailed"],"sources":["../../../src/2026-04/services/subscriptions.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n CustomerCancellationReason,\n ListResourceSubscription,\n MetadataQuery,\n Subscription,\n SubscriptionCreateCustomer,\n SubscriptionCreateExternalCustomer,\n SubscriptionSortProperty,\n SubscriptionStatus,\n SubscriptionUpdate,\n} from \"../models\";\n\nimport {\n AlreadyCanceledSubscription,\n HTTPValidationError,\n PaymentFailed,\n ResourceNotFound,\n SubscriptionLocked,\n} from \"../errors\";\n\nexport const listSubscriptions = (client: ClientBase) => {\n /**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceSubscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceSubscription> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n product_id: query?.product_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n discount_id: query?.discount_id,\n active: query?.active,\n status: query?.status,\n cancel_at_period_end: query?.cancel_at_period_end,\n customer_cancellation_reason: query?.customer_cancellation_reason,\n canceled_at_after: query?.canceled_at_after,\n canceled_at_before: query?.canceled_at_before,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-started_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceSubscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Subscription>} A generator that yields items of type Subscription.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterlistSubscriptions = (client: ClientBase) => {\n return async function* (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Subscription> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listSubscriptions(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createSubscriptions = (client: ClientBase) => {\n /**\n * Create a subscription programmatically.\n *\n * This endpoint only allows to create subscription on free products.\n * For paid products, use the checkout flow.\n *\n * No initial order will be created and no confirmation email will be sent.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (\n body: SubscriptionCreateCustomer | SubscriptionCreateExternalCustomer,\n ): Promise<Subscription> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const exportSubscriptions = (client: ClientBase) => {\n /**\n * Export subscriptions as a CSV file.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {string}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: { organization_id?: string | string[] | null }): Promise<string> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/export\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<string>(response, \"text\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getSubscriptions = (client: ClientBase) => {\n /**\n * Get a subscription by ID.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const revokeSubscriptions = (client: ClientBase) => {\n /**\n * Revoke a subscription, i.e cancel immediately.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {AlreadyCanceledSubscription} This subscription is already revoked.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"DELETE\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateSubscriptions = (client: ClientBase) => {\n /**\n * Update a subscription.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {PaymentFailed} Payment required to apply the subscription update.\n * @throws {AlreadyCanceledSubscription} Subscription is already canceled or will be at the end of the period.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: SubscriptionUpdate): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 402: PaymentFailed,\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createSubscriptionsService(client: ClientBase) {\n return {\n list: listSubscriptions(client),\n create: createSubscriptions(client),\n export: exportSubscriptions(client),\n get: getSubscriptions(client),\n revoke: revokeSubscriptions(client),\n update: updateSubscriptions(client),\n iterlist: iterlistSubscriptions(client),\n };\n}\n\nexport type Subscriptions = ReturnType<typeof createSubscriptionsService>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscriptions.cjs","names":["HTTPValidationError","ResourceNotFound","AlreadyCanceledSubscription","SubscriptionLocked","PaymentFailed"],"sources":["../../../src/2026-04/services/subscriptions.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n CustomerCancellationReason,\n ListResourceSubscription,\n MetadataQuery,\n Subscription,\n SubscriptionCreateCustomer,\n SubscriptionCreateExternalCustomer,\n SubscriptionSortProperty,\n SubscriptionStatus,\n SubscriptionUpdate,\n} from \"../models\";\n\nimport {\n AlreadyCanceledSubscription,\n HTTPValidationError,\n PaymentFailed,\n ResourceNotFound,\n SubscriptionLocked,\n} from \"../errors\";\n\nexport const listSubscriptions = (client: ClientBase) => {\n /**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceSubscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceSubscription> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n product_id: query?.product_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n discount_id: query?.discount_id,\n active: query?.active,\n status: query?.status,\n cancel_at_period_end: query?.cancel_at_period_end,\n customer_cancellation_reason: query?.customer_cancellation_reason,\n canceled_at_after: query?.canceled_at_after,\n canceled_at_before: query?.canceled_at_before,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-started_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceSubscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Subscription>} A generator that yields items of type Subscription.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListSubscriptions = (client: ClientBase) => {\n return async function* (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Subscription> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listSubscriptions(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createSubscriptions = (client: ClientBase) => {\n /**\n * Create a subscription programmatically.\n *\n * This endpoint only allows to create subscription on free products.\n * For paid products, use the checkout flow.\n *\n * No initial order will be created and no confirmation email will be sent.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (\n body: SubscriptionCreateCustomer | SubscriptionCreateExternalCustomer,\n ): Promise<Subscription> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const exportSubscriptions = (client: ClientBase) => {\n /**\n * Export subscriptions as a CSV file.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {string}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: { organization_id?: string | string[] | null }): Promise<string> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/export\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<string>(response, \"text\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getSubscriptions = (client: ClientBase) => {\n /**\n * Get a subscription by ID.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const revokeSubscriptions = (client: ClientBase) => {\n /**\n * Revoke a subscription, i.e cancel immediately.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {AlreadyCanceledSubscription} This subscription is already revoked.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"DELETE\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateSubscriptions = (client: ClientBase) => {\n /**\n * Update a subscription.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {PaymentFailed} Payment required to apply the subscription update.\n * @throws {AlreadyCanceledSubscription} Subscription is already canceled or will be at the end of the period.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: SubscriptionUpdate): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 402: PaymentFailed,\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createSubscriptionsService(client: ClientBase) {\n return {\n list: listSubscriptions(client),\n create: createSubscriptions(client),\n export: exportSubscriptions(client),\n get: getSubscriptions(client),\n revoke: revokeSubscriptions(client),\n update: updateSubscriptions(client),\n iterList: iterListSubscriptions(client),\n };\n}\n\nexport type Subscriptions = ReturnType<typeof createSubscriptionsService>;\n"],"mappings":";;;AAqBA,MAAa,qBAAqB,WAAuB;;;;;;;;;;;;;CAavD,OAAO,OAAO,UAgB2B;EACvC,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc;GAClB,iBAAiB,OAAO;GACxB,YAAY,OAAO;GACnB,aAAa,OAAO;GACpB,sBAAsB,OAAO;GAC7B,aAAa,OAAO;GACpB,QAAQ,OAAO;GACf,QAAQ,OAAO;GACf,sBAAsB,OAAO;GAC7B,8BAA8B,OAAO;GACrC,mBAAmB,OAAO;GAC1B,oBAAoB,OAAO;GAC3B,MAAM,OAAO,QAAQ;GACrB,OAAO,OAAO,SAAS;GACvB,SAAS,OAAO,WAAW,CAAC,aAAa;GACzC,UAAU,OAAO;EACnB;EACA,MAAM,UAAU,OAAO,aACrB,OACA,sBACA,YACA,aACA,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAwC,UAAU,QAAQ,EACtE,KAAKA,eAAAA,oBACP,CAAC;CACH;AACF;;;;;;;;;;;;;AAaA,MAAa,yBAAyB,WAAuB;CAC3D,OAAO,iBAAiB,OAgBS;EAC/B,IAAI;EACJ,OAAO,OAAO,QAAQ;EACtB,IAAI;EACJ,QAAQ,OAAO;EAEf,OAAO,MAAM;GACX,MAAM,WAAW,MAAM,kBAAkB,MAAM,CAAC,CAAC;IAAE,GAAG;IAAO;IAAM;GAAM,CAAC;GAC1E,KAAK,MAAM,QAAQ,SAAS,OAC1B,MAAM;GAER,IAAI,QAAQ,SAAS,WAAW,UAC9B;GAEF;EACF;CACF;AACF;AACA,MAAa,uBAAuB,WAAuB;;;;;;;;;;;;;;;;;;CAkBzD,OAAO,OACL,SAC0B;EAG1B,MAAM,UAAU,OAAO,aACrB,QACA,sBACA,CAAS,GACT,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAA4B,UAAU,QAAQ,EAC1D,KAAKA,eAAAA,oBACP,CAAC;CACH;AACF;AACA,MAAa,uBAAuB,WAAuB;;;;;;;;;;;;;CAazD,OAAO,OAAO,UAA4E;EACxF,MAAM,aAAa,CAAC;EACpB,MAAM,cAAc,EAClB,iBAAiB,OAAO,gBAC1B;EACA,MAAM,UAAU,OAAO,aACrB,OACA,4BACA,YACA,aACA,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAAsB,UAAU,QAAQ,EACpD,KAAKA,eAAAA,oBACP,CAAC;CACH;AACF;AACA,MAAa,oBAAoB,WAAuB;;;;;;;;;;;;;;CActD,OAAO,OAAO,OAAsC;EAClD,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,OACA,0BACA,YACA,CAAU,GACV,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAA4B,UAAU,QAAQ;GAC1D,KAAKC,eAAAA;GACL,KAAKD,eAAAA;EACP,CAAC;CACH;AACF;AACA,MAAa,uBAAuB,WAAuB;;;;;;;;;;;;;;;;CAgBzD,OAAO,OAAO,OAAsC;EAClD,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,UACA,0BACA,YACA,CAAU,GACV,KAAA,CACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAA4B,UAAU,QAAQ;GAC1D,KAAKE,eAAAA;GACL,KAAKD,eAAAA;GACL,KAAKE,eAAAA;GACL,KAAKH,eAAAA;EACP,CAAC;CACH;AACF;AACA,MAAa,uBAAuB,WAAuB;;;;;;;;;;;;;;;;;;CAkBzD,OAAO,OAAO,IAAY,SAAoD;EAC5E,MAAM,aAAa,EACb,GACN;EAEA,MAAM,UAAU,OAAO,aACrB,SACA,0BACA,YACA,CAAU,GACV,IACF;EACA,MAAM,WAAW,MAAM,OAAO,YAAY,OAAO;EACjD,OAAO,OAAO,cAA4B,UAAU,QAAQ;GAC1D,KAAKI,eAAAA;GACL,KAAKF,eAAAA;GACL,KAAKD,eAAAA;GACL,KAAKE,eAAAA;GACL,KAAKH,eAAAA;EACP,CAAC;CACH;AACF;AAEA,SAAgB,2BAA2B,QAAoB;CAC7D,OAAO;EACL,MAAM,kBAAkB,MAAM;EAC9B,QAAQ,oBAAoB,MAAM;EAClC,QAAQ,oBAAoB,MAAM;EAClC,KAAK,iBAAiB,MAAM;EAC5B,QAAQ,oBAAoB,MAAM;EAClC,QAAQ,oBAAoB,MAAM;EAClC,UAAU,sBAAsB,MAAM;CACxC;AACF"}
|
|
@@ -30,7 +30,7 @@ declare const listSubscriptions: (client: ClientBase) => (query?: {
|
|
|
30
30
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
31
31
|
* @throws {HTTPValidationError} Validation Error
|
|
32
32
|
*/
|
|
33
|
-
declare const
|
|
33
|
+
declare const iterListSubscriptions: (client: ClientBase) => (query?: {
|
|
34
34
|
organization_id?: string | string[] | null;
|
|
35
35
|
product_id?: string | string[] | null;
|
|
36
36
|
customer_id?: string | string[] | null;
|
|
@@ -79,7 +79,7 @@ declare function createSubscriptionsService(client: ClientBase): {
|
|
|
79
79
|
get: (id: string) => Promise<Subscription>;
|
|
80
80
|
revoke: (id: string) => Promise<Subscription>;
|
|
81
81
|
update: (id: string, body: SubscriptionUpdate) => Promise<Subscription>;
|
|
82
|
-
|
|
82
|
+
iterList: (query?: {
|
|
83
83
|
organization_id?: string | string[] | null;
|
|
84
84
|
product_id?: string | string[] | null;
|
|
85
85
|
customer_id?: string | string[] | null;
|
|
@@ -99,5 +99,5 @@ declare function createSubscriptionsService(client: ClientBase): {
|
|
|
99
99
|
};
|
|
100
100
|
type Subscriptions = ReturnType<typeof createSubscriptionsService>;
|
|
101
101
|
//#endregion
|
|
102
|
-
export { Subscriptions, createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions,
|
|
102
|
+
export { Subscriptions, createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions, iterListSubscriptions, listSubscriptions, revokeSubscriptions, updateSubscriptions };
|
|
103
103
|
//# sourceMappingURL=subscriptions.d.cts.map
|
|
@@ -30,7 +30,7 @@ declare const listSubscriptions: (client: ClientBase) => (query?: {
|
|
|
30
30
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
31
31
|
* @throws {HTTPValidationError} Validation Error
|
|
32
32
|
*/
|
|
33
|
-
declare const
|
|
33
|
+
declare const iterListSubscriptions: (client: ClientBase) => (query?: {
|
|
34
34
|
organization_id?: string | string[] | null;
|
|
35
35
|
product_id?: string | string[] | null;
|
|
36
36
|
customer_id?: string | string[] | null;
|
|
@@ -79,7 +79,7 @@ declare function createSubscriptionsService(client: ClientBase): {
|
|
|
79
79
|
get: (id: string) => Promise<Subscription>;
|
|
80
80
|
revoke: (id: string) => Promise<Subscription>;
|
|
81
81
|
update: (id: string, body: SubscriptionUpdate) => Promise<Subscription>;
|
|
82
|
-
|
|
82
|
+
iterList: (query?: {
|
|
83
83
|
organization_id?: string | string[] | null;
|
|
84
84
|
product_id?: string | string[] | null;
|
|
85
85
|
customer_id?: string | string[] | null;
|
|
@@ -99,5 +99,5 @@ declare function createSubscriptionsService(client: ClientBase): {
|
|
|
99
99
|
};
|
|
100
100
|
type Subscriptions = ReturnType<typeof createSubscriptionsService>;
|
|
101
101
|
//#endregion
|
|
102
|
-
export { Subscriptions, createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions,
|
|
102
|
+
export { Subscriptions, createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions, iterListSubscriptions, listSubscriptions, revokeSubscriptions, updateSubscriptions };
|
|
103
103
|
//# sourceMappingURL=subscriptions.d.mts.map
|
|
@@ -49,7 +49,7 @@ const listSubscriptions = (client) => {
|
|
|
49
49
|
* @throws {PolarServerError} When the server returns a 5xx error
|
|
50
50
|
* @throws {HTTPValidationError} Validation Error
|
|
51
51
|
*/
|
|
52
|
-
const
|
|
52
|
+
const iterListSubscriptions = (client) => {
|
|
53
53
|
return async function* (query) {
|
|
54
54
|
let page;
|
|
55
55
|
page = query?.page ?? 1;
|
|
@@ -203,10 +203,10 @@ function createSubscriptionsService(client) {
|
|
|
203
203
|
get: getSubscriptions(client),
|
|
204
204
|
revoke: revokeSubscriptions(client),
|
|
205
205
|
update: updateSubscriptions(client),
|
|
206
|
-
|
|
206
|
+
iterList: iterListSubscriptions(client)
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
209
|
//#endregion
|
|
210
|
-
export { createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions,
|
|
210
|
+
export { createSubscriptions, createSubscriptionsService, exportSubscriptions, getSubscriptions, iterListSubscriptions, listSubscriptions, revokeSubscriptions, updateSubscriptions };
|
|
211
211
|
|
|
212
212
|
//# sourceMappingURL=subscriptions.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.mjs","names":[],"sources":["../../../src/2026-04/services/subscriptions.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n CustomerCancellationReason,\n ListResourceSubscription,\n MetadataQuery,\n Subscription,\n SubscriptionCreateCustomer,\n SubscriptionCreateExternalCustomer,\n SubscriptionSortProperty,\n SubscriptionStatus,\n SubscriptionUpdate,\n} from \"../models\";\n\nimport {\n AlreadyCanceledSubscription,\n HTTPValidationError,\n PaymentFailed,\n ResourceNotFound,\n SubscriptionLocked,\n} from \"../errors\";\n\nexport const listSubscriptions = (client: ClientBase) => {\n /**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceSubscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceSubscription> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n product_id: query?.product_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n discount_id: query?.discount_id,\n active: query?.active,\n status: query?.status,\n cancel_at_period_end: query?.cancel_at_period_end,\n customer_cancellation_reason: query?.customer_cancellation_reason,\n canceled_at_after: query?.canceled_at_after,\n canceled_at_before: query?.canceled_at_before,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-started_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceSubscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Subscription>} A generator that yields items of type Subscription.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterlistSubscriptions = (client: ClientBase) => {\n return async function* (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Subscription> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listSubscriptions(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createSubscriptions = (client: ClientBase) => {\n /**\n * Create a subscription programmatically.\n *\n * This endpoint only allows to create subscription on free products.\n * For paid products, use the checkout flow.\n *\n * No initial order will be created and no confirmation email will be sent.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (\n body: SubscriptionCreateCustomer | SubscriptionCreateExternalCustomer,\n ): Promise<Subscription> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const exportSubscriptions = (client: ClientBase) => {\n /**\n * Export subscriptions as a CSV file.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {string}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: { organization_id?: string | string[] | null }): Promise<string> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/export\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<string>(response, \"text\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getSubscriptions = (client: ClientBase) => {\n /**\n * Get a subscription by ID.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const revokeSubscriptions = (client: ClientBase) => {\n /**\n * Revoke a subscription, i.e cancel immediately.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {AlreadyCanceledSubscription} This subscription is already revoked.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"DELETE\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateSubscriptions = (client: ClientBase) => {\n /**\n * Update a subscription.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {PaymentFailed} Payment required to apply the subscription update.\n * @throws {AlreadyCanceledSubscription} Subscription is already canceled or will be at the end of the period.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: SubscriptionUpdate): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 402: PaymentFailed,\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createSubscriptionsService(client: ClientBase) {\n return {\n list: listSubscriptions(client),\n create: createSubscriptions(client),\n export: exportSubscriptions(client),\n get: getSubscriptions(client),\n revoke: revokeSubscriptions(client),\n update: updateSubscriptions(client),\n iterlist: iterlistSubscriptions(client),\n };\n}\n\nexport type Subscriptions = ReturnType<typeof createSubscriptionsService>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscriptions.mjs","names":[],"sources":["../../../src/2026-04/services/subscriptions.ts"],"sourcesContent":["import type { ClientBase } from \"../../base\";\nimport type {\n CustomerCancellationReason,\n ListResourceSubscription,\n MetadataQuery,\n Subscription,\n SubscriptionCreateCustomer,\n SubscriptionCreateExternalCustomer,\n SubscriptionSortProperty,\n SubscriptionStatus,\n SubscriptionUpdate,\n} from \"../models\";\n\nimport {\n AlreadyCanceledSubscription,\n HTTPValidationError,\n PaymentFailed,\n ResourceNotFound,\n SubscriptionLocked,\n} from \"../errors\";\n\nexport const listSubscriptions = (client: ClientBase) => {\n /**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {ListResourceSubscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): Promise<ListResourceSubscription> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n product_id: query?.product_id,\n customer_id: query?.customer_id,\n external_customer_id: query?.external_customer_id,\n discount_id: query?.discount_id,\n active: query?.active,\n status: query?.status,\n cancel_at_period_end: query?.cancel_at_period_end,\n customer_cancellation_reason: query?.customer_cancellation_reason,\n canceled_at_after: query?.canceled_at_after,\n canceled_at_before: query?.canceled_at_before,\n page: query?.page ?? 1,\n limit: query?.limit ?? 10,\n sorting: query?.sorting ?? [\"-started_at\"],\n metadata: query?.metadata,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<ListResourceSubscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\n/**\n * List subscriptions.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {AsyncGenerator<Subscription>} A generator that yields items of type Subscription.\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\nexport const iterListSubscriptions = (client: ClientBase) => {\n return async function* (query?: {\n organization_id?: string | string[] | null;\n product_id?: string | string[] | null;\n customer_id?: string | string[] | null;\n external_customer_id?: string | string[] | null;\n discount_id?: string | string[] | null;\n active?: boolean | null;\n status?: SubscriptionStatus | SubscriptionStatus[] | null;\n cancel_at_period_end?: boolean | null;\n customer_cancellation_reason?: CustomerCancellationReason | CustomerCancellationReason[] | null;\n canceled_at_after?: string | null;\n canceled_at_before?: string | null;\n page?: number;\n limit?: number;\n sorting?: SubscriptionSortProperty[] | null;\n metadata?: MetadataQuery;\n }): AsyncGenerator<Subscription> {\n let page: number;\n page = query?.page ?? 1;\n let limit: number | undefined;\n limit = query?.limit;\n\n while (true) {\n const response = await listSubscriptions(client)({ ...query, page, limit });\n for (const item of response.items) {\n yield item;\n }\n if (page >= response.pagination.max_page) {\n break;\n }\n page++;\n }\n };\n};\nexport const createSubscriptions = (client: ClientBase) => {\n /**\n * Create a subscription programmatically.\n *\n * This endpoint only allows to create subscription on free products.\n * For paid products, use the checkout flow.\n *\n * No initial order will be created and no confirmation email will be sent.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (\n body: SubscriptionCreateCustomer | SubscriptionCreateExternalCustomer,\n ): Promise<Subscription> => {\n const pathParams = {};\n const queryParams = {};\n const request = client.buildRequest(\n \"POST\",\n \"/v1/subscriptions/\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const exportSubscriptions = (client: ClientBase) => {\n /**\n * Export subscriptions as a CSV file.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param query - Query parameters\n * @returns {string}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {HTTPValidationError} Validation Error\n */\n return async (query?: { organization_id?: string | string[] | null }): Promise<string> => {\n const pathParams = {};\n const queryParams = {\n organization_id: query?.organization_id,\n };\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/export\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<string>(response, \"text\", {\n 422: HTTPValidationError,\n });\n };\n};\nexport const getSubscriptions = (client: ClientBase) => {\n /**\n * Get a subscription by ID.\n *\n * **Scopes**: `subscriptions:read` `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"GET\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 404: ResourceNotFound,\n 422: HTTPValidationError,\n });\n };\n};\nexport const revokeSubscriptions = (client: ClientBase) => {\n /**\n * Revoke a subscription, i.e cancel immediately.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {AlreadyCanceledSubscription} This subscription is already revoked.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"DELETE\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n undefined,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\nexport const updateSubscriptions = (client: ClientBase) => {\n /**\n * Update a subscription.\n *\n * **Scopes**: `subscriptions:write`\n *\n * @param id - The subscription ID.\n * @param body - Request body\n * @returns {Subscription}\n * @throws {PolarNetworkError} When a network error occurs\n * @throws {PolarRateLimitError} When the rate limit is exceeded\n * @throws {PolarServerError} When the server returns a 5xx error\n * @throws {PaymentFailed} Payment required to apply the subscription update.\n * @throws {AlreadyCanceledSubscription} Subscription is already canceled or will be at the end of the period.\n * @throws {ResourceNotFound} Subscription not found.\n * @throws {SubscriptionLocked} Subscription is pending an update.\n * @throws {HTTPValidationError} Validation Error\n */\n return async (id: string, body: SubscriptionUpdate): Promise<Subscription> => {\n const pathParams = {\n id: id,\n };\n const queryParams = {};\n const request = client.buildRequest(\n \"PATCH\",\n \"/v1/subscriptions/{id}\",\n pathParams,\n queryParams,\n body,\n );\n const response = await client.sendRequest(request);\n return client.parseResponse<Subscription>(response, \"json\", {\n 402: PaymentFailed,\n 403: AlreadyCanceledSubscription,\n 404: ResourceNotFound,\n 409: SubscriptionLocked,\n 422: HTTPValidationError,\n });\n };\n};\n\nexport function createSubscriptionsService(client: ClientBase) {\n return {\n list: listSubscriptions(client),\n create: createSubscriptions(client),\n export: exportSubscriptions(client),\n get: getSubscriptions(client),\n revoke: revokeSubscriptions(client),\n update: updateSubscriptions(client),\n iterList: iterListSubscriptions(client),\n };\n}\n\nexport type Subscriptions = ReturnType<typeof createSubscriptionsService>;\n"],"mappings":"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"}
|