gr4vy 1.10.12__py3-none-any.whl → 1.10.15__py3-none-any.whl

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 (293) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/basesdk.py +20 -6
  3. gr4vy/models/__init__.py +132 -0
  4. gr4vy/models/accountsreceivablesreportspec.py +18 -1
  5. gr4vy/models/accountupdaterinquirysummary.py +18 -1
  6. gr4vy/models/accountupdaterjob.py +18 -1
  7. gr4vy/models/accountupdateroptions.py +30 -31
  8. gr4vy/models/add_buyer_shipping_detailsop.py +34 -1
  9. gr4vy/models/add_buyerop.py +34 -1
  10. gr4vy/models/add_payment_linkop.py +34 -1
  11. gr4vy/models/add_reportop.py +34 -1
  12. gr4vy/models/address.py +38 -39
  13. gr4vy/models/adyencardoptions.py +32 -33
  14. gr4vy/models/adyenoptions.py +14 -19
  15. gr4vy/models/adyensepaoptions.py +30 -31
  16. gr4vy/models/adyensplitsoptions.py +14 -19
  17. gr4vy/models/affirmitineraryoptions.py +34 -35
  18. gr4vy/models/affirmoptions.py +14 -19
  19. gr4vy/models/airline.py +58 -59
  20. gr4vy/models/airlineleg.py +66 -67
  21. gr4vy/models/airlinepassenger.py +42 -43
  22. gr4vy/models/applepaypaymentmethodcreate.py +34 -35
  23. gr4vy/models/auditlogentries.py +14 -19
  24. gr4vy/models/auditlogentry.py +14 -19
  25. gr4vy/models/auditlogentryuser.py +14 -19
  26. gr4vy/models/billingdetails.py +32 -33
  27. gr4vy/models/braintreedynamicdatafieldsoptions.py +26 -27
  28. gr4vy/models/braintreeoptions.py +18 -19
  29. gr4vy/models/browserinfo.py +14 -19
  30. gr4vy/models/buyer.py +31 -32
  31. gr4vy/models/buyercreate.py +18 -29
  32. gr4vy/models/buyers.py +14 -19
  33. gr4vy/models/buyerupdate.py +18 -29
  34. gr4vy/models/cancel_transactionop.py +34 -1
  35. gr4vy/models/capture_transactionop.py +30 -19
  36. gr4vy/models/cardpaymentmethodcreate.py +31 -32
  37. gr4vy/models/cardschemedefinition.py +18 -1
  38. gr4vy/models/cardwithurlpaymentmethodcreate.py +33 -34
  39. gr4vy/models/cartitem.py +52 -53
  40. gr4vy/models/chaseoptions.py +14 -19
  41. gr4vy/models/checkoutsession.py +37 -38
  42. gr4vy/models/checkoutsessioncreate.py +35 -36
  43. gr4vy/models/checkoutsessionpaymentmethod.py +16 -27
  44. gr4vy/models/checkoutsessionpaymentmethodcreate.py +18 -28
  45. gr4vy/models/checkoutsessionpaymentmethoddetails.py +14 -19
  46. gr4vy/models/checkoutsessionwithurlpaymentmethodcreate.py +29 -30
  47. gr4vy/models/clicktopayfpanpaymentmethodcreate.py +32 -33
  48. gr4vy/models/clicktopaypaymentmethodcreate.py +28 -29
  49. gr4vy/models/configure_digital_walletop.py +34 -1
  50. gr4vy/models/create_account_updater_jobop.py +34 -1
  51. gr4vy/models/create_apple_pay_digital_wallet_sessionop.py +34 -1
  52. gr4vy/models/create_checkout_sessionop.py +34 -1
  53. gr4vy/models/create_full_transaction_refundop.py +30 -19
  54. gr4vy/models/create_gift_cardop.py +34 -1
  55. gr4vy/models/create_google_pay_digital_wallet_sessionop.py +34 -1
  56. gr4vy/models/create_payment_method_network_token_cryptogramop.py +34 -1
  57. gr4vy/models/create_payment_method_network_tokenop.py +34 -1
  58. gr4vy/models/create_payment_method_payment_service_tokenop.py +34 -1
  59. gr4vy/models/create_payment_methodop.py +34 -1
  60. gr4vy/models/create_payment_service_sessionop.py +34 -1
  61. gr4vy/models/create_payment_serviceop.py +34 -1
  62. gr4vy/models/create_payoutop.py +34 -1
  63. gr4vy/models/create_report_execution_urlop.py +34 -1
  64. gr4vy/models/create_three_ds_scenarioop.py +79 -0
  65. gr4vy/models/create_transaction_refundop.py +34 -1
  66. gr4vy/models/create_transactionop.py +32 -19
  67. gr4vy/models/createsession.py +14 -19
  68. gr4vy/models/cryptogram.py +18 -1
  69. gr4vy/models/cybersourceantifraudoptions.py +18 -27
  70. gr4vy/models/cybersourceoptions.py +27 -28
  71. gr4vy/models/delete_buyer_shipping_detailsop.py +34 -1
  72. gr4vy/models/delete_buyerop.py +34 -1
  73. gr4vy/models/delete_checkout_sessionop.py +34 -1
  74. gr4vy/models/delete_digital_walletop.py +34 -1
  75. gr4vy/models/delete_gift_cardop.py +34 -1
  76. gr4vy/models/delete_payment_method_network_tokenop.py +34 -1
  77. gr4vy/models/delete_payment_method_payment_service_tokenop.py +34 -1
  78. gr4vy/models/delete_payment_methodop.py +34 -1
  79. gr4vy/models/delete_payment_serviceop.py +34 -1
  80. gr4vy/models/delete_three_ds_scenarioop.py +76 -0
  81. gr4vy/models/detailedsettlementreportspec.py +18 -1
  82. gr4vy/models/digitalwallet.py +27 -33
  83. gr4vy/models/digitalwalletcreate.py +23 -28
  84. gr4vy/models/digitalwalletupdate.py +30 -31
  85. gr4vy/models/dlocaloptions.py +14 -19
  86. gr4vy/models/dlocalupioptions.py +14 -19
  87. gr4vy/models/dlocalupiwalletoptions.py +18 -33
  88. gr4vy/models/dlocalwalletoptions.py +14 -19
  89. gr4vy/models/expire_payment_linkop.py +34 -1
  90. gr4vy/models/fiservinstallmentoptions.py +27 -28
  91. gr4vy/models/fiservoptions.py +14 -19
  92. gr4vy/models/forterantifraudoptions.py +30 -31
  93. gr4vy/models/forterantifraudoptionscartitem.py +13 -18
  94. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +14 -19
  95. gr4vy/models/forterantifraudoptionscartitembeneficiary.py +13 -18
  96. gr4vy/models/forterantifraudoptionscartitembeneficiaryaddress.py +18 -19
  97. gr4vy/models/forterantifraudoptionscartitembeneficiarycomments.py +18 -27
  98. gr4vy/models/forterantifraudoptionscartitembeneficiarypersonaldetails.py +14 -19
  99. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +13 -18
  100. gr4vy/models/forterantifraudoptionsdiscount.py +13 -18
  101. gr4vy/models/forterantifraudoptionsdiscountcoupondiscountamount.py +14 -19
  102. gr4vy/models/get_buyer_shipping_detailsop.py +34 -1
  103. gr4vy/models/get_buyerop.py +34 -1
  104. gr4vy/models/get_checkout_sessionop.py +34 -1
  105. gr4vy/models/get_digital_walletop.py +34 -1
  106. gr4vy/models/get_gift_cardop.py +34 -1
  107. gr4vy/models/get_payment_linkop.py +34 -1
  108. gr4vy/models/get_payment_methodop.py +34 -1
  109. gr4vy/models/get_payment_serviceop.py +34 -1
  110. gr4vy/models/get_payoutop.py +34 -1
  111. gr4vy/models/get_refundop.py +34 -1
  112. gr4vy/models/get_report_executionop.py +34 -1
  113. gr4vy/models/get_reportop.py +34 -1
  114. gr4vy/models/get_three_ds_scenarioop.py +105 -0
  115. gr4vy/models/get_transaction_refundop.py +34 -1
  116. gr4vy/models/get_transaction_settlementop.py +34 -1
  117. gr4vy/models/get_transactionop.py +34 -1
  118. gr4vy/models/giftcard.py +14 -19
  119. gr4vy/models/giftcardcreate.py +14 -19
  120. gr4vy/models/giftcardredemption.py +29 -30
  121. gr4vy/models/giftcards.py +14 -19
  122. gr4vy/models/giftcardservice.py +18 -1
  123. gr4vy/models/giftcardsummary.py +35 -36
  124. gr4vy/models/givingblockoptions.py +14 -19
  125. gr4vy/models/googlepayassurancedetails.py +14 -19
  126. gr4vy/models/googlepayfpanpaymentmethodcreate.py +32 -33
  127. gr4vy/models/googlepaypaymentmethodcreate.py +36 -37
  128. gr4vy/models/guestbuyer.py +30 -31
  129. gr4vy/models/internal/globals.py +18 -1
  130. gr4vy/models/latitudeoptions.py +14 -19
  131. gr4vy/models/list_all_report_executionsop.py +50 -35
  132. gr4vy/models/list_audit_logsop.py +39 -26
  133. gr4vy/models/list_buyer_gift_cardsop.py +32 -23
  134. gr4vy/models/list_buyer_payment_methodsop.py +42 -33
  135. gr4vy/models/list_buyer_shipping_detailsop.py +34 -1
  136. gr4vy/models/list_buyersop.py +32 -25
  137. gr4vy/models/list_card_scheme_definitionsop.py +34 -1
  138. gr4vy/models/list_digital_walletsop.py +34 -1
  139. gr4vy/models/list_gift_card_balancesop.py +34 -1
  140. gr4vy/models/list_gift_cardsop.py +38 -25
  141. gr4vy/models/list_merchant_accountsop.py +14 -19
  142. gr4vy/models/list_payment_linksop.py +32 -19
  143. gr4vy/models/list_payment_method_network_tokensop.py +34 -1
  144. gr4vy/models/list_payment_method_payment_service_tokensop.py +30 -19
  145. gr4vy/models/list_payment_methodsop.py +48 -33
  146. gr4vy/models/list_payment_optionsop.py +34 -1
  147. gr4vy/models/list_payment_service_definitionsop.py +14 -19
  148. gr4vy/models/list_payment_servicesop.py +32 -25
  149. gr4vy/models/list_payoutsop.py +30 -19
  150. gr4vy/models/list_report_executionsop.py +30 -19
  151. gr4vy/models/list_reportsop.py +39 -26
  152. gr4vy/models/list_transaction_actionsop.py +34 -1
  153. gr4vy/models/list_transaction_eventsop.py +30 -19
  154. gr4vy/models/list_transaction_refundsop.py +34 -1
  155. gr4vy/models/list_transaction_settlementsop.py +34 -1
  156. gr4vy/models/list_transactionsop.py +124 -109
  157. gr4vy/models/mattildatapioptions.py +14 -19
  158. gr4vy/models/merchantaccount.py +52 -53
  159. gr4vy/models/merchantaccountcreate.py +52 -53
  160. gr4vy/models/merchantaccounts.py +14 -19
  161. gr4vy/models/merchantaccountupdate.py +54 -55
  162. gr4vy/models/method.py +1 -0
  163. gr4vy/models/mockcardmerchantadvicecodeoptions.py +14 -19
  164. gr4vy/models/mockcardoptions.py +14 -19
  165. gr4vy/models/networktoken.py +18 -1
  166. gr4vy/models/networktokencreate.py +14 -19
  167. gr4vy/models/networktokenpaymentmethodcreate.py +34 -35
  168. gr4vy/models/nuveiairlinedataoptions.py +14 -19
  169. gr4vy/models/nuveiidealoptions.py +14 -19
  170. gr4vy/models/nuveioptions.py +14 -19
  171. gr4vy/models/nuveipseoptions.py +13 -18
  172. gr4vy/models/oxxooptions.py +14 -19
  173. gr4vy/models/paymentlink.py +59 -60
  174. gr4vy/models/paymentlinkcreate.py +59 -60
  175. gr4vy/models/paymentlinks.py +14 -19
  176. gr4vy/models/paymentmethod.py +51 -52
  177. gr4vy/models/paymentmethodcard.py +14 -19
  178. gr4vy/models/paymentmethoddetailscard.py +14 -19
  179. gr4vy/models/paymentmethods.py +14 -19
  180. gr4vy/models/paymentmethodstoredcard.py +18 -1
  181. gr4vy/models/paymentmethodsummary.py +47 -48
  182. gr4vy/models/paymentoption.py +14 -19
  183. gr4vy/models/paymentoptioncontext.py +14 -19
  184. gr4vy/models/paymentoptioncontextapprovalui.py +14 -19
  185. gr4vy/models/paymentoptionrequest.py +18 -26
  186. gr4vy/models/paymentservice.py +35 -36
  187. gr4vy/models/paymentservicecreate.py +36 -37
  188. gr4vy/models/paymentservicedefinition.py +14 -19
  189. gr4vy/models/paymentservicedefinitions.py +14 -19
  190. gr4vy/models/paymentservices.py +14 -19
  191. gr4vy/models/paymentservicetoken.py +14 -19
  192. gr4vy/models/paymentservicetokencreate.py +14 -19
  193. gr4vy/models/paymentserviceupdate.py +45 -46
  194. gr4vy/models/payoutconnectionoptions.py +14 -19
  195. gr4vy/models/payoutcreate.py +34 -35
  196. gr4vy/models/payoutmerchant.py +14 -19
  197. gr4vy/models/payoutmerchantsummary.py +14 -19
  198. gr4vy/models/payoutpaymentservice.py +14 -19
  199. gr4vy/models/payoutsummaries.py +14 -19
  200. gr4vy/models/payoutsummary.py +35 -36
  201. gr4vy/models/paypaloptions.py +14 -19
  202. gr4vy/models/paypalshippingoptions.py +14 -19
  203. gr4vy/models/paypalshippingoptionsitem.py +14 -19
  204. gr4vy/models/plaidpaymentmethodcreate.py +31 -32
  205. gr4vy/models/powertranzoptions.py +14 -19
  206. gr4vy/models/recipient.py +14 -19
  207. gr4vy/models/redirectpaymentmethodcreate.py +19 -27
  208. gr4vy/models/refund.py +39 -40
  209. gr4vy/models/refunds.py +14 -19
  210. gr4vy/models/register_digital_wallet_domainop.py +34 -1
  211. gr4vy/models/report.py +33 -34
  212. gr4vy/models/reportcreate.py +14 -19
  213. gr4vy/models/reportexecution.py +18 -1
  214. gr4vy/models/reportexecutions.py +14 -19
  215. gr4vy/models/reportexecutionsummary.py +18 -1
  216. gr4vy/models/reportexecutionurlgenerate.py +18 -1
  217. gr4vy/models/reports.py +14 -19
  218. gr4vy/models/reportsummary.py +16 -19
  219. gr4vy/models/reportupdate.py +14 -19
  220. gr4vy/models/requiredcheckoutfields.py +14 -19
  221. gr4vy/models/resume_payment_method_network_tokenop.py +34 -1
  222. gr4vy/models/security.py +18 -1
  223. gr4vy/models/settlement.py +16 -25
  224. gr4vy/models/shippingdetails.py +35 -36
  225. gr4vy/models/shippingdetailscreate.py +18 -31
  226. gr4vy/models/shippingdetailsupdate.py +18 -31
  227. gr4vy/models/statementdescriptor.py +34 -35
  228. gr4vy/models/stripeconnectoptions.py +30 -31
  229. gr4vy/models/stripeoptions.py +14 -19
  230. gr4vy/models/suspend_payment_method_network_tokenop.py +34 -1
  231. gr4vy/models/sync_transactionop.py +34 -1
  232. gr4vy/models/threedsecure.py +14 -19
  233. gr4vy/models/threedsecuredatav1.py +14 -19
  234. gr4vy/models/threedsecuredatav2.py +14 -19
  235. gr4vy/models/threedsecureerror.py +14 -19
  236. gr4vy/models/threedsecurescenario.py +77 -0
  237. gr4vy/models/threedsecurescenarioconditions.py +84 -0
  238. gr4vy/models/threedsecurescenariocreate.py +24 -0
  239. gr4vy/models/threedsecurescenariooutcome.py +57 -0
  240. gr4vy/models/threedsecurescenariooutcomeauthentication.py +31 -0
  241. gr4vy/models/threedsecurescenariooutcomeresult.py +27 -0
  242. gr4vy/models/threedsecurescenarios.py +58 -0
  243. gr4vy/models/threedsecurescenarioupdate.py +54 -0
  244. gr4vy/models/threedsecurev2.py +34 -35
  245. gr4vy/models/tokenpaymentmethodcreate.py +14 -19
  246. gr4vy/models/transaction.py +111 -112
  247. gr4vy/models/transactionaction.py +18 -1
  248. gr4vy/models/transactionbuyer.py +31 -32
  249. gr4vy/models/transactioncancel.py +14 -19
  250. gr4vy/models/transactioncapture.py +14 -19
  251. gr4vy/models/transactioncapturecreate.py +14 -19
  252. gr4vy/models/transactionconnectionoptions.py +104 -105
  253. gr4vy/models/transactioncreate.py +88 -89
  254. gr4vy/models/transactionevent.py +18 -1
  255. gr4vy/models/transactionevents.py +14 -19
  256. gr4vy/models/transactiongiftcard.py +14 -19
  257. gr4vy/models/transactionpaymentmethod.py +49 -50
  258. gr4vy/models/transactionpaymentservice.py +18 -1
  259. gr4vy/models/transactionrefundallcreate.py +14 -19
  260. gr4vy/models/transactionrefundcreate.py +16 -25
  261. gr4vy/models/transactionretriesreportspec.py +18 -1
  262. gr4vy/models/transactionsreportspec.py +18 -1
  263. gr4vy/models/transactionsummaries.py +14 -19
  264. gr4vy/models/transactionsummary.py +50 -51
  265. gr4vy/models/transactionthreedsecuresummary.py +18 -33
  266. gr4vy/models/transactionupdate.py +14 -19
  267. gr4vy/models/transactionvoid.py +14 -19
  268. gr4vy/models/travelhubcustomdata.py +14 -19
  269. gr4vy/models/travelhuboptions.py +14 -19
  270. gr4vy/models/trustlyoptions.py +14 -19
  271. gr4vy/models/unregister_digital_wallet_domainop.py +34 -1
  272. gr4vy/models/update_buyer_shipping_detailsop.py +34 -1
  273. gr4vy/models/update_buyerop.py +34 -1
  274. gr4vy/models/update_checkout_sessionop.py +34 -1
  275. gr4vy/models/update_digital_walletop.py +34 -1
  276. gr4vy/models/update_payment_serviceop.py +34 -1
  277. gr4vy/models/update_reportop.py +34 -1
  278. gr4vy/models/update_three_ds_scenarioop.py +91 -0
  279. gr4vy/models/update_transactionop.py +34 -1
  280. gr4vy/models/verify_payment_service_credentialsop.py +34 -1
  281. gr4vy/models/verifycredentials.py +14 -19
  282. gr4vy/models/void_transactionop.py +30 -19
  283. gr4vy/models/wpayeverdaypayoptions.py +30 -31
  284. gr4vy/models/wpaypaytooptions.py +14 -19
  285. gr4vy/models/wpaypaytoresourceoptions.py +14 -19
  286. gr4vy/models/wpaypaytosimulationoptions.py +14 -19
  287. gr4vy/sdk.py +3 -0
  288. gr4vy/three_ds_scenarios.py +1322 -0
  289. gr4vy/utils/__init__.py +13 -1
  290. {gr4vy-1.10.12.dist-info → gr4vy-1.10.15.dist-info}/METADATA +8 -1
  291. gr4vy-1.10.15.dist-info/RECORD +464 -0
  292. gr4vy-1.10.12.dist-info/RECORD +0 -451
  293. {gr4vy-1.10.12.dist-info → gr4vy-1.10.15.dist-info}/WHEEL +0 -0
@@ -39,42 +39,41 @@ class GuestBuyer(BaseModel):
39
39
 
40
40
  @model_serializer(mode="wrap")
41
41
  def serialize_model(self, handler):
42
- optional_fields = [
43
- "display_name",
44
- "external_identifier",
45
- "billing_details",
46
- "account_number",
47
- "shipping_details",
48
- ]
49
- nullable_fields = [
50
- "display_name",
51
- "external_identifier",
52
- "billing_details",
53
- "account_number",
54
- "shipping_details",
55
- ]
56
- null_default_fields = []
57
-
42
+ optional_fields = set(
43
+ [
44
+ "display_name",
45
+ "external_identifier",
46
+ "billing_details",
47
+ "account_number",
48
+ "shipping_details",
49
+ ]
50
+ )
51
+ nullable_fields = set(
52
+ [
53
+ "display_name",
54
+ "external_identifier",
55
+ "billing_details",
56
+ "account_number",
57
+ "shipping_details",
58
+ ]
59
+ )
58
60
  serialized = handler(self)
59
-
60
61
  m = {}
61
62
 
62
63
  for n, f in type(self).model_fields.items():
63
64
  k = f.alias or n
64
65
  val = serialized.get(k)
65
- serialized.pop(k, None)
66
-
67
- optional_nullable = k in optional_fields and k in nullable_fields
68
- is_set = (
69
- self.__pydantic_fields_set__.intersection({n})
70
- or k in null_default_fields
71
- ) # pylint: disable=no-member
72
-
73
- if val is not None and val != UNSET_SENTINEL:
74
- m[k] = val
75
- elif val != UNSET_SENTINEL and (
76
- not k in optional_fields or (optional_nullable and is_set)
77
- ):
78
- m[k] = val
66
+ is_nullable_and_explicitly_set = (
67
+ k in nullable_fields
68
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
69
+ )
70
+
71
+ if val != UNSET_SENTINEL:
72
+ if (
73
+ val is not None
74
+ or k not in optional_fields
75
+ or is_nullable_and_explicitly_set
76
+ ):
77
+ m[k] = val
79
78
 
80
79
  return m
@@ -1,9 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from gr4vy.types import BaseModel
4
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
5
5
  from gr4vy.utils import FieldMetadata, HeaderMetadata
6
6
  import pydantic
7
+ from pydantic import model_serializer
7
8
  from typing import Optional
8
9
  from typing_extensions import Annotated, NotRequired, TypedDict
9
10
 
@@ -20,3 +21,19 @@ class Globals(BaseModel):
20
21
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
21
22
  ] = None
22
23
  r"""The ID of the merchant account to use for this request."""
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["merchant_account_id"])
28
+ serialized = handler(self)
29
+ m = {}
30
+
31
+ for n, f in type(self).model_fields.items():
32
+ k = f.alias or n
33
+ val = serialized.get(k)
34
+
35
+ if val != UNSET_SENTINEL:
36
+ if val is not None or k not in optional_fields:
37
+ m[k] = val
38
+
39
+ return m
@@ -17,30 +17,25 @@ class LatitudeOptions(BaseModel):
17
17
 
18
18
  @model_serializer(mode="wrap")
19
19
  def serialize_model(self, handler):
20
- optional_fields = ["promotion_reference"]
21
- nullable_fields = ["promotion_reference"]
22
- null_default_fields = []
23
-
20
+ optional_fields = set(["promotion_reference"])
21
+ nullable_fields = set(["promotion_reference"])
24
22
  serialized = handler(self)
25
-
26
23
  m = {}
27
24
 
28
25
  for n, f in type(self).model_fields.items():
29
26
  k = f.alias or n
30
27
  val = serialized.get(k)
31
- serialized.pop(k, None)
32
-
33
- optional_nullable = k in optional_fields and k in nullable_fields
34
- is_set = (
35
- self.__pydantic_fields_set__.intersection({n})
36
- or k in null_default_fields
37
- ) # pylint: disable=no-member
38
-
39
- if val is not None and val != UNSET_SENTINEL:
40
- m[k] = val
41
- elif val != UNSET_SENTINEL and (
42
- not k in optional_fields or (optional_nullable and is_set)
43
- ):
44
- m[k] = val
28
+ is_nullable_and_explicitly_set = (
29
+ k in nullable_fields
30
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
31
+ )
32
+
33
+ if val != UNSET_SENTINEL:
34
+ if (
35
+ val is not None
36
+ or k not in optional_fields
37
+ or is_nullable_and_explicitly_set
38
+ ):
39
+ m[k] = val
45
40
 
46
41
  return m
@@ -25,6 +25,22 @@ class ListAllReportExecutionsGlobals(BaseModel):
25
25
  ] = None
26
26
  r"""The ID of the merchant account to use for this request."""
27
27
 
28
+ @model_serializer(mode="wrap")
29
+ def serialize_model(self, handler):
30
+ optional_fields = set(["merchant_account_id"])
31
+ serialized = handler(self)
32
+ m = {}
33
+
34
+ for n, f in type(self).model_fields.items():
35
+ k = f.alias or n
36
+ val = serialized.get(k)
37
+
38
+ if val != UNSET_SENTINEL:
39
+ if val is not None or k not in optional_fields:
40
+ m[k] = val
41
+
42
+ return m
43
+
28
44
 
29
45
  class ListAllReportExecutionsRequestTypedDict(TypedDict):
30
46
  cursor: NotRequired[Nullable[str]]
@@ -97,47 +113,46 @@ class ListAllReportExecutionsRequest(BaseModel):
97
113
 
98
114
  @model_serializer(mode="wrap")
99
115
  def serialize_model(self, handler):
100
- optional_fields = [
101
- "cursor",
102
- "limit",
103
- "report_name",
104
- "created_at_lte",
105
- "created_at_gte",
106
- "status",
107
- "creator_id",
108
- "merchant_account_id",
109
- ]
110
- nullable_fields = [
111
- "cursor",
112
- "report_name",
113
- "created_at_lte",
114
- "created_at_gte",
115
- "status",
116
- "creator_id",
117
- ]
118
- null_default_fields = []
119
-
116
+ optional_fields = set(
117
+ [
118
+ "cursor",
119
+ "limit",
120
+ "report_name",
121
+ "created_at_lte",
122
+ "created_at_gte",
123
+ "status",
124
+ "creator_id",
125
+ "merchant_account_id",
126
+ ]
127
+ )
128
+ nullable_fields = set(
129
+ [
130
+ "cursor",
131
+ "report_name",
132
+ "created_at_lte",
133
+ "created_at_gte",
134
+ "status",
135
+ "creator_id",
136
+ ]
137
+ )
120
138
  serialized = handler(self)
121
-
122
139
  m = {}
123
140
 
124
141
  for n, f in type(self).model_fields.items():
125
142
  k = f.alias or n
126
143
  val = serialized.get(k)
127
- serialized.pop(k, None)
128
-
129
- optional_nullable = k in optional_fields and k in nullable_fields
130
- is_set = (
131
- self.__pydantic_fields_set__.intersection({n})
132
- or k in null_default_fields
133
- ) # pylint: disable=no-member
134
-
135
- if val is not None and val != UNSET_SENTINEL:
136
- m[k] = val
137
- elif val != UNSET_SENTINEL and (
138
- not k in optional_fields or (optional_nullable and is_set)
139
- ):
140
- m[k] = val
144
+ is_nullable_and_explicitly_set = (
145
+ k in nullable_fields
146
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
147
+ )
148
+
149
+ if val != UNSET_SENTINEL:
150
+ if (
151
+ val is not None
152
+ or k not in optional_fields
153
+ or is_nullable_and_explicitly_set
154
+ ):
155
+ m[k] = val
141
156
 
142
157
  return m
143
158
 
@@ -24,6 +24,22 @@ class ListAuditLogsGlobals(BaseModel):
24
24
  ] = None
25
25
  r"""The ID of the merchant account to use for this request."""
26
26
 
27
+ @model_serializer(mode="wrap")
28
+ def serialize_model(self, handler):
29
+ optional_fields = set(["merchant_account_id"])
30
+ serialized = handler(self)
31
+ m = {}
32
+
33
+ for n, f in type(self).model_fields.items():
34
+ k = f.alias or n
35
+ val = serialized.get(k)
36
+
37
+ if val != UNSET_SENTINEL:
38
+ if val is not None or k not in optional_fields:
39
+ m[k] = val
40
+
41
+ return m
42
+
27
43
 
28
44
  class ListAuditLogsRequestTypedDict(TypedDict):
29
45
  cursor: NotRequired[Nullable[str]]
@@ -80,38 +96,35 @@ class ListAuditLogsRequest(BaseModel):
80
96
 
81
97
  @model_serializer(mode="wrap")
82
98
  def serialize_model(self, handler):
83
- optional_fields = [
84
- "cursor",
85
- "limit",
86
- "action",
87
- "user_id",
88
- "resource_type",
89
- "merchant_account_id",
90
- ]
91
- nullable_fields = ["cursor", "action", "user_id", "resource_type"]
92
- null_default_fields = []
93
-
99
+ optional_fields = set(
100
+ [
101
+ "cursor",
102
+ "limit",
103
+ "action",
104
+ "user_id",
105
+ "resource_type",
106
+ "merchant_account_id",
107
+ ]
108
+ )
109
+ nullable_fields = set(["cursor", "action", "user_id", "resource_type"])
94
110
  serialized = handler(self)
95
-
96
111
  m = {}
97
112
 
98
113
  for n, f in type(self).model_fields.items():
99
114
  k = f.alias or n
100
115
  val = serialized.get(k)
101
- serialized.pop(k, None)
102
-
103
- optional_nullable = k in optional_fields and k in nullable_fields
104
- is_set = (
105
- self.__pydantic_fields_set__.intersection({n})
106
- or k in null_default_fields
107
- ) # pylint: disable=no-member
108
-
109
- if val is not None and val != UNSET_SENTINEL:
110
- m[k] = val
111
- elif val != UNSET_SENTINEL and (
112
- not k in optional_fields or (optional_nullable and is_set)
113
- ):
114
- m[k] = val
116
+ is_nullable_and_explicitly_set = (
117
+ k in nullable_fields
118
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
119
+ )
120
+
121
+ if val != UNSET_SENTINEL:
122
+ if (
123
+ val is not None
124
+ or k not in optional_fields
125
+ or is_nullable_and_explicitly_set
126
+ ):
127
+ m[k] = val
115
128
 
116
129
  return m
117
130
 
@@ -22,6 +22,22 @@ class ListBuyerGiftCardsGlobals(BaseModel):
22
22
  ] = None
23
23
  r"""The ID of the merchant account to use for this request."""
24
24
 
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["merchant_account_id"])
28
+ serialized = handler(self)
29
+ m = {}
30
+
31
+ for n, f in type(self).model_fields.items():
32
+ k = f.alias or n
33
+ val = serialized.get(k)
34
+
35
+ if val != UNSET_SENTINEL:
36
+ if val is not None or k not in optional_fields:
37
+ m[k] = val
38
+
39
+ return m
40
+
25
41
 
26
42
  class ListBuyerGiftCardsRequestTypedDict(TypedDict):
27
43
  buyer_external_identifier: NotRequired[Nullable[str]]
@@ -50,34 +66,27 @@ class ListBuyerGiftCardsRequest(BaseModel):
50
66
 
51
67
  @model_serializer(mode="wrap")
52
68
  def serialize_model(self, handler):
53
- optional_fields = [
54
- "buyer_external_identifier",
55
- "buyer_id",
56
- "merchant_account_id",
57
- ]
58
- nullable_fields = ["buyer_external_identifier", "buyer_id"]
59
- null_default_fields = []
60
-
69
+ optional_fields = set(
70
+ ["buyer_external_identifier", "buyer_id", "merchant_account_id"]
71
+ )
72
+ nullable_fields = set(["buyer_external_identifier", "buyer_id"])
61
73
  serialized = handler(self)
62
-
63
74
  m = {}
64
75
 
65
76
  for n, f in type(self).model_fields.items():
66
77
  k = f.alias or n
67
78
  val = serialized.get(k)
68
- serialized.pop(k, None)
69
-
70
- optional_nullable = k in optional_fields and k in nullable_fields
71
- is_set = (
72
- self.__pydantic_fields_set__.intersection({n})
73
- or k in null_default_fields
74
- ) # pylint: disable=no-member
75
-
76
- if val is not None and val != UNSET_SENTINEL:
77
- m[k] = val
78
- elif val != UNSET_SENTINEL and (
79
- not k in optional_fields or (optional_nullable and is_set)
80
- ):
81
- m[k] = val
79
+ is_nullable_and_explicitly_set = (
80
+ k in nullable_fields
81
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
82
+ )
83
+
84
+ if val != UNSET_SENTINEL:
85
+ if (
86
+ val is not None
87
+ or k not in optional_fields
88
+ or is_nullable_and_explicitly_set
89
+ ):
90
+ m[k] = val
82
91
 
83
92
  return m
@@ -35,6 +35,22 @@ class ListBuyerPaymentMethodsGlobals(BaseModel):
35
35
  ] = None
36
36
  r"""The ID of the merchant account to use for this request."""
37
37
 
38
+ @model_serializer(mode="wrap")
39
+ def serialize_model(self, handler):
40
+ optional_fields = set(["merchant_account_id"])
41
+ serialized = handler(self)
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k)
47
+
48
+ if val != UNSET_SENTINEL:
49
+ if val is not None or k not in optional_fields:
50
+ m[k] = val
51
+
52
+ return m
53
+
38
54
 
39
55
  OrderBy = Union[
40
56
  Literal[
@@ -113,44 +129,37 @@ class ListBuyerPaymentMethodsRequest(BaseModel):
113
129
 
114
130
  @model_serializer(mode="wrap")
115
131
  def serialize_model(self, handler):
116
- optional_fields = [
117
- "buyer_id",
118
- "buyer_external_identifier",
119
- "sort_by",
120
- "order_by",
121
- "country",
122
- "currency",
123
- "merchant_account_id",
124
- ]
125
- nullable_fields = [
126
- "buyer_id",
127
- "buyer_external_identifier",
128
- "sort_by",
129
- "country",
130
- "currency",
131
- ]
132
- null_default_fields = []
133
-
132
+ optional_fields = set(
133
+ [
134
+ "buyer_id",
135
+ "buyer_external_identifier",
136
+ "sort_by",
137
+ "order_by",
138
+ "country",
139
+ "currency",
140
+ "merchant_account_id",
141
+ ]
142
+ )
143
+ nullable_fields = set(
144
+ ["buyer_id", "buyer_external_identifier", "sort_by", "country", "currency"]
145
+ )
134
146
  serialized = handler(self)
135
-
136
147
  m = {}
137
148
 
138
149
  for n, f in type(self).model_fields.items():
139
150
  k = f.alias or n
140
151
  val = serialized.get(k)
141
- serialized.pop(k, None)
142
-
143
- optional_nullable = k in optional_fields and k in nullable_fields
144
- is_set = (
145
- self.__pydantic_fields_set__.intersection({n})
146
- or k in null_default_fields
147
- ) # pylint: disable=no-member
148
-
149
- if val is not None and val != UNSET_SENTINEL:
150
- m[k] = val
151
- elif val != UNSET_SENTINEL and (
152
- not k in optional_fields or (optional_nullable and is_set)
153
- ):
154
- m[k] = val
152
+ is_nullable_and_explicitly_set = (
153
+ k in nullable_fields
154
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
155
+ )
156
+
157
+ if val != UNSET_SENTINEL:
158
+ if (
159
+ val is not None
160
+ or k not in optional_fields
161
+ or is_nullable_and_explicitly_set
162
+ ):
163
+ m[k] = val
155
164
 
156
165
  return m
@@ -1,9 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from gr4vy.types import BaseModel
4
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
5
5
  from gr4vy.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
6
6
  import pydantic
7
+ from pydantic import model_serializer
7
8
  from typing import Optional
8
9
  from typing_extensions import Annotated, NotRequired, TypedDict
9
10
 
@@ -21,6 +22,22 @@ class ListBuyerShippingDetailsGlobals(BaseModel):
21
22
  ] = None
22
23
  r"""The ID of the merchant account to use for this request."""
23
24
 
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = set(["merchant_account_id"])
28
+ serialized = handler(self)
29
+ m = {}
30
+
31
+ for n, f in type(self).model_fields.items():
32
+ k = f.alias or n
33
+ val = serialized.get(k)
34
+
35
+ if val != UNSET_SENTINEL:
36
+ if val is not None or k not in optional_fields:
37
+ m[k] = val
38
+
39
+ return m
40
+
24
41
 
25
42
  class ListBuyerShippingDetailsRequestTypedDict(TypedDict):
26
43
  buyer_id: str
@@ -41,3 +58,19 @@ class ListBuyerShippingDetailsRequest(BaseModel):
41
58
  FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
42
59
  ] = None
43
60
  r"""The ID of the merchant account to use for this request."""
61
+
62
+ @model_serializer(mode="wrap")
63
+ def serialize_model(self, handler):
64
+ optional_fields = set(["merchant_account_id"])
65
+ serialized = handler(self)
66
+ m = {}
67
+
68
+ for n, f in type(self).model_fields.items():
69
+ k = f.alias or n
70
+ val = serialized.get(k)
71
+
72
+ if val != UNSET_SENTINEL:
73
+ if val is not None or k not in optional_fields:
74
+ m[k] = val
75
+
76
+ return m
@@ -23,6 +23,22 @@ class ListBuyersGlobals(BaseModel):
23
23
  ] = None
24
24
  r"""The ID of the merchant account to use for this request."""
25
25
 
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["merchant_account_id"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k)
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m
41
+
26
42
 
27
43
  class ListBuyersRequestTypedDict(TypedDict):
28
44
  cursor: NotRequired[Nullable[str]]
@@ -71,37 +87,28 @@ class ListBuyersRequest(BaseModel):
71
87
 
72
88
  @model_serializer(mode="wrap")
73
89
  def serialize_model(self, handler):
74
- optional_fields = [
75
- "cursor",
76
- "limit",
77
- "search",
78
- "external_identifier",
79
- "merchant_account_id",
80
- ]
81
- nullable_fields = ["cursor", "search", "external_identifier"]
82
- null_default_fields = []
83
-
90
+ optional_fields = set(
91
+ ["cursor", "limit", "search", "external_identifier", "merchant_account_id"]
92
+ )
93
+ nullable_fields = set(["cursor", "search", "external_identifier"])
84
94
  serialized = handler(self)
85
-
86
95
  m = {}
87
96
 
88
97
  for n, f in type(self).model_fields.items():
89
98
  k = f.alias or n
90
99
  val = serialized.get(k)
91
- serialized.pop(k, None)
92
-
93
- optional_nullable = k in optional_fields and k in nullable_fields
94
- is_set = (
95
- self.__pydantic_fields_set__.intersection({n})
96
- or k in null_default_fields
97
- ) # pylint: disable=no-member
98
-
99
- if val is not None and val != UNSET_SENTINEL:
100
- m[k] = val
101
- elif val != UNSET_SENTINEL and (
102
- not k in optional_fields or (optional_nullable and is_set)
103
- ):
104
- m[k] = val
100
+ is_nullable_and_explicitly_set = (
101
+ k in nullable_fields
102
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
103
+ )
104
+
105
+ if val != UNSET_SENTINEL:
106
+ if (
107
+ val is not None
108
+ or k not in optional_fields
109
+ or is_nullable_and_explicitly_set
110
+ ):
111
+ m[k] = val
105
112
 
106
113
  return m
107
114