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,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # SaleType - Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both.
11
+ class SaleType < T::Enum
12
+ enums do
13
+ NEW = new('new')
14
+ RECURRING = new('recurring')
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,4 +1,4 @@
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
@@ -7,14 +7,16 @@
7
7
  module OpenApiSDK
8
8
  module Operations
9
9
 
10
- # Sort - The field to sort the links by. The default is `createdAt`, and sort order is always descending.
10
+ # Sort - DEPRECATED. Use `sortBy` instead.
11
+ #
12
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
11
13
  class Sort < T::Enum
12
14
  enums do
13
15
  CREATED_AT = new('createdAt')
14
16
  CLICKS = new('clicks')
17
+ SALE_AMOUNT = new('saleAmount')
15
18
  LAST_CLICKED = new('lastClicked')
16
19
  end
17
20
  end
18
-
19
21
  end
20
22
  end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # SortBy - The field to sort the links by. The default is `createdAt`.
11
+ class SortBy < T::Enum
12
+ enums do
13
+ CREATED_AT = new('createdAt')
14
+ CLICKS = new('clicks')
15
+ SALE_AMOUNT = new('saleAmount')
16
+ LAST_CLICKED = new('lastClicked')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # SortOrder - The sort order. The default is `desc`.
11
+ class SortOrder < T::Enum
12
+ enums do
13
+ ASC = new('asc')
14
+ DESC = new('desc')
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # Status - Useful for marking a commission as refunded, duplicate, canceled, or fraudulent. Takes precedence over `amount` and `modifyAmount`. When a commission is marked as refunded, duplicate, canceled, or fraudulent, it will be omitted from the payout, and the payout amount will be recalculated accordingly. Paid commissions cannot be updated.
11
+ class Status < T::Enum
12
+ enums do
13
+ REFUNDED = new('refunded')
14
+ DUPLICATE = new('duplicate')
15
+ CANCELED = new('canceled')
16
+ FRAUD = new('fraud')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class TestVariants < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :percentage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('percentage') } }
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
+
19
+
20
+ sig { params(percentage: ::Float, url: ::String).void }
21
+ def initialize(percentage: nil, url: nil)
22
+ @percentage = percentage
23
+ @url = url
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,4 +1,4 @@
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
@@ -8,34 +8,40 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class TrackLeadRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackLeadRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The ID of the click in th Dub. You can read this value from `dclid` cookie.
14
+ # The unique ID of the click that the lead conversion event is attributed to. You can read this value from `dub_id` cookie.
15
15
  field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickId') } }
16
- # This is the unique identifier for the customer in the client's app. This is used to track the customer's journey.
17
- field :customer_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
18
- # The name of the event to track.
16
+ # The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.
17
+ field :customer_external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerExternalId') } }
18
+ # The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the `leadEventName` prop in `/track/sale`).
19
19
  field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName') } }
20
- # Avatar of the customer in the client's app.
20
+ # The avatar URL of the customer.
21
21
  field :customer_avatar, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerAvatar') } }
22
- # Email of the customer in the client's app.
22
+ # The email address of the customer.
23
23
  field :customer_email, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerEmail') } }
24
- # Name of the customer in the client's app.
24
+ # The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”).
25
25
  field :customer_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerName') } }
26
- # Additional metadata to be stored with the lead event
26
+ # The numerical value associated with this lead event (e.g., number of provisioned seats in a free trial). If defined as N, the lead event will be tracked N times.
27
+ field :event_quantity, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventQuantity') } }
28
+ # Additional metadata to be stored with the lead event. Max 10,000 characters.
27
29
  field :metadata, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
30
+ # The mode to use for tracking the lead event. `async` will not block the request; `wait` will block the request until the lead event is fully recorded in Dub.
31
+ field :mode, T.nilable(::OpenApiSDK::Operations::Mode), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('mode'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::Mode, true) } }
28
32
 
29
33
 
30
- sig { params(click_id: ::String, customer_id: ::String, event_name: ::String, customer_avatar: T.nilable(::String), customer_email: T.nilable(::String), customer_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::Object])).void }
31
- def initialize(click_id: nil, customer_id: nil, event_name: nil, customer_avatar: nil, customer_email: nil, customer_name: nil, metadata: nil)
34
+ sig { params(click_id: ::String, customer_external_id: ::String, event_name: ::String, customer_avatar: T.nilable(::String), customer_email: T.nilable(::String), customer_name: T.nilable(::String), event_quantity: T.nilable(::Float), metadata: T.nilable(T::Hash[Symbol, ::Object]), mode: T.nilable(::OpenApiSDK::Operations::Mode)).void }
35
+ def initialize(click_id: nil, customer_external_id: nil, event_name: nil, customer_avatar: nil, customer_email: nil, customer_name: nil, event_quantity: nil, metadata: nil, mode: nil)
32
36
  @click_id = click_id
33
- @customer_id = customer_id
37
+ @customer_external_id = customer_external_id
34
38
  @event_name = event_name
35
39
  @customer_avatar = customer_avatar
36
40
  @customer_email = customer_email
37
41
  @customer_name = customer_name
42
+ @event_quantity = event_quantity
38
43
  @metadata = metadata
44
+ @mode = mode
39
45
  end
40
46
  end
41
47
  end
@@ -1,4 +1,4 @@
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
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class TrackLeadResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackLeadResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -1,4 +1,4 @@
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
@@ -8,34 +8,19 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
  # A lead was tracked.
11
- class TrackLeadResponseBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackLeadResponseBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickId') } }
15
+ field :click, ::OpenApiSDK::Operations::Click, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('click') } }
16
16
 
17
- field :customer_avatar, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerAvatar') } }
17
+ field :customer, ::OpenApiSDK::Operations::Customer, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } }
18
18
 
19
- field :customer_email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerEmail') } }
20
19
 
21
- field :customer_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
22
-
23
- field :customer_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerName') } }
24
-
25
- field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName') } }
26
-
27
- field :metadata, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
28
-
29
-
30
- sig { params(click_id: ::String, customer_avatar: ::String, customer_email: ::String, customer_id: ::String, customer_name: ::String, event_name: ::String, metadata: T.nilable(T::Hash[Symbol, ::Object])).void }
31
- def initialize(click_id: nil, customer_avatar: nil, customer_email: nil, customer_id: nil, customer_name: nil, event_name: nil, metadata: nil)
32
- @click_id = click_id
33
- @customer_avatar = customer_avatar
34
- @customer_email = customer_email
35
- @customer_id = customer_id
36
- @customer_name = customer_name
37
- @event_name = event_name
38
- @metadata = metadata
20
+ sig { params(click: ::OpenApiSDK::Operations::Click, customer: ::OpenApiSDK::Operations::Customer).void }
21
+ def initialize(click: nil, customer: nil)
22
+ @click = click
23
+ @customer = customer
39
24
  end
40
25
  end
41
26
  end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class TrackSaleCustomer < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+
15
+ field :avatar, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
16
+
17
+ field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
18
+
19
+ field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
20
+
21
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
22
+
23
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
24
+
25
+
26
+ sig { params(avatar: ::String, email: ::String, external_id: ::String, id: ::String, name: ::String).void }
27
+ def initialize(avatar: nil, email: nil, external_id: nil, id: nil, name: nil)
28
+ @avatar = avatar
29
+ @email = email
30
+ @external_id = external_id
31
+ @id = id
32
+ @name = name
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,4 +1,4 @@
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
@@ -8,33 +8,36 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class TrackSaleRequestBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackSaleRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The amount of the sale. Should be passed in cents.
14
+ # The amount of the sale in cents (for all two-decimal currencies). If the sale is in a zero-decimal currency, pass the full integer value (e.g. `1437` JPY). Learn more: https://d.to/currency
15
15
  field :amount, ::Integer, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
- # This is the unique identifier for the customer in the client's app. This is used to track the customer's journey.
17
- field :customer_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
16
+ # The unique ID of the customer in your system. Will be used to identify and attribute all future events to this customer.
17
+ field :customer_external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerExternalId') } }
18
18
  # The payment processor via which the sale was made.
19
19
  field :payment_processor, ::OpenApiSDK::Operations::PaymentProcessor, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paymentProcessor'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::PaymentProcessor, false) } }
20
- # The currency of the sale. Accepts ISO 4217 currency codes.
20
+ # The currency of the sale. Accepts ISO 4217 currency codes. Sales will be automatically converted and stored as USD at the latest exchange rates. Learn more: https://d.to/currency
21
21
  field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
22
- # The name of the sale event. It can be used to track different types of event for example 'Purchase', 'Upgrade', 'Payment', etc.
22
+ # The name of the sale event. Recommended format: `Invoice paid` or `Subscription created`.
23
23
  field :event_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName') } }
24
- # The invoice ID of the sale.
24
+ # The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID.
25
25
  field :invoice_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
26
- # Additional metadata to be stored with the sale event.
26
+ # The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior).
27
+ field :lead_event_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leadEventName') } }
28
+ # Additional metadata to be stored with the sale event. Max 10,000 characters when stringified.
27
29
  field :metadata, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
28
30
 
29
31
 
30
- sig { params(amount: ::Integer, customer_id: ::String, payment_processor: ::OpenApiSDK::Operations::PaymentProcessor, currency: T.nilable(::String), event_name: T.nilable(::String), invoice_id: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::Object])).void }
31
- def initialize(amount: nil, customer_id: nil, payment_processor: nil, currency: nil, event_name: nil, invoice_id: nil, metadata: nil)
32
+ sig { params(amount: ::Integer, customer_external_id: ::String, payment_processor: ::OpenApiSDK::Operations::PaymentProcessor, currency: T.nilable(::String), event_name: T.nilable(::String), invoice_id: T.nilable(::String), lead_event_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::Object])).void }
33
+ def initialize(amount: nil, customer_external_id: nil, payment_processor: nil, currency: nil, event_name: nil, invoice_id: nil, lead_event_name: nil, metadata: nil)
32
34
  @amount = amount
33
- @customer_id = customer_id
35
+ @customer_external_id = customer_external_id
34
36
  @payment_processor = payment_processor
35
37
  @currency = currency
36
38
  @event_name = event_name
37
39
  @invoice_id = invoice_id
40
+ @lead_event_name = lead_event_name
38
41
  @metadata = metadata
39
42
  end
40
43
  end
@@ -1,4 +1,4 @@
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
@@ -8,7 +8,7 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
 
11
- class TrackSaleResponse < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackSaleResponse < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
  # HTTP response content type for this operation
@@ -1,4 +1,4 @@
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
@@ -8,34 +8,22 @@ module OpenApiSDK
8
8
  module Operations
9
9
 
10
10
  # A sale was tracked.
11
- class TrackSaleResponseBody < ::OpenApiSDK::Utils::FieldAugmented
11
+ class TrackSaleResponseBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
-
17
- field :currency, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
18
-
19
- field :customer_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customerId') } }
15
+ field :customer, ::OpenApiSDK::Operations::TrackSaleCustomer, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } }
20
16
 
21
17
  field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName') } }
22
18
 
23
- field :invoice_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
24
-
25
- field :metadata, T::Hash[Symbol, ::Object], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata') } }
26
-
27
- field :payment_processor, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paymentProcessor') } }
19
+ field :sale, ::OpenApiSDK::Operations::Sale, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sale') } }
28
20
 
29
21
 
30
- sig { params(amount: ::Float, currency: ::String, customer_id: ::String, event_name: ::String, invoice_id: ::String, metadata: T::Hash[Symbol, ::Object], payment_processor: ::String).void }
31
- def initialize(amount: nil, currency: nil, customer_id: nil, event_name: nil, invoice_id: nil, metadata: nil, payment_processor: nil)
32
- @amount = amount
33
- @currency = currency
34
- @customer_id = customer_id
22
+ sig { params(customer: ::OpenApiSDK::Operations::TrackSaleCustomer, event_name: ::String, sale: ::OpenApiSDK::Operations::Sale).void }
23
+ def initialize(customer: nil, event_name: nil, sale: nil)
24
+ @customer = customer
35
25
  @event_name = event_name
36
- @invoice_id = invoice_id
37
- @metadata = metadata
38
- @payment_processor = payment_processor
26
+ @sale = sale
39
27
  end
40
28
  end
41
29
  end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # Trigger - The trigger to retrieve analytics for. If undefined, returns all trigger types.
11
+ class Trigger < T::Enum
12
+ enums do
13
+ QR = new('qr')
14
+ LINK = new('link')
15
+ PAGEVIEW = new('pageview')
16
+ DEEPLINK = new('deeplink')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+ # Type
11
+ class Type < T::Enum
12
+ enums do
13
+ CLICK = new('click')
14
+ LEAD = new('lead')
15
+ SALE = new('sale')
16
+ CUSTOM = new('custom')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateCommissionCustomer < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The date the customer was created.
15
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
16
+ # Unique identifier for the customer in the client's app.
17
+ field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
18
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
19
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
+ # Name of the customer.
21
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
22
+ # Avatar URL of the customer.
23
+ field :avatar, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
24
+ # Country of the customer.
25
+ field :country, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
26
+ # Email of the customer.
27
+ field :email, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
28
+ # Total amount of sales for the customer.
29
+ field :sale_amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
30
+ # Total number of sales for the customer.
31
+ field :sales, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
32
+
33
+
34
+ sig { params(created_at: ::String, external_id: ::String, id: ::String, name: ::String, avatar: T.nilable(::String), country: T.nilable(::String), email: T.nilable(::String), sale_amount: T.nilable(::Float), sales: T.nilable(::Float)).void }
35
+ def initialize(created_at: nil, external_id: nil, id: nil, name: nil, avatar: nil, country: nil, email: nil, sale_amount: nil, sales: nil)
36
+ @created_at = created_at
37
+ @external_id = external_id
38
+ @id = id
39
+ @name = name
40
+ @avatar = avatar
41
+ @country = country
42
+ @email = email
43
+ @sale_amount = sale_amount
44
+ @sales = sales
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,39 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateCommissionPartner < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The partner's country (required for tax purposes).
15
+ field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }
16
+ # The partner's email address. Should be a unique value across Dub.
17
+ field :email, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } }
18
+ # The partner's unique ID on Dub.
19
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
+ # The partner's avatar image.
21
+ field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
22
+ # The partner's full legal name.
23
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
24
+ # The date when the partner enabled payouts.
25
+ field :payouts_enabled_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt') } }
26
+
27
+
28
+ sig { params(country: ::String, email: ::String, id: ::String, image: ::String, name: ::String, payouts_enabled_at: ::String).void }
29
+ def initialize(country: nil, email: nil, id: nil, image: nil, name: nil, payouts_enabled_at: nil)
30
+ @country = country
31
+ @email = email
32
+ @id = id
33
+ @image = image
34
+ @name = name
35
+ @payouts_enabled_at = payouts_enabled_at
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateCommissionRequest < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The commission's unique ID on Dub.
15
+ field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
16
+
17
+ field :request_body, T.nilable(::OpenApiSDK::Operations::UpdateCommissionRequestBody), { 'request': { 'media_type': 'application/json' } }
18
+
19
+
20
+ sig { params(id: ::String, request_body: T.nilable(::OpenApiSDK::Operations::UpdateCommissionRequestBody)).void }
21
+ def initialize(id: nil, request_body: nil)
22
+ @id = id
23
+ @request_body = request_body
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateCommissionRequestBody < ::Crystalline::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The new absolute amount for the sale. Paid commissions cannot be updated.
15
+ field :amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
+ # The currency of the sale amount to update. Accepts ISO 4217 currency codes.
17
+ field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
18
+ # Modify the current sale amount: use positive values to increase the amount, negative values to decrease it. Takes precedence over `amount`. Paid commissions cannot be updated.
19
+ field :modify_amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('modifyAmount') } }
20
+ # Useful for marking a commission as refunded, duplicate, canceled, or fraudulent. Takes precedence over `amount` and `modifyAmount`. When a commission is marked as refunded, duplicate, canceled, or fraudulent, it will be omitted from the payout, and the payout amount will be recalculated accordingly. Paid commissions cannot be updated.
21
+ field :status, T.nilable(::OpenApiSDK::Operations::Status), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::Status, true) } }
22
+
23
+
24
+ sig { params(amount: T.nilable(::Float), currency: T.nilable(::String), modify_amount: T.nilable(::Float), status: T.nilable(::OpenApiSDK::Operations::Status)).void }
25
+ def initialize(amount: nil, currency: nil, modify_amount: nil, status: nil)
26
+ @amount = amount
27
+ @currency = currency
28
+ @modify_amount = modify_amount
29
+ @status = status
30
+ end
31
+ end
32
+ end
33
+ end