dub 0.2.2 → 0.9.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 (286) 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/bannedreason.rb +22 -0
  18. data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +7 -7
  19. data/lib/open_api_sdk/models/operations/bulkcreatelinks_testvariants.rb +27 -0
  20. data/lib/open_api_sdk/models/operations/bulkdeletelinks_request.rb +24 -0
  21. data/lib/open_api_sdk/models/operations/bulkdeletelinks_response.rb +60 -0
  22. data/lib/open_api_sdk/models/operations/bulkdeletelinks_responsebody.rb +24 -0
  23. data/lib/open_api_sdk/models/operations/bulkupdatelinks_requestbody.rb +9 -6
  24. data/lib/open_api_sdk/models/operations/bulkupdatelinks_response.rb +2 -2
  25. data/lib/open_api_sdk/models/operations/bulkupdatelinks_testvariants.rb +27 -0
  26. data/lib/open_api_sdk/models/operations/checkdomainstatus_request.rb +24 -0
  27. data/lib/open_api_sdk/models/operations/checkdomainstatus_response.rb +60 -0
  28. data/lib/open_api_sdk/models/operations/click.rb +24 -0
  29. data/lib/open_api_sdk/models/operations/color.rb +1 -2
  30. data/lib/open_api_sdk/models/operations/country.rb +266 -0
  31. data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +48 -0
  32. data/lib/open_api_sdk/models/operations/createcustomer_link.rb +39 -0
  33. data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +33 -0
  34. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +33 -0
  35. data/lib/open_api_sdk/models/operations/createcustomer_response.rb +60 -0
  36. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +60 -0
  37. data/lib/open_api_sdk/models/operations/createcustomer_type.rb +18 -0
  38. data/lib/open_api_sdk/models/operations/createdomain_requestbody.rb +16 -4
  39. data/lib/open_api_sdk/models/operations/createdomain_response.rb +2 -2
  40. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  41. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  42. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +64 -14
  43. data/lib/open_api_sdk/models/operations/createlink_response.rb +2 -2
  44. data/lib/open_api_sdk/models/operations/createpartner_link.rb +48 -0
  45. data/lib/open_api_sdk/models/operations/createpartner_requestbody.rb +45 -0
  46. data/lib/open_api_sdk/models/operations/{trackcustomer_response.rb → createpartner_response.rb} +5 -5
  47. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +150 -0
  48. data/lib/open_api_sdk/models/operations/createpartner_status.rb +23 -0
  49. data/lib/open_api_sdk/models/operations/createpartner_testvariants.rb +27 -0
  50. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +111 -0
  51. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +39 -0
  52. data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +60 -0
  53. data/lib/open_api_sdk/models/operations/createpartnerlink_testvariants.rb +27 -0
  54. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_country.rb +266 -0
  55. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +111 -0
  56. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_requestbody.rb +30 -0
  57. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_response.rb +60 -0
  58. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_responsebody.rb +27 -0
  59. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_testvariants.rb +27 -0
  60. data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +2 -2
  61. data/lib/open_api_sdk/models/operations/createtag_response.rb +2 -2
  62. data/lib/open_api_sdk/models/operations/customer.rb +33 -0
  63. data/lib/open_api_sdk/models/operations/data.rb +60 -13
  64. data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +24 -0
  65. data/lib/open_api_sdk/models/operations/deletecustomer_response.rb +60 -0
  66. data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +24 -0
  67. data/lib/open_api_sdk/models/operations/deletedomain_request.rb +2 -2
  68. data/lib/open_api_sdk/models/operations/deletedomain_response.rb +2 -2
  69. data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +2 -2
  70. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  71. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  72. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  73. data/lib/open_api_sdk/models/operations/deletelink_request.rb +2 -2
  74. data/lib/open_api_sdk/models/operations/deletelink_response.rb +3 -3
  75. data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +3 -3
  76. data/lib/open_api_sdk/models/operations/deletetag_request.rb +24 -0
  77. data/lib/open_api_sdk/models/operations/deletetag_response.rb +60 -0
  78. data/lib/open_api_sdk/models/operations/deletetag_responsebody.rb +24 -0
  79. data/lib/open_api_sdk/models/operations/discount.rb +48 -0
  80. data/lib/open_api_sdk/models/operations/event.rb +2 -3
  81. data/lib/open_api_sdk/models/operations/getcustomer_discount.rb +48 -0
  82. data/lib/open_api_sdk/models/operations/getcustomer_link.rb +39 -0
  83. data/lib/open_api_sdk/models/operations/getcustomer_partner.rb +33 -0
  84. data/lib/open_api_sdk/models/operations/getcustomer_request.rb +27 -0
  85. data/lib/open_api_sdk/models/operations/getcustomer_response.rb +60 -0
  86. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +60 -0
  87. data/lib/open_api_sdk/models/operations/getcustomer_type.rb +18 -0
  88. data/lib/open_api_sdk/models/operations/getcustomers_link.rb +39 -0
  89. data/lib/open_api_sdk/models/operations/getcustomers_partner.rb +33 -0
  90. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortby.rb +18 -0
  91. data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortorder.rb +18 -0
  92. data/lib/open_api_sdk/models/operations/getcustomers_request.rb +51 -0
  93. data/lib/open_api_sdk/models/operations/getcustomers_response.rb +60 -0
  94. data/lib/open_api_sdk/models/operations/getcustomers_responsebody.rb +60 -0
  95. data/lib/open_api_sdk/models/operations/getcustomers_type.rb +18 -0
  96. data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +3 -3
  97. data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +2 -2
  98. data/lib/open_api_sdk/models/operations/getlinks_request.rb +26 -11
  99. data/lib/open_api_sdk/models/operations/getlinks_response.rb +2 -2
  100. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +14 -8
  101. data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +2 -2
  102. data/lib/open_api_sdk/models/operations/getqrcode_request.rb +14 -5
  103. data/lib/open_api_sdk/models/operations/getqrcode_response.rb +2 -2
  104. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rb +18 -0
  105. data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rb +18 -0
  106. data/lib/open_api_sdk/models/operations/gettags_request.rb +39 -0
  107. data/lib/open_api_sdk/models/operations/gettags_response.rb +2 -2
  108. data/lib/open_api_sdk/models/operations/getworkspace_request.rb +2 -2
  109. data/lib/open_api_sdk/models/operations/getworkspace_response.rb +2 -2
  110. data/lib/open_api_sdk/models/operations/groupby.rb +13 -4
  111. data/lib/open_api_sdk/models/operations/interval.rb +5 -5
  112. data/lib/open_api_sdk/models/operations/level.rb +1 -2
  113. data/lib/open_api_sdk/models/operations/link.rb +48 -0
  114. data/lib/open_api_sdk/models/operations/linkprops.rb +111 -0
  115. data/lib/open_api_sdk/models/operations/listcommissions_customer.rb +48 -0
  116. data/lib/open_api_sdk/models/operations/listcommissions_partner.rb +39 -0
  117. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_interval.rb +25 -0
  118. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb +18 -0
  119. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb +18 -0
  120. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +60 -0
  121. data/lib/open_api_sdk/models/operations/listcommissions_response.rb +60 -0
  122. data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +63 -0
  123. data/lib/open_api_sdk/models/operations/listcommissions_status.rb +23 -0
  124. data/lib/open_api_sdk/models/operations/listcommissions_type.rb +20 -0
  125. data/lib/open_api_sdk/models/operations/listdomains_request.rb +33 -0
  126. data/lib/open_api_sdk/models/operations/listdomains_response.rb +2 -2
  127. data/lib/open_api_sdk/models/operations/listevents_request.rb +144 -0
  128. data/lib/open_api_sdk/models/operations/listevents_response.rb +60 -0
  129. data/lib/open_api_sdk/models/operations/listfolders_request.rb +30 -0
  130. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  131. data/lib/open_api_sdk/models/operations/listpartners_bannedreason.rb +22 -0
  132. data/lib/open_api_sdk/models/operations/listpartners_link.rb +48 -0
  133. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +23 -0
  134. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortorder.rb +18 -0
  135. data/lib/open_api_sdk/models/operations/listpartners_queryparam_status.rb +23 -0
  136. data/lib/open_api_sdk/models/operations/listpartners_request.rb +48 -0
  137. data/lib/open_api_sdk/models/operations/listpartners_response.rb +60 -0
  138. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +150 -0
  139. data/lib/open_api_sdk/models/operations/listpartners_status.rb +23 -0
  140. data/lib/open_api_sdk/models/operations/mode.rb +18 -0
  141. data/lib/open_api_sdk/models/operations/order.rb +20 -0
  142. data/lib/open_api_sdk/models/operations/partner.rb +45 -0
  143. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +4 -2
  144. data/lib/open_api_sdk/models/operations/queryparam_event.rb +19 -0
  145. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  146. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +25 -0
  147. data/lib/open_api_sdk/models/operations/queryparam_saletype.rb +18 -0
  148. data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +17 -0
  149. data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +18 -0
  150. data/lib/open_api_sdk/models/operations/queryparam_status.rb +23 -0
  151. data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +20 -0
  152. data/lib/open_api_sdk/models/operations/registerdomain_requestbody.rb +24 -0
  153. data/lib/open_api_sdk/models/operations/registerdomain_response.rb +60 -0
  154. data/lib/open_api_sdk/models/operations/registerdomain_responsebody.rb +30 -0
  155. data/lib/open_api_sdk/models/operations/requestbody.rb +64 -14
  156. data/lib/open_api_sdk/models/operations/responsebody.rb +33 -0
  157. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +66 -15
  158. data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +2 -2
  159. data/lib/open_api_sdk/models/operations/retrievelinks_request.rb +27 -0
  160. data/lib/open_api_sdk/models/operations/retrievelinks_response.rb +60 -0
  161. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +25 -0
  162. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +42 -0
  163. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  164. data/lib/open_api_sdk/models/operations/sale.rb +36 -0
  165. data/lib/open_api_sdk/models/operations/saletype.rb +18 -0
  166. data/lib/open_api_sdk/models/operations/sort.rb +5 -3
  167. data/lib/open_api_sdk/models/operations/sortby.rb +20 -0
  168. data/lib/open_api_sdk/models/operations/sortorder.rb +18 -0
  169. data/lib/open_api_sdk/models/operations/status.rb +20 -0
  170. data/lib/open_api_sdk/models/operations/testvariants.rb +27 -0
  171. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +19 -13
  172. data/lib/open_api_sdk/models/operations/tracklead_response.rb +2 -2
  173. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +8 -23
  174. data/lib/open_api_sdk/models/operations/tracksale_customer.rb +36 -0
  175. data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +15 -12
  176. data/lib/open_api_sdk/models/operations/tracksale_response.rb +2 -2
  177. data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +8 -20
  178. data/lib/open_api_sdk/models/operations/trigger.rb +20 -0
  179. data/lib/open_api_sdk/models/operations/type.rb +20 -0
  180. data/lib/open_api_sdk/models/operations/updatecommission_customer.rb +48 -0
  181. data/lib/open_api_sdk/models/operations/updatecommission_partner.rb +39 -0
  182. data/lib/open_api_sdk/models/operations/updatecommission_request.rb +27 -0
  183. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +33 -0
  184. data/lib/open_api_sdk/models/operations/updatecommission_response.rb +60 -0
  185. data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +63 -0
  186. data/lib/open_api_sdk/models/operations/updatecommission_status.rb +23 -0
  187. data/lib/open_api_sdk/models/operations/updatecommission_type.rb +20 -0
  188. data/lib/open_api_sdk/models/operations/updatecustomer_discount.rb +48 -0
  189. data/lib/open_api_sdk/models/operations/updatecustomer_link.rb +39 -0
  190. data/lib/open_api_sdk/models/operations/updatecustomer_partner.rb +33 -0
  191. data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +30 -0
  192. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +33 -0
  193. data/lib/open_api_sdk/models/operations/updatecustomer_response.rb +60 -0
  194. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +60 -0
  195. data/lib/open_api_sdk/models/operations/updatecustomer_type.rb +18 -0
  196. data/lib/open_api_sdk/models/operations/updatedomain_request.rb +2 -2
  197. data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +16 -4
  198. data/lib/open_api_sdk/models/operations/updatedomain_response.rb +2 -2
  199. data/lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb +18 -0
  200. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  201. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  202. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  203. data/lib/open_api_sdk/models/operations/updatelink_request.rb +2 -2
  204. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +62 -18
  205. data/lib/open_api_sdk/models/operations/updatelink_response.rb +2 -2
  206. data/lib/open_api_sdk/models/operations/updatelink_testvariants.rb +27 -0
  207. data/lib/open_api_sdk/models/operations/updatetag_color.rb +1 -2
  208. data/lib/open_api_sdk/models/operations/updatetag_request.rb +2 -2
  209. data/lib/open_api_sdk/models/operations/updatetag_requestbody.rb +2 -2
  210. data/lib/open_api_sdk/models/operations/updatetag_response.rb +2 -2
  211. data/lib/open_api_sdk/models/operations/updateworkspace_request.rb +2 -2
  212. data/lib/open_api_sdk/models/operations/updateworkspace_requestbody.rb +13 -4
  213. data/lib/open_api_sdk/models/operations/updateworkspace_response.rb +2 -2
  214. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +64 -14
  215. data/lib/open_api_sdk/models/operations/upsertlink_response.rb +2 -2
  216. data/lib/open_api_sdk/models/operations/upsertlink_testvariants.rb +27 -0
  217. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +111 -0
  218. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +39 -0
  219. data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +60 -0
  220. data/lib/open_api_sdk/models/operations/upsertpartnerlink_testvariants.rb +27 -0
  221. data/lib/open_api_sdk/models/operations.rb +165 -25
  222. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  223. data/lib/open_api_sdk/models/shared/badrequest.rb +3 -3
  224. data/lib/open_api_sdk/models/shared/code.rb +1 -2
  225. data/lib/open_api_sdk/models/shared/color.rb +1 -2
  226. data/lib/open_api_sdk/models/shared/conflict.rb +3 -3
  227. data/lib/open_api_sdk/models/shared/conflict_code.rb +1 -2
  228. data/lib/open_api_sdk/models/shared/conflict_error.rb +2 -2
  229. data/lib/open_api_sdk/models/shared/continentcode.rb +23 -0
  230. data/lib/open_api_sdk/models/shared/countrycode.rb +2 -3
  231. data/lib/open_api_sdk/models/shared/domains.rb +7 -4
  232. data/lib/open_api_sdk/models/shared/domainschema.rb +19 -4
  233. data/lib/open_api_sdk/models/shared/error.rb +2 -2
  234. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  235. data/lib/open_api_sdk/models/shared/forbidden.rb +3 -3
  236. data/lib/open_api_sdk/models/shared/forbidden_code.rb +1 -2
  237. data/lib/open_api_sdk/models/shared/forbidden_error.rb +2 -2
  238. data/lib/open_api_sdk/models/shared/geo.rb +2 -2
  239. data/lib/open_api_sdk/models/shared/internalservererror.rb +3 -3
  240. data/lib/open_api_sdk/models/shared/internalservererror_code.rb +1 -2
  241. data/lib/open_api_sdk/models/shared/internalservererror_error.rb +2 -2
  242. data/lib/open_api_sdk/models/shared/inviteexpired.rb +3 -3
  243. data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +1 -2
  244. data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +2 -2
  245. data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +2 -2
  246. data/lib/open_api_sdk/models/shared/linkschema.rb +47 -14
  247. data/lib/open_api_sdk/models/shared/notfound.rb +3 -3
  248. data/lib/open_api_sdk/models/shared/notfound_code.rb +1 -2
  249. data/lib/open_api_sdk/models/shared/notfound_error.rb +2 -2
  250. data/lib/open_api_sdk/models/shared/plan.rb +2 -2
  251. data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +3 -3
  252. data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +1 -2
  253. data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +2 -2
  254. data/lib/open_api_sdk/models/shared/registereddomain.rb +36 -0
  255. data/lib/open_api_sdk/models/shared/role.rb +1 -2
  256. data/lib/open_api_sdk/models/shared/security.rb +4 -4
  257. data/lib/open_api_sdk/models/shared/tagschema.rb +2 -2
  258. data/lib/open_api_sdk/models/shared/testvariants.rb +27 -0
  259. data/lib/open_api_sdk/models/shared/type.rb +18 -0
  260. data/lib/open_api_sdk/models/shared/unauthorized.rb +3 -3
  261. data/lib/open_api_sdk/models/shared/unauthorized_code.rb +1 -2
  262. data/lib/open_api_sdk/models/shared/unauthorized_error.rb +2 -2
  263. data/lib/open_api_sdk/models/shared/unprocessableentity.rb +3 -3
  264. data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +1 -2
  265. data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +2 -2
  266. data/lib/open_api_sdk/models/shared/users.rb +7 -4
  267. data/lib/open_api_sdk/models/shared/workspaceschema.rb +50 -8
  268. data/lib/open_api_sdk/models/shared.rb +8 -2
  269. data/lib/open_api_sdk/partners.rb +831 -0
  270. data/lib/open_api_sdk/qr_codes.rb +71 -17
  271. data/lib/open_api_sdk/sdk_hooks/hooks.rb +103 -0
  272. data/lib/open_api_sdk/sdk_hooks/registration.rb +35 -0
  273. data/lib/open_api_sdk/sdk_hooks/types.rb +152 -0
  274. data/lib/open_api_sdk/sdkconfiguration.rb +33 -10
  275. data/lib/open_api_sdk/tags.rb +366 -68
  276. data/lib/open_api_sdk/track.rb +148 -122
  277. data/lib/open_api_sdk/utils/retries.rb +95 -0
  278. data/lib/open_api_sdk/utils/utils.rb +26 -60
  279. data/lib/open_api_sdk/workspaces.rb +145 -36
  280. metadata +214 -15
  281. data/lib/open_api_sdk/metatags.rb +0 -54
  282. data/lib/open_api_sdk/models/operations/getmetatags_request.rb +0 -24
  283. data/lib/open_api_sdk/models/operations/getmetatags_response.rb +0 -33
  284. data/lib/open_api_sdk/models/operations/getmetatags_responsebody.rb +0 -30
  285. data/lib/open_api_sdk/models/operations/trackcustomer_requestbody.rb +0 -33
  286. data/lib/open_api_sdk/models/operations/trackcustomer_responsebody.rb +0 -33
@@ -0,0 +1,831 @@
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::ListPartnersRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::ListPartnersResponse) }
165
+ def list(request, timeout_ms = nil)
166
+ # list - List all partners
167
+ # List all partners for a partner program.
168
+ url, params = @sdk_configuration.get_server_details
169
+ base_url = Utils.template_url(url, params)
170
+ url = "#{base_url}/partners"
171
+ headers = {}
172
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::ListPartnersRequest, request)
173
+ headers['Accept'] = 'application/json'
174
+ headers['user-agent'] = @sdk_configuration.user_agent
175
+
176
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
177
+
178
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
179
+ timeout ||= @sdk_configuration.timeout
180
+
181
+ connection = @sdk_configuration.client
182
+
183
+ hook_ctx = SDKHooks::HookContext.new(
184
+ base_url: base_url,
185
+ oauth2_scopes: nil,
186
+ operation_id: 'listPartners',
187
+ security_source: @sdk_configuration.security_source
188
+ )
189
+
190
+ error = T.let(nil, T.nilable(StandardError))
191
+ r = T.let(nil, T.nilable(Faraday::Response))
192
+
193
+ begin
194
+ r = connection.get(url) do |req|
195
+ req.headers.merge!(headers)
196
+ req.options.timeout = timeout unless timeout.nil?
197
+ req.params = query_params
198
+ Utils.configure_request_security(req, security)
199
+
200
+ @sdk_configuration.hooks.before_request(
201
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
202
+ hook_ctx: hook_ctx
203
+ ),
204
+ request: req
205
+ )
206
+ end
207
+ rescue StandardError => e
208
+ error = e
209
+ ensure
210
+ if r.nil? || Utils.error_status?(r.status)
211
+ r = @sdk_configuration.hooks.after_error(
212
+ error: error,
213
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
214
+ hook_ctx: hook_ctx
215
+ ),
216
+ response: r
217
+ )
218
+ else
219
+ r = @sdk_configuration.hooks.after_success(
220
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
221
+ hook_ctx: hook_ctx
222
+ ),
223
+ response: r
224
+ )
225
+ end
226
+
227
+ if r.nil?
228
+ raise error if !error.nil?
229
+ raise 'no response'
230
+ end
231
+ end
232
+
233
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
234
+
235
+ res = ::OpenApiSDK::Operations::ListPartnersResponse.new(
236
+ status_code: r.status, content_type: content_type, raw_response: r
237
+ )
238
+ if r.status == 200
239
+ if Utils.match_content_type(content_type, 'application/json')
240
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), T::Array[::OpenApiSDK::Operations::ListPartnersResponseBody])
241
+ res.response_bodies = out
242
+ end
243
+ elsif r.status == 400
244
+ if Utils.match_content_type(content_type, 'application/json')
245
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
246
+ res.bad_request = out
247
+ end
248
+ elsif r.status == 401
249
+ if Utils.match_content_type(content_type, 'application/json')
250
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
251
+ res.unauthorized = out
252
+ end
253
+ elsif r.status == 403
254
+ if Utils.match_content_type(content_type, 'application/json')
255
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
256
+ res.forbidden = out
257
+ end
258
+ elsif r.status == 404
259
+ if Utils.match_content_type(content_type, 'application/json')
260
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
261
+ res.not_found = out
262
+ end
263
+ elsif r.status == 409
264
+ if Utils.match_content_type(content_type, 'application/json')
265
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
266
+ res.conflict = out
267
+ end
268
+ elsif r.status == 410
269
+ if Utils.match_content_type(content_type, 'application/json')
270
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
271
+ res.invite_expired = out
272
+ end
273
+ elsif r.status == 422
274
+ if Utils.match_content_type(content_type, 'application/json')
275
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
276
+ res.unprocessable_entity = out
277
+ end
278
+ elsif r.status == 429
279
+ if Utils.match_content_type(content_type, 'application/json')
280
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
281
+ res.rate_limit_exceeded = out
282
+ end
283
+ elsif r.status == 500
284
+ if Utils.match_content_type(content_type, 'application/json')
285
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
286
+ res.internal_server_error = out
287
+ end
288
+ end
289
+
290
+ res
291
+ end
292
+
293
+
294
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::CreatePartnerLinkRequestBody), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::CreatePartnerLinkResponse) }
295
+ def create_link(request, timeout_ms = nil)
296
+ # create_link - Create a link for a partner
297
+ # Create a link for a partner that is enrolled in your program.
298
+ url, params = @sdk_configuration.get_server_details
299
+ base_url = Utils.template_url(url, params)
300
+ url = "#{base_url}/partners/links"
301
+ headers = {}
302
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
303
+ headers['content-type'] = req_content_type
304
+
305
+ if form
306
+ body = Utils.encode_form(form)
307
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
308
+ body = URI.encode_www_form(data)
309
+ else
310
+ body = data
311
+ end
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: 'createPartnerLink',
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.post(url) do |req|
334
+ req.body = body
335
+ req.headers.merge!(headers)
336
+ req.options.timeout = timeout unless timeout.nil?
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::CreatePartnerLinkResponse.new(
375
+ status_code: r.status, content_type: content_type, raw_response: r
376
+ )
377
+ if r.status == 201
378
+ if Utils.match_content_type(content_type, 'application/json')
379
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::LinkSchema)
380
+ res.link_schema = 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::RetrieveLinksRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::RetrieveLinksResponse) }
434
+ def retrieve_links(request, timeout_ms = nil)
435
+ # retrieve_links - Retrieve a partner's links.
436
+ # Retrieve a partner's links by their partner ID or tenant ID.
437
+ url, params = @sdk_configuration.get_server_details
438
+ base_url = Utils.template_url(url, params)
439
+ url = "#{base_url}/partners/links"
440
+ headers = {}
441
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrieveLinksRequest, request)
442
+ headers['Accept'] = 'application/json'
443
+ headers['user-agent'] = @sdk_configuration.user_agent
444
+
445
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
446
+
447
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
448
+ timeout ||= @sdk_configuration.timeout
449
+
450
+ connection = @sdk_configuration.client
451
+
452
+ hook_ctx = SDKHooks::HookContext.new(
453
+ base_url: base_url,
454
+ oauth2_scopes: nil,
455
+ operation_id: 'retrieveLinks',
456
+ security_source: @sdk_configuration.security_source
457
+ )
458
+
459
+ error = T.let(nil, T.nilable(StandardError))
460
+ r = T.let(nil, T.nilable(Faraday::Response))
461
+
462
+ begin
463
+ r = connection.get(url) do |req|
464
+ req.headers.merge!(headers)
465
+ req.options.timeout = timeout unless timeout.nil?
466
+ req.params = query_params
467
+ Utils.configure_request_security(req, security)
468
+
469
+ @sdk_configuration.hooks.before_request(
470
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
471
+ hook_ctx: hook_ctx
472
+ ),
473
+ request: req
474
+ )
475
+ end
476
+ rescue StandardError => e
477
+ error = e
478
+ ensure
479
+ if r.nil? || Utils.error_status?(r.status)
480
+ r = @sdk_configuration.hooks.after_error(
481
+ error: error,
482
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
483
+ hook_ctx: hook_ctx
484
+ ),
485
+ response: r
486
+ )
487
+ else
488
+ r = @sdk_configuration.hooks.after_success(
489
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
490
+ hook_ctx: hook_ctx
491
+ ),
492
+ response: r
493
+ )
494
+ end
495
+
496
+ if r.nil?
497
+ raise error if !error.nil?
498
+ raise 'no response'
499
+ end
500
+ end
501
+
502
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
503
+
504
+ res = ::OpenApiSDK::Operations::RetrieveLinksResponse.new(
505
+ status_code: r.status, content_type: content_type, raw_response: r
506
+ )
507
+ if r.status == 200
508
+ if Utils.match_content_type(content_type, 'application/json')
509
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), T::Array[::OpenApiSDK::Operations::Link])
510
+ res.links = out
511
+ end
512
+ elsif r.status == 400
513
+ if Utils.match_content_type(content_type, 'application/json')
514
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
515
+ res.bad_request = out
516
+ end
517
+ elsif r.status == 401
518
+ if Utils.match_content_type(content_type, 'application/json')
519
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
520
+ res.unauthorized = out
521
+ end
522
+ elsif r.status == 403
523
+ if Utils.match_content_type(content_type, 'application/json')
524
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
525
+ res.forbidden = out
526
+ end
527
+ elsif r.status == 404
528
+ if Utils.match_content_type(content_type, 'application/json')
529
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
530
+ res.not_found = out
531
+ end
532
+ elsif r.status == 409
533
+ if Utils.match_content_type(content_type, 'application/json')
534
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
535
+ res.conflict = out
536
+ end
537
+ elsif r.status == 410
538
+ if Utils.match_content_type(content_type, 'application/json')
539
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
540
+ res.invite_expired = out
541
+ end
542
+ elsif r.status == 422
543
+ if Utils.match_content_type(content_type, 'application/json')
544
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
545
+ res.unprocessable_entity = out
546
+ end
547
+ elsif r.status == 429
548
+ if Utils.match_content_type(content_type, 'application/json')
549
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
550
+ res.rate_limit_exceeded = out
551
+ end
552
+ elsif r.status == 500
553
+ if Utils.match_content_type(content_type, 'application/json')
554
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
555
+ res.internal_server_error = out
556
+ end
557
+ end
558
+
559
+ res
560
+ end
561
+
562
+
563
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::UpsertPartnerLinkRequestBody), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::UpsertPartnerLinkResponse) }
564
+ def upsert_link(request, timeout_ms = nil)
565
+ # upsert_link - Upsert a link for a partner
566
+ # 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.
567
+ url, params = @sdk_configuration.get_server_details
568
+ base_url = Utils.template_url(url, params)
569
+ url = "#{base_url}/partners/links/upsert"
570
+ headers = {}
571
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
572
+ headers['content-type'] = req_content_type
573
+
574
+ if form
575
+ body = Utils.encode_form(form)
576
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
577
+ body = URI.encode_www_form(data)
578
+ else
579
+ body = data
580
+ end
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: 'upsertPartnerLink',
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.put(url) do |req|
603
+ req.body = body
604
+ req.headers.merge!(headers)
605
+ req.options.timeout = timeout unless timeout.nil?
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::UpsertPartnerLinkResponse.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), ::OpenApiSDK::Shared::LinkSchema)
649
+ res.link_schema = 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
+
701
+
702
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse) }
703
+ def analytics(request, timeout_ms = nil)
704
+ # analytics - Retrieve analytics for a partner
705
+ # Retrieve analytics for a partner within a program. The response type vary based on the `groupBy` query parameter.
706
+ url, params = @sdk_configuration.get_server_details
707
+ base_url = Utils.template_url(url, params)
708
+ url = "#{base_url}/partners/analytics"
709
+ headers = {}
710
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest, request)
711
+ headers['Accept'] = 'application/json'
712
+ headers['user-agent'] = @sdk_configuration.user_agent
713
+
714
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
715
+
716
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
717
+ timeout ||= @sdk_configuration.timeout
718
+
719
+ connection = @sdk_configuration.client
720
+
721
+ hook_ctx = SDKHooks::HookContext.new(
722
+ base_url: base_url,
723
+ oauth2_scopes: nil,
724
+ operation_id: 'retrievePartnerAnalytics',
725
+ security_source: @sdk_configuration.security_source
726
+ )
727
+
728
+ error = T.let(nil, T.nilable(StandardError))
729
+ r = T.let(nil, T.nilable(Faraday::Response))
730
+
731
+ begin
732
+ r = connection.get(url) do |req|
733
+ req.headers.merge!(headers)
734
+ req.options.timeout = timeout unless timeout.nil?
735
+ req.params = query_params
736
+ Utils.configure_request_security(req, security)
737
+
738
+ @sdk_configuration.hooks.before_request(
739
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
740
+ hook_ctx: hook_ctx
741
+ ),
742
+ request: req
743
+ )
744
+ end
745
+ rescue StandardError => e
746
+ error = e
747
+ ensure
748
+ if r.nil? || Utils.error_status?(r.status)
749
+ r = @sdk_configuration.hooks.after_error(
750
+ error: error,
751
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
752
+ hook_ctx: hook_ctx
753
+ ),
754
+ response: r
755
+ )
756
+ else
757
+ r = @sdk_configuration.hooks.after_success(
758
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
759
+ hook_ctx: hook_ctx
760
+ ),
761
+ response: r
762
+ )
763
+ end
764
+
765
+ if r.nil?
766
+ raise error if !error.nil?
767
+ raise 'no response'
768
+ end
769
+ end
770
+
771
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
772
+
773
+ res = ::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse.new(
774
+ status_code: r.status, content_type: content_type, raw_response: r
775
+ )
776
+ if r.status == 200
777
+ if Utils.match_content_type(content_type, 'application/json')
778
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::Object)
779
+ res.one_of = out
780
+ end
781
+ elsif r.status == 400
782
+ if Utils.match_content_type(content_type, 'application/json')
783
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
784
+ res.bad_request = out
785
+ end
786
+ elsif r.status == 401
787
+ if Utils.match_content_type(content_type, 'application/json')
788
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
789
+ res.unauthorized = out
790
+ end
791
+ elsif r.status == 403
792
+ if Utils.match_content_type(content_type, 'application/json')
793
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
794
+ res.forbidden = out
795
+ end
796
+ elsif r.status == 404
797
+ if Utils.match_content_type(content_type, 'application/json')
798
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
799
+ res.not_found = out
800
+ end
801
+ elsif r.status == 409
802
+ if Utils.match_content_type(content_type, 'application/json')
803
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
804
+ res.conflict = out
805
+ end
806
+ elsif r.status == 410
807
+ if Utils.match_content_type(content_type, 'application/json')
808
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
809
+ res.invite_expired = out
810
+ end
811
+ elsif r.status == 422
812
+ if Utils.match_content_type(content_type, 'application/json')
813
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
814
+ res.unprocessable_entity = out
815
+ end
816
+ elsif r.status == 429
817
+ if Utils.match_content_type(content_type, 'application/json')
818
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
819
+ res.rate_limit_exceeded = out
820
+ end
821
+ elsif r.status == 500
822
+ if Utils.match_content_type(content_type, 'application/json')
823
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
824
+ res.internal_server_error = out
825
+ end
826
+ end
827
+
828
+ res
829
+ end
830
+ end
831
+ end