moov_ruby 25.4.5 → 25.7.0

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 (327) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +14 -20
  3. data/lib/crystalline/module.rb +10 -96
  4. data/lib/crystalline/types.rb +0 -79
  5. data/lib/moov/client.rb +2 -1
  6. data/lib/moov/models/components/accounttype.rb +3 -0
  7. data/lib/moov/models/components/accountverificationstatus.rb +2 -0
  8. data/lib/moov/models/components/achcreditsamedaypaymentmethod_paymentmethodtype.rb +2 -0
  9. data/lib/moov/models/components/achcreditstandardpaymentmethod_paymentmethodtype.rb +2 -0
  10. data/lib/moov/models/components/achdebitcollectpaymentmethod_paymentmethodtype.rb +2 -0
  11. data/lib/moov/models/components/achdebitfundpaymentmethod_paymentmethodtype.rb +2 -0
  12. data/lib/moov/models/components/achreturncode.rb +2 -0
  13. data/lib/moov/models/components/achtransactionstatus.rb +2 -0
  14. data/lib/moov/models/components/applepaypaymentmethod_paymentmethodtype.rb +2 -0
  15. data/lib/moov/models/components/applicationscope.rb +2 -0
  16. data/lib/moov/models/components/bankaccountholdertype.rb +3 -0
  17. data/lib/moov/models/components/bankaccountstatus.rb +2 -0
  18. data/lib/moov/models/components/bankaccountstatusreason.rb +2 -0
  19. data/lib/moov/models/components/bankaccounttype.rb +2 -0
  20. data/lib/moov/models/components/bankaccountverificationmethod.rb +2 -0
  21. data/lib/moov/models/components/bankaccountverificationstatus.rb +2 -0
  22. data/lib/moov/models/components/bankaccountwaitfor.rb +2 -0
  23. data/lib/moov/models/components/businesspresence.rb +25 -0
  24. data/lib/moov/models/components/{transferentrymode.rbi → businesspresence.rbi} +2 -2
  25. data/lib/moov/models/components/businesstype.rb +2 -0
  26. data/lib/moov/models/components/calltoaction.rb +2 -0
  27. data/lib/moov/models/components/cancellationstatus.rb +2 -0
  28. data/lib/moov/models/components/capabilityid.rb +13 -0
  29. data/lib/moov/models/components/capabilitystatus.rb +2 -0
  30. data/lib/moov/models/components/cardacceptancemethods.rb +40 -0
  31. data/lib/moov/models/components/cardacceptancemethods.rbi +17 -0
  32. data/lib/moov/models/components/cardacceptancemethodserror.rb +40 -0
  33. data/lib/moov/models/components/cardacceptancemethodserror.rbi +17 -0
  34. data/lib/moov/models/components/cardacquiringmodel.rb +2 -0
  35. data/lib/moov/models/components/cardbrand.rb +2 -0
  36. data/lib/moov/models/components/cardissuingnetwork.rb +2 -0
  37. data/lib/moov/models/components/cardpaymentpaymentmethod_paymentmethodtype.rb +2 -0
  38. data/lib/moov/models/components/cardpresentpaymentpaymentmethod_paymentmethodtype.rb +2 -0
  39. data/lib/moov/models/components/cardtransactionfailurecode.rb +2 -0
  40. data/lib/moov/models/components/cardtransactionstatus.rb +2 -0
  41. data/lib/moov/models/components/cardtype.rb +2 -0
  42. data/lib/moov/models/components/cardupdatereason.rb +2 -0
  43. data/lib/moov/models/components/cardverificationresult.rb +2 -0
  44. data/lib/moov/models/components/collectfunds.rb +36 -0
  45. data/lib/moov/models/components/collectfunds.rbi +15 -0
  46. data/lib/moov/models/components/collectfundsach.rb +32 -0
  47. data/lib/moov/models/components/collectfundsach.rbi +13 -0
  48. data/lib/moov/models/components/collectfundsacherror.rb +32 -0
  49. data/lib/moov/models/components/collectfundsacherror.rbi +13 -0
  50. data/lib/moov/models/components/collectfundscardpayments.rb +48 -0
  51. data/lib/moov/models/components/collectfundscardpayments.rbi +21 -0
  52. data/lib/moov/models/components/collectfundscardpaymentserror.rb +48 -0
  53. data/lib/moov/models/components/collectfundscardpaymentserror.rbi +21 -0
  54. data/lib/moov/models/components/collectfundserror.rb +36 -0
  55. data/lib/moov/models/components/collectfundserror.rbi +15 -0
  56. data/lib/moov/models/components/collectionpaymentmethodtype.rb +2 -0
  57. data/lib/moov/models/components/createaccount.rb +3 -3
  58. data/lib/moov/models/components/{moovwallettransferpaymentmethod_paymentmethodtype.rb → createaccounttype.rb} +5 -2
  59. data/lib/moov/models/components/createaccounttype.rbi +11 -0
  60. data/lib/moov/models/components/createpaymentlinklineitem.rb +2 -6
  61. data/lib/moov/models/components/createpaymentlinklineitemoption.rb +1 -4
  62. data/lib/moov/models/components/createscheduledtransferlineitem.rb +1 -2
  63. data/lib/moov/models/components/createticket.rb +48 -0
  64. data/lib/moov/models/components/createticket.rbi +21 -0
  65. data/lib/moov/models/components/createticketcontacterror.rb +36 -0
  66. data/lib/moov/models/components/createticketcontacterror.rbi +15 -0
  67. data/lib/moov/models/components/createtransferlineitem.rb +1 -2
  68. data/lib/moov/models/components/debitholdperiod.rb +2 -0
  69. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
  70. data/lib/moov/models/components/disputephase.rb +2 -0
  71. data/lib/moov/models/components/disputestatus.rb +2 -0
  72. data/lib/moov/models/components/documenttype.rb +2 -0
  73. data/lib/moov/models/components/domesticpullfromcard.rb +2 -0
  74. data/lib/moov/models/components/domesticpushtocard.rb +2 -0
  75. data/lib/moov/models/components/enrichedindustries.rb +2 -2
  76. data/lib/moov/models/components/entrymode.rb +2 -0
  77. data/lib/moov/models/components/estimatedactivity.rb +40 -0
  78. data/lib/moov/models/components/estimatedactivity.rbi +17 -0
  79. data/lib/moov/models/components/estimatedactivityerror.rb +40 -0
  80. data/lib/moov/models/components/estimatedactivityerror.rbi +17 -0
  81. data/lib/moov/models/components/evidencetype.rb +2 -0
  82. data/lib/moov/models/components/feecategory.rb +2 -0
  83. data/lib/moov/models/components/feemodel.rb +2 -0
  84. data/lib/moov/models/components/feeplanagreementstatus.rb +2 -0
  85. data/lib/moov/models/components/filepurpose.rb +2 -0
  86. data/lib/moov/models/components/filestatus.rb +2 -0
  87. data/lib/moov/models/components/fulfillment.rb +36 -0
  88. data/lib/moov/models/components/fulfillment.rbi +15 -0
  89. data/lib/moov/models/components/fulfillmenterror.rb +36 -0
  90. data/lib/moov/models/components/fulfillmenterror.rbi +15 -0
  91. data/lib/moov/models/components/fulfillmentmethod.rb +28 -0
  92. data/lib/moov/models/components/fulfillmentmethod.rbi +11 -0
  93. data/lib/moov/models/components/fulfillmenttimeframe.rb +27 -0
  94. data/lib/moov/models/components/fulfillmenttimeframe.rbi +11 -0
  95. data/lib/moov/models/components/generatedby.rb +2 -6
  96. data/lib/moov/models/components/generatedby.rbi +0 -2
  97. data/lib/moov/models/components/{achcreditstandardtransferpaymentmethod_paymentmethodtype.rb → geographicreach.rb} +6 -2
  98. data/lib/moov/models/components/geographicreach.rbi +11 -0
  99. data/lib/moov/models/components/granttype.rb +2 -0
  100. data/lib/moov/models/components/guestprofile.rb +41 -0
  101. data/lib/moov/models/components/guestprofile.rbi +17 -0
  102. data/lib/moov/models/components/imagemetadata.rb +1 -1
  103. data/lib/moov/models/components/industrytaxonomy.rb +48 -0
  104. data/lib/moov/models/components/industrytaxonomy.rbi +21 -0
  105. data/lib/moov/models/components/invoicestatus.rb +2 -0
  106. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +2 -0
  107. data/lib/moov/models/components/issuedcardeventtype.rb +2 -0
  108. data/lib/moov/models/components/issuedcardformfactor.rb +2 -0
  109. data/lib/moov/models/components/issuedcardstate.rb +2 -0
  110. data/lib/moov/models/components/issuingauthorizationstatus.rb +2 -0
  111. data/lib/moov/models/components/issuingintervallimit.rb +2 -0
  112. data/lib/moov/models/components/{transferpaymentmethod.rb → itemlistnextpage.rb} +9 -4
  113. data/lib/moov/models/components/itemlistnextpage.rbi +13 -0
  114. data/lib/moov/models/components/kind.rb +2 -0
  115. data/lib/moov/models/components/linkcardwaitfor.rb +2 -0
  116. data/lib/moov/models/components/microdepositstatus.rb +2 -0
  117. data/lib/moov/models/components/mode.rb +2 -0
  118. data/lib/moov/models/components/moneytransfer.rb +36 -0
  119. data/lib/moov/models/components/moneytransfer.rbi +15 -0
  120. data/lib/moov/models/components/moneytransfererror.rb +36 -0
  121. data/lib/moov/models/components/moneytransfererror.rbi +15 -0
  122. data/lib/moov/models/components/moneytransferpullfromcard.rb +32 -0
  123. data/lib/moov/models/components/moneytransferpullfromcard.rbi +13 -0
  124. data/lib/moov/models/components/moneytransferpullfromcarderror.rb +32 -0
  125. data/lib/moov/models/components/moneytransferpullfromcarderror.rbi +13 -0
  126. data/lib/moov/models/components/moneytransferpushtocard.rb +32 -0
  127. data/lib/moov/models/components/moneytransferpushtocard.rbi +13 -0
  128. data/lib/moov/models/components/moneytransferpushtocarderror.rb +32 -0
  129. data/lib/moov/models/components/moneytransferpushtocarderror.rbi +13 -0
  130. data/lib/moov/models/components/monthlyvolumerange.rb +27 -0
  131. data/lib/moov/models/components/monthlyvolumerange.rbi +11 -0
  132. data/lib/moov/models/components/moovwalletpaymentmethod_paymentmethodtype.rb +2 -0
  133. data/lib/moov/models/components/occurrencestatus.rb +2 -0
  134. data/lib/moov/models/components/paymentlinkstatus.rb +2 -0
  135. data/lib/moov/models/components/paymentlinktype.rb +2 -0
  136. data/lib/moov/models/components/paymentmethodtype.rb +2 -0
  137. data/lib/moov/models/components/pendinglitigation.rb +29 -0
  138. data/lib/moov/models/components/pendinglitigation.rbi +11 -0
  139. data/lib/moov/models/components/primaryregulator.rb +2 -0
  140. data/lib/moov/models/components/profile.rb +6 -2
  141. data/lib/moov/models/components/profile.rbi +2 -0
  142. data/lib/moov/models/components/pullfromcardpaymentmethod_paymentmethodtype.rb +2 -0
  143. data/lib/moov/models/components/pushtocardpaymentmethod_paymentmethodtype.rb +2 -0
  144. data/lib/moov/models/components/receiptkind.rb +2 -0
  145. data/lib/moov/models/components/refundcardstatus.rb +2 -0
  146. data/lib/moov/models/components/refundpolicy.rb +28 -0
  147. data/lib/moov/models/components/refundpolicy.rbi +11 -0
  148. data/lib/moov/models/components/refundstatus.rb +2 -0
  149. data/lib/moov/models/components/requirementerrorcode.rb +2 -0
  150. data/lib/moov/models/components/requirementid.rb +56 -0
  151. data/lib/moov/models/components/returnpolicytype.rb +2 -0
  152. data/lib/moov/models/components/rtpcreditpaymentmethod_paymentmethodtype.rb +2 -0
  153. data/lib/moov/models/components/rtpfailurecode.rb +2 -0
  154. data/lib/moov/models/components/rtprejectioncode.rb +2 -0
  155. data/lib/moov/models/components/rtptransactionstatus.rb +2 -0
  156. data/lib/moov/models/components/seccode.rb +2 -0
  157. data/lib/moov/models/components/sendfunds.rb +44 -0
  158. data/lib/moov/models/components/sendfunds.rbi +19 -0
  159. data/lib/moov/models/components/sendfundsach.rb +32 -0
  160. data/lib/moov/models/components/sendfundsach.rbi +13 -0
  161. data/lib/moov/models/components/sendfundsacherror.rb +32 -0
  162. data/lib/moov/models/components/sendfundsacherror.rbi +13 -0
  163. data/lib/moov/models/components/sendfundserror.rb +44 -0
  164. data/lib/moov/models/components/sendfundserror.rbi +19 -0
  165. data/lib/moov/models/components/sendfundsinstantbank.rb +32 -0
  166. data/lib/moov/models/components/sendfundsinstantbank.rbi +13 -0
  167. data/lib/moov/models/components/sendfundsinstantbankerror.rb +32 -0
  168. data/lib/moov/models/components/sendfundsinstantbankerror.rbi +13 -0
  169. data/lib/moov/models/components/sendfundspushtocard.rb +32 -0
  170. data/lib/moov/models/components/sendfundspushtocard.rbi +13 -0
  171. data/lib/moov/models/components/sendfundspushtocarderror.rb +32 -0
  172. data/lib/moov/models/components/sendfundspushtocarderror.rbi +13 -0
  173. data/lib/moov/models/components/sendfundsrtp.rb +32 -0
  174. data/lib/moov/models/components/sendfundsrtp.rbi +13 -0
  175. data/lib/moov/models/components/sendfundsrtperror.rb +32 -0
  176. data/lib/moov/models/components/sendfundsrtperror.rbi +13 -0
  177. data/lib/moov/models/components/status.rb +2 -0
  178. data/lib/moov/models/components/{applepaytransferpaymentmethod_paymentmethodtype.rb → submissionintent.rb} +5 -2
  179. data/lib/moov/models/components/submissionintent.rbi +11 -0
  180. data/lib/moov/models/components/sweepconfigstatus.rb +2 -0
  181. data/lib/moov/models/components/sweepstatus.rb +2 -0
  182. data/lib/moov/models/components/terminalapplicationplatform.rb +2 -0
  183. data/lib/moov/models/components/terminalapplicationstatus.rb +2 -0
  184. data/lib/moov/models/components/ticket.rb +68 -0
  185. data/lib/moov/models/components/ticket.rbi +31 -0
  186. data/lib/moov/models/components/ticketcontact.rb +36 -0
  187. data/lib/moov/models/components/ticketcontact.rbi +15 -0
  188. data/lib/moov/models/components/ticketmessage.rb +40 -0
  189. data/lib/moov/models/components/ticketmessage.rbi +17 -0
  190. data/lib/moov/models/components/ticketstatus.rb +2 -0
  191. data/lib/moov/models/components/token_type_hint.rb +2 -0
  192. data/lib/moov/models/components/tokentype.rb +2 -0
  193. data/lib/moov/models/components/transactionsource.rb +2 -0
  194. data/lib/moov/models/components/transferdestination.rb +5 -5
  195. data/lib/moov/models/components/transferfailurereason.rb +2 -0
  196. data/lib/moov/models/components/transferoptions.rb +3 -3
  197. data/lib/moov/models/components/transferparty.rb +2 -0
  198. data/lib/moov/models/components/transfersource.rb +7 -7
  199. data/lib/moov/models/components/transferstatus.rb +2 -0
  200. data/lib/moov/models/components/transferwaitfor.rb +2 -0
  201. data/lib/moov/models/components/underwriting.rb +37 -9
  202. data/lib/moov/models/components/underwriting.rbi +14 -0
  203. data/lib/moov/models/components/underwritingstatus.rb +2 -0
  204. data/lib/moov/models/components/updateissuedcardstate.rb +2 -0
  205. data/lib/moov/models/components/updateticket.rb +32 -0
  206. data/lib/moov/models/components/updateticket.rbi +13 -0
  207. data/lib/moov/models/components/{rtpcredittransferpaymentmethod_paymentmethodtype.rb → updateticketstatus.rb} +4 -2
  208. data/lib/moov/models/components/updateticketstatus.rbi +11 -0
  209. data/lib/moov/models/components/upsertunderwriting.rb +60 -0
  210. data/lib/moov/models/components/upsertunderwriting.rbi +27 -0
  211. data/lib/moov/models/components/use.rb +2 -0
  212. data/lib/moov/models/components/verificationstatus.rb +2 -0
  213. data/lib/moov/models/components/verificationstatusdetail.rb +2 -0
  214. data/lib/moov/models/components/volumesharebycustomertype.rb +40 -0
  215. data/lib/moov/models/components/volumesharebycustomertype.rbi +17 -0
  216. data/lib/moov/models/components/volumesharebycustomertypeerror.rb +40 -0
  217. data/lib/moov/models/components/volumesharebycustomertypeerror.rbi +17 -0
  218. data/lib/moov/models/components/walletstatus.rb +2 -0
  219. data/lib/moov/models/components/wallettransactionsourcetype.rb +2 -0
  220. data/lib/moov/models/components/wallettransactionstatus.rb +2 -0
  221. data/lib/moov/models/components/wallettransactiontype.rb +2 -0
  222. data/lib/moov/models/components/wallettype.rb +2 -0
  223. data/lib/moov/models/components/webhookdatatransferstatus.rb +2 -0
  224. data/lib/moov/models/components/webhookeventtype.rb +2 -0
  225. data/lib/moov/models/components/webhookstatus.rb +2 -0
  226. data/lib/moov/models/components.rb +50 -30
  227. data/lib/moov/models/errors/createticketerror.rb +52 -0
  228. data/lib/moov/models/errors/createticketerror.rbi +23 -0
  229. data/lib/moov/models/errors/updateticketerror.rb +36 -0
  230. data/lib/moov/models/errors/updateticketerror.rbi +15 -0
  231. data/lib/moov/models/errors/upsertunderwritingerror.rb +88 -0
  232. data/lib/moov/models/errors/upsertunderwritingerror.rbi +41 -0
  233. data/lib/moov/models/errors.rb +3 -0
  234. data/lib/moov/models/operations/createticket_request.rb +49 -0
  235. data/lib/moov/models/operations/createticket_request.rbi +17 -0
  236. data/lib/moov/models/operations/createticket_response.rb +48 -0
  237. data/lib/moov/models/operations/createticket_response.rbi +21 -0
  238. data/lib/moov/models/operations/createtransfer_request.rb +2 -2
  239. data/lib/moov/models/operations/getscheduledoccurrence_request.rb +4 -4
  240. data/lib/moov/models/operations/getticket_request.rb +49 -0
  241. data/lib/moov/models/operations/getticket_request.rbi +17 -0
  242. data/lib/moov/models/operations/getticket_response.rb +48 -0
  243. data/lib/moov/models/operations/getticket_response.rbi +21 -0
  244. data/lib/moov/models/operations/hydrate.rb +2 -0
  245. data/lib/moov/models/operations/listaccounts_request.rb +2 -2
  246. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +2 -2
  247. data/lib/moov/models/operations/listticketmessages_request.rb +49 -0
  248. data/lib/moov/models/operations/listticketmessages_request.rbi +17 -0
  249. data/lib/moov/models/operations/listticketmessages_response.rb +48 -0
  250. data/lib/moov/models/operations/listticketmessages_response.rbi +21 -0
  251. data/lib/moov/models/operations/listtickets_request.rb +61 -0
  252. data/lib/moov/models/operations/listtickets_request.rbi +23 -0
  253. data/lib/moov/models/operations/listtickets_response.rb +48 -0
  254. data/lib/moov/models/operations/listtickets_response.rbi +21 -0
  255. data/lib/moov/models/operations/listtickets_responsebody.rb +36 -0
  256. data/lib/moov/models/operations/listtickets_responsebody.rbi +15 -0
  257. data/lib/moov/models/operations/saveunderwriting_request.rb +49 -0
  258. data/lib/moov/models/operations/saveunderwriting_request.rbi +17 -0
  259. data/lib/moov/models/operations/saveunderwriting_response.rb +48 -0
  260. data/lib/moov/models/operations/saveunderwriting_response.rbi +21 -0
  261. data/lib/moov/models/operations/updateticket_request.rb +53 -0
  262. data/lib/moov/models/operations/updateticket_request.rbi +19 -0
  263. data/lib/moov/models/operations/updateticket_response.rb +48 -0
  264. data/lib/moov/models/operations/updateticket_response.rbi +21 -0
  265. data/lib/moov/models/operations.rb +13 -0
  266. data/lib/moov/sdkconfiguration.rb +4 -4
  267. data/lib/moov/support.rb +748 -0
  268. data/lib/moov/underwriting.rb +166 -0
  269. data/lib/moov/utils/url.rb +1 -1
  270. data/lib/moov/utils/utils.rb +0 -12
  271. data/lib/moov_ruby.rb +1 -0
  272. metadata +137 -65
  273. data/lib/crystalline/enum.rbi +0 -17
  274. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod.rb +0 -40
  275. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod.rbi +0 -17
  276. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod_paymentmethodtype.rb +0 -18
  277. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod_paymentmethodtype.rbi +0 -11
  278. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod.rb +0 -40
  279. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod.rbi +0 -17
  280. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod_paymentmethodtype.rbi +0 -11
  281. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod.rb +0 -40
  282. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod.rbi +0 -17
  283. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod_paymentmethodtype.rb +0 -18
  284. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod_paymentmethodtype.rbi +0 -11
  285. data/lib/moov/models/components/achdebitfundtransferpaymentmethod.rb +0 -40
  286. data/lib/moov/models/components/achdebitfundtransferpaymentmethod.rbi +0 -17
  287. data/lib/moov/models/components/achdebitfundtransferpaymentmethod_paymentmethodtype.rb +0 -18
  288. data/lib/moov/models/components/achdebitfundtransferpaymentmethod_paymentmethodtype.rbi +0 -11
  289. data/lib/moov/models/components/applepaytransferpaymentmethod.rb +0 -40
  290. data/lib/moov/models/components/applepaytransferpaymentmethod.rbi +0 -17
  291. data/lib/moov/models/components/applepaytransferpaymentmethod_paymentmethodtype.rbi +0 -11
  292. data/lib/moov/models/components/cardpaymenttransferpaymentmethod.rb +0 -40
  293. data/lib/moov/models/components/cardpaymenttransferpaymentmethod.rbi +0 -17
  294. data/lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rb +0 -18
  295. data/lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rbi +0 -11
  296. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod.rb +0 -40
  297. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod.rbi +0 -17
  298. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod_paymentmethodtype.rb +0 -18
  299. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod_paymentmethodtype.rbi +0 -11
  300. data/lib/moov/models/components/enrichedindustry.rb +0 -44
  301. data/lib/moov/models/components/enrichedindustry.rbi +0 -19
  302. data/lib/moov/models/components/moovwallettransferpaymentmethod.rb +0 -40
  303. data/lib/moov/models/components/moovwallettransferpaymentmethod.rbi +0 -17
  304. data/lib/moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rbi +0 -11
  305. data/lib/moov/models/components/pullfromcardtransferpaymentmethod.rb +0 -40
  306. data/lib/moov/models/components/pullfromcardtransferpaymentmethod.rbi +0 -17
  307. data/lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rb +0 -18
  308. data/lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rbi +0 -11
  309. data/lib/moov/models/components/pushtocardtransferpaymentmethod.rb +0 -40
  310. data/lib/moov/models/components/pushtocardtransferpaymentmethod.rbi +0 -17
  311. data/lib/moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb +0 -18
  312. data/lib/moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rbi +0 -11
  313. data/lib/moov/models/components/rtpcredittransferpaymentmethod.rb +0 -40
  314. data/lib/moov/models/components/rtpcredittransferpaymentmethod.rbi +0 -17
  315. data/lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rbi +0 -11
  316. data/lib/moov/models/components/transferentrymode.rb +0 -18
  317. data/lib/moov/models/components/transferpaymentmethod.rbi +0 -11
  318. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +0 -70
  319. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +0 -31
  320. data/lib/moov/models/components/transferpaymentmethodscard.rb +0 -98
  321. data/lib/moov/models/components/transferpaymentmethodscard.rbi +0 -45
  322. data/lib/moov/models/components/transferpaymentmethodswallet.rb +0 -42
  323. data/lib/moov/models/components/transferpaymentmethodswallet.rbi +0 -17
  324. data/lib/moov/models/components/transferpaymentmethodtype.rb +0 -28
  325. data/lib/moov/models/components/transferpaymentmethodtype.rbi +0 -11
  326. data/lib/moov/models/components/transferterminalcard.rb +0 -78
  327. data/lib/moov/models/components/transferterminalcard.rbi +0 -35
@@ -0,0 +1,748 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module Moov
14
+ extend T::Sig
15
+ class Support
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+ sig { params(create_ticket: Models::Components::CreateTicket, account_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CreateTicketResponse) }
43
+ def create_ticket(create_ticket:, account_id:, x_moov_version: nil, timeout_ms: nil)
44
+ # create_ticket - Create a support ticket for a Moov account.
45
+ #
46
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
47
+ # you'll need to specify the `/accounts/{accountID}/tickets.write` scope.
48
+ #
49
+ # If you're creating the ticket on behalf of another account, then you'll need to
50
+ # specify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.
51
+ request = Models::Operations::CreateTicketRequest.new(
52
+ account_id: account_id,
53
+ create_ticket: create_ticket,
54
+ x_moov_version: x_moov_version
55
+ )
56
+ url, params = @sdk_configuration.get_server_details
57
+ base_url = Utils.template_url(url, params)
58
+ url = Utils.generate_url(
59
+ Models::Operations::CreateTicketRequest,
60
+ base_url,
61
+ '/accounts/{accountID}/tickets',
62
+ request,
63
+ @sdk_configuration.globals
64
+ )
65
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
66
+ headers = T.cast(headers, T::Hash[String, String])
67
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_ticket, :json)
68
+ headers['content-type'] = req_content_type
69
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
70
+
71
+ if form
72
+ body = Utils.encode_form(form)
73
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
74
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
75
+ else
76
+ body = data
77
+ end
78
+ headers['Accept'] = 'application/json'
79
+ headers['user-agent'] = @sdk_configuration.user_agent
80
+
81
+ security = @sdk_configuration.security_source&.call
82
+
83
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
84
+ timeout ||= @sdk_configuration.timeout
85
+
86
+
87
+ connection = @sdk_configuration.client
88
+
89
+ hook_ctx = SDKHooks::HookContext.new(
90
+ config: @sdk_configuration,
91
+ base_url: base_url,
92
+ oauth2_scopes: nil,
93
+ operation_id: 'createTicket',
94
+ security_source: @sdk_configuration.security_source
95
+ )
96
+
97
+ error = T.let(nil, T.nilable(StandardError))
98
+ http_response = T.let(nil, T.nilable(Faraday::Response))
99
+
100
+
101
+ begin
102
+ http_response = T.must(connection).post(url) do |req|
103
+ req.body = body
104
+ req.headers.merge!(headers)
105
+ req.options.timeout = timeout unless timeout.nil?
106
+ Utils.configure_request_security(req, security)
107
+
108
+ @sdk_configuration.hooks.before_request(
109
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
110
+ hook_ctx: hook_ctx
111
+ ),
112
+ request: req
113
+ )
114
+ end
115
+ rescue StandardError => e
116
+ error = e
117
+ ensure
118
+ if http_response.nil? || Utils.error_status?(http_response.status)
119
+ http_response = @sdk_configuration.hooks.after_error(
120
+ error: error,
121
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
122
+ hook_ctx: hook_ctx
123
+ ),
124
+ response: http_response
125
+ )
126
+ else
127
+ http_response = @sdk_configuration.hooks.after_success(
128
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
129
+ hook_ctx: hook_ctx
130
+ ),
131
+ response: http_response
132
+ )
133
+ end
134
+
135
+ if http_response.nil?
136
+ raise error if !error.nil?
137
+ raise 'no response'
138
+ end
139
+ end
140
+
141
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
142
+ if Utils.match_status_code(http_response.status, ['200'])
143
+ if Utils.match_content_type(content_type, 'application/json')
144
+ http_response = @sdk_configuration.hooks.after_success(
145
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
146
+ hook_ctx: hook_ctx
147
+ ),
148
+ response: http_response
149
+ )
150
+ response_data = http_response.env.response_body
151
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::Ticket)
152
+ response = Models::Operations::CreateTicketResponse.new(
153
+ status_code: http_response.status,
154
+ content_type: content_type,
155
+ raw_response: http_response,
156
+ headers: http_response.headers,
157
+ ticket: T.unsafe(obj)
158
+ )
159
+
160
+ return response
161
+ else
162
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
163
+ end
164
+ elsif Utils.match_status_code(http_response.status, ['400', '409'])
165
+ if Utils.match_content_type(content_type, 'application/json')
166
+ http_response = @sdk_configuration.hooks.after_success(
167
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
168
+ hook_ctx: hook_ctx
169
+ ),
170
+ response: http_response
171
+ )
172
+ response_data = http_response.env.response_body
173
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
174
+ obj.raw_response = http_response
175
+ raise obj
176
+ else
177
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
178
+ end
179
+ elsif Utils.match_status_code(http_response.status, ['422'])
180
+ if Utils.match_content_type(content_type, 'application/json')
181
+ http_response = @sdk_configuration.hooks.after_success(
182
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
183
+ hook_ctx: hook_ctx
184
+ ),
185
+ response: http_response
186
+ )
187
+ response_data = http_response.env.response_body
188
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::CreateTicketError)
189
+ obj.raw_response = http_response
190
+ raise obj
191
+ else
192
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
193
+ end
194
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
195
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
196
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
197
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
198
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
199
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
200
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
201
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
202
+ else
203
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
204
+
205
+ end
206
+ end
207
+
208
+
209
+ sig { params(request: Models::Operations::ListTicketsRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListTicketsResponse) }
210
+ def list_tickets(request:, timeout_ms: nil)
211
+ # list_tickets - List all the support tickets created under a Moov account.
212
+ #
213
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
214
+ # you'll need to specify the `/accounts/{accountID}/tickets.read` scope.
215
+ #
216
+ # If you're listing another account's tickets, then you'll need to
217
+ # specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
218
+ url, params = @sdk_configuration.get_server_details
219
+ base_url = Utils.template_url(url, params)
220
+ url = Utils.generate_url(
221
+ Models::Operations::ListTicketsRequest,
222
+ base_url,
223
+ '/accounts/{accountID}/tickets',
224
+ request,
225
+ @sdk_configuration.globals
226
+ )
227
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
228
+ headers = T.cast(headers, T::Hash[String, String])
229
+ query_params = Utils.get_query_params(Models::Operations::ListTicketsRequest, request, nil, @sdk_configuration.globals)
230
+ headers['Accept'] = 'application/json'
231
+ headers['user-agent'] = @sdk_configuration.user_agent
232
+
233
+ security = @sdk_configuration.security_source&.call
234
+
235
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
236
+ timeout ||= @sdk_configuration.timeout
237
+
238
+
239
+ connection = @sdk_configuration.client
240
+
241
+ hook_ctx = SDKHooks::HookContext.new(
242
+ config: @sdk_configuration,
243
+ base_url: base_url,
244
+ oauth2_scopes: nil,
245
+ operation_id: 'listTickets',
246
+ security_source: @sdk_configuration.security_source
247
+ )
248
+
249
+ error = T.let(nil, T.nilable(StandardError))
250
+ http_response = T.let(nil, T.nilable(Faraday::Response))
251
+
252
+
253
+ begin
254
+ http_response = T.must(connection).get(url) do |req|
255
+ req.headers.merge!(headers)
256
+ req.options.timeout = timeout unless timeout.nil?
257
+ req.params = query_params
258
+ Utils.configure_request_security(req, security)
259
+
260
+ @sdk_configuration.hooks.before_request(
261
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
262
+ hook_ctx: hook_ctx
263
+ ),
264
+ request: req
265
+ )
266
+ end
267
+ rescue StandardError => e
268
+ error = e
269
+ ensure
270
+ if http_response.nil? || Utils.error_status?(http_response.status)
271
+ http_response = @sdk_configuration.hooks.after_error(
272
+ error: error,
273
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
274
+ hook_ctx: hook_ctx
275
+ ),
276
+ response: http_response
277
+ )
278
+ else
279
+ http_response = @sdk_configuration.hooks.after_success(
280
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
281
+ hook_ctx: hook_ctx
282
+ ),
283
+ response: http_response
284
+ )
285
+ end
286
+
287
+ if http_response.nil?
288
+ raise error if !error.nil?
289
+ raise 'no response'
290
+ end
291
+ end
292
+
293
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
294
+ if Utils.match_status_code(http_response.status, ['200'])
295
+ if Utils.match_content_type(content_type, 'application/json')
296
+ http_response = @sdk_configuration.hooks.after_success(
297
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
298
+ hook_ctx: hook_ctx
299
+ ),
300
+ response: http_response
301
+ )
302
+ response_data = http_response.env.response_body
303
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListTicketsResponseBody)
304
+ response = Models::Operations::ListTicketsResponse.new(
305
+ status_code: http_response.status,
306
+ content_type: content_type,
307
+ raw_response: http_response,
308
+ headers: http_response.headers,
309
+ object: T.unsafe(obj)
310
+ )
311
+
312
+ return response
313
+ else
314
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
315
+ end
316
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
317
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
318
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
319
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
320
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
321
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
322
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
323
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
324
+ else
325
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
326
+
327
+ end
328
+ end
329
+
330
+
331
+ sig { params(account_id: ::String, ticket_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetTicketResponse) }
332
+ def get_ticket(account_id:, ticket_id:, x_moov_version: nil, timeout_ms: nil)
333
+ # get_ticket - Retrieve a support ticket by ID.
334
+ #
335
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
336
+ # you'll need to specify the `/accounts/{accountID}/tickets.read` scope.
337
+ #
338
+ # If you're retrieving another account's ticket, then you'll need to
339
+ # specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
340
+ request = Models::Operations::GetTicketRequest.new(
341
+ account_id: account_id,
342
+ ticket_id: ticket_id,
343
+ x_moov_version: x_moov_version
344
+ )
345
+ url, params = @sdk_configuration.get_server_details
346
+ base_url = Utils.template_url(url, params)
347
+ url = Utils.generate_url(
348
+ Models::Operations::GetTicketRequest,
349
+ base_url,
350
+ '/accounts/{accountID}/tickets/{ticketID}',
351
+ request,
352
+ @sdk_configuration.globals
353
+ )
354
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
355
+ headers = T.cast(headers, T::Hash[String, String])
356
+ headers['Accept'] = 'application/json'
357
+ headers['user-agent'] = @sdk_configuration.user_agent
358
+
359
+ security = @sdk_configuration.security_source&.call
360
+
361
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
362
+ timeout ||= @sdk_configuration.timeout
363
+
364
+
365
+ connection = @sdk_configuration.client
366
+
367
+ hook_ctx = SDKHooks::HookContext.new(
368
+ config: @sdk_configuration,
369
+ base_url: base_url,
370
+ oauth2_scopes: nil,
371
+ operation_id: 'getTicket',
372
+ security_source: @sdk_configuration.security_source
373
+ )
374
+
375
+ error = T.let(nil, T.nilable(StandardError))
376
+ http_response = T.let(nil, T.nilable(Faraday::Response))
377
+
378
+
379
+ begin
380
+ http_response = T.must(connection).get(url) do |req|
381
+ req.headers.merge!(headers)
382
+ req.options.timeout = timeout unless timeout.nil?
383
+ Utils.configure_request_security(req, security)
384
+
385
+ @sdk_configuration.hooks.before_request(
386
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
387
+ hook_ctx: hook_ctx
388
+ ),
389
+ request: req
390
+ )
391
+ end
392
+ rescue StandardError => e
393
+ error = e
394
+ ensure
395
+ if http_response.nil? || Utils.error_status?(http_response.status)
396
+ http_response = @sdk_configuration.hooks.after_error(
397
+ error: error,
398
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
399
+ hook_ctx: hook_ctx
400
+ ),
401
+ response: http_response
402
+ )
403
+ else
404
+ http_response = @sdk_configuration.hooks.after_success(
405
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
406
+ hook_ctx: hook_ctx
407
+ ),
408
+ response: http_response
409
+ )
410
+ end
411
+
412
+ if http_response.nil?
413
+ raise error if !error.nil?
414
+ raise 'no response'
415
+ end
416
+ end
417
+
418
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
419
+ if Utils.match_status_code(http_response.status, ['200'])
420
+ if Utils.match_content_type(content_type, 'application/json')
421
+ http_response = @sdk_configuration.hooks.after_success(
422
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
423
+ hook_ctx: hook_ctx
424
+ ),
425
+ response: http_response
426
+ )
427
+ response_data = http_response.env.response_body
428
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::Ticket)
429
+ response = Models::Operations::GetTicketResponse.new(
430
+ status_code: http_response.status,
431
+ content_type: content_type,
432
+ raw_response: http_response,
433
+ headers: http_response.headers,
434
+ ticket: T.unsafe(obj)
435
+ )
436
+
437
+ return response
438
+ else
439
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
440
+ end
441
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
442
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
443
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
444
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
445
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
446
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
447
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
448
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
449
+ else
450
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
451
+
452
+ end
453
+ end
454
+
455
+
456
+ sig { params(update_ticket: Models::Components::UpdateTicket, account_id: ::String, ticket_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateTicketResponse) }
457
+ def update_ticket(update_ticket:, account_id:, ticket_id:, x_moov_version: nil, timeout_ms: nil)
458
+ # update_ticket - Updates a support ticket.
459
+ #
460
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
461
+ # you'll need to specify the `/accounts/{accountID}/tickets.write` scope.
462
+ #
463
+ # If you're updating the ticket on behalf of another account, then you'll need to
464
+ # specify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.
465
+ request = Models::Operations::UpdateTicketRequest.new(
466
+ account_id: account_id,
467
+ ticket_id: ticket_id,
468
+ update_ticket: update_ticket,
469
+ x_moov_version: x_moov_version
470
+ )
471
+ url, params = @sdk_configuration.get_server_details
472
+ base_url = Utils.template_url(url, params)
473
+ url = Utils.generate_url(
474
+ Models::Operations::UpdateTicketRequest,
475
+ base_url,
476
+ '/accounts/{accountID}/tickets/{ticketID}',
477
+ request,
478
+ @sdk_configuration.globals
479
+ )
480
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
481
+ headers = T.cast(headers, T::Hash[String, String])
482
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :update_ticket, :json)
483
+ headers['content-type'] = req_content_type
484
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
485
+
486
+ if form
487
+ body = Utils.encode_form(form)
488
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
489
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
490
+ else
491
+ body = data
492
+ end
493
+ headers['Accept'] = 'application/json'
494
+ headers['user-agent'] = @sdk_configuration.user_agent
495
+
496
+ security = @sdk_configuration.security_source&.call
497
+
498
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
499
+ timeout ||= @sdk_configuration.timeout
500
+
501
+
502
+ connection = @sdk_configuration.client
503
+
504
+ hook_ctx = SDKHooks::HookContext.new(
505
+ config: @sdk_configuration,
506
+ base_url: base_url,
507
+ oauth2_scopes: nil,
508
+ operation_id: 'updateTicket',
509
+ security_source: @sdk_configuration.security_source
510
+ )
511
+
512
+ error = T.let(nil, T.nilable(StandardError))
513
+ http_response = T.let(nil, T.nilable(Faraday::Response))
514
+
515
+
516
+ begin
517
+ http_response = T.must(connection).patch(url) do |req|
518
+ req.body = body
519
+ req.headers.merge!(headers)
520
+ req.options.timeout = timeout unless timeout.nil?
521
+ Utils.configure_request_security(req, security)
522
+
523
+ @sdk_configuration.hooks.before_request(
524
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
525
+ hook_ctx: hook_ctx
526
+ ),
527
+ request: req
528
+ )
529
+ end
530
+ rescue StandardError => e
531
+ error = e
532
+ ensure
533
+ if http_response.nil? || Utils.error_status?(http_response.status)
534
+ http_response = @sdk_configuration.hooks.after_error(
535
+ error: error,
536
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
537
+ hook_ctx: hook_ctx
538
+ ),
539
+ response: http_response
540
+ )
541
+ else
542
+ http_response = @sdk_configuration.hooks.after_success(
543
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
544
+ hook_ctx: hook_ctx
545
+ ),
546
+ response: http_response
547
+ )
548
+ end
549
+
550
+ if http_response.nil?
551
+ raise error if !error.nil?
552
+ raise 'no response'
553
+ end
554
+ end
555
+
556
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
557
+ if Utils.match_status_code(http_response.status, ['200'])
558
+ if Utils.match_content_type(content_type, 'application/json')
559
+ http_response = @sdk_configuration.hooks.after_success(
560
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
561
+ hook_ctx: hook_ctx
562
+ ),
563
+ response: http_response
564
+ )
565
+ response_data = http_response.env.response_body
566
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::Ticket)
567
+ response = Models::Operations::UpdateTicketResponse.new(
568
+ status_code: http_response.status,
569
+ content_type: content_type,
570
+ raw_response: http_response,
571
+ headers: http_response.headers,
572
+ ticket: T.unsafe(obj)
573
+ )
574
+
575
+ return response
576
+ else
577
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
578
+ end
579
+ elsif Utils.match_status_code(http_response.status, ['400', '409'])
580
+ if Utils.match_content_type(content_type, 'application/json')
581
+ http_response = @sdk_configuration.hooks.after_success(
582
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
583
+ hook_ctx: hook_ctx
584
+ ),
585
+ response: http_response
586
+ )
587
+ response_data = http_response.env.response_body
588
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
589
+ obj.raw_response = http_response
590
+ raise obj
591
+ else
592
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
593
+ end
594
+ elsif Utils.match_status_code(http_response.status, ['422'])
595
+ if Utils.match_content_type(content_type, 'application/json')
596
+ http_response = @sdk_configuration.hooks.after_success(
597
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
598
+ hook_ctx: hook_ctx
599
+ ),
600
+ response: http_response
601
+ )
602
+ response_data = http_response.env.response_body
603
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::UpdateTicketError)
604
+ obj.raw_response = http_response
605
+ raise obj
606
+ else
607
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
608
+ end
609
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
610
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
611
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
612
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
613
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
614
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
615
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
616
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
617
+ else
618
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
619
+
620
+ end
621
+ end
622
+
623
+
624
+ sig { params(account_id: ::String, ticket_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListTicketMessagesResponse) }
625
+ def list_ticket_messages(account_id:, ticket_id:, x_moov_version: nil, timeout_ms: nil)
626
+ # list_ticket_messages - List all the messages for a support ticket.
627
+ #
628
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
629
+ # you'll need to specify the `/accounts/{accountID}/tickets.read` scope.
630
+ #
631
+ # If you're listing another account's messages, then you'll need to
632
+ # specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
633
+ request = Models::Operations::ListTicketMessagesRequest.new(
634
+ account_id: account_id,
635
+ ticket_id: ticket_id,
636
+ x_moov_version: x_moov_version
637
+ )
638
+ url, params = @sdk_configuration.get_server_details
639
+ base_url = Utils.template_url(url, params)
640
+ url = Utils.generate_url(
641
+ Models::Operations::ListTicketMessagesRequest,
642
+ base_url,
643
+ '/accounts/{accountID}/tickets/{ticketID}/messages',
644
+ request,
645
+ @sdk_configuration.globals
646
+ )
647
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
648
+ headers = T.cast(headers, T::Hash[String, String])
649
+ headers['Accept'] = 'application/json'
650
+ headers['user-agent'] = @sdk_configuration.user_agent
651
+
652
+ security = @sdk_configuration.security_source&.call
653
+
654
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
655
+ timeout ||= @sdk_configuration.timeout
656
+
657
+
658
+ connection = @sdk_configuration.client
659
+
660
+ hook_ctx = SDKHooks::HookContext.new(
661
+ config: @sdk_configuration,
662
+ base_url: base_url,
663
+ oauth2_scopes: nil,
664
+ operation_id: 'listTicketMessages',
665
+ security_source: @sdk_configuration.security_source
666
+ )
667
+
668
+ error = T.let(nil, T.nilable(StandardError))
669
+ http_response = T.let(nil, T.nilable(Faraday::Response))
670
+
671
+
672
+ begin
673
+ http_response = T.must(connection).get(url) do |req|
674
+ req.headers.merge!(headers)
675
+ req.options.timeout = timeout unless timeout.nil?
676
+ Utils.configure_request_security(req, security)
677
+
678
+ @sdk_configuration.hooks.before_request(
679
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
680
+ hook_ctx: hook_ctx
681
+ ),
682
+ request: req
683
+ )
684
+ end
685
+ rescue StandardError => e
686
+ error = e
687
+ ensure
688
+ if http_response.nil? || Utils.error_status?(http_response.status)
689
+ http_response = @sdk_configuration.hooks.after_error(
690
+ error: error,
691
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
692
+ hook_ctx: hook_ctx
693
+ ),
694
+ response: http_response
695
+ )
696
+ else
697
+ http_response = @sdk_configuration.hooks.after_success(
698
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
699
+ hook_ctx: hook_ctx
700
+ ),
701
+ response: http_response
702
+ )
703
+ end
704
+
705
+ if http_response.nil?
706
+ raise error if !error.nil?
707
+ raise 'no response'
708
+ end
709
+ end
710
+
711
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
712
+ if Utils.match_status_code(http_response.status, ['200'])
713
+ if Utils.match_content_type(content_type, 'application/json')
714
+ http_response = @sdk_configuration.hooks.after_success(
715
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
716
+ hook_ctx: hook_ctx
717
+ ),
718
+ response: http_response
719
+ )
720
+ response_data = http_response.env.response_body
721
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::TicketMessage))
722
+ response = Models::Operations::ListTicketMessagesResponse.new(
723
+ status_code: http_response.status,
724
+ content_type: content_type,
725
+ raw_response: http_response,
726
+ headers: http_response.headers,
727
+ ticket_messages: T.unsafe(obj)
728
+ )
729
+
730
+ return response
731
+ else
732
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
733
+ end
734
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
735
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
736
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
737
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
738
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
739
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
740
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
741
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
742
+ else
743
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
744
+
745
+ end
746
+ end
747
+ end
748
+ end