diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 36709841..56295a2b 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: e7042734-e669-4c36-85da-bbb4a7500ac8 management: - docChecksum: da4cdf87c50025e494b6a104c9d2868e + docChecksum: c0af35ee2da0a9e1ba20eafe8d7d91e3 docVersion: 0.1.0 speakeasyVersion: 1.648.0 generationVersion: 2.737.0 - releaseVersion: 0.31.3 - configChecksum: d2a48f7ae77cbd19d1f3440fd2d87a06 + releaseVersion: 0.31.4 + configChecksum: ec856ac07327b342be114bcf4015df7f repoURL: https://github.com/polarsource/polar-python.git installationURL: https://github.com/polarsource/polar-python.git published: true @@ -4585,7 +4585,11 @@ examples: application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes Detected:\n* `polar._endpointcheckout_created_post()`: \n * `request.data.products.[].prices.[].[product_price].[seat_based].meter` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_updated_post()`: \n * `request.data.products.[].prices.[].[product_price].[seat_based].meter` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_expired_post()`: \n * `request.data.products.[].prices.[].[product_price].[seat_based].meter` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_active_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_created_post()`: \n * `request.data.prices.[].[product_price].[seat_based].meter` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_updated_post()`: \n * `request.data.prices.[].[product_price].[seat_based].meter` **Changed** **Breaking** :warning:\n* `polar._endpointorganization_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar.metrics.export()`: **Added**\n* `polar.members.get_member_by_external_id()`: **Added**\n* `polar.members.update_member_by_external_id()`: **Added**\n* `polar.members.delete_member_by_external_id()`: **Added**\n* `polar.organizations.list()`: `response.items.[]` **Changed**\n* `polar.organizations.create()`: `response` **Changed**\n* `polar.organizations.get()`: `response` **Changed**\n* `polar.organizations.update()`: `response` **Changed**\n* `polar.subscriptions.list()`: `response.items.[]` **Changed**\n* `polar.subscriptions.create()`: `response` **Changed**\n* `polar.subscriptions.get()`: `response` **Changed**\n* `polar.subscriptions.revoke()`: `response` **Changed**\n* `polar.subscriptions.update()`: `response` **Changed**\n* `polar.products.list()`: `response.items.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.products.create()`: `response.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.products.get()`: `response.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.products.update()`: `response.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.products.update_benefits()`: `response.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.orders.list()`: `request.subscription_id` **Added**\n* `polar.checkouts.list()`: `response.items.[].products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.create()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.get()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.update()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.client_get()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.client_update()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkouts.client_confirm()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkout-links.list()`: `response.items.[].products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkout-links.create()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkout-links.get()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.checkout-links.update()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.items.[].product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.orders.list()`: `response.items.[].product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.orders.get()`: `response.product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.orders.update()`: `response.product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.orders.confirm_retry_payment()`: `error.status[429]` **Added**\n* `polar.customer_portal.organizations.get()`: `response.products.[].prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.subscriptions.list()`: `response.items.[].product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.subscriptions.get()`: `response.product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.subscriptions.cancel()`: `response.product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.customer_portal.subscriptions.update()`: `response.product.prices.[].[product_price].[seat_based].meter` **Changed**\n* `polar.meters.list()`: `response.items.[]` **Changed**\n* `polar.meters.create()`: \n * `request` **Changed**\n * `response` **Changed**\n* `polar.meters.get()`: `response` **Changed**\n* `polar.meters.update()`: \n * `request.meter_update` **Changed**\n * `response` **Changed**\n* `polar.customer_meters.list()`: `response.items.[].meter` **Changed**\n* `polar.customer_meters.get()`: `response.meter` **Changed**\n" +releaseNotes: | + ## Python SDK Changes Detected: + * `polar.members.get_member_by_external_id()`: `request` **Changed** + * `polar.members.delete_member_by_external_id()`: `request` **Changed** + * `polar.members.update_member_by_external_id()`: `request` **Changed** trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:e2a191a1fa8ceb27387eb32eabf36f7ad16a532c @@ -5990,11 +5994,11 @@ trackedFiles: docs/models/memberrole.md: last_write_checksum: sha1:06170100a3109672deaf18d3715a2bf1ee7673fe docs/models/membersdeletememberbyexternalidrequest.md: - last_write_checksum: sha1:657190358fba009dae481dc1eb0507f70550d921 + last_write_checksum: sha1:b5cc9fb3a3d13c5ae931f228c9217fb8833c5487 docs/models/membersdeletememberrequest.md: last_write_checksum: sha1:46b13e5cd11cc99b094561f5ac763b77e4b79072 docs/models/membersgetmemberbyexternalidrequest.md: - last_write_checksum: sha1:d41a113b2c4f81435bae87db1225800dcec40637 + last_write_checksum: sha1:7888f9d86eb8b6e96bbc47d5138f737c10e21ebc docs/models/membersgetmemberrequest.md: last_write_checksum: sha1:dec2743653b66b14d36c7cf27b2642466043ef02 docs/models/memberslistmembersrequest.md: @@ -6004,7 +6008,7 @@ trackedFiles: docs/models/membersortproperty.md: last_write_checksum: sha1:39a69c23343bf61a98136128ad048bbe5bcd0a40 docs/models/membersupdatememberbyexternalidrequest.md: - last_write_checksum: sha1:62a970eeb2c24aa4f30acabff6b7c8bddd08cbc9 + last_write_checksum: sha1:bfd17abcfc60046731fd33cb271dc66df4374748 docs/models/membersupdatememberrequest.md: last_write_checksum: sha1:cce637d553b5a8e5771d409bae5001138a8ae426 docs/models/memberupdate.md: @@ -6950,7 +6954,7 @@ trackedFiles: docs/sdks/licensekeys/README.md: last_write_checksum: sha1:df9ec3e5784b8655379d3f0cceb52ea60dd72243 docs/sdks/members/README.md: - last_write_checksum: sha1:f800e86dd5786491edc5c7ae4bb2ec92ad315625 + last_write_checksum: sha1:efb819c9e01bfcf32311eebc75c2483a4fdeef5a docs/sdks/meters/README.md: last_write_checksum: sha1:780e81712d38d5a5bfbb6f72832b23a8bbed9bd9 docs/sdks/metricssdk/README.md: @@ -7014,7 +7018,7 @@ trackedFiles: src/polar_sdk/_hooks/types.py: last_write_checksum: sha1:a218c66f3e2d1f1b9af54f270472b970b0cc1913 src/polar_sdk/_version.py: - last_write_checksum: sha1:34447deefb19eeaae307da04e2be1cc22a95d8c4 + last_write_checksum: sha1:82a7f64245f03e2288d163730a398bab2ac9a202 src/polar_sdk/basesdk.py: last_write_checksum: sha1:a913b5a583f9f34a14f2872dc6f8c453e4aca1f5 src/polar_sdk/benefit_grants.py: @@ -7058,7 +7062,7 @@ trackedFiles: src/polar_sdk/license_keys.py: last_write_checksum: sha1:01c7801ac11df3d5be4395be672029a2badad56c src/polar_sdk/members.py: - last_write_checksum: sha1:088e6086eea8e7c6dc76589f1a22a4dad0da4558 + last_write_checksum: sha1:2f9129c22a3000e4d55e7dce41fe2df7594ff98f src/polar_sdk/meters.py: last_write_checksum: sha1:30e1968d86ff6c37245c60790531af517fd1338b src/polar_sdk/metrics_sdk.py: @@ -7986,17 +7990,17 @@ trackedFiles: src/polar_sdk/models/memberrole.py: last_write_checksum: sha1:065f7730427b55768fd76b2f12dba48129a6b4d2 src/polar_sdk/models/members_delete_member_by_external_idop.py: - last_write_checksum: sha1:601467f32c1d55ffa5cc18c8a26b9c318f42aed9 + last_write_checksum: sha1:187f948b68b30379b01d73ed38bf1adf2e7bd11d src/polar_sdk/models/members_delete_memberop.py: last_write_checksum: sha1:c4e4960b5c344133404816a71a210c646f464345 src/polar_sdk/models/members_get_member_by_external_idop.py: - last_write_checksum: sha1:869443ca99d40941f1e97e1e6675b6ec3304aa2e + last_write_checksum: sha1:68e95d64c8c83b028b51024f12362753764d654c src/polar_sdk/models/members_get_memberop.py: last_write_checksum: sha1:7a1b33eef42ad23eaf2b5f524e4baf616c0f44ae src/polar_sdk/models/members_list_membersop.py: last_write_checksum: sha1:1f7e158072976dd865365fff56f5316824bf9223 src/polar_sdk/models/members_update_member_by_external_idop.py: - last_write_checksum: sha1:e85d40da4a0bac3bf06fb948a2d91123da417f1c + last_write_checksum: sha1:48de97fd91f8b2075dc03c53dbabd98d644e1ad5 src/polar_sdk/models/members_update_memberop.py: last_write_checksum: sha1:7ebe88b82aedebef4167705d14f5e8a51873d0d5 src/polar_sdk/models/membersortproperty.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 92e00b9d..c374ce6a 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.31.3 + version: 0.31.4 additionalDependencies: dev: pydantic-ai-slim: ^0.1.0 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index e0197ba8..6390cb4c 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.648.0 sources: Polar-OAS: sourceNamespace: polar-oas - sourceRevisionDigest: sha256:c88bf8b61c5f3402aaaeeaddd5a6af29008ebf87c4ba877dbea9d2d92789aeb8 - sourceBlobDigest: sha256:41cfb03d9b8af58f7956111f7303b50c1e98878164fe4b90a63775af9a19ad7f + sourceRevisionDigest: sha256:58b77aa6ebfe1d65d70f998048ce5ca6a88a2284af655edf73dbd7ec58ed1265 + sourceBlobDigest: sha256:20db4fd846768356ca800831fa3b28e6bf63379037d1fe472c0f3e237f64cf79 tags: - latest - - speakeasy-sdk-regen-1775811956 + - speakeasy-sdk-regen-1775867002 - 0.1.0 targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:c88bf8b61c5f3402aaaeeaddd5a6af29008ebf87c4ba877dbea9d2d92789aeb8 - sourceBlobDigest: sha256:41cfb03d9b8af58f7956111f7303b50c1e98878164fe4b90a63775af9a19ad7f + sourceRevisionDigest: sha256:58b77aa6ebfe1d65d70f998048ce5ca6a88a2284af655edf73dbd7ec58ed1265 + sourceBlobDigest: sha256:20db4fd846768356ca800831fa3b28e6bf63379037d1fe472c0f3e237f64cf79 codeSamplesNamespace: polar-oas-py-code-samples - codeSamplesRevisionDigest: sha256:892853abaf8b28ad0852c8514c70882b9321b0a7420773896fff01991d1e4eaa + codeSamplesRevisionDigest: sha256:2cc720bed56f4e733f031e0a238ca11b029deab6a17e6143d22536fe8f14b000 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 41a6a387..2d70c04c 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1103,4 +1103,14 @@ Based on: ### Generated - [python v0.31.3] . ### Releases -- [PyPI v0.31.3] https://pypi.org/project/polar-sdk/0.31.3 - . \ No newline at end of file +- [PyPI v0.31.3] https://pypi.org/project/polar-sdk/0.31.3 - . + +## 2026-04-13 00:26:35 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.648.0 (2.737.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.31.4] . +### Releases +- [PyPI v0.31.4] https://pypi.org/project/polar-sdk/0.31.4 - . \ No newline at end of file diff --git a/docs/models/membersdeletememberbyexternalidrequest.md b/docs/models/membersdeletememberbyexternalidrequest.md index 4bb261fe..6b546f3d 100644 --- a/docs/models/membersdeletememberbyexternalidrequest.md +++ b/docs/models/membersdeletememberbyexternalidrequest.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------- | ----------------------- | ----------------------- | ----------------------- | -| `external_id` | *str* | :heavy_check_mark: | The member external ID. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `external_id` | *str* | :heavy_check_mark: | The member external ID. | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | \ No newline at end of file diff --git a/docs/models/membersgetmemberbyexternalidrequest.md b/docs/models/membersgetmemberbyexternalidrequest.md index 0e95acd6..8ce70f4e 100644 --- a/docs/models/membersgetmemberbyexternalidrequest.md +++ b/docs/models/membersgetmemberbyexternalidrequest.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------- | ----------------------- | ----------------------- | ----------------------- | -| `external_id` | *str* | :heavy_check_mark: | The member external ID. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `external_id` | *str* | :heavy_check_mark: | The member external ID. | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | \ No newline at end of file diff --git a/docs/models/membersupdatememberbyexternalidrequest.md b/docs/models/membersupdatememberbyexternalidrequest.md index 17b9a241..f71e434d 100644 --- a/docs/models/membersupdatememberbyexternalidrequest.md +++ b/docs/models/membersupdatememberbyexternalidrequest.md @@ -6,4 +6,6 @@ | Field | Type | Required | Description | | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | | `external_id` | *str* | :heavy_check_mark: | The member external ID. | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | | `member_update` | [models.MemberUpdate](../models/memberupdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/sdks/members/README.md b/docs/sdks/members/README.md index 8972e44c..ec4d46a5 100644 --- a/docs/sdks/members/README.md +++ b/docs/sdks/members/README.md @@ -250,7 +250,7 @@ with Polar( ## get_member_by_external_id -Get a member by external ID. +Get a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:read` `members:write` @@ -277,6 +277,8 @@ with Polar( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `external_id` | *str* | :heavy_check_mark: | The member external ID. | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -293,7 +295,7 @@ with Polar( ## update_member_by_external_id -Update a member by external ID. +Update a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` @@ -323,6 +325,8 @@ with Polar( | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `external_id` | *str* | :heavy_check_mark: | The member external ID. | | `member_update` | [models.MemberUpdate](../../models/memberupdate.md) | :heavy_check_mark: | N/A | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -339,7 +343,7 @@ with Polar( ## delete_member_by_external_id -Delete a member by external ID. +Delete a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` @@ -365,6 +369,8 @@ with Polar( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `external_id` | *str* | :heavy_check_mark: | The member external ID. | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer external ID. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors diff --git a/pyproject.toml b/pyproject.toml index ae741218..8b56dbd0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "polar-sdk" -version = "0.31.3" +version = "0.31.4" description = "Polar SDK for Python" authors = [{ name = "Polar" },] readme = "README-PYPI.md" diff --git a/src/polar_sdk/_version.py b/src/polar_sdk/_version.py index 774f1df5..7789ad5f 100644 --- a/src/polar_sdk/_version.py +++ b/src/polar_sdk/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "polar-sdk" -__version__: str = "0.31.3" +__version__: str = "0.31.4" __openapi_doc_version__: str = "0.1.0" __gen_version__: str = "2.737.0" -__user_agent__: str = "speakeasy-sdk/python 0.31.3 2.737.0 0.1.0 polar-sdk" +__user_agent__: str = "speakeasy-sdk/python 0.31.4 2.737.0 0.1.0 polar-sdk" try: if __package__ is not None: diff --git a/src/polar_sdk/members.py b/src/polar_sdk/members.py index e2f10487..bdcd681d 100644 --- a/src/polar_sdk/members.py +++ b/src/polar_sdk/members.py @@ -1074,6 +1074,8 @@ def get_member_by_external_id( self, *, external_id: str, + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1081,11 +1083,13 @@ def get_member_by_external_id( ) -> models.Member: r"""Get Member by External ID - Get a member by external ID. + Get a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:read` `members:write` :param external_id: The member external ID. + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1103,6 +1107,8 @@ def get_member_by_external_id( request = models.MembersGetMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, ) req = self._build_request( @@ -1168,6 +1174,8 @@ async def get_member_by_external_id_async( self, *, external_id: str, + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1175,11 +1183,13 @@ async def get_member_by_external_id_async( ) -> models.Member: r"""Get Member by External ID - Get a member by external ID. + Get a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:read` `members:write` :param external_id: The member external ID. + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1197,6 +1207,8 @@ async def get_member_by_external_id_async( request = models.MembersGetMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, ) req = self._build_request_async( @@ -1263,6 +1275,8 @@ def update_member_by_external_id( *, external_id: str, member_update: Union[models.MemberUpdate, models.MemberUpdateTypedDict], + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1270,12 +1284,14 @@ def update_member_by_external_id( ) -> models.Member: r"""Update Member by External ID - Update a member by external ID. + Update a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` :param external_id: The member external ID. :param member_update: + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1293,6 +1309,8 @@ def update_member_by_external_id( request = models.MembersUpdateMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, member_update=utils.get_pydantic_model(member_update, models.MemberUpdate), ) @@ -1363,6 +1381,8 @@ async def update_member_by_external_id_async( *, external_id: str, member_update: Union[models.MemberUpdate, models.MemberUpdateTypedDict], + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1370,12 +1390,14 @@ async def update_member_by_external_id_async( ) -> models.Member: r"""Update Member by External ID - Update a member by external ID. + Update a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` :param external_id: The member external ID. :param member_update: + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1393,6 +1415,8 @@ async def update_member_by_external_id_async( request = models.MembersUpdateMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, member_update=utils.get_pydantic_model(member_update, models.MemberUpdate), ) @@ -1462,6 +1486,8 @@ def delete_member_by_external_id( self, *, external_id: str, + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1469,11 +1495,13 @@ def delete_member_by_external_id( ): r"""Delete Member by External ID - Delete a member by external ID. + Delete a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` :param external_id: The member external ID. + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1491,6 +1519,8 @@ def delete_member_by_external_id( request = models.MembersDeleteMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, ) req = self._build_request( @@ -1556,6 +1586,8 @@ async def delete_member_by_external_id_async( self, *, external_id: str, + customer_id: OptionalNullable[str] = UNSET, + external_customer_id: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1563,11 +1595,13 @@ async def delete_member_by_external_id_async( ): r"""Delete Member by External ID - Delete a member by external ID. + Delete a member by external ID. One of customer_id or external_customer_id must be specified. **Scopes**: `members:write` :param external_id: The member external ID. + :param customer_id: The customer ID. + :param external_customer_id: The customer external ID. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1585,6 +1619,8 @@ async def delete_member_by_external_id_async( request = models.MembersDeleteMemberByExternalIDRequest( external_id=external_id, + customer_id=customer_id, + external_customer_id=external_customer_id, ) req = self._build_request_async( diff --git a/src/polar_sdk/models/members_delete_member_by_external_idop.py b/src/polar_sdk/models/members_delete_member_by_external_idop.py index 55d81b24..1ef7b006 100644 --- a/src/polar_sdk/models/members_delete_member_by_external_idop.py +++ b/src/polar_sdk/models/members_delete_member_by_external_idop.py @@ -1,14 +1,19 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from polar_sdk.types import BaseModel -from polar_sdk.utils import FieldMetadata, PathParamMetadata -from typing_extensions import Annotated, TypedDict +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from polar_sdk.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata +from pydantic import model_serializer +from typing_extensions import Annotated, NotRequired, TypedDict class MembersDeleteMemberByExternalIDRequestTypedDict(TypedDict): external_id: str r"""The member external ID.""" + customer_id: NotRequired[Nullable[str]] + r"""The customer ID.""" + external_customer_id: NotRequired[Nullable[str]] + r"""The customer external ID.""" class MembersDeleteMemberByExternalIDRequest(BaseModel): @@ -16,3 +21,45 @@ class MembersDeleteMemberByExternalIDRequest(BaseModel): str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] r"""The member external ID.""" + + customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer ID.""" + + external_customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer external ID.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["customer_id", "external_customer_id"] + nullable_fields = ["customer_id", "external_customer_id"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/polar_sdk/models/members_get_member_by_external_idop.py b/src/polar_sdk/models/members_get_member_by_external_idop.py index 11ec97b5..64ea0964 100644 --- a/src/polar_sdk/models/members_get_member_by_external_idop.py +++ b/src/polar_sdk/models/members_get_member_by_external_idop.py @@ -1,14 +1,19 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from polar_sdk.types import BaseModel -from polar_sdk.utils import FieldMetadata, PathParamMetadata -from typing_extensions import Annotated, TypedDict +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from polar_sdk.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata +from pydantic import model_serializer +from typing_extensions import Annotated, NotRequired, TypedDict class MembersGetMemberByExternalIDRequestTypedDict(TypedDict): external_id: str r"""The member external ID.""" + customer_id: NotRequired[Nullable[str]] + r"""The customer ID.""" + external_customer_id: NotRequired[Nullable[str]] + r"""The customer external ID.""" class MembersGetMemberByExternalIDRequest(BaseModel): @@ -16,3 +21,45 @@ class MembersGetMemberByExternalIDRequest(BaseModel): str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] r"""The member external ID.""" + + customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer ID.""" + + external_customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer external ID.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["customer_id", "external_customer_id"] + nullable_fields = ["customer_id", "external_customer_id"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/polar_sdk/models/members_update_member_by_external_idop.py b/src/polar_sdk/models/members_update_member_by_external_idop.py index a9acdefc..f8993f73 100644 --- a/src/polar_sdk/models/members_update_member_by_external_idop.py +++ b/src/polar_sdk/models/members_update_member_by_external_idop.py @@ -2,15 +2,25 @@ from __future__ import annotations from .memberupdate import MemberUpdate, MemberUpdateTypedDict -from polar_sdk.types import BaseModel -from polar_sdk.utils import FieldMetadata, PathParamMetadata, RequestMetadata -from typing_extensions import Annotated, TypedDict +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from polar_sdk.utils import ( + FieldMetadata, + PathParamMetadata, + QueryParamMetadata, + RequestMetadata, +) +from pydantic import model_serializer +from typing_extensions import Annotated, NotRequired, TypedDict class MembersUpdateMemberByExternalIDRequestTypedDict(TypedDict): external_id: str r"""The member external ID.""" member_update: MemberUpdateTypedDict + customer_id: NotRequired[Nullable[str]] + r"""The customer ID.""" + external_customer_id: NotRequired[Nullable[str]] + r"""The customer external ID.""" class MembersUpdateMemberByExternalIDRequest(BaseModel): @@ -23,3 +33,45 @@ class MembersUpdateMemberByExternalIDRequest(BaseModel): MemberUpdate, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] + + customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer ID.""" + + external_customer_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""The customer external ID.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["customer_id", "external_customer_id"] + nullable_fields = ["customer_id", "external_customer_id"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m