dub 0.24.0__tar.gz → 0.24.1__tar.gz

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.
Files changed (140) hide show
  1. {dub-0.24.0 → dub-0.24.1}/PKG-INFO +6 -2
  2. {dub-0.24.0 → dub-0.24.1}/README-PYPI.md +5 -1
  3. {dub-0.24.0 → dub-0.24.1}/pyproject.toml +1 -1
  4. {dub-0.24.0 → dub-0.24.1}/src/dub/_version.py +3 -3
  5. dub-0.24.1/src/dub/commissions.py +600 -0
  6. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/__init__.py +44 -14
  7. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createpartner.py +3 -3
  8. dub-0.24.1/src/dub/models/operations/listcommissions.py +252 -0
  9. dub-0.24.1/src/dub/models/operations/updatecommission.py +150 -0
  10. {dub-0.24.0 → dub-0.24.1}/src/dub/partners.py +0 -310
  11. {dub-0.24.0 → dub-0.24.1}/src/dub/sdk.py +3 -0
  12. dub-0.24.0/src/dub/models/operations/updatepartnersale.py +0 -121
  13. {dub-0.24.0 → dub-0.24.1}/LICENSE +0 -0
  14. {dub-0.24.0 → dub-0.24.1}/py.typed +0 -0
  15. {dub-0.24.0 → dub-0.24.1}/src/dub/__init__.py +0 -0
  16. {dub-0.24.0 → dub-0.24.1}/src/dub/_hooks/__init__.py +0 -0
  17. {dub-0.24.0 → dub-0.24.1}/src/dub/_hooks/registration.py +0 -0
  18. {dub-0.24.0 → dub-0.24.1}/src/dub/_hooks/sdkhooks.py +0 -0
  19. {dub-0.24.0 → dub-0.24.1}/src/dub/_hooks/types.py +0 -0
  20. {dub-0.24.0 → dub-0.24.1}/src/dub/analytics.py +0 -0
  21. {dub-0.24.0 → dub-0.24.1}/src/dub/basesdk.py +0 -0
  22. {dub-0.24.0 → dub-0.24.1}/src/dub/customers.py +0 -0
  23. {dub-0.24.0 → dub-0.24.1}/src/dub/domains.py +0 -0
  24. {dub-0.24.0 → dub-0.24.1}/src/dub/embed_tokens.py +0 -0
  25. {dub-0.24.0 → dub-0.24.1}/src/dub/events.py +0 -0
  26. {dub-0.24.0 → dub-0.24.1}/src/dub/folders.py +0 -0
  27. {dub-0.24.0 → dub-0.24.1}/src/dub/httpclient.py +0 -0
  28. {dub-0.24.0 → dub-0.24.1}/src/dub/links.py +0 -0
  29. {dub-0.24.0 → dub-0.24.1}/src/dub/models/__init__.py +0 -0
  30. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/__init__.py +0 -0
  31. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsbrowsers.py +0 -0
  32. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticscities.py +0 -0
  33. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticscontinents.py +0 -0
  34. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticscount.py +0 -0
  35. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticscountries.py +0 -0
  36. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsdevices.py +0 -0
  37. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsos.py +0 -0
  38. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsreferers.py +0 -0
  39. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsrefererurls.py +0 -0
  40. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticsregions.py +0 -0
  41. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticstimeseries.py +0 -0
  42. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticstoplinks.py +0 -0
  43. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticstopurls.py +0 -0
  44. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/analyticstriggers.py +0 -0
  45. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/clickevent.py +0 -0
  46. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/continentcode.py +0 -0
  47. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/countrycode.py +0 -0
  48. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/domainschema.py +0 -0
  49. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/folderschema.py +0 -0
  50. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/leadcreatedevent.py +0 -0
  51. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/leadevent.py +0 -0
  52. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/linkclickedevent.py +0 -0
  53. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/linkerrorschema.py +0 -0
  54. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/linkgeotargeting.py +0 -0
  55. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/linkschema.py +0 -0
  56. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/linkwebhookevent.py +0 -0
  57. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/partneranalyticscount.py +0 -0
  58. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/partneranalyticstimeseries.py +0 -0
  59. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/partneranalyticstoplinks.py +0 -0
  60. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/partnerenrolledevent.py +0 -0
  61. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/salecreatedevent.py +0 -0
  62. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/saleevent.py +0 -0
  63. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/security.py +0 -0
  64. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/tagschema.py +0 -0
  65. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/webhookevent.py +0 -0
  66. {dub-0.24.0 → dub-0.24.1}/src/dub/models/components/workspaceschema.py +0 -0
  67. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/__init__.py +0 -0
  68. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/badrequest.py +0 -0
  69. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/conflict.py +0 -0
  70. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/forbidden.py +0 -0
  71. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/internalservererror.py +0 -0
  72. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/inviteexpired.py +0 -0
  73. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/notfound.py +0 -0
  74. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/ratelimitexceeded.py +0 -0
  75. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/sdkerror.py +0 -0
  76. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/unauthorized.py +0 -0
  77. {dub-0.24.0 → dub-0.24.1}/src/dub/models/errors/unprocessableentity.py +0 -0
  78. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/bulkcreatelinks.py +0 -0
  79. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/bulkdeletelinks.py +0 -0
  80. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/bulkupdatelinks.py +0 -0
  81. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createcustomer.py +0 -0
  82. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createdomain.py +0 -0
  83. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createfolder.py +0 -0
  84. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createlink.py +0 -0
  85. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createpartnerlink.py +0 -0
  86. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createreferralsembedtoken.py +0 -0
  87. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/createtag.py +0 -0
  88. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/deletecustomer.py +0 -0
  89. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/deletedomain.py +0 -0
  90. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/deletefolder.py +0 -0
  91. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/deletelink.py +0 -0
  92. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/deletetag.py +0 -0
  93. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getcustomer.py +0 -0
  94. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getcustomers.py +0 -0
  95. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getlinkinfo.py +0 -0
  96. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getlinks.py +0 -0
  97. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getlinkscount.py +0 -0
  98. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getqrcode.py +0 -0
  99. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/gettags.py +0 -0
  100. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/getworkspace.py +0 -0
  101. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/listdomains.py +0 -0
  102. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/listevents.py +0 -0
  103. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/listfolders.py +0 -0
  104. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/retrieveanalytics.py +0 -0
  105. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/retrievelinks.py +0 -0
  106. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/retrievepartneranalytics.py +0 -0
  107. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/tracklead.py +0 -0
  108. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/tracksale.py +0 -0
  109. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updatecustomer.py +0 -0
  110. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updatedomain.py +0 -0
  111. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updatefolder.py +0 -0
  112. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updatelink.py +0 -0
  113. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updatetag.py +0 -0
  114. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/updateworkspace.py +0 -0
  115. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/upsertlink.py +0 -0
  116. {dub-0.24.0 → dub-0.24.1}/src/dub/models/operations/upsertpartnerlink.py +0 -0
  117. {dub-0.24.0 → dub-0.24.1}/src/dub/py.typed +0 -0
  118. {dub-0.24.0 → dub-0.24.1}/src/dub/qr_codes.py +0 -0
  119. {dub-0.24.0 → dub-0.24.1}/src/dub/sdkconfiguration.py +0 -0
  120. {dub-0.24.0 → dub-0.24.1}/src/dub/tags.py +0 -0
  121. {dub-0.24.0 → dub-0.24.1}/src/dub/track.py +0 -0
  122. {dub-0.24.0 → dub-0.24.1}/src/dub/types/__init__.py +0 -0
  123. {dub-0.24.0 → dub-0.24.1}/src/dub/types/basemodel.py +0 -0
  124. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/__init__.py +0 -0
  125. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/annotations.py +0 -0
  126. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/datetimes.py +0 -0
  127. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/enums.py +0 -0
  128. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/eventstreaming.py +0 -0
  129. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/forms.py +0 -0
  130. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/headers.py +0 -0
  131. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/logger.py +0 -0
  132. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/metadata.py +0 -0
  133. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/queryparams.py +0 -0
  134. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/requestbodies.py +0 -0
  135. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/retries.py +0 -0
  136. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/security.py +0 -0
  137. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/serializers.py +0 -0
  138. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/url.py +0 -0
  139. {dub-0.24.0 → dub-0.24.1}/src/dub/utils/values.py +0 -0
  140. {dub-0.24.0 → dub-0.24.1}/src/dub/workspaces.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dub
3
- Version: 0.24.0
3
+ Version: 0.24.1
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -276,6 +276,11 @@ asyncio.run(main())
276
276
 
277
277
  * [retrieve](https://github.com/dubinc/dub-python/blob/master/docs/sdks/analytics/README.md#retrieve) - Retrieve analytics for a link, a domain, or the authenticated workspace.
278
278
 
279
+ ### [commissions](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md)
280
+
281
+ * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md#list) - Get commissions for a program.
282
+ * [update](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md#update) - Update a commission.
283
+
279
284
  ### [customers](https://github.com/dubinc/dub-python/blob/master/docs/sdks/customers/README.md)
280
285
 
281
286
  * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/customers/README.md#list) - Retrieve a list of customers
@@ -327,7 +332,6 @@ asyncio.run(main())
327
332
  * [retrieve_links](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#retrieve_links) - Retrieve a partner's links.
328
333
  * [upsert_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#upsert_link) - Upsert a link for a partner
329
334
  * [analytics](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#analytics) - Retrieve analytics for a partner
330
- * [update_sale](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#update_sale) - Update a sale for a partner.
331
335
 
332
336
  ### [qr_codes](https://github.com/dubinc/dub-python/blob/master/docs/sdks/qrcodes/README.md)
333
337
 
@@ -259,6 +259,11 @@ asyncio.run(main())
259
259
 
260
260
  * [retrieve](https://github.com/dubinc/dub-python/blob/master/docs/sdks/analytics/README.md#retrieve) - Retrieve analytics for a link, a domain, or the authenticated workspace.
261
261
 
262
+ ### [commissions](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md)
263
+
264
+ * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md#list) - Get commissions for a program.
265
+ * [update](https://github.com/dubinc/dub-python/blob/master/docs/sdks/commissions/README.md#update) - Update a commission.
266
+
262
267
  ### [customers](https://github.com/dubinc/dub-python/blob/master/docs/sdks/customers/README.md)
263
268
 
264
269
  * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/customers/README.md#list) - Retrieve a list of customers
@@ -310,7 +315,6 @@ asyncio.run(main())
310
315
  * [retrieve_links](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#retrieve_links) - Retrieve a partner's links.
311
316
  * [upsert_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#upsert_link) - Upsert a link for a partner
312
317
  * [analytics](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#analytics) - Retrieve analytics for a partner
313
- * [update_sale](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#update_sale) - Update a sale for a partner.
314
318
 
315
319
  ### [qr_codes](https://github.com/dubinc/dub-python/blob/master/docs/sdks/qrcodes/README.md)
316
320
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dub"
3
- version = "0.24.0"
3
+ version = "0.24.1"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = [{ name = "Speakeasy" },]
6
6
  readme = "README-PYPI.md"
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "dub"
6
- __version__: str = "0.24.0"
6
+ __version__: str = "0.24.1"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
- __gen_version__: str = "2.604.4"
9
- __user_agent__: str = "speakeasy-sdk/python 0.24.0 2.604.4 0.0.1 dub"
8
+ __gen_version__: str = "2.605.6"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.24.1 2.605.6 0.0.1 dub"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -0,0 +1,600 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from dub import utils
5
+ from dub._hooks import HookContext
6
+ from dub.models import errors, operations
7
+ from dub.types import BaseModel, OptionalNullable, UNSET
8
+ from typing import Any, List, Mapping, Optional, Union, cast
9
+
10
+
11
+ class Commissions(BaseSDK):
12
+ def list(
13
+ self,
14
+ *,
15
+ request: Union[
16
+ operations.ListCommissionsRequest,
17
+ operations.ListCommissionsRequestTypedDict,
18
+ ],
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> Optional[List[operations.ListCommissionsResponseBody]]:
24
+ r"""Get commissions for a program.
25
+
26
+ Retrieve a list of commissions for a program.
27
+
28
+ :param request: The request object to send.
29
+ :param retries: Override the default retry configuration for this method
30
+ :param server_url: Override the default server URL for this method
31
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
32
+ :param http_headers: Additional headers to set or replace on requests.
33
+ """
34
+ base_url = None
35
+ url_variables = None
36
+ if timeout_ms is None:
37
+ timeout_ms = self.sdk_configuration.timeout_ms
38
+
39
+ if server_url is not None:
40
+ base_url = server_url
41
+ else:
42
+ base_url = self._get_url(base_url, url_variables)
43
+
44
+ if not isinstance(request, BaseModel):
45
+ request = utils.unmarshal(request, operations.ListCommissionsRequest)
46
+ request = cast(operations.ListCommissionsRequest, request)
47
+
48
+ req = self._build_request(
49
+ method="GET",
50
+ path="/commissions",
51
+ base_url=base_url,
52
+ url_variables=url_variables,
53
+ request=request,
54
+ request_body_required=False,
55
+ request_has_path_params=False,
56
+ request_has_query_params=True,
57
+ user_agent_header="user-agent",
58
+ accept_header_value="application/json",
59
+ http_headers=http_headers,
60
+ security=self.sdk_configuration.security,
61
+ timeout_ms=timeout_ms,
62
+ )
63
+
64
+ if retries == UNSET:
65
+ if self.sdk_configuration.retry_config is not UNSET:
66
+ retries = self.sdk_configuration.retry_config
67
+
68
+ retry_config = None
69
+ if isinstance(retries, utils.RetryConfig):
70
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
71
+
72
+ http_res = self.do_request(
73
+ hook_ctx=HookContext(
74
+ base_url=base_url or "",
75
+ operation_id="listCommissions",
76
+ oauth2_scopes=[],
77
+ security_source=self.sdk_configuration.security,
78
+ ),
79
+ request=req,
80
+ error_status_codes=[
81
+ "400",
82
+ "401",
83
+ "403",
84
+ "404",
85
+ "409",
86
+ "410",
87
+ "422",
88
+ "429",
89
+ "4XX",
90
+ "500",
91
+ "5XX",
92
+ ],
93
+ retry_config=retry_config,
94
+ )
95
+
96
+ response_data: Any = None
97
+ if utils.match_response(http_res, "200", "application/json"):
98
+ return utils.unmarshal_json(
99
+ http_res.text, Optional[List[operations.ListCommissionsResponseBody]]
100
+ )
101
+ if utils.match_response(http_res, "400", "application/json"):
102
+ response_data = utils.unmarshal_json(http_res.text, errors.BadRequestData)
103
+ raise errors.BadRequest(data=response_data)
104
+ if utils.match_response(http_res, "401", "application/json"):
105
+ response_data = utils.unmarshal_json(http_res.text, errors.UnauthorizedData)
106
+ raise errors.Unauthorized(data=response_data)
107
+ if utils.match_response(http_res, "403", "application/json"):
108
+ response_data = utils.unmarshal_json(http_res.text, errors.ForbiddenData)
109
+ raise errors.Forbidden(data=response_data)
110
+ if utils.match_response(http_res, "404", "application/json"):
111
+ response_data = utils.unmarshal_json(http_res.text, errors.NotFoundData)
112
+ raise errors.NotFound(data=response_data)
113
+ if utils.match_response(http_res, "409", "application/json"):
114
+ response_data = utils.unmarshal_json(http_res.text, errors.ConflictData)
115
+ raise errors.Conflict(data=response_data)
116
+ if utils.match_response(http_res, "410", "application/json"):
117
+ response_data = utils.unmarshal_json(
118
+ http_res.text, errors.InviteExpiredData
119
+ )
120
+ raise errors.InviteExpired(data=response_data)
121
+ if utils.match_response(http_res, "422", "application/json"):
122
+ response_data = utils.unmarshal_json(
123
+ http_res.text, errors.UnprocessableEntityData
124
+ )
125
+ raise errors.UnprocessableEntity(data=response_data)
126
+ if utils.match_response(http_res, "429", "application/json"):
127
+ response_data = utils.unmarshal_json(
128
+ http_res.text, errors.RateLimitExceededData
129
+ )
130
+ raise errors.RateLimitExceeded(data=response_data)
131
+ if utils.match_response(http_res, "500", "application/json"):
132
+ response_data = utils.unmarshal_json(
133
+ http_res.text, errors.InternalServerErrorData
134
+ )
135
+ raise errors.InternalServerError(data=response_data)
136
+ if utils.match_response(http_res, "4XX", "*"):
137
+ http_res_text = utils.stream_to_text(http_res)
138
+ raise errors.SDKError(
139
+ "API error occurred", http_res.status_code, http_res_text, http_res
140
+ )
141
+ if utils.match_response(http_res, "5XX", "*"):
142
+ http_res_text = utils.stream_to_text(http_res)
143
+ raise errors.SDKError(
144
+ "API error occurred", http_res.status_code, http_res_text, http_res
145
+ )
146
+
147
+ content_type = http_res.headers.get("Content-Type")
148
+ http_res_text = utils.stream_to_text(http_res)
149
+ raise errors.SDKError(
150
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
151
+ http_res.status_code,
152
+ http_res_text,
153
+ http_res,
154
+ )
155
+
156
+ async def list_async(
157
+ self,
158
+ *,
159
+ request: Union[
160
+ operations.ListCommissionsRequest,
161
+ operations.ListCommissionsRequestTypedDict,
162
+ ],
163
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
164
+ server_url: Optional[str] = None,
165
+ timeout_ms: Optional[int] = None,
166
+ http_headers: Optional[Mapping[str, str]] = None,
167
+ ) -> Optional[List[operations.ListCommissionsResponseBody]]:
168
+ r"""Get commissions for a program.
169
+
170
+ Retrieve a list of commissions for a program.
171
+
172
+ :param request: The request object to send.
173
+ :param retries: Override the default retry configuration for this method
174
+ :param server_url: Override the default server URL for this method
175
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
176
+ :param http_headers: Additional headers to set or replace on requests.
177
+ """
178
+ base_url = None
179
+ url_variables = None
180
+ if timeout_ms is None:
181
+ timeout_ms = self.sdk_configuration.timeout_ms
182
+
183
+ if server_url is not None:
184
+ base_url = server_url
185
+ else:
186
+ base_url = self._get_url(base_url, url_variables)
187
+
188
+ if not isinstance(request, BaseModel):
189
+ request = utils.unmarshal(request, operations.ListCommissionsRequest)
190
+ request = cast(operations.ListCommissionsRequest, request)
191
+
192
+ req = self._build_request_async(
193
+ method="GET",
194
+ path="/commissions",
195
+ base_url=base_url,
196
+ url_variables=url_variables,
197
+ request=request,
198
+ request_body_required=False,
199
+ request_has_path_params=False,
200
+ request_has_query_params=True,
201
+ user_agent_header="user-agent",
202
+ accept_header_value="application/json",
203
+ http_headers=http_headers,
204
+ security=self.sdk_configuration.security,
205
+ timeout_ms=timeout_ms,
206
+ )
207
+
208
+ if retries == UNSET:
209
+ if self.sdk_configuration.retry_config is not UNSET:
210
+ retries = self.sdk_configuration.retry_config
211
+
212
+ retry_config = None
213
+ if isinstance(retries, utils.RetryConfig):
214
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
215
+
216
+ http_res = await self.do_request_async(
217
+ hook_ctx=HookContext(
218
+ base_url=base_url or "",
219
+ operation_id="listCommissions",
220
+ oauth2_scopes=[],
221
+ security_source=self.sdk_configuration.security,
222
+ ),
223
+ request=req,
224
+ error_status_codes=[
225
+ "400",
226
+ "401",
227
+ "403",
228
+ "404",
229
+ "409",
230
+ "410",
231
+ "422",
232
+ "429",
233
+ "4XX",
234
+ "500",
235
+ "5XX",
236
+ ],
237
+ retry_config=retry_config,
238
+ )
239
+
240
+ response_data: Any = None
241
+ if utils.match_response(http_res, "200", "application/json"):
242
+ return utils.unmarshal_json(
243
+ http_res.text, Optional[List[operations.ListCommissionsResponseBody]]
244
+ )
245
+ if utils.match_response(http_res, "400", "application/json"):
246
+ response_data = utils.unmarshal_json(http_res.text, errors.BadRequestData)
247
+ raise errors.BadRequest(data=response_data)
248
+ if utils.match_response(http_res, "401", "application/json"):
249
+ response_data = utils.unmarshal_json(http_res.text, errors.UnauthorizedData)
250
+ raise errors.Unauthorized(data=response_data)
251
+ if utils.match_response(http_res, "403", "application/json"):
252
+ response_data = utils.unmarshal_json(http_res.text, errors.ForbiddenData)
253
+ raise errors.Forbidden(data=response_data)
254
+ if utils.match_response(http_res, "404", "application/json"):
255
+ response_data = utils.unmarshal_json(http_res.text, errors.NotFoundData)
256
+ raise errors.NotFound(data=response_data)
257
+ if utils.match_response(http_res, "409", "application/json"):
258
+ response_data = utils.unmarshal_json(http_res.text, errors.ConflictData)
259
+ raise errors.Conflict(data=response_data)
260
+ if utils.match_response(http_res, "410", "application/json"):
261
+ response_data = utils.unmarshal_json(
262
+ http_res.text, errors.InviteExpiredData
263
+ )
264
+ raise errors.InviteExpired(data=response_data)
265
+ if utils.match_response(http_res, "422", "application/json"):
266
+ response_data = utils.unmarshal_json(
267
+ http_res.text, errors.UnprocessableEntityData
268
+ )
269
+ raise errors.UnprocessableEntity(data=response_data)
270
+ if utils.match_response(http_res, "429", "application/json"):
271
+ response_data = utils.unmarshal_json(
272
+ http_res.text, errors.RateLimitExceededData
273
+ )
274
+ raise errors.RateLimitExceeded(data=response_data)
275
+ if utils.match_response(http_res, "500", "application/json"):
276
+ response_data = utils.unmarshal_json(
277
+ http_res.text, errors.InternalServerErrorData
278
+ )
279
+ raise errors.InternalServerError(data=response_data)
280
+ if utils.match_response(http_res, "4XX", "*"):
281
+ http_res_text = await utils.stream_to_text_async(http_res)
282
+ raise errors.SDKError(
283
+ "API error occurred", http_res.status_code, http_res_text, http_res
284
+ )
285
+ if utils.match_response(http_res, "5XX", "*"):
286
+ http_res_text = await utils.stream_to_text_async(http_res)
287
+ raise errors.SDKError(
288
+ "API error occurred", http_res.status_code, http_res_text, http_res
289
+ )
290
+
291
+ content_type = http_res.headers.get("Content-Type")
292
+ http_res_text = await utils.stream_to_text_async(http_res)
293
+ raise errors.SDKError(
294
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
295
+ http_res.status_code,
296
+ http_res_text,
297
+ http_res,
298
+ )
299
+
300
+ def update(
301
+ self,
302
+ *,
303
+ request: Union[
304
+ operations.UpdateCommissionRequest,
305
+ operations.UpdateCommissionRequestTypedDict,
306
+ ],
307
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
308
+ server_url: Optional[str] = None,
309
+ timeout_ms: Optional[int] = None,
310
+ http_headers: Optional[Mapping[str, str]] = None,
311
+ ) -> Optional[operations.UpdateCommissionResponseBody]:
312
+ r"""Update a commission.
313
+
314
+ Update an existing commission amount. This is useful for handling refunds (partial or full) or fraudulent sales.
315
+
316
+ :param request: The request object to send.
317
+ :param retries: Override the default retry configuration for this method
318
+ :param server_url: Override the default server URL for this method
319
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
320
+ :param http_headers: Additional headers to set or replace on requests.
321
+ """
322
+ base_url = None
323
+ url_variables = None
324
+ if timeout_ms is None:
325
+ timeout_ms = self.sdk_configuration.timeout_ms
326
+
327
+ if server_url is not None:
328
+ base_url = server_url
329
+ else:
330
+ base_url = self._get_url(base_url, url_variables)
331
+
332
+ if not isinstance(request, BaseModel):
333
+ request = utils.unmarshal(request, operations.UpdateCommissionRequest)
334
+ request = cast(operations.UpdateCommissionRequest, request)
335
+
336
+ req = self._build_request(
337
+ method="PATCH",
338
+ path="/commissions/{id}",
339
+ base_url=base_url,
340
+ url_variables=url_variables,
341
+ request=request,
342
+ request_body_required=False,
343
+ request_has_path_params=True,
344
+ request_has_query_params=True,
345
+ user_agent_header="user-agent",
346
+ accept_header_value="application/json",
347
+ http_headers=http_headers,
348
+ security=self.sdk_configuration.security,
349
+ get_serialized_body=lambda: utils.serialize_request_body(
350
+ request.request_body,
351
+ False,
352
+ True,
353
+ "json",
354
+ Optional[operations.UpdateCommissionRequestBody],
355
+ ),
356
+ timeout_ms=timeout_ms,
357
+ )
358
+
359
+ if retries == UNSET:
360
+ if self.sdk_configuration.retry_config is not UNSET:
361
+ retries = self.sdk_configuration.retry_config
362
+
363
+ retry_config = None
364
+ if isinstance(retries, utils.RetryConfig):
365
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
366
+
367
+ http_res = self.do_request(
368
+ hook_ctx=HookContext(
369
+ base_url=base_url or "",
370
+ operation_id="updateCommission",
371
+ oauth2_scopes=[],
372
+ security_source=self.sdk_configuration.security,
373
+ ),
374
+ request=req,
375
+ error_status_codes=[
376
+ "400",
377
+ "401",
378
+ "403",
379
+ "404",
380
+ "409",
381
+ "410",
382
+ "422",
383
+ "429",
384
+ "4XX",
385
+ "500",
386
+ "5XX",
387
+ ],
388
+ retry_config=retry_config,
389
+ )
390
+
391
+ response_data: Any = None
392
+ if utils.match_response(http_res, "200", "application/json"):
393
+ return utils.unmarshal_json(
394
+ http_res.text, Optional[operations.UpdateCommissionResponseBody]
395
+ )
396
+ if utils.match_response(http_res, "400", "application/json"):
397
+ response_data = utils.unmarshal_json(http_res.text, errors.BadRequestData)
398
+ raise errors.BadRequest(data=response_data)
399
+ if utils.match_response(http_res, "401", "application/json"):
400
+ response_data = utils.unmarshal_json(http_res.text, errors.UnauthorizedData)
401
+ raise errors.Unauthorized(data=response_data)
402
+ if utils.match_response(http_res, "403", "application/json"):
403
+ response_data = utils.unmarshal_json(http_res.text, errors.ForbiddenData)
404
+ raise errors.Forbidden(data=response_data)
405
+ if utils.match_response(http_res, "404", "application/json"):
406
+ response_data = utils.unmarshal_json(http_res.text, errors.NotFoundData)
407
+ raise errors.NotFound(data=response_data)
408
+ if utils.match_response(http_res, "409", "application/json"):
409
+ response_data = utils.unmarshal_json(http_res.text, errors.ConflictData)
410
+ raise errors.Conflict(data=response_data)
411
+ if utils.match_response(http_res, "410", "application/json"):
412
+ response_data = utils.unmarshal_json(
413
+ http_res.text, errors.InviteExpiredData
414
+ )
415
+ raise errors.InviteExpired(data=response_data)
416
+ if utils.match_response(http_res, "422", "application/json"):
417
+ response_data = utils.unmarshal_json(
418
+ http_res.text, errors.UnprocessableEntityData
419
+ )
420
+ raise errors.UnprocessableEntity(data=response_data)
421
+ if utils.match_response(http_res, "429", "application/json"):
422
+ response_data = utils.unmarshal_json(
423
+ http_res.text, errors.RateLimitExceededData
424
+ )
425
+ raise errors.RateLimitExceeded(data=response_data)
426
+ if utils.match_response(http_res, "500", "application/json"):
427
+ response_data = utils.unmarshal_json(
428
+ http_res.text, errors.InternalServerErrorData
429
+ )
430
+ raise errors.InternalServerError(data=response_data)
431
+ if utils.match_response(http_res, "4XX", "*"):
432
+ http_res_text = utils.stream_to_text(http_res)
433
+ raise errors.SDKError(
434
+ "API error occurred", http_res.status_code, http_res_text, http_res
435
+ )
436
+ if utils.match_response(http_res, "5XX", "*"):
437
+ http_res_text = utils.stream_to_text(http_res)
438
+ raise errors.SDKError(
439
+ "API error occurred", http_res.status_code, http_res_text, http_res
440
+ )
441
+
442
+ content_type = http_res.headers.get("Content-Type")
443
+ http_res_text = utils.stream_to_text(http_res)
444
+ raise errors.SDKError(
445
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
446
+ http_res.status_code,
447
+ http_res_text,
448
+ http_res,
449
+ )
450
+
451
+ async def update_async(
452
+ self,
453
+ *,
454
+ request: Union[
455
+ operations.UpdateCommissionRequest,
456
+ operations.UpdateCommissionRequestTypedDict,
457
+ ],
458
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
459
+ server_url: Optional[str] = None,
460
+ timeout_ms: Optional[int] = None,
461
+ http_headers: Optional[Mapping[str, str]] = None,
462
+ ) -> Optional[operations.UpdateCommissionResponseBody]:
463
+ r"""Update a commission.
464
+
465
+ Update an existing commission amount. This is useful for handling refunds (partial or full) or fraudulent sales.
466
+
467
+ :param request: The request object to send.
468
+ :param retries: Override the default retry configuration for this method
469
+ :param server_url: Override the default server URL for this method
470
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
471
+ :param http_headers: Additional headers to set or replace on requests.
472
+ """
473
+ base_url = None
474
+ url_variables = None
475
+ if timeout_ms is None:
476
+ timeout_ms = self.sdk_configuration.timeout_ms
477
+
478
+ if server_url is not None:
479
+ base_url = server_url
480
+ else:
481
+ base_url = self._get_url(base_url, url_variables)
482
+
483
+ if not isinstance(request, BaseModel):
484
+ request = utils.unmarshal(request, operations.UpdateCommissionRequest)
485
+ request = cast(operations.UpdateCommissionRequest, request)
486
+
487
+ req = self._build_request_async(
488
+ method="PATCH",
489
+ path="/commissions/{id}",
490
+ base_url=base_url,
491
+ url_variables=url_variables,
492
+ request=request,
493
+ request_body_required=False,
494
+ request_has_path_params=True,
495
+ request_has_query_params=True,
496
+ user_agent_header="user-agent",
497
+ accept_header_value="application/json",
498
+ http_headers=http_headers,
499
+ security=self.sdk_configuration.security,
500
+ get_serialized_body=lambda: utils.serialize_request_body(
501
+ request.request_body,
502
+ False,
503
+ True,
504
+ "json",
505
+ Optional[operations.UpdateCommissionRequestBody],
506
+ ),
507
+ timeout_ms=timeout_ms,
508
+ )
509
+
510
+ if retries == UNSET:
511
+ if self.sdk_configuration.retry_config is not UNSET:
512
+ retries = self.sdk_configuration.retry_config
513
+
514
+ retry_config = None
515
+ if isinstance(retries, utils.RetryConfig):
516
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
517
+
518
+ http_res = await self.do_request_async(
519
+ hook_ctx=HookContext(
520
+ base_url=base_url or "",
521
+ operation_id="updateCommission",
522
+ oauth2_scopes=[],
523
+ security_source=self.sdk_configuration.security,
524
+ ),
525
+ request=req,
526
+ error_status_codes=[
527
+ "400",
528
+ "401",
529
+ "403",
530
+ "404",
531
+ "409",
532
+ "410",
533
+ "422",
534
+ "429",
535
+ "4XX",
536
+ "500",
537
+ "5XX",
538
+ ],
539
+ retry_config=retry_config,
540
+ )
541
+
542
+ response_data: Any = None
543
+ if utils.match_response(http_res, "200", "application/json"):
544
+ return utils.unmarshal_json(
545
+ http_res.text, Optional[operations.UpdateCommissionResponseBody]
546
+ )
547
+ if utils.match_response(http_res, "400", "application/json"):
548
+ response_data = utils.unmarshal_json(http_res.text, errors.BadRequestData)
549
+ raise errors.BadRequest(data=response_data)
550
+ if utils.match_response(http_res, "401", "application/json"):
551
+ response_data = utils.unmarshal_json(http_res.text, errors.UnauthorizedData)
552
+ raise errors.Unauthorized(data=response_data)
553
+ if utils.match_response(http_res, "403", "application/json"):
554
+ response_data = utils.unmarshal_json(http_res.text, errors.ForbiddenData)
555
+ raise errors.Forbidden(data=response_data)
556
+ if utils.match_response(http_res, "404", "application/json"):
557
+ response_data = utils.unmarshal_json(http_res.text, errors.NotFoundData)
558
+ raise errors.NotFound(data=response_data)
559
+ if utils.match_response(http_res, "409", "application/json"):
560
+ response_data = utils.unmarshal_json(http_res.text, errors.ConflictData)
561
+ raise errors.Conflict(data=response_data)
562
+ if utils.match_response(http_res, "410", "application/json"):
563
+ response_data = utils.unmarshal_json(
564
+ http_res.text, errors.InviteExpiredData
565
+ )
566
+ raise errors.InviteExpired(data=response_data)
567
+ if utils.match_response(http_res, "422", "application/json"):
568
+ response_data = utils.unmarshal_json(
569
+ http_res.text, errors.UnprocessableEntityData
570
+ )
571
+ raise errors.UnprocessableEntity(data=response_data)
572
+ if utils.match_response(http_res, "429", "application/json"):
573
+ response_data = utils.unmarshal_json(
574
+ http_res.text, errors.RateLimitExceededData
575
+ )
576
+ raise errors.RateLimitExceeded(data=response_data)
577
+ if utils.match_response(http_res, "500", "application/json"):
578
+ response_data = utils.unmarshal_json(
579
+ http_res.text, errors.InternalServerErrorData
580
+ )
581
+ raise errors.InternalServerError(data=response_data)
582
+ if utils.match_response(http_res, "4XX", "*"):
583
+ http_res_text = await utils.stream_to_text_async(http_res)
584
+ raise errors.SDKError(
585
+ "API error occurred", http_res.status_code, http_res_text, http_res
586
+ )
587
+ if utils.match_response(http_res, "5XX", "*"):
588
+ http_res_text = await utils.stream_to_text_async(http_res)
589
+ raise errors.SDKError(
590
+ "API error occurred", http_res.status_code, http_res_text, http_res
591
+ )
592
+
593
+ content_type = http_res.headers.get("Content-Type")
594
+ http_res_text = await utils.stream_to_text_async(http_res)
595
+ raise errors.SDKError(
596
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
597
+ http_res.status_code,
598
+ http_res_text,
599
+ http_res,
600
+ )