dub 0.2.2 → 0.3.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 (270) hide show
  1. checksums.yaml +4 -4
  2. data/lib/{open_api_sdk/utils → crystalline}/metadata_fields.rb +33 -20
  3. data/lib/{open_api_sdk/utils → crystalline}/t.rb +1 -1
  4. data/lib/crystalline/utils.rb +65 -0
  5. data/lib/crystalline.rb +12 -0
  6. data/lib/dub.rb +10 -6
  7. data/lib/open_api_sdk/analytics.rb +72 -17
  8. data/lib/open_api_sdk/commissions.rb +298 -0
  9. data/lib/open_api_sdk/customers.rb +709 -0
  10. data/lib/open_api_sdk/domains.rb +574 -88
  11. data/lib/open_api_sdk/dub.rb +57 -46
  12. data/lib/open_api_sdk/embed_tokens.rb +163 -0
  13. data/lib/open_api_sdk/events.rb +154 -0
  14. data/lib/open_api_sdk/folders.rb +570 -0
  15. data/lib/open_api_sdk/links.rb +799 -188
  16. data/lib/open_api_sdk/models/operations/accesslevel.rb +18 -0
  17. data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +7 -7
  18. data/lib/open_api_sdk/models/operations/bulkcreatelinks_testvariants.rb +27 -0
  19. data/lib/open_api_sdk/models/operations/bulkdeletelinks_request.rb +24 -0
  20. data/lib/open_api_sdk/models/operations/bulkdeletelinks_response.rb +60 -0
  21. data/lib/open_api_sdk/models/operations/bulkdeletelinks_responsebody.rb +24 -0
  22. data/lib/open_api_sdk/models/operations/bulkupdatelinks_requestbody.rb +9 -6
  23. data/lib/open_api_sdk/models/operations/bulkupdatelinks_response.rb +2 -2
  24. data/lib/open_api_sdk/models/operations/bulkupdatelinks_testvariants.rb +27 -0
  25. data/lib/open_api_sdk/models/operations/checkdomainstatus_request.rb +24 -0
  26. data/lib/open_api_sdk/models/operations/checkdomainstatus_response.rb +60 -0
  27. data/lib/open_api_sdk/models/operations/click.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/color.rb +1 -2
  29. data/lib/open_api_sdk/models/operations/country.rb +266 -0
  30. data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +48 -0
  31. data/lib/open_api_sdk/models/operations/createcustomer_link.rb +39 -0
  32. data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +33 -0
  33. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +33 -0
  34. data/lib/open_api_sdk/models/operations/createcustomer_response.rb +60 -0
  35. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +60 -0
  36. data/lib/open_api_sdk/models/operations/createcustomer_type.rb +18 -0
  37. data/lib/open_api_sdk/models/operations/createdomain_requestbody.rb +16 -4
  38. data/lib/open_api_sdk/models/operations/createdomain_response.rb +2 -2
  39. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  40. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  41. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +63 -13
  42. data/lib/open_api_sdk/models/operations/createlink_response.rb +2 -2
  43. data/lib/open_api_sdk/models/operations/createpartner_link.rb +48 -0
  44. data/lib/open_api_sdk/models/operations/createpartner_requestbody.rb +45 -0
  45. data/lib/open_api_sdk/models/operations/{trackcustomer_response.rb → createpartner_response.rb} +5 -5
  46. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +104 -0
  47. data/lib/open_api_sdk/models/operations/createpartner_status.rb +23 -0
  48. data/lib/open_api_sdk/models/operations/createpartner_testvariants.rb +27 -0
  49. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +111 -0
  50. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +39 -0
  51. data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +60 -0
  52. data/lib/open_api_sdk/models/operations/createpartnerlink_testvariants.rb +27 -0
  53. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_country.rb +266 -0
  54. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +111 -0
  55. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_requestbody.rb +30 -0
  56. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_response.rb +60 -0
  57. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_responsebody.rb +27 -0
  58. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_testvariants.rb +27 -0
  59. data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +2 -2
  60. data/lib/open_api_sdk/models/operations/createtag_response.rb +2 -2
  61. data/lib/open_api_sdk/models/operations/customer.rb +33 -0
  62. data/lib/open_api_sdk/models/operations/data.rb +59 -12
  63. data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +24 -0
  64. data/lib/open_api_sdk/models/operations/deletecustomer_response.rb +60 -0
  65. data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +24 -0
  66. data/lib/open_api_sdk/models/operations/deletedomain_request.rb +2 -2
  67. data/lib/open_api_sdk/models/operations/deletedomain_response.rb +2 -2
  68. data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +2 -2
  69. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  70. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  71. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  72. data/lib/open_api_sdk/models/operations/deletelink_request.rb +2 -2
  73. data/lib/open_api_sdk/models/operations/deletelink_response.rb +3 -3
  74. data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +3 -3
  75. data/lib/open_api_sdk/models/operations/deletetag_request.rb +24 -0
  76. data/lib/open_api_sdk/models/operations/deletetag_response.rb +60 -0
  77. data/lib/open_api_sdk/models/operations/deletetag_responsebody.rb +24 -0
  78. data/lib/open_api_sdk/models/operations/discount.rb +48 -0
  79. data/lib/open_api_sdk/models/operations/event.rb +2 -3
  80. data/lib/open_api_sdk/models/operations/getcustomer_discount.rb +48 -0
  81. data/lib/open_api_sdk/models/operations/getcustomer_link.rb +39 -0
  82. data/lib/open_api_sdk/models/operations/getcustomer_partner.rb +33 -0
  83. data/lib/open_api_sdk/models/operations/getcustomer_request.rb +27 -0
  84. data/lib/open_api_sdk/models/operations/getcustomer_response.rb +60 -0
  85. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +60 -0
  86. data/lib/open_api_sdk/models/operations/getcustomer_type.rb +18 -0
  87. data/lib/open_api_sdk/models/operations/getcustomers_link.rb +39 -0
  88. data/lib/open_api_sdk/models/operations/getcustomers_partner.rb +33 -0
  89. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortby.rb +18 -0
  90. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortorder.rb +18 -0
  91. data/lib/open_api_sdk/models/operations/getcustomers_request.rb +51 -0
  92. data/lib/open_api_sdk/models/operations/getcustomers_response.rb +60 -0
  93. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +60 -0
  94. data/lib/open_api_sdk/models/operations/getcustomers_type.rb +18 -0
  95. data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +3 -3
  96. data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +2 -2
  97. data/lib/open_api_sdk/models/operations/getlinks_request.rb +26 -11
  98. data/lib/open_api_sdk/models/operations/getlinks_response.rb +2 -2
  99. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +14 -8
  100. data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +2 -2
  101. data/lib/open_api_sdk/models/operations/getqrcode_request.rb +14 -5
  102. data/lib/open_api_sdk/models/operations/getqrcode_response.rb +2 -2
  103. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rb +18 -0
  104. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rb +18 -0
  105. data/lib/open_api_sdk/models/operations/gettags_request.rb +39 -0
  106. data/lib/open_api_sdk/models/operations/gettags_response.rb +2 -2
  107. data/lib/open_api_sdk/models/operations/getworkspace_request.rb +2 -2
  108. data/lib/open_api_sdk/models/operations/getworkspace_response.rb +2 -2
  109. data/lib/open_api_sdk/models/operations/groupby.rb +13 -4
  110. data/lib/open_api_sdk/models/operations/interval.rb +5 -5
  111. data/lib/open_api_sdk/models/operations/level.rb +1 -2
  112. data/lib/open_api_sdk/models/operations/link.rb +48 -0
  113. data/lib/open_api_sdk/models/operations/linkprops.rb +111 -0
  114. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_interval.rb +25 -0
  115. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb +18 -0
  116. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb +18 -0
  117. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +60 -0
  118. data/lib/open_api_sdk/models/operations/listcommissions_response.rb +60 -0
  119. data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +51 -0
  120. data/lib/open_api_sdk/models/operations/listcommissions_status.rb +23 -0
  121. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +20 -0
  122. data/lib/open_api_sdk/models/operations/listdomains_request.rb +33 -0
  123. data/lib/open_api_sdk/models/operations/listdomains_response.rb +2 -2
  124. data/lib/open_api_sdk/models/operations/listevents_request.rb +138 -0
  125. data/lib/open_api_sdk/models/operations/listevents_response.rb +60 -0
  126. data/lib/open_api_sdk/models/operations/listfolders_request.rb +30 -0
  127. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  128. data/lib/open_api_sdk/models/operations/mode.rb +18 -0
  129. data/lib/open_api_sdk/models/operations/order.rb +20 -0
  130. data/lib/open_api_sdk/models/operations/partner.rb +45 -0
  131. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +3 -2
  132. data/lib/open_api_sdk/models/operations/queryparam_event.rb +19 -0
  133. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  134. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +25 -0
  135. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +17 -0
  136. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +18 -0
  137. data/lib/open_api_sdk/models/operations/queryparam_status.rb +23 -0
  138. data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +18 -0
  139. data/lib/open_api_sdk/models/operations/registerdomain_requestbody.rb +24 -0
  140. data/lib/open_api_sdk/models/operations/registerdomain_response.rb +60 -0
  141. data/lib/open_api_sdk/models/operations/registerdomain_responsebody.rb +30 -0
  142. data/lib/open_api_sdk/models/operations/requestbody.rb +63 -13
  143. data/lib/open_api_sdk/models/operations/responsebody.rb +33 -0
  144. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +60 -15
  145. data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +2 -2
  146. data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +27 -0
  147. data/lib/open_api_sdk/models/operations/retrievelinks_response.rb +60 -0
  148. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +25 -0
  149. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +42 -0
  150. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  151. data/lib/open_api_sdk/models/operations/sale.rb +36 -0
  152. data/lib/open_api_sdk/models/operations/sort.rb +5 -3
  153. data/lib/open_api_sdk/models/operations/sortby.rb +20 -0
  154. data/lib/open_api_sdk/models/operations/sortorder.rb +18 -0
  155. data/lib/open_api_sdk/models/operations/status.rb +20 -0
  156. data/lib/open_api_sdk/models/operations/testvariants.rb +27 -0
  157. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +19 -13
  158. data/lib/open_api_sdk/models/operations/tracklead_response.rb +2 -2
  159. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +8 -23
  160. data/lib/open_api_sdk/models/operations/tracksale_customer.rb +36 -0
  161. data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +15 -12
  162. data/lib/open_api_sdk/models/operations/tracksale_response.rb +2 -2
  163. data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +8 -20
  164. data/lib/open_api_sdk/models/operations/trigger.rb +18 -0
  165. data/lib/open_api_sdk/models/operations/type.rb +20 -0
  166. data/lib/open_api_sdk/models/operations/updatecommission_request.rb +27 -0
  167. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +33 -0
  168. data/lib/open_api_sdk/models/operations/updatecommission_response.rb +60 -0
  169. data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +51 -0
  170. data/lib/open_api_sdk/models/operations/updatecommission_status.rb +23 -0
  171. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +20 -0
  172. data/lib/open_api_sdk/models/operations/updatecustomer_discount.rb +48 -0
  173. data/lib/open_api_sdk/models/operations/updatecustomer_link.rb +39 -0
  174. data/lib/open_api_sdk/models/operations/updatecustomer_partner.rb +33 -0
  175. data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +30 -0
  176. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +33 -0
  177. data/lib/open_api_sdk/models/operations/updatecustomer_response.rb +60 -0
  178. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +60 -0
  179. data/lib/open_api_sdk/models/operations/updatecustomer_type.rb +18 -0
  180. data/lib/open_api_sdk/models/operations/updatedomain_request.rb +2 -2
  181. data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +16 -4
  182. data/lib/open_api_sdk/models/operations/updatedomain_response.rb +2 -2
  183. data/lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb +18 -0
  184. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  185. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  186. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  187. data/lib/open_api_sdk/models/operations/updatelink_request.rb +2 -2
  188. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +61 -17
  189. data/lib/open_api_sdk/models/operations/updatelink_response.rb +2 -2
  190. data/lib/open_api_sdk/models/operations/updatelink_testvariants.rb +27 -0
  191. data/lib/open_api_sdk/models/operations/updatetag_color.rb +1 -2
  192. data/lib/open_api_sdk/models/operations/updatetag_request.rb +2 -2
  193. data/lib/open_api_sdk/models/operations/updatetag_requestbody.rb +2 -2
  194. data/lib/open_api_sdk/models/operations/updatetag_response.rb +2 -2
  195. data/lib/open_api_sdk/models/operations/updateworkspace_request.rb +2 -2
  196. data/lib/open_api_sdk/models/operations/updateworkspace_requestbody.rb +13 -4
  197. data/lib/open_api_sdk/models/operations/updateworkspace_response.rb +2 -2
  198. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +63 -13
  199. data/lib/open_api_sdk/models/operations/upsertlink_response.rb +2 -2
  200. data/lib/open_api_sdk/models/operations/upsertlink_testvariants.rb +27 -0
  201. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +111 -0
  202. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +39 -0
  203. data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +60 -0
  204. data/lib/open_api_sdk/models/operations/upsertpartnerlink_testvariants.rb +27 -0
  205. data/lib/open_api_sdk/models/operations.rb +149 -25
  206. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  207. data/lib/open_api_sdk/models/shared/badrequest.rb +3 -3
  208. data/lib/open_api_sdk/models/shared/code.rb +1 -2
  209. data/lib/open_api_sdk/models/shared/color.rb +1 -2
  210. data/lib/open_api_sdk/models/shared/conflict.rb +3 -3
  211. data/lib/open_api_sdk/models/shared/conflict_code.rb +1 -2
  212. data/lib/open_api_sdk/models/shared/conflict_error.rb +2 -2
  213. data/lib/open_api_sdk/models/shared/continentcode.rb +23 -0
  214. data/lib/open_api_sdk/models/shared/countrycode.rb +2 -3
  215. data/lib/open_api_sdk/models/shared/domains.rb +7 -4
  216. data/lib/open_api_sdk/models/shared/domainschema.rb +19 -4
  217. data/lib/open_api_sdk/models/shared/error.rb +2 -2
  218. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  219. data/lib/open_api_sdk/models/shared/forbidden.rb +3 -3
  220. data/lib/open_api_sdk/models/shared/forbidden_code.rb +1 -2
  221. data/lib/open_api_sdk/models/shared/forbidden_error.rb +2 -2
  222. data/lib/open_api_sdk/models/shared/geo.rb +2 -2
  223. data/lib/open_api_sdk/models/shared/internalservererror.rb +3 -3
  224. data/lib/open_api_sdk/models/shared/internalservererror_code.rb +1 -2
  225. data/lib/open_api_sdk/models/shared/internalservererror_error.rb +2 -2
  226. data/lib/open_api_sdk/models/shared/inviteexpired.rb +3 -3
  227. data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +1 -2
  228. data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +2 -2
  229. data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +2 -2
  230. data/lib/open_api_sdk/models/shared/linkschema.rb +42 -12
  231. data/lib/open_api_sdk/models/shared/notfound.rb +3 -3
  232. data/lib/open_api_sdk/models/shared/notfound_code.rb +1 -2
  233. data/lib/open_api_sdk/models/shared/notfound_error.rb +2 -2
  234. data/lib/open_api_sdk/models/shared/plan.rb +2 -2
  235. data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +3 -3
  236. data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +1 -2
  237. data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +2 -2
  238. data/lib/open_api_sdk/models/shared/registereddomain.rb +30 -0
  239. data/lib/open_api_sdk/models/shared/role.rb +1 -2
  240. data/lib/open_api_sdk/models/shared/security.rb +4 -4
  241. data/lib/open_api_sdk/models/shared/tagschema.rb +2 -2
  242. data/lib/open_api_sdk/models/shared/testvariants.rb +27 -0
  243. data/lib/open_api_sdk/models/shared/type.rb +18 -0
  244. data/lib/open_api_sdk/models/shared/unauthorized.rb +3 -3
  245. data/lib/open_api_sdk/models/shared/unauthorized_code.rb +1 -2
  246. data/lib/open_api_sdk/models/shared/unauthorized_error.rb +2 -2
  247. data/lib/open_api_sdk/models/shared/unprocessableentity.rb +3 -3
  248. data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +1 -2
  249. data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +2 -2
  250. data/lib/open_api_sdk/models/shared/users.rb +7 -4
  251. data/lib/open_api_sdk/models/shared/workspaceschema.rb +50 -8
  252. data/lib/open_api_sdk/models/shared.rb +8 -2
  253. data/lib/open_api_sdk/partners.rb +701 -0
  254. data/lib/open_api_sdk/qr_codes.rb +71 -17
  255. data/lib/open_api_sdk/sdk_hooks/hooks.rb +103 -0
  256. data/lib/open_api_sdk/sdk_hooks/registration.rb +35 -0
  257. data/lib/open_api_sdk/sdk_hooks/types.rb +152 -0
  258. data/lib/open_api_sdk/sdkconfiguration.rb +33 -10
  259. data/lib/open_api_sdk/tags.rb +366 -68
  260. data/lib/open_api_sdk/track.rb +148 -122
  261. data/lib/open_api_sdk/utils/retries.rb +95 -0
  262. data/lib/open_api_sdk/utils/utils.rb +26 -60
  263. data/lib/open_api_sdk/workspaces.rb +145 -36
  264. metadata +198 -15
  265. data/lib/open_api_sdk/metatags.rb +0 -54
  266. data/lib/open_api_sdk/models/operations/getmetatags_request.rb +0 -24
  267. data/lib/open_api_sdk/models/operations/getmetatags_response.rb +0 -33
  268. data/lib/open_api_sdk/models/operations/getmetatags_responsebody.rb +0 -30
  269. data/lib/open_api_sdk/models/operations/trackcustomer_requestbody.rb +0 -33
  270. data/lib/open_api_sdk/models/operations/trackcustomer_responsebody.rb +0 -33
@@ -0,0 +1,701 @@
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 OpenApiSDK
14
+ extend T::Sig
15
+ class Partners
16
+ extend T::Sig
17
+
18
+
19
+ sig { params(sdk_config: SDKConfiguration).void }
20
+ def initialize(sdk_config)
21
+ @sdk_configuration = sdk_config
22
+ end
23
+
24
+
25
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::CreatePartnerRequestBody), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::CreatePartnerResponse) }
26
+ def create(request, timeout_ms = nil)
27
+ # create - Create a partner
28
+ # Create a partner for a program. If partner exists, automatically enrolls them.
29
+ url, params = @sdk_configuration.get_server_details
30
+ base_url = Utils.template_url(url, params)
31
+ url = "#{base_url}/partners"
32
+ headers = {}
33
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
34
+ headers['content-type'] = req_content_type
35
+
36
+ if form
37
+ body = Utils.encode_form(form)
38
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
39
+ body = URI.encode_www_form(data)
40
+ else
41
+ body = data
42
+ end
43
+ headers['Accept'] = 'application/json'
44
+ headers['user-agent'] = @sdk_configuration.user_agent
45
+
46
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
47
+
48
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
49
+ timeout ||= @sdk_configuration.timeout
50
+
51
+ connection = @sdk_configuration.client
52
+
53
+ hook_ctx = SDKHooks::HookContext.new(
54
+ base_url: base_url,
55
+ oauth2_scopes: nil,
56
+ operation_id: 'createPartner',
57
+ security_source: @sdk_configuration.security_source
58
+ )
59
+
60
+ error = T.let(nil, T.nilable(StandardError))
61
+ r = T.let(nil, T.nilable(Faraday::Response))
62
+
63
+ begin
64
+ r = connection.post(url) do |req|
65
+ req.body = body
66
+ req.headers.merge!(headers)
67
+ req.options.timeout = timeout unless timeout.nil?
68
+ Utils.configure_request_security(req, security)
69
+
70
+ @sdk_configuration.hooks.before_request(
71
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
72
+ hook_ctx: hook_ctx
73
+ ),
74
+ request: req
75
+ )
76
+ end
77
+ rescue StandardError => e
78
+ error = e
79
+ ensure
80
+ if r.nil? || Utils.error_status?(r.status)
81
+ r = @sdk_configuration.hooks.after_error(
82
+ error: error,
83
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
84
+ hook_ctx: hook_ctx
85
+ ),
86
+ response: r
87
+ )
88
+ else
89
+ r = @sdk_configuration.hooks.after_success(
90
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
91
+ hook_ctx: hook_ctx
92
+ ),
93
+ response: r
94
+ )
95
+ end
96
+
97
+ if r.nil?
98
+ raise error if !error.nil?
99
+ raise 'no response'
100
+ end
101
+ end
102
+
103
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
104
+
105
+ res = ::OpenApiSDK::Operations::CreatePartnerResponse.new(
106
+ status_code: r.status, content_type: content_type, raw_response: r
107
+ )
108
+ if r.status == 201
109
+ if Utils.match_content_type(content_type, 'application/json')
110
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Operations::CreatePartnerResponseBody)
111
+ res.object = out
112
+ end
113
+ elsif r.status == 400
114
+ if Utils.match_content_type(content_type, 'application/json')
115
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
116
+ res.bad_request = out
117
+ end
118
+ elsif r.status == 401
119
+ if Utils.match_content_type(content_type, 'application/json')
120
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
121
+ res.unauthorized = out
122
+ end
123
+ elsif r.status == 403
124
+ if Utils.match_content_type(content_type, 'application/json')
125
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
126
+ res.forbidden = out
127
+ end
128
+ elsif r.status == 404
129
+ if Utils.match_content_type(content_type, 'application/json')
130
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
131
+ res.not_found = out
132
+ end
133
+ elsif r.status == 409
134
+ if Utils.match_content_type(content_type, 'application/json')
135
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
136
+ res.conflict = out
137
+ end
138
+ elsif r.status == 410
139
+ if Utils.match_content_type(content_type, 'application/json')
140
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
141
+ res.invite_expired = out
142
+ end
143
+ elsif r.status == 422
144
+ if Utils.match_content_type(content_type, 'application/json')
145
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
146
+ res.unprocessable_entity = out
147
+ end
148
+ elsif r.status == 429
149
+ if Utils.match_content_type(content_type, 'application/json')
150
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
151
+ res.rate_limit_exceeded = out
152
+ end
153
+ elsif r.status == 500
154
+ if Utils.match_content_type(content_type, 'application/json')
155
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
156
+ res.internal_server_error = out
157
+ end
158
+ end
159
+
160
+ res
161
+ end
162
+
163
+
164
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::CreatePartnerLinkRequestBody), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::CreatePartnerLinkResponse) }
165
+ def create_link(request, timeout_ms = nil)
166
+ # create_link - Create a link for a partner
167
+ # Create a link for a partner that is enrolled in your program.
168
+ url, params = @sdk_configuration.get_server_details
169
+ base_url = Utils.template_url(url, params)
170
+ url = "#{base_url}/partners/links"
171
+ headers = {}
172
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
173
+ headers['content-type'] = req_content_type
174
+
175
+ if form
176
+ body = Utils.encode_form(form)
177
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
178
+ body = URI.encode_www_form(data)
179
+ else
180
+ body = data
181
+ end
182
+ headers['Accept'] = 'application/json'
183
+ headers['user-agent'] = @sdk_configuration.user_agent
184
+
185
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
186
+
187
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
188
+ timeout ||= @sdk_configuration.timeout
189
+
190
+ connection = @sdk_configuration.client
191
+
192
+ hook_ctx = SDKHooks::HookContext.new(
193
+ base_url: base_url,
194
+ oauth2_scopes: nil,
195
+ operation_id: 'createPartnerLink',
196
+ security_source: @sdk_configuration.security_source
197
+ )
198
+
199
+ error = T.let(nil, T.nilable(StandardError))
200
+ r = T.let(nil, T.nilable(Faraday::Response))
201
+
202
+ begin
203
+ r = connection.post(url) do |req|
204
+ req.body = body
205
+ req.headers.merge!(headers)
206
+ req.options.timeout = timeout unless timeout.nil?
207
+ Utils.configure_request_security(req, security)
208
+
209
+ @sdk_configuration.hooks.before_request(
210
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
211
+ hook_ctx: hook_ctx
212
+ ),
213
+ request: req
214
+ )
215
+ end
216
+ rescue StandardError => e
217
+ error = e
218
+ ensure
219
+ if r.nil? || Utils.error_status?(r.status)
220
+ r = @sdk_configuration.hooks.after_error(
221
+ error: error,
222
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
223
+ hook_ctx: hook_ctx
224
+ ),
225
+ response: r
226
+ )
227
+ else
228
+ r = @sdk_configuration.hooks.after_success(
229
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
230
+ hook_ctx: hook_ctx
231
+ ),
232
+ response: r
233
+ )
234
+ end
235
+
236
+ if r.nil?
237
+ raise error if !error.nil?
238
+ raise 'no response'
239
+ end
240
+ end
241
+
242
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
243
+
244
+ res = ::OpenApiSDK::Operations::CreatePartnerLinkResponse.new(
245
+ status_code: r.status, content_type: content_type, raw_response: r
246
+ )
247
+ if r.status == 201
248
+ if Utils.match_content_type(content_type, 'application/json')
249
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::LinkSchema)
250
+ res.link_schema = out
251
+ end
252
+ elsif r.status == 400
253
+ if Utils.match_content_type(content_type, 'application/json')
254
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
255
+ res.bad_request = out
256
+ end
257
+ elsif r.status == 401
258
+ if Utils.match_content_type(content_type, 'application/json')
259
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
260
+ res.unauthorized = out
261
+ end
262
+ elsif r.status == 403
263
+ if Utils.match_content_type(content_type, 'application/json')
264
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
265
+ res.forbidden = out
266
+ end
267
+ elsif r.status == 404
268
+ if Utils.match_content_type(content_type, 'application/json')
269
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
270
+ res.not_found = out
271
+ end
272
+ elsif r.status == 409
273
+ if Utils.match_content_type(content_type, 'application/json')
274
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
275
+ res.conflict = out
276
+ end
277
+ elsif r.status == 410
278
+ if Utils.match_content_type(content_type, 'application/json')
279
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
280
+ res.invite_expired = out
281
+ end
282
+ elsif r.status == 422
283
+ if Utils.match_content_type(content_type, 'application/json')
284
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
285
+ res.unprocessable_entity = out
286
+ end
287
+ elsif r.status == 429
288
+ if Utils.match_content_type(content_type, 'application/json')
289
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
290
+ res.rate_limit_exceeded = out
291
+ end
292
+ elsif r.status == 500
293
+ if Utils.match_content_type(content_type, 'application/json')
294
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
295
+ res.internal_server_error = out
296
+ end
297
+ end
298
+
299
+ res
300
+ end
301
+
302
+
303
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::RetrieveLinksRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::RetrieveLinksResponse) }
304
+ def retrieve_links(request, timeout_ms = nil)
305
+ # retrieve_links - Retrieve a partner's links.
306
+ # Retrieve a partner's links by their partner ID or tenant ID.
307
+ url, params = @sdk_configuration.get_server_details
308
+ base_url = Utils.template_url(url, params)
309
+ url = "#{base_url}/partners/links"
310
+ headers = {}
311
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrieveLinksRequest, request)
312
+ headers['Accept'] = 'application/json'
313
+ headers['user-agent'] = @sdk_configuration.user_agent
314
+
315
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
316
+
317
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
318
+ timeout ||= @sdk_configuration.timeout
319
+
320
+ connection = @sdk_configuration.client
321
+
322
+ hook_ctx = SDKHooks::HookContext.new(
323
+ base_url: base_url,
324
+ oauth2_scopes: nil,
325
+ operation_id: 'retrieveLinks',
326
+ security_source: @sdk_configuration.security_source
327
+ )
328
+
329
+ error = T.let(nil, T.nilable(StandardError))
330
+ r = T.let(nil, T.nilable(Faraday::Response))
331
+
332
+ begin
333
+ r = connection.get(url) do |req|
334
+ req.headers.merge!(headers)
335
+ req.options.timeout = timeout unless timeout.nil?
336
+ req.params = query_params
337
+ Utils.configure_request_security(req, security)
338
+
339
+ @sdk_configuration.hooks.before_request(
340
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
341
+ hook_ctx: hook_ctx
342
+ ),
343
+ request: req
344
+ )
345
+ end
346
+ rescue StandardError => e
347
+ error = e
348
+ ensure
349
+ if r.nil? || Utils.error_status?(r.status)
350
+ r = @sdk_configuration.hooks.after_error(
351
+ error: error,
352
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
353
+ hook_ctx: hook_ctx
354
+ ),
355
+ response: r
356
+ )
357
+ else
358
+ r = @sdk_configuration.hooks.after_success(
359
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
360
+ hook_ctx: hook_ctx
361
+ ),
362
+ response: r
363
+ )
364
+ end
365
+
366
+ if r.nil?
367
+ raise error if !error.nil?
368
+ raise 'no response'
369
+ end
370
+ end
371
+
372
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
373
+
374
+ res = ::OpenApiSDK::Operations::RetrieveLinksResponse.new(
375
+ status_code: r.status, content_type: content_type, raw_response: r
376
+ )
377
+ if r.status == 200
378
+ if Utils.match_content_type(content_type, 'application/json')
379
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), T::Array[::OpenApiSDK::Operations::Link])
380
+ res.links = out
381
+ end
382
+ elsif r.status == 400
383
+ if Utils.match_content_type(content_type, 'application/json')
384
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
385
+ res.bad_request = out
386
+ end
387
+ elsif r.status == 401
388
+ if Utils.match_content_type(content_type, 'application/json')
389
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
390
+ res.unauthorized = out
391
+ end
392
+ elsif r.status == 403
393
+ if Utils.match_content_type(content_type, 'application/json')
394
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
395
+ res.forbidden = out
396
+ end
397
+ elsif r.status == 404
398
+ if Utils.match_content_type(content_type, 'application/json')
399
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
400
+ res.not_found = out
401
+ end
402
+ elsif r.status == 409
403
+ if Utils.match_content_type(content_type, 'application/json')
404
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
405
+ res.conflict = out
406
+ end
407
+ elsif r.status == 410
408
+ if Utils.match_content_type(content_type, 'application/json')
409
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
410
+ res.invite_expired = out
411
+ end
412
+ elsif r.status == 422
413
+ if Utils.match_content_type(content_type, 'application/json')
414
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
415
+ res.unprocessable_entity = out
416
+ end
417
+ elsif r.status == 429
418
+ if Utils.match_content_type(content_type, 'application/json')
419
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
420
+ res.rate_limit_exceeded = out
421
+ end
422
+ elsif r.status == 500
423
+ if Utils.match_content_type(content_type, 'application/json')
424
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
425
+ res.internal_server_error = out
426
+ end
427
+ end
428
+
429
+ res
430
+ end
431
+
432
+
433
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::UpsertPartnerLinkRequestBody), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::UpsertPartnerLinkResponse) }
434
+ def upsert_link(request, timeout_ms = nil)
435
+ # upsert_link - Upsert a link for a partner
436
+ # Upsert a link for a partner that is enrolled in your program. If a link with the same URL already exists, return it (or update it if there are any changes). Otherwise, a new link will be created.
437
+ url, params = @sdk_configuration.get_server_details
438
+ base_url = Utils.template_url(url, params)
439
+ url = "#{base_url}/partners/links/upsert"
440
+ headers = {}
441
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
442
+ headers['content-type'] = req_content_type
443
+
444
+ if form
445
+ body = Utils.encode_form(form)
446
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
447
+ body = URI.encode_www_form(data)
448
+ else
449
+ body = data
450
+ end
451
+ headers['Accept'] = 'application/json'
452
+ headers['user-agent'] = @sdk_configuration.user_agent
453
+
454
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
455
+
456
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
457
+ timeout ||= @sdk_configuration.timeout
458
+
459
+ connection = @sdk_configuration.client
460
+
461
+ hook_ctx = SDKHooks::HookContext.new(
462
+ base_url: base_url,
463
+ oauth2_scopes: nil,
464
+ operation_id: 'upsertPartnerLink',
465
+ security_source: @sdk_configuration.security_source
466
+ )
467
+
468
+ error = T.let(nil, T.nilable(StandardError))
469
+ r = T.let(nil, T.nilable(Faraday::Response))
470
+
471
+ begin
472
+ r = connection.put(url) do |req|
473
+ req.body = body
474
+ req.headers.merge!(headers)
475
+ req.options.timeout = timeout unless timeout.nil?
476
+ Utils.configure_request_security(req, security)
477
+
478
+ @sdk_configuration.hooks.before_request(
479
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
480
+ hook_ctx: hook_ctx
481
+ ),
482
+ request: req
483
+ )
484
+ end
485
+ rescue StandardError => e
486
+ error = e
487
+ ensure
488
+ if r.nil? || Utils.error_status?(r.status)
489
+ r = @sdk_configuration.hooks.after_error(
490
+ error: error,
491
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
492
+ hook_ctx: hook_ctx
493
+ ),
494
+ response: r
495
+ )
496
+ else
497
+ r = @sdk_configuration.hooks.after_success(
498
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
499
+ hook_ctx: hook_ctx
500
+ ),
501
+ response: r
502
+ )
503
+ end
504
+
505
+ if r.nil?
506
+ raise error if !error.nil?
507
+ raise 'no response'
508
+ end
509
+ end
510
+
511
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
512
+
513
+ res = ::OpenApiSDK::Operations::UpsertPartnerLinkResponse.new(
514
+ status_code: r.status, content_type: content_type, raw_response: r
515
+ )
516
+ if r.status == 200
517
+ if Utils.match_content_type(content_type, 'application/json')
518
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::LinkSchema)
519
+ res.link_schema = out
520
+ end
521
+ elsif r.status == 400
522
+ if Utils.match_content_type(content_type, 'application/json')
523
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
524
+ res.bad_request = out
525
+ end
526
+ elsif r.status == 401
527
+ if Utils.match_content_type(content_type, 'application/json')
528
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
529
+ res.unauthorized = out
530
+ end
531
+ elsif r.status == 403
532
+ if Utils.match_content_type(content_type, 'application/json')
533
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
534
+ res.forbidden = out
535
+ end
536
+ elsif r.status == 404
537
+ if Utils.match_content_type(content_type, 'application/json')
538
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
539
+ res.not_found = out
540
+ end
541
+ elsif r.status == 409
542
+ if Utils.match_content_type(content_type, 'application/json')
543
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
544
+ res.conflict = out
545
+ end
546
+ elsif r.status == 410
547
+ if Utils.match_content_type(content_type, 'application/json')
548
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
549
+ res.invite_expired = out
550
+ end
551
+ elsif r.status == 422
552
+ if Utils.match_content_type(content_type, 'application/json')
553
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
554
+ res.unprocessable_entity = out
555
+ end
556
+ elsif r.status == 429
557
+ if Utils.match_content_type(content_type, 'application/json')
558
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
559
+ res.rate_limit_exceeded = out
560
+ end
561
+ elsif r.status == 500
562
+ if Utils.match_content_type(content_type, 'application/json')
563
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
564
+ res.internal_server_error = out
565
+ end
566
+ end
567
+
568
+ res
569
+ end
570
+
571
+
572
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse) }
573
+ def analytics(request, timeout_ms = nil)
574
+ # analytics - Retrieve analytics for a partner
575
+ # Retrieve analytics for a partner within a program. The response type vary based on the `groupBy` query parameter.
576
+ url, params = @sdk_configuration.get_server_details
577
+ base_url = Utils.template_url(url, params)
578
+ url = "#{base_url}/partners/analytics"
579
+ headers = {}
580
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest, request)
581
+ headers['Accept'] = 'application/json'
582
+ headers['user-agent'] = @sdk_configuration.user_agent
583
+
584
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
585
+
586
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
587
+ timeout ||= @sdk_configuration.timeout
588
+
589
+ connection = @sdk_configuration.client
590
+
591
+ hook_ctx = SDKHooks::HookContext.new(
592
+ base_url: base_url,
593
+ oauth2_scopes: nil,
594
+ operation_id: 'retrievePartnerAnalytics',
595
+ security_source: @sdk_configuration.security_source
596
+ )
597
+
598
+ error = T.let(nil, T.nilable(StandardError))
599
+ r = T.let(nil, T.nilable(Faraday::Response))
600
+
601
+ begin
602
+ r = connection.get(url) do |req|
603
+ req.headers.merge!(headers)
604
+ req.options.timeout = timeout unless timeout.nil?
605
+ req.params = query_params
606
+ Utils.configure_request_security(req, security)
607
+
608
+ @sdk_configuration.hooks.before_request(
609
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
610
+ hook_ctx: hook_ctx
611
+ ),
612
+ request: req
613
+ )
614
+ end
615
+ rescue StandardError => e
616
+ error = e
617
+ ensure
618
+ if r.nil? || Utils.error_status?(r.status)
619
+ r = @sdk_configuration.hooks.after_error(
620
+ error: error,
621
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
622
+ hook_ctx: hook_ctx
623
+ ),
624
+ response: r
625
+ )
626
+ else
627
+ r = @sdk_configuration.hooks.after_success(
628
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
629
+ hook_ctx: hook_ctx
630
+ ),
631
+ response: r
632
+ )
633
+ end
634
+
635
+ if r.nil?
636
+ raise error if !error.nil?
637
+ raise 'no response'
638
+ end
639
+ end
640
+
641
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
642
+
643
+ res = ::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse.new(
644
+ status_code: r.status, content_type: content_type, raw_response: r
645
+ )
646
+ if r.status == 200
647
+ if Utils.match_content_type(content_type, 'application/json')
648
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::Object)
649
+ res.one_of = out
650
+ end
651
+ elsif r.status == 400
652
+ if Utils.match_content_type(content_type, 'application/json')
653
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
654
+ res.bad_request = out
655
+ end
656
+ elsif r.status == 401
657
+ if Utils.match_content_type(content_type, 'application/json')
658
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
659
+ res.unauthorized = out
660
+ end
661
+ elsif r.status == 403
662
+ if Utils.match_content_type(content_type, 'application/json')
663
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
664
+ res.forbidden = out
665
+ end
666
+ elsif r.status == 404
667
+ if Utils.match_content_type(content_type, 'application/json')
668
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
669
+ res.not_found = out
670
+ end
671
+ elsif r.status == 409
672
+ if Utils.match_content_type(content_type, 'application/json')
673
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
674
+ res.conflict = out
675
+ end
676
+ elsif r.status == 410
677
+ if Utils.match_content_type(content_type, 'application/json')
678
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
679
+ res.invite_expired = out
680
+ end
681
+ elsif r.status == 422
682
+ if Utils.match_content_type(content_type, 'application/json')
683
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
684
+ res.unprocessable_entity = out
685
+ end
686
+ elsif r.status == 429
687
+ if Utils.match_content_type(content_type, 'application/json')
688
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
689
+ res.rate_limit_exceeded = out
690
+ end
691
+ elsif r.status == 500
692
+ if Utils.match_content_type(content_type, 'application/json')
693
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
694
+ res.internal_server_error = out
695
+ end
696
+ end
697
+
698
+ res
699
+ end
700
+ end
701
+ end