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
@@ -104,66 +104,65 @@ class MerchantAccountUpdate(BaseModel):
104
104
 
105
105
  @model_serializer(mode="wrap")
106
106
  def serialize_model(self, handler):
107
- optional_fields = [
108
- "account_updater_enabled",
109
- "account_updater_request_encryption_key",
110
- "account_updater_request_encryption_key_id",
111
- "account_updater_response_decryption_key",
112
- "account_updater_response_decryption_key_id",
113
- "over_capture_amount",
114
- "over_capture_percentage",
115
- "loon_client_key",
116
- "loon_secret_key",
117
- "loon_accepted_schemes",
118
- "visa_network_tokens_requestor_id",
119
- "visa_network_tokens_app_id",
120
- "amex_network_tokens_requestor_id",
121
- "amex_network_tokens_app_id",
122
- "mastercard_network_tokens_requestor_id",
123
- "mastercard_network_tokens_app_id",
124
- "async_network_tokens_enabled",
125
- "display_name",
126
- ]
127
- nullable_fields = [
128
- "account_updater_request_encryption_key",
129
- "account_updater_request_encryption_key_id",
130
- "account_updater_response_decryption_key",
131
- "account_updater_response_decryption_key_id",
132
- "over_capture_amount",
133
- "over_capture_percentage",
134
- "loon_client_key",
135
- "loon_secret_key",
136
- "loon_accepted_schemes",
137
- "visa_network_tokens_requestor_id",
138
- "visa_network_tokens_app_id",
139
- "amex_network_tokens_requestor_id",
140
- "amex_network_tokens_app_id",
141
- "mastercard_network_tokens_requestor_id",
142
- "mastercard_network_tokens_app_id",
143
- "display_name",
144
- ]
145
- null_default_fields = []
146
-
107
+ optional_fields = set(
108
+ [
109
+ "account_updater_enabled",
110
+ "account_updater_request_encryption_key",
111
+ "account_updater_request_encryption_key_id",
112
+ "account_updater_response_decryption_key",
113
+ "account_updater_response_decryption_key_id",
114
+ "over_capture_amount",
115
+ "over_capture_percentage",
116
+ "loon_client_key",
117
+ "loon_secret_key",
118
+ "loon_accepted_schemes",
119
+ "visa_network_tokens_requestor_id",
120
+ "visa_network_tokens_app_id",
121
+ "amex_network_tokens_requestor_id",
122
+ "amex_network_tokens_app_id",
123
+ "mastercard_network_tokens_requestor_id",
124
+ "mastercard_network_tokens_app_id",
125
+ "async_network_tokens_enabled",
126
+ "display_name",
127
+ ]
128
+ )
129
+ nullable_fields = set(
130
+ [
131
+ "account_updater_request_encryption_key",
132
+ "account_updater_request_encryption_key_id",
133
+ "account_updater_response_decryption_key",
134
+ "account_updater_response_decryption_key_id",
135
+ "over_capture_amount",
136
+ "over_capture_percentage",
137
+ "loon_client_key",
138
+ "loon_secret_key",
139
+ "loon_accepted_schemes",
140
+ "visa_network_tokens_requestor_id",
141
+ "visa_network_tokens_app_id",
142
+ "amex_network_tokens_requestor_id",
143
+ "amex_network_tokens_app_id",
144
+ "mastercard_network_tokens_requestor_id",
145
+ "mastercard_network_tokens_app_id",
146
+ "display_name",
147
+ ]
148
+ )
147
149
  serialized = handler(self)
148
-
149
150
  m = {}
150
151
 
151
152
  for n, f in type(self).model_fields.items():
152
153
  k = f.alias or n
153
154
  val = serialized.get(k)
154
- serialized.pop(k, None)
155
-
156
- optional_nullable = k in optional_fields and k in nullable_fields
157
- is_set = (
158
- self.__pydantic_fields_set__.intersection({n})
159
- or k in null_default_fields
160
- ) # pylint: disable=no-member
161
-
162
- if val is not None and val != UNSET_SENTINEL:
163
- m[k] = val
164
- elif val != UNSET_SENTINEL and (
165
- not k in optional_fields or (optional_nullable and is_set)
166
- ):
167
- m[k] = val
155
+ is_nullable_and_explicitly_set = (
156
+ k in nullable_fields
157
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
158
+ )
159
+
160
+ if val != UNSET_SENTINEL:
161
+ if (
162
+ val is not None
163
+ or k not in optional_fields
164
+ or is_nullable_and_explicitly_set
165
+ ):
166
+ m[k] = val
168
167
 
169
168
  return m
gr4vy/models/method.py CHANGED
@@ -70,6 +70,7 @@ Method = Union[
70
70
  "oney_3x",
71
71
  "oney_4x",
72
72
  "oney_6x",
73
+ "onlinebankingcz",
73
74
  "ovo",
74
75
  "oxxo",
75
76
  "p24",
@@ -22,30 +22,25 @@ class MockCardMerchantAdviceCodeOptions(BaseModel):
22
22
 
23
23
  @model_serializer(mode="wrap")
24
24
  def serialize_model(self, handler):
25
- optional_fields = ["result"]
26
- nullable_fields = ["result", "account_number"]
27
- null_default_fields = []
28
-
25
+ optional_fields = set(["result"])
26
+ nullable_fields = set(["result", "account_number"])
29
27
  serialized = handler(self)
30
-
31
28
  m = {}
32
29
 
33
30
  for n, f in type(self).model_fields.items():
34
31
  k = f.alias or n
35
32
  val = serialized.get(k)
36
- serialized.pop(k, None)
37
-
38
- optional_nullable = k in optional_fields and k in nullable_fields
39
- is_set = (
40
- self.__pydantic_fields_set__.intersection({n})
41
- or k in null_default_fields
42
- ) # pylint: disable=no-member
43
-
44
- if val is not None and val != UNSET_SENTINEL:
45
- m[k] = val
46
- elif val != UNSET_SENTINEL and (
47
- not k in optional_fields or (optional_nullable and is_set)
48
- ):
49
- m[k] = val
33
+ is_nullable_and_explicitly_set = (
34
+ k in nullable_fields
35
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
36
+ )
37
+
38
+ if val != UNSET_SENTINEL:
39
+ if (
40
+ val is not None
41
+ or k not in optional_fields
42
+ or is_nullable_and_explicitly_set
43
+ ):
44
+ m[k] = val
50
45
 
51
46
  return m
@@ -28,30 +28,25 @@ class MockCardOptions(BaseModel):
28
28
 
29
29
  @model_serializer(mode="wrap")
30
30
  def serialize_model(self, handler):
31
- optional_fields = ["merchant_advice_code", "skip_retry"]
32
- nullable_fields = ["merchant_advice_code", "skip_retry"]
33
- null_default_fields = []
34
-
31
+ optional_fields = set(["merchant_advice_code", "skip_retry"])
32
+ nullable_fields = set(["merchant_advice_code", "skip_retry"])
35
33
  serialized = handler(self)
36
-
37
34
  m = {}
38
35
 
39
36
  for n, f in type(self).model_fields.items():
40
37
  k = f.alias or n
41
38
  val = serialized.get(k)
42
- serialized.pop(k, None)
43
-
44
- optional_nullable = k in optional_fields and k in nullable_fields
45
- is_set = (
46
- self.__pydantic_fields_set__.intersection({n})
47
- or k in null_default_fields
48
- ) # pylint: disable=no-member
49
-
50
- if val is not None and val != UNSET_SENTINEL:
51
- m[k] = val
52
- elif val != UNSET_SENTINEL and (
53
- not k in optional_fields or (optional_nullable and is_set)
54
- ):
55
- m[k] = val
39
+ is_nullable_and_explicitly_set = (
40
+ k in nullable_fields
41
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
42
+ )
43
+
44
+ if val != UNSET_SENTINEL:
45
+ if (
46
+ val is not None
47
+ or k not in optional_fields
48
+ or is_nullable_and_explicitly_set
49
+ ):
50
+ m[k] = val
56
51
 
57
52
  return m
@@ -3,9 +3,10 @@
3
3
  from __future__ import annotations
4
4
  from .networktokenstatus import NetworkTokenStatus
5
5
  from datetime import datetime
6
- from gr4vy.types import BaseModel
6
+ from gr4vy.types import BaseModel, UNSET_SENTINEL
7
7
  from gr4vy.utils import validate_const
8
8
  import pydantic
9
+ from pydantic import model_serializer
9
10
  from pydantic.functional_validators import AfterValidator
10
11
  from typing import Literal, Optional
11
12
  from typing_extensions import Annotated, TypedDict
@@ -58,3 +59,19 @@ class NetworkToken(BaseModel):
58
59
  pydantic.Field(alias="type"),
59
60
  ] = "network-token"
60
61
  r"""Always `network-token`."""
62
+
63
+ @model_serializer(mode="wrap")
64
+ def serialize_model(self, handler):
65
+ optional_fields = set(["type"])
66
+ serialized = handler(self)
67
+ m = {}
68
+
69
+ for n, f in type(self).model_fields.items():
70
+ k = f.alias or n
71
+ val = serialized.get(k)
72
+
73
+ if val != UNSET_SENTINEL:
74
+ if val is not None or k not in optional_fields:
75
+ m[k] = val
76
+
77
+ return m
@@ -27,30 +27,25 @@ class NetworkTokenCreate(BaseModel):
27
27
 
28
28
  @model_serializer(mode="wrap")
29
29
  def serialize_model(self, handler):
30
- optional_fields = ["security_code"]
31
- nullable_fields = ["security_code"]
32
- null_default_fields = []
33
-
30
+ optional_fields = set(["security_code"])
31
+ nullable_fields = set(["security_code"])
34
32
  serialized = handler(self)
35
-
36
33
  m = {}
37
34
 
38
35
  for n, f in type(self).model_fields.items():
39
36
  k = f.alias or n
40
37
  val = serialized.get(k)
41
- serialized.pop(k, None)
42
-
43
- optional_nullable = k in optional_fields and k in nullable_fields
44
- is_set = (
45
- self.__pydantic_fields_set__.intersection({n})
46
- or k in null_default_fields
47
- ) # pylint: disable=no-member
48
-
49
- if val is not None and val != UNSET_SENTINEL:
50
- m[k] = val
51
- elif val != UNSET_SENTINEL and (
52
- not k in optional_fields or (optional_nullable and is_set)
53
- ):
54
- m[k] = val
38
+ is_nullable_and_explicitly_set = (
39
+ k in nullable_fields
40
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
41
+ )
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if (
45
+ val is not None
46
+ or k not in optional_fields
47
+ or is_nullable_and_explicitly_set
48
+ ):
49
+ m[k] = val
55
50
 
56
51
  return m
@@ -88,46 +88,45 @@ class NetworkTokenPaymentMethodCreate(BaseModel):
88
88
 
89
89
  @model_serializer(mode="wrap")
90
90
  def serialize_model(self, handler):
91
- optional_fields = [
92
- "cryptogram",
93
- "redirect_url",
94
- "card_source",
95
- "card_scheme",
96
- "card_suffix",
97
- "cardholder_name",
98
- "eci",
99
- ]
100
- nullable_fields = [
101
- "cryptogram",
102
- "redirect_url",
103
- "card_source",
104
- "card_scheme",
105
- "card_suffix",
106
- "cardholder_name",
107
- "eci",
108
- ]
109
- null_default_fields = []
110
-
91
+ optional_fields = set(
92
+ [
93
+ "cryptogram",
94
+ "redirect_url",
95
+ "card_source",
96
+ "card_scheme",
97
+ "card_suffix",
98
+ "cardholder_name",
99
+ "eci",
100
+ ]
101
+ )
102
+ nullable_fields = set(
103
+ [
104
+ "cryptogram",
105
+ "redirect_url",
106
+ "card_source",
107
+ "card_scheme",
108
+ "card_suffix",
109
+ "cardholder_name",
110
+ "eci",
111
+ ]
112
+ )
111
113
  serialized = handler(self)
112
-
113
114
  m = {}
114
115
 
115
116
  for n, f in type(self).model_fields.items():
116
117
  k = f.alias or n
117
118
  val = serialized.get(k)
118
- serialized.pop(k, None)
119
-
120
- optional_nullable = k in optional_fields and k in nullable_fields
121
- is_set = (
122
- self.__pydantic_fields_set__.intersection({n})
123
- or k in null_default_fields
124
- ) # pylint: disable=no-member
125
-
126
- if val is not None and val != UNSET_SENTINEL:
127
- m[k] = val
128
- elif val != UNSET_SENTINEL and (
129
- not k in optional_fields or (optional_nullable and is_set)
130
- ):
131
- m[k] = val
119
+ is_nullable_and_explicitly_set = (
120
+ k in nullable_fields
121
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
122
+ )
123
+
124
+ if val != UNSET_SENTINEL:
125
+ if (
126
+ val is not None
127
+ or k not in optional_fields
128
+ or is_nullable_and_explicitly_set
129
+ ):
130
+ m[k] = val
132
131
 
133
132
  return m
@@ -27,30 +27,25 @@ class NuveiAirlineDataOptions(BaseModel):
27
27
 
28
28
  @model_serializer(mode="wrap")
29
29
  def serialize_model(self, handler):
30
- optional_fields = ["seatClass", "isCardholderTraveling"]
31
- nullable_fields = ["seatClass", "isCardholderTraveling"]
32
- null_default_fields = []
33
-
30
+ optional_fields = set(["seatClass", "isCardholderTraveling"])
31
+ nullable_fields = set(["seatClass", "isCardholderTraveling"])
34
32
  serialized = handler(self)
35
-
36
33
  m = {}
37
34
 
38
35
  for n, f in type(self).model_fields.items():
39
36
  k = f.alias or n
40
37
  val = serialized.get(k)
41
- serialized.pop(k, None)
42
-
43
- optional_nullable = k in optional_fields and k in nullable_fields
44
- is_set = (
45
- self.__pydantic_fields_set__.intersection({n})
46
- or k in null_default_fields
47
- ) # pylint: disable=no-member
48
-
49
- if val is not None and val != UNSET_SENTINEL:
50
- m[k] = val
51
- elif val != UNSET_SENTINEL and (
52
- not k in optional_fields or (optional_nullable and is_set)
53
- ):
54
- m[k] = val
38
+ is_nullable_and_explicitly_set = (
39
+ k in nullable_fields
40
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
41
+ )
42
+
43
+ if val != UNSET_SENTINEL:
44
+ if (
45
+ val is not None
46
+ or k not in optional_fields
47
+ or is_nullable_and_explicitly_set
48
+ ):
49
+ m[k] = val
55
50
 
56
51
  return m
@@ -20,30 +20,25 @@ class NuveiIDealOptions(BaseModel):
20
20
 
21
21
  @model_serializer(mode="wrap")
22
22
  def serialize_model(self, handler):
23
- optional_fields = ["customData"]
24
- nullable_fields = ["customData"]
25
- null_default_fields = []
26
-
23
+ optional_fields = set(["customData"])
24
+ nullable_fields = set(["customData"])
27
25
  serialized = handler(self)
28
-
29
26
  m = {}
30
27
 
31
28
  for n, f in type(self).model_fields.items():
32
29
  k = f.alias or n
33
30
  val = serialized.get(k)
34
- serialized.pop(k, None)
35
-
36
- optional_nullable = k in optional_fields and k in nullable_fields
37
- is_set = (
38
- self.__pydantic_fields_set__.intersection({n})
39
- or k in null_default_fields
40
- ) # pylint: disable=no-member
41
-
42
- if val is not None and val != UNSET_SENTINEL:
43
- m[k] = val
44
- elif val != UNSET_SENTINEL and (
45
- not k in optional_fields or (optional_nullable and is_set)
46
- ):
47
- m[k] = val
31
+ is_nullable_and_explicitly_set = (
32
+ k in nullable_fields
33
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
34
+ )
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if (
38
+ val is not None
39
+ or k not in optional_fields
40
+ or is_nullable_and_explicitly_set
41
+ ):
42
+ m[k] = val
48
43
 
49
44
  return m
@@ -31,30 +31,25 @@ class NuveiOptions(BaseModel):
31
31
 
32
32
  @model_serializer(mode="wrap")
33
33
  def serialize_model(self, handler):
34
- optional_fields = ["customData", "airlineData"]
35
- nullable_fields = ["customData", "airlineData"]
36
- null_default_fields = []
37
-
34
+ optional_fields = set(["customData", "airlineData"])
35
+ nullable_fields = set(["customData", "airlineData"])
38
36
  serialized = handler(self)
39
-
40
37
  m = {}
41
38
 
42
39
  for n, f in type(self).model_fields.items():
43
40
  k = f.alias or n
44
41
  val = serialized.get(k)
45
- serialized.pop(k, None)
46
-
47
- optional_nullable = k in optional_fields and k in nullable_fields
48
- is_set = (
49
- self.__pydantic_fields_set__.intersection({n})
50
- or k in null_default_fields
51
- ) # pylint: disable=no-member
52
-
53
- if val is not None and val != UNSET_SENTINEL:
54
- m[k] = val
55
- elif val != UNSET_SENTINEL and (
56
- not k in optional_fields or (optional_nullable and is_set)
57
- ):
58
- m[k] = val
42
+ is_nullable_and_explicitly_set = (
43
+ k in nullable_fields
44
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
45
+ )
46
+
47
+ if val != UNSET_SENTINEL:
48
+ if (
49
+ val is not None
50
+ or k not in optional_fields
51
+ or is_nullable_and_explicitly_set
52
+ ):
53
+ m[k] = val
59
54
 
60
55
  return m
@@ -41,30 +41,25 @@ class NuveiPSEOptions(BaseModel):
41
41
 
42
42
  @model_serializer(mode="wrap")
43
43
  def serialize_model(self, handler):
44
- optional_fields = ["userType", "userFisNumber", "fiscalNumber", "bankCode"]
45
- nullable_fields = ["userType", "userFisNumber", "fiscalNumber", "bankCode"]
46
- null_default_fields = []
47
-
44
+ optional_fields = set(["userType", "userFisNumber", "fiscalNumber", "bankCode"])
45
+ nullable_fields = set(["userType", "userFisNumber", "fiscalNumber", "bankCode"])
48
46
  serialized = handler(self)
49
-
50
47
  m = {}
51
48
 
52
49
  for n, f in type(self).model_fields.items():
53
50
  k = f.alias or n
54
51
  val = serialized.get(k)
55
- serialized.pop(k, None)
56
-
57
- optional_nullable = k in optional_fields and k in nullable_fields
58
- is_set = (
59
- self.__pydantic_fields_set__.intersection({n})
60
- or k in null_default_fields
61
- ) # pylint: disable=no-member
52
+ is_nullable_and_explicitly_set = (
53
+ k in nullable_fields
54
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
55
+ )
62
56
 
63
- if val is not None and val != UNSET_SENTINEL:
64
- m[k] = val
65
- elif val != UNSET_SENTINEL and (
66
- not k in optional_fields or (optional_nullable and is_set)
67
- ):
68
- m[k] = val
57
+ if val != UNSET_SENTINEL:
58
+ if (
59
+ val is not None
60
+ or k not in optional_fields
61
+ or is_nullable_and_explicitly_set
62
+ ):
63
+ m[k] = val
69
64
 
70
65
  return m
@@ -22,30 +22,25 @@ class OxxoOptions(BaseModel):
22
22
 
23
23
  @model_serializer(mode="wrap")
24
24
  def serialize_model(self, handler):
25
- optional_fields = ["payment_method_expires_at", "approval_url"]
26
- nullable_fields = ["payment_method_expires_at", "approval_url"]
27
- null_default_fields = []
28
-
25
+ optional_fields = set(["payment_method_expires_at", "approval_url"])
26
+ nullable_fields = set(["payment_method_expires_at", "approval_url"])
29
27
  serialized = handler(self)
30
-
31
28
  m = {}
32
29
 
33
30
  for n, f in type(self).model_fields.items():
34
31
  k = f.alias or n
35
32
  val = serialized.get(k)
36
- serialized.pop(k, None)
37
-
38
- optional_nullable = k in optional_fields and k in nullable_fields
39
- is_set = (
40
- self.__pydantic_fields_set__.intersection({n})
41
- or k in null_default_fields
42
- ) # pylint: disable=no-member
43
-
44
- if val is not None and val != UNSET_SENTINEL:
45
- m[k] = val
46
- elif val != UNSET_SENTINEL and (
47
- not k in optional_fields or (optional_nullable and is_set)
48
- ):
49
- m[k] = val
33
+ is_nullable_and_explicitly_set = (
34
+ k in nullable_fields
35
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
36
+ )
37
+
38
+ if val != UNSET_SENTINEL:
39
+ if (
40
+ val is not None
41
+ or k not in optional_fields
42
+ or is_nullable_and_explicitly_set
43
+ ):
44
+ m[k] = val
50
45
 
51
46
  return m