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
@@ -1,11 +1,14 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
9
12
 
10
13
  module OpenApiSDK
11
14
  extend T::Sig
@@ -19,8 +22,8 @@ module OpenApiSDK
19
22
  end
20
23
 
21
24
 
22
- sig { params(request: T.nilable(::OpenApiSDK::Operations::GetQRCodeRequest)).returns(::OpenApiSDK::Operations::GetQRCodeResponse) }
23
- def get(request)
25
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::GetQRCodeRequest), timeout_ms: T.nilable(Integer)).returns(::OpenApiSDK::Operations::GetQRCodeResponse) }
26
+ def get(request, timeout_ms = nil)
24
27
  # get - Retrieve a QR code
25
28
  # Retrieve a QR code for a link.
26
29
  url, params = @sdk_configuration.get_server_details
@@ -31,10 +34,61 @@ module OpenApiSDK
31
34
  headers['Accept'] = 'application/json;q=1, image/png;q=0'
32
35
  headers['user-agent'] = @sdk_configuration.user_agent
33
36
 
34
- r = @sdk_configuration.client.get(url) do |req|
35
- req.headers = headers
36
- req.params = query_params
37
- Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
37
+ security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
38
+
39
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
40
+ timeout ||= @sdk_configuration.timeout
41
+
42
+ connection = @sdk_configuration.client
43
+
44
+ hook_ctx = SDKHooks::HookContext.new(
45
+ base_url: base_url,
46
+ oauth2_scopes: nil,
47
+ operation_id: 'getQRCode',
48
+ security_source: @sdk_configuration.security_source
49
+ )
50
+
51
+ error = T.let(nil, T.nilable(StandardError))
52
+ r = T.let(nil, T.nilable(Faraday::Response))
53
+
54
+ begin
55
+ r = connection.get(url) do |req|
56
+ req.headers.merge!(headers)
57
+ req.options.timeout = timeout unless timeout.nil?
58
+ req.params = query_params
59
+ Utils.configure_request_security(req, security)
60
+
61
+ @sdk_configuration.hooks.before_request(
62
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
63
+ hook_ctx: hook_ctx
64
+ ),
65
+ request: req
66
+ )
67
+ end
68
+ rescue StandardError => e
69
+ error = e
70
+ ensure
71
+ if r.nil? || Utils.error_status?(r.status)
72
+ r = @sdk_configuration.hooks.after_error(
73
+ error: error,
74
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
75
+ hook_ctx: hook_ctx
76
+ ),
77
+ response: r
78
+ )
79
+ else
80
+ r = @sdk_configuration.hooks.after_success(
81
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
82
+ hook_ctx: hook_ctx
83
+ ),
84
+ response: r
85
+ )
86
+ end
87
+
88
+ if r.nil?
89
+ raise error if !error.nil?
90
+ raise 'no response'
91
+ end
38
92
  end
39
93
 
40
94
  content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
@@ -44,53 +98,53 @@ module OpenApiSDK
44
98
  )
45
99
  if r.status == 200
46
100
  res.res = r.env.response_body if Utils.match_content_type(content_type, 'image/png')
47
-
48
101
  elsif r.status == 400
49
102
  if Utils.match_content_type(content_type, 'application/json')
50
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
103
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::BadRequest)
51
104
  res.bad_request = out
52
105
  end
53
106
  elsif r.status == 401
54
107
  if Utils.match_content_type(content_type, 'application/json')
55
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
108
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Unauthorized)
56
109
  res.unauthorized = out
57
110
  end
58
111
  elsif r.status == 403
59
112
  if Utils.match_content_type(content_type, 'application/json')
60
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
113
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Forbidden)
61
114
  res.forbidden = out
62
115
  end
63
116
  elsif r.status == 404
64
117
  if Utils.match_content_type(content_type, 'application/json')
65
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
118
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::NotFound)
66
119
  res.not_found = out
67
120
  end
68
121
  elsif r.status == 409
69
122
  if Utils.match_content_type(content_type, 'application/json')
70
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
123
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::Conflict)
71
124
  res.conflict = out
72
125
  end
73
126
  elsif r.status == 410
74
127
  if Utils.match_content_type(content_type, 'application/json')
75
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
128
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InviteExpired)
76
129
  res.invite_expired = out
77
130
  end
78
131
  elsif r.status == 422
79
132
  if Utils.match_content_type(content_type, 'application/json')
80
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
133
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::UnprocessableEntity)
81
134
  res.unprocessable_entity = out
82
135
  end
83
136
  elsif r.status == 429
84
137
  if Utils.match_content_type(content_type, 'application/json')
85
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
138
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::RateLimitExceeded)
86
139
  res.rate_limit_exceeded = out
87
140
  end
88
141
  elsif r.status == 500
89
142
  if Utils.match_content_type(content_type, 'application/json')
90
- out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
143
+ out = Crystalline.unmarshal_json(JSON.parse(r.env.response_body), ::OpenApiSDK::Shared::InternalServerError)
91
144
  res.internal_server_error = out
92
145
  end
93
146
  end
147
+
94
148
  res
95
149
  end
96
150
  end
@@ -0,0 +1,103 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require_relative './registration'
7
+ require_relative './types'
8
+
9
+ require 'sorbet-runtime'
10
+
11
+ module OpenApiSDK
12
+ module SDKHooks
13
+ class Hooks
14
+ extend T::Sig
15
+
16
+ sig { void }
17
+ def initialize
18
+ @sdk_init_hooks = T.let([], T::Array[AbstractSDKInitHook])
19
+ @before_request_hooks = T.let([], T::Array[AbstractBeforeRequestHook])
20
+ @after_success_hooks = T.let([], T::Array[AbstractAfterSuccessHook])
21
+ @after_error_hooks = T.let([], T::Array[AbstractAfterErrorHook])
22
+ Registration.init_hooks self
23
+ end
24
+
25
+ sig { params(hook: AbstractSDKInitHook).void }
26
+ def register_sdk_init_hook(hook)
27
+ @sdk_init_hooks << hook
28
+ end
29
+
30
+ sig { params(hook: AbstractBeforeRequestHook).void }
31
+ def register_before_request_hook(hook)
32
+ @before_request_hooks << hook
33
+ end
34
+
35
+ sig { params(hook: AbstractAfterSuccessHook).void }
36
+ def register_after_success_hook(hook)
37
+ @after_success_hooks << hook
38
+ end
39
+
40
+ sig { params(hook: AbstractAfterErrorHook).void }
41
+ def register_after_error_hook(hook)
42
+ @after_error_hooks << hook
43
+ end
44
+
45
+ sig do
46
+ params(
47
+ base_url: String,
48
+ client: Faraday::Connection
49
+ ).returns([String, Faraday::Connection])
50
+ end
51
+ def sdk_init(base_url:, client:)
52
+ @sdk_init_hooks.each do |hook|
53
+ base_url, client = hook.sdk_init(base_url: base_url, client: client)
54
+ end
55
+
56
+ return base_url, client
57
+ end
58
+
59
+ sig do
60
+ params(
61
+ hook_ctx: BeforeRequestHookContext,
62
+ request: Faraday::Request
63
+ ).returns(Faraday::Request)
64
+ end
65
+ def before_request(hook_ctx:, request:)
66
+ @before_request_hooks.each do |hook|
67
+ request = hook.before_request(hook_ctx: hook_ctx, request: request)
68
+ end
69
+
70
+ request
71
+ end
72
+
73
+ sig do
74
+ params(
75
+ hook_ctx: AfterSuccessHookContext,
76
+ response: Faraday::Response
77
+ ).returns(Faraday::Response)
78
+ end
79
+ def after_success(hook_ctx:, response:)
80
+ @after_success_hooks.each do |hook|
81
+ response = hook.after_success(hook_ctx: hook_ctx, response: response)
82
+ end
83
+
84
+ response
85
+ end
86
+
87
+ sig do
88
+ params(
89
+ error: T.nilable(StandardError),
90
+ hook_ctx: AfterErrorHookContext,
91
+ response: T.nilable(Faraday::Response)
92
+ ).returns(T.nilable(Faraday::Response))
93
+ end
94
+ def after_error(error:, hook_ctx:, response:)
95
+ @after_error_hooks.each do |hook|
96
+ response = hook.after_error(error: error, hook_ctx: hook_ctx, response: response)
97
+ end
98
+
99
+ response
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,35 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file is only ever generated once on the first generation and then is free to be modified.
6
+ # Any hooks you wish to add should be registered in the init_hooks method.
7
+ #
8
+ # Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance.
9
+ #
10
+
11
+ require_relative './types'
12
+
13
+ require 'sorbet-runtime'
14
+
15
+ module OpenApiSDK
16
+ module SDKHooks
17
+ class Registration
18
+ extend T::Sig
19
+
20
+ sig do
21
+ params(
22
+ hooks: Hooks
23
+ ).void
24
+ end
25
+ def self.init_hooks(hooks)
26
+ # example_hook = ExampleHook.new
27
+
28
+ # hooks.register_sdk_init_hook example_hook
29
+ # hooks.register_before_request_hook example_hook
30
+ # hooks.register_after_error_hook example_hook
31
+ # hooks.register_after_success_hook example_hook
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,152 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+
8
+ module OpenApiSDK
9
+ module SDKHooks
10
+ class HookContext
11
+ extend T::Sig
12
+
13
+ sig { returns(String) }
14
+ attr_accessor :base_url
15
+
16
+ sig { returns(T.nilable(T::Array[String])) }
17
+ attr_accessor :oauth2_scopes
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :operation_id
21
+
22
+ sig { returns(T.nilable(T.proc.returns(T.untyped))) }
23
+ attr_accessor :security_source
24
+
25
+ sig do
26
+ params(
27
+ base_url: String,
28
+ oauth2_scopes: T.nilable(T::Array[String]),
29
+ operation_id: String,
30
+ security_source: T.nilable(T.proc.returns(T.untyped))
31
+ ).void
32
+ end
33
+ def initialize(base_url:, oauth2_scopes:, operation_id:, security_source:)
34
+ @base_url = T.let(base_url, String)
35
+ @oauth2_scopes = T.let(oauth2_scopes, T.nilable(T::Array[String]))
36
+ @operation_id = T.let(operation_id, String)
37
+ @security_source = T.let(security_source, T.nilable(T.proc.returns(T.untyped)))
38
+ end
39
+ end
40
+
41
+ class BeforeRequestHookContext < HookContext
42
+ extend T::Sig
43
+
44
+ sig do
45
+ params(
46
+ hook_ctx: HookContext
47
+ ).void
48
+ end
49
+ def initialize(hook_ctx:)
50
+ super(
51
+ base_url: hook_ctx.base_url,
52
+ operation_id: hook_ctx.operation_id,
53
+ oauth2_scopes: hook_ctx.oauth2_scopes,
54
+ security_source: hook_ctx.security_source
55
+ )
56
+ end
57
+ end
58
+
59
+ class AfterSuccessHookContext < HookContext
60
+ extend T::Sig
61
+
62
+ sig do
63
+ params(
64
+ hook_ctx: HookContext
65
+ ).void
66
+ end
67
+ def initialize(hook_ctx:)
68
+ super(
69
+ base_url: hook_ctx.base_url,
70
+ operation_id: hook_ctx.operation_id,
71
+ oauth2_scopes: hook_ctx.oauth2_scopes,
72
+ security_source: hook_ctx.security_source
73
+ )
74
+ end
75
+ end
76
+
77
+ class AfterErrorHookContext < HookContext
78
+ extend T::Sig
79
+
80
+ sig do
81
+ params(
82
+ hook_ctx: HookContext
83
+ ).void
84
+ end
85
+ def initialize(hook_ctx:)
86
+ super(
87
+ base_url: hook_ctx.base_url,
88
+ operation_id: hook_ctx.operation_id,
89
+ oauth2_scopes: hook_ctx.oauth2_scopes,
90
+ security_source: hook_ctx.security_source
91
+ )
92
+ end
93
+ end
94
+
95
+ module AbstractSDKInitHook
96
+ extend T::Sig
97
+ extend T::Helpers
98
+ abstract!
99
+
100
+ sig do
101
+ abstract.params(
102
+ base_url: String,
103
+ client: Faraday::Connection
104
+ ).returns([String, Faraday::Connection])
105
+ end
106
+ def sdk_init(base_url:, client:); end
107
+ end
108
+
109
+ module AbstractBeforeRequestHook
110
+ extend T::Sig
111
+ extend T::Helpers
112
+ abstract!
113
+
114
+ sig do
115
+ abstract.params(
116
+ hook_ctx: BeforeRequestHookContext,
117
+ request: Faraday::Request
118
+ ).returns(Faraday::Request)
119
+ end
120
+ def before_request(hook_ctx:, request:); end
121
+ end
122
+
123
+ module AbstractAfterSuccessHook
124
+ extend T::Sig
125
+ extend T::Helpers
126
+ abstract!
127
+
128
+ sig do
129
+ abstract.params(
130
+ hook_ctx: AfterSuccessHookContext,
131
+ response: Faraday::Response
132
+ ).returns(Faraday::Response)
133
+ end
134
+ def after_success(hook_ctx:, response:); end
135
+ end
136
+
137
+ module AbstractAfterErrorHook
138
+ extend T::Sig
139
+ extend T::Helpers
140
+ abstract!
141
+
142
+ sig do
143
+ abstract.params(
144
+ error: T.nilable(StandardError),
145
+ hook_ctx: AfterErrorHookContext,
146
+ response: T.nilable(Faraday::Response)
147
+ ).returns(T.nilable(Faraday::Response))
148
+ end
149
+ def after_error(error:, hook_ctx:, response:); end
150
+ end
151
+ end
152
+ end
@@ -1,11 +1,14 @@
1
- # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
2
 
3
3
  # typed: true
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
9
12
 
10
13
  module OpenApiSDK
11
14
  extend T::Sig
@@ -15,11 +18,14 @@ module OpenApiSDK
15
18
  ].freeze
16
19
  # Contains the list of servers available to the SDK
17
20
 
18
- class SDKConfiguration < ::OpenApiSDK::Utils::FieldAugmented
21
+ class SDKConfiguration < ::Crystalline::FieldAugmented
19
22
  extend T::Sig
20
23
 
21
24
  field :client, T.nilable(Faraday::Connection)
22
- field :security, T.nilable(::OpenApiSDK::Shared::Security)
25
+ field :hooks, ::OpenApiSDK::SDKHooks::Hooks
26
+ field :retry_config, T.nilable(::OpenApiSDK::Utils::RetryConfig)
27
+ field :timeout, T.nilable(Float)
28
+ field :security_source, T.nilable(T.proc.returns(T.nilable(::OpenApiSDK::Shared::Security)))
23
29
  field :server_url, T.nilable(String)
24
30
  field :server_idx, T.nilable(Integer)
25
31
  field :language, String
@@ -28,19 +34,36 @@ module OpenApiSDK
28
34
  field :gen_version, String
29
35
  field :user_agent, String
30
36
 
31
-
32
- sig { params(client: Faraday::Connection, security: T.nilable(::OpenApiSDK::Shared::Security), server_url: T.nilable(String), server_idx: T.nilable(Integer)).void }
33
- def initialize(client, security, server_url, server_idx)
37
+ sig do
38
+ params(
39
+ client: T.nilable(Faraday::Connection),
40
+ hooks: ::OpenApiSDK::SDKHooks::Hooks,
41
+ retry_config: T.nilable(::OpenApiSDK::Utils::RetryConfig),
42
+ timeout_ms: T.nilable(Integer),
43
+ security: T.nilable(::OpenApiSDK::Shared::Security),
44
+ security_source: T.nilable(T.proc.returns(::OpenApiSDK::Shared::Security)),
45
+ server_url: T.nilable(String),
46
+ server_idx: T.nilable(Integer)
47
+ ).void
48
+ end
49
+ def initialize(client, hooks, retry_config, timeout_ms, security, security_source, server_url, server_idx)
34
50
  @client = client
51
+ @hooks = hooks
52
+ @retry_config = retry_config
35
53
  @server_url = server_url
54
+ @timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
36
55
  @server_idx = server_idx.nil? ? 0 : server_idx
37
56
  raise StandardError, "Invalid server index #{server_idx}" if @server_idx.negative? || @server_idx >= SERVERS.length
38
- @security = security
57
+ if !security_source.nil?
58
+ @security_source = security_source
59
+ elsif !security.nil?
60
+ @security_source = -> { security }
61
+ end
39
62
  @language = 'ruby'
40
63
  @openapi_doc_version = '0.0.1'
41
- @sdk_version = '0.2.2'
42
- @gen_version = '2.365.0'
43
- @user_agent = 'speakeasy-sdk/ruby 0.2.2 2.365.0 0.0.1 dub'
64
+ @sdk_version = '0.3.0'
65
+ @gen_version = '2.563.0'
66
+ @user_agent = 'speakeasy-sdk/ruby 0.3.0 2.563.0 0.0.1 dub'
44
67
  end
45
68
 
46
69
  sig { returns([String, T::Hash[Symbol, String]]) }