dub 0.12.3 → 0.12.5
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.
- checksums.yaml +4 -4
- data/lib/crystalline/enum.rbi +17 -0
- data/lib/crystalline/metadata_fields.rb +20 -14
- data/lib/crystalline/module.rb +96 -10
- data/lib/crystalline/types.rb +79 -0
- data/lib/dub.rb +1 -0
- data/lib/open_api_sdk/bounties.rb +1 -1
- data/lib/open_api_sdk/commissions.rb +2 -2
- data/lib/open_api_sdk/customers.rb +32 -32
- data/lib/open_api_sdk/domains.rb +97 -97
- data/lib/open_api_sdk/dub.rb +2 -1
- data/lib/open_api_sdk/folders.rb +61 -61
- data/lib/open_api_sdk/links.rb +133 -133
- data/lib/open_api_sdk/models/errors/code.rb +0 -2
- data/lib/open_api_sdk/models/errors/conflict_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/forbidden_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/internalservererror_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/inviteexpired_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/notfound_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/ratelimitexceeded_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/unauthorized_code.rb +0 -2
- data/lib/open_api_sdk/models/errors/unprocessableentity_code.rb +0 -2
- data/lib/open_api_sdk/models/operations/accesslevel.rb +0 -2
- data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/bannedreason.rb +0 -2
- data/lib/open_api_sdk/models/operations/color.rb +0 -2
- data/lib/open_api_sdk/models/operations/{listpartners_bannedreason.rb → createpartner_bannedreason.rb} +2 -4
- data/lib/open_api_sdk/models/operations/createpartner_bannedreason.rbi +11 -0
- data/lib/open_api_sdk/models/operations/{listpartners_fields.rb → createpartner_fields.rb} +1 -1
- data/lib/open_api_sdk/models/operations/createpartner_fields.rbi +11 -0
- data/lib/open_api_sdk/models/operations/{listpartners_fields_1.rb → createpartner_fields_1.rb} +4 -4
- data/lib/open_api_sdk/models/operations/{listpartners_fields_1.rbi → createpartner_fields_1.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_2.rb → createpartner_fields_2.rb} +4 -4
- data/lib/open_api_sdk/models/operations/{listpartners_fields_2.rbi → createpartner_fields_2.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_3.rb → createpartner_fields_3.rb} +4 -4
- data/lib/open_api_sdk/models/operations/{listpartners_fields_3.rbi → createpartner_fields_3.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_4.rb → createpartner_fields_4.rb} +3 -3
- data/lib/open_api_sdk/models/operations/{listpartners_fields_4.rbi → createpartner_fields_4.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_constraints.rb → createpartner_fields_constraints.rb} +1 -1
- data/lib/open_api_sdk/models/operations/{listpartners_fields_constraints.rbi → createpartner_fields_constraints.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_options.rb → createpartner_fields_options.rb} +1 -1
- data/lib/open_api_sdk/models/operations/{listpartners_fields_options.rbi → createpartner_fields_options.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_partners_constraints.rb → createpartner_fields_partners_constraints.rb} +1 -1
- data/lib/open_api_sdk/models/operations/{listpartners_fields_partners_constraints.rbi → createpartner_fields_partners_constraints.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_partners_options.rb → createpartner_fields_partners_options.rb} +1 -1
- data/lib/open_api_sdk/models/operations/{listpartners_fields_partners_options.rbi → createpartner_fields_partners_options.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/{listpartners_fields_partners_response_200_applicationjson_responsebody_referralformdata_8_type.rb → createpartner_fields_partners_response_201_applicationjson_responsebody_referralformdata_8_type.rb} +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_201_applicationjson_responsebody_referralformdata_8_type.rbi +11 -0
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_201_applicationjson_responsebody_referralformdata_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_201_applicationjson_responsebody_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_201_applicationjson_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_201_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_response_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_partners_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/createpartner_fields_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/{listpartners_links.rb → createpartner_links.rb} +1 -1
- data/lib/open_api_sdk/models/operations/{listpartners_links.rbi → createpartner_links.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/createpartner_referralformdata.rb +32 -0
- data/lib/open_api_sdk/models/operations/{listpartners_referralformdata.rbi → createpartner_referralformdata.rbi} +2 -2
- data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +4 -4
- data/lib/open_api_sdk/models/operations/createpartner_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/deactivatepartner_requestbody.rb +36 -0
- data/lib/open_api_sdk/models/operations/deactivatepartner_requestbody.rbi +15 -0
- data/lib/open_api_sdk/models/operations/deactivatepartner_responsebody.rb +32 -0
- data/lib/open_api_sdk/models/operations/deactivatepartner_responsebody.rbi +13 -0
- data/lib/open_api_sdk/models/operations/eight.rb +2 -2
- data/lib/open_api_sdk/models/operations/event.rb +0 -2
- data/lib/open_api_sdk/models/operations/fields_2.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_3.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_4.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_5.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_6.rb +3 -3
- data/lib/open_api_sdk/models/operations/fields_7.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_8.rb +2 -2
- data/lib/open_api_sdk/models/operations/fields_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/five.rb +2 -2
- data/lib/open_api_sdk/models/operations/four.rb +0 -2
- data/lib/open_api_sdk/models/operations/getcustomer_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/getcustomers_queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/getcustomers_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/gettags_queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/gettags_queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/interval.rb +0 -2
- data/lib/open_api_sdk/models/operations/level.rb +0 -2
- data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/listbountysubmissions_request.rb +1 -1
- data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/listcommissions_queryparam_interval.rb +0 -2
- data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/listcommissions_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/listcommissions_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/listevents_request.rb +60 -64
- data/lib/open_api_sdk/models/operations/listevents_request.rbi +20 -22
- data/lib/open_api_sdk/models/operations/listevents_responsebody_event.rb +0 -2
- data/lib/open_api_sdk/models/operations/listevents_responsebody_events_event.rb +0 -2
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_responsebody_referralformdata_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_responsebody_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_200_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_fields_type.rb +1 -3
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/listpartners_queryparam_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +4 -4
- data/lib/open_api_sdk/models/operations/listpartners_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/listpayouts_mode.rb +19 -0
- data/lib/open_api_sdk/models/operations/listpayouts_mode.rbi +11 -0
- data/lib/open_api_sdk/models/operations/listpayouts_partner.rb +60 -0
- data/lib/open_api_sdk/models/operations/listpayouts_partner.rbi +27 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_sortby.rb +20 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_sortby.rbi +11 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_sortorder.rb +19 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_sortorder.rbi +11 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_status.rb +24 -0
- data/lib/open_api_sdk/models/operations/listpayouts_queryparam_status.rbi +11 -0
- data/lib/open_api_sdk/models/operations/listpayouts_request.rb +60 -0
- data/lib/open_api_sdk/models/operations/listpayouts_request.rbi +27 -0
- data/lib/open_api_sdk/models/operations/listpayouts_responsebody.rb +88 -0
- data/lib/open_api_sdk/models/operations/listpayouts_responsebody.rbi +41 -0
- data/lib/open_api_sdk/models/operations/listpayouts_status.rb +24 -0
- data/lib/open_api_sdk/models/operations/listpayouts_status.rbi +11 -0
- data/lib/open_api_sdk/models/operations/mode.rb +0 -2
- data/lib/open_api_sdk/models/operations/one.rb +0 -2
- data/lib/open_api_sdk/models/operations/order.rb +0 -2
- data/lib/open_api_sdk/models/operations/paymentprocessor.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_event.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_interval.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_saletype.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/queryparam_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/reason.rb +0 -2
- data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/rejectionreason.rb +0 -2
- data/lib/open_api_sdk/models/operations/responsebody_event.rb +0 -2
- data/lib/open_api_sdk/models/operations/responsebody_paymentprocessor.rb +0 -2
- data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +60 -64
- data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +20 -22
- data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_groupby.rb +0 -2
- data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +0 -2
- data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +1 -1
- data/lib/open_api_sdk/models/operations/saletype.rb +0 -2
- data/lib/open_api_sdk/models/operations/seven.rb +2 -2
- data/lib/open_api_sdk/models/operations/six.rb +2 -2
- data/lib/open_api_sdk/models/operations/sort.rb +0 -2
- data/lib/open_api_sdk/models/operations/sortby.rb +0 -2
- data/lib/open_api_sdk/models/operations/sortorder.rb +0 -2
- data/lib/open_api_sdk/models/operations/status.rb +0 -2
- data/lib/open_api_sdk/models/operations/three.rb +0 -2
- data/lib/open_api_sdk/models/operations/two.rb +0 -2
- data/lib/open_api_sdk/models/operations/type.rb +0 -2
- data/lib/open_api_sdk/models/operations/updatecommission_status.rb +0 -2
- data/lib/open_api_sdk/models/operations/updatecommission_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/updatecustomer_type.rb +0 -2
- data/lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb +0 -2
- data/lib/open_api_sdk/models/operations/updatetag_color.rb +0 -2
- data/lib/open_api_sdk/models/operations/user.rb +44 -0
- data/lib/open_api_sdk/models/operations/user.rbi +19 -0
- data/lib/open_api_sdk/models/operations.rb +24 -19
- data/lib/open_api_sdk/models/shared/accesslevel.rb +0 -2
- data/lib/open_api_sdk/models/shared/analyticsregions_city.rb +0 -2
- data/lib/open_api_sdk/models/shared/analyticstoplinks.rb +10 -6
- data/lib/open_api_sdk/models/shared/analyticstoplinks.rbi +4 -2
- data/lib/open_api_sdk/models/shared/bannedreason.rb +0 -2
- data/lib/open_api_sdk/models/shared/city.rb +0 -2
- data/lib/open_api_sdk/models/shared/code.rb +0 -2
- data/lib/open_api_sdk/models/shared/color.rb +0 -2
- data/lib/open_api_sdk/models/shared/commissioncreatedevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/commissioncreatedevent_status.rb +0 -2
- data/lib/open_api_sdk/models/shared/commissioncreatedevent_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/continent.rb +0 -2
- data/lib/open_api_sdk/models/shared/fields_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/leadcreatedevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/linkclickedevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/linktagschema_color.rb +0 -2
- data/lib/open_api_sdk/models/shared/one.rb +0 -2
- data/lib/open_api_sdk/models/shared/partneranalyticstoplinks.rb +10 -6
- data/lib/open_api_sdk/models/shared/partneranalyticstoplinks.rbi +4 -2
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_5_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_6_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_7_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_8_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/partnerenrolledevent_fields_type.rb +0 -2
- data/lib/open_api_sdk/models/shared/region.rb +0 -2
- data/lib/open_api_sdk/models/shared/salecreatedevent_event.rb +0 -2
- data/lib/open_api_sdk/models/shared/status.rb +0 -2
- data/lib/open_api_sdk/models/shared/three.rb +0 -2
- data/lib/open_api_sdk/models/shared/trigger.rb +0 -2
- data/lib/open_api_sdk/models/shared/two.rb +0 -2
- data/lib/open_api_sdk/models/shared/type.rb +0 -2
- data/lib/open_api_sdk/partners.rb +289 -54
- data/lib/open_api_sdk/payouts.rb +267 -0
- data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
- data/lib/open_api_sdk/tags.rb +61 -61
- data/lib/open_api_sdk/utils/url.rb +1 -1
- data/lib/open_api_sdk/utils/utils.rb +12 -0
- metadata +54 -42
- data/lib/open_api_sdk/models/operations/continent.rb +0 -26
- data/lib/open_api_sdk/models/operations/continent.rbi +0 -11
- data/lib/open_api_sdk/models/operations/listevents_queryparam_tagids.rb +0 -27
- data/lib/open_api_sdk/models/operations/listevents_queryparam_tagids.rbi +0 -11
- data/lib/open_api_sdk/models/operations/listpartners_bannedreason.rbi +0 -11
- data/lib/open_api_sdk/models/operations/listpartners_fields.rbi +0 -11
- data/lib/open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_responsebody_referralformdata_8_type.rbi +0 -11
- data/lib/open_api_sdk/models/operations/listpartners_referralformdata.rb +0 -32
- data/lib/open_api_sdk/models/operations/queryparam_continent.rb +0 -26
- data/lib/open_api_sdk/models/operations/queryparam_continent.rbi +0 -11
- data/lib/open_api_sdk/models/operations/queryparam_trigger.rb +0 -23
- data/lib/open_api_sdk/models/operations/queryparam_trigger.rbi +0 -11
- data/lib/open_api_sdk/models/operations/retrieveanalytics_queryparam_tagids.rb +0 -27
- data/lib/open_api_sdk/models/operations/retrieveanalytics_queryparam_tagids.rbi +0 -11
- data/lib/open_api_sdk/models/operations/trigger.rb +0 -23
- data/lib/open_api_sdk/models/operations/trigger.rbi +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 41735c609fdd842dc1c2cbc512b1131e3e3ca825b233a70b5251e36137970a86
|
|
4
|
+
data.tar.gz: 7f7f5975a408bf9a6969d1f6f086b07dacf325fe19edf4ee910b9cea37daf200
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6f051245203954c7078adb22c10d73fafd4778e20b9eb2ff983a02f947c56c3d6d0201aef1da5f8924549a424bf39413a7c65637bf9e7cadb8309b13c5b25058
|
|
7
|
+
data.tar.gz: 3d032d1af64548fedd00a6b7123d26488f25091b8788b7751512895f8f0f9d00e1aee241b59adb97da988fb4b66662a6c8092d52131946ac5338db62cefec9a1
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
|
|
3
|
+
module Crystalline
|
|
4
|
+
module Enum
|
|
5
|
+
mixes_in_class_methods(ClassMethods)
|
|
6
|
+
|
|
7
|
+
module ClassMethods
|
|
8
|
+
def enums(&blk); end
|
|
9
|
+
def open!; end
|
|
10
|
+
def open?; end
|
|
11
|
+
def deserialize(val); end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def serialize; end
|
|
15
|
+
def known?; end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -84,7 +84,9 @@ module Crystalline
|
|
|
84
84
|
# If field is nilable, and the value is not in the dict, just move to the next field
|
|
85
85
|
next if value.nil?
|
|
86
86
|
|
|
87
|
-
if Crystalline::
|
|
87
|
+
if field_type.is_a?(Crystalline::DiscriminatedUnion)
|
|
88
|
+
to_build[key] = field_type.parse(value)
|
|
89
|
+
elsif Crystalline::Utils.arr? field_type
|
|
88
90
|
inner_type = Crystalline::Utils.arr_of(field_type)
|
|
89
91
|
unmarshalled_array = value.map { |f| unmarshal_single(inner_type, f, format_metadata) }
|
|
90
92
|
to_build[key] = unmarshalled_array
|
|
@@ -112,17 +114,21 @@ module Crystalline
|
|
|
112
114
|
union_types = Crystalline::Utils.get_union_types(field_type)
|
|
113
115
|
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
114
116
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
if Crystalline.union_strategy == :populated_fields
|
|
118
|
+
to_build[key] = Crystalline.unmarshal_union_populated_fields(value, union_types)
|
|
119
|
+
else
|
|
120
|
+
union_types.each do |union_type|
|
|
121
|
+
begin
|
|
122
|
+
to_build[key] = Crystalline.unmarshal_json(value, union_type)
|
|
123
|
+
rescue TypeError
|
|
124
|
+
next
|
|
125
|
+
rescue NoMethodError
|
|
126
|
+
next
|
|
127
|
+
rescue KeyError
|
|
128
|
+
next
|
|
129
|
+
end
|
|
130
|
+
break
|
|
124
131
|
end
|
|
125
|
-
break
|
|
126
132
|
end
|
|
127
133
|
end
|
|
128
134
|
elsif field_type.instance_of?(Class) && field_type.include?(::Crystalline::MetadataFields)
|
|
@@ -182,10 +188,10 @@ module Crystalline
|
|
|
182
188
|
next if f.nil? && !required
|
|
183
189
|
result[key] = nil if f.nil? && required
|
|
184
190
|
|
|
185
|
-
if f.is_a? Array
|
|
191
|
+
if f.is_a? ::Array
|
|
186
192
|
result[key] = f.map { |o| marshal_single(o) }
|
|
187
|
-
elsif f.is_a? Hash
|
|
188
|
-
result[key] = f.
|
|
193
|
+
elsif f.is_a? ::Hash
|
|
194
|
+
result[key] = f.transform_values { |v| marshal_single(v) }
|
|
189
195
|
else
|
|
190
196
|
result[key] = marshal_single(f)
|
|
191
197
|
end
|
data/lib/crystalline/module.rb
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
# frozen_string_literal: true
|
|
5
5
|
|
|
6
6
|
module Crystalline
|
|
7
|
+
@union_strategy = :left_to_right
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
attr_accessor :union_strategy
|
|
11
|
+
end
|
|
7
12
|
|
|
8
13
|
def self.to_dict(complex)
|
|
9
14
|
if complex.is_a? Array
|
|
@@ -29,21 +34,18 @@ module Crystalline
|
|
|
29
34
|
if Crystalline::Utils.nilable? type
|
|
30
35
|
type = Crystalline::Utils.nilable_of type
|
|
31
36
|
end
|
|
32
|
-
if type.
|
|
37
|
+
if type.is_a?(Crystalline::DiscriminatedUnion)
|
|
38
|
+
type.parse(data)
|
|
39
|
+
elsif type.instance_of?(Class) && type.include?(::Crystalline::MetadataFields)
|
|
33
40
|
type.from_dict(data)
|
|
34
41
|
elsif Crystalline::Utils.union? type
|
|
35
42
|
union_types = Crystalline::Utils.get_union_types(type)
|
|
36
43
|
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
|
|
37
44
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
next
|
|
43
|
-
rescue NoMethodError
|
|
44
|
-
next
|
|
45
|
-
rescue KeyError
|
|
46
|
-
next
|
|
45
|
+
if Crystalline.union_strategy == :populated_fields
|
|
46
|
+
Crystalline.unmarshal_union_populated_fields(data, union_types)
|
|
47
|
+
else
|
|
48
|
+
Crystalline.unmarshal_union_left_to_right(data, union_types)
|
|
47
49
|
end
|
|
48
50
|
elsif Crystalline::Utils.arr? type
|
|
49
51
|
data.map { |v| Crystalline.unmarshal_json(v, Crystalline::Utils.arr_of(type)) }
|
|
@@ -55,6 +57,8 @@ module Crystalline
|
|
|
55
57
|
Crystalline::Utils.to_boolean(data)
|
|
56
58
|
elsif type.is_a?(Class) && type < T::Enum
|
|
57
59
|
type.deserialize(data)
|
|
60
|
+
elsif type.is_a?(Class) && type.respond_to?(:enums) && type.respond_to?(:deserialize)
|
|
61
|
+
type.deserialize(data)
|
|
58
62
|
else
|
|
59
63
|
data
|
|
60
64
|
end
|
|
@@ -74,6 +78,88 @@ module Crystalline
|
|
|
74
78
|
end
|
|
75
79
|
end
|
|
76
80
|
|
|
81
|
+
def self.unmarshal_union_left_to_right(data, union_types)
|
|
82
|
+
union_types.each do |union_type|
|
|
83
|
+
return Crystalline.unmarshal_json(data, union_type)
|
|
84
|
+
rescue TypeError
|
|
85
|
+
next
|
|
86
|
+
rescue NoMethodError
|
|
87
|
+
next
|
|
88
|
+
rescue KeyError
|
|
89
|
+
next
|
|
90
|
+
end
|
|
91
|
+
nil
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def self.unmarshal_union_populated_fields(data, union_types)
|
|
95
|
+
best_value = nil
|
|
96
|
+
best_matched = -1
|
|
97
|
+
best_inexact = 0
|
|
98
|
+
best_unmatched = 0
|
|
99
|
+
|
|
100
|
+
union_types.each do |union_type|
|
|
101
|
+
value = Crystalline.unmarshal_json(data, union_type)
|
|
102
|
+
matched, inexact, unmatched = count_matched_fields(value, data)
|
|
103
|
+
|
|
104
|
+
if best_value.nil? ||
|
|
105
|
+
matched > best_matched ||
|
|
106
|
+
(matched == best_matched && inexact < best_inexact) ||
|
|
107
|
+
(matched == best_matched && inexact == best_inexact && unmatched < best_unmatched)
|
|
108
|
+
best_value = value
|
|
109
|
+
best_matched = matched
|
|
110
|
+
best_inexact = inexact
|
|
111
|
+
best_unmatched = unmatched
|
|
112
|
+
end
|
|
113
|
+
rescue TypeError
|
|
114
|
+
next
|
|
115
|
+
rescue NoMethodError
|
|
116
|
+
next
|
|
117
|
+
rescue KeyError
|
|
118
|
+
next
|
|
119
|
+
end
|
|
120
|
+
best_value
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def self.count_matched_fields(value, raw_data)
|
|
124
|
+
matched = 0
|
|
125
|
+
inexact = 0
|
|
126
|
+
unmatched = 0
|
|
127
|
+
|
|
128
|
+
if value.is_a?(Crystalline::Unknown)
|
|
129
|
+
return [0, 0, 0]
|
|
130
|
+
elsif value.class.include?(::Crystalline::MetadataFields)
|
|
131
|
+
value.fields.each do |field|
|
|
132
|
+
format_metadata = field.metadata.fetch(:format_json, {})
|
|
133
|
+
lookup = format_metadata.fetch(:letter_case, nil)&.call
|
|
134
|
+
field_val = value.send(field.name)
|
|
135
|
+
|
|
136
|
+
if raw_data.is_a?(::Hash) && lookup && raw_data.key?(lookup)
|
|
137
|
+
if field_val.class.include?(::Crystalline::MetadataFields) && raw_data[lookup].is_a?(::Hash)
|
|
138
|
+
nested_matched, nested_inexact, nested_unmatched = count_matched_fields(field_val, raw_data[lookup])
|
|
139
|
+
matched += nested_matched
|
|
140
|
+
inexact += nested_inexact
|
|
141
|
+
unmatched += nested_unmatched
|
|
142
|
+
else
|
|
143
|
+
matched += 1
|
|
144
|
+
if field_val.respond_to?(:known?) && !field_val.known?
|
|
145
|
+
inexact += 1
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
elsif !::Crystalline::Utils.nilable?(field.type)
|
|
149
|
+
unmatched += 1
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
elsif value.is_a?(::Array)
|
|
153
|
+
matched = value.length
|
|
154
|
+
elsif value.is_a?(::Hash)
|
|
155
|
+
matched = value.length
|
|
156
|
+
else
|
|
157
|
+
matched = 1
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
[matched, inexact, unmatched]
|
|
161
|
+
end
|
|
162
|
+
|
|
77
163
|
def self.non_nilable_attr_count(klass)
|
|
78
164
|
# somewhat sane sort ordering for Union deserialization.
|
|
79
165
|
# All Crystalline objects return the number of non-nilable fields
|
data/lib/crystalline/types.rb
CHANGED
|
@@ -40,6 +40,58 @@ module Crystalline
|
|
|
40
40
|
class Boolean
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
# Wraps an unrecognized payload from an open discriminated union.
|
|
44
|
+
# Produced when the discriminator value is missing, unknown, or schema validation fails.
|
|
45
|
+
class Unknown
|
|
46
|
+
attr_reader :raw
|
|
47
|
+
|
|
48
|
+
def initialize(raw:)
|
|
49
|
+
@raw = raw
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def unknown?
|
|
53
|
+
true
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Forward-compatible discriminated union parser.
|
|
58
|
+
# Known discriminator values are deserialized to their mapped types.
|
|
59
|
+
# Unknown or invalid payloads are captured as Crystalline::Unknown.
|
|
60
|
+
class DiscriminatedUnion
|
|
61
|
+
attr_reader :discriminator, :variants
|
|
62
|
+
|
|
63
|
+
def initialize(discriminator, variants)
|
|
64
|
+
@discriminator = discriminator
|
|
65
|
+
@variants = variants
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def parse(payload)
|
|
69
|
+
unless payload.is_a?(::Hash)
|
|
70
|
+
return Unknown.new(raw: payload)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
disc_value = payload[@discriminator]
|
|
74
|
+
unless disc_value.is_a?(::String)
|
|
75
|
+
return Unknown.new(raw: payload)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
variant_type = @variants[disc_value]
|
|
79
|
+
unless variant_type
|
|
80
|
+
return Unknown.new(raw: payload)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
begin
|
|
84
|
+
Crystalline.unmarshal_json(payload, variant_type)
|
|
85
|
+
rescue StandardError
|
|
86
|
+
Unknown.new(raw: payload)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def self.unknown?(value)
|
|
92
|
+
value.is_a?(Unknown)
|
|
93
|
+
end
|
|
94
|
+
|
|
43
95
|
module Enum
|
|
44
96
|
def self.included(base)
|
|
45
97
|
base.extend(ClassMethods)
|
|
@@ -67,9 +119,19 @@ module Crystalline
|
|
|
67
119
|
end
|
|
68
120
|
end
|
|
69
121
|
|
|
122
|
+
def open!
|
|
123
|
+
@open = true
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def open?
|
|
127
|
+
@open == true
|
|
128
|
+
end
|
|
129
|
+
|
|
70
130
|
def deserialize(val)
|
|
71
131
|
if @mapping.include? val
|
|
72
132
|
@mapping[val]
|
|
133
|
+
elsif open?
|
|
134
|
+
new(val)
|
|
73
135
|
else
|
|
74
136
|
raise "Invalid value for enum: #{val}"
|
|
75
137
|
end
|
|
@@ -79,5 +141,22 @@ module Crystalline
|
|
|
79
141
|
def serialize
|
|
80
142
|
@val
|
|
81
143
|
end
|
|
144
|
+
|
|
145
|
+
def known?
|
|
146
|
+
self.class.instance_variable_get(:@mapping)&.value?(self) || false
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def ==(other)
|
|
150
|
+
other = other.serialize if other.is_a?(self.class)
|
|
151
|
+
@val == other
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def eql?(other)
|
|
155
|
+
self == other
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def hash
|
|
159
|
+
@val.hash
|
|
160
|
+
end
|
|
82
161
|
end
|
|
83
162
|
end
|
data/lib/dub.rb
CHANGED
|
@@ -15,6 +15,7 @@ module OpenApiSDK
|
|
|
15
15
|
autoload :Customers, 'open_api_sdk/customers'
|
|
16
16
|
autoload :Partners, 'open_api_sdk/partners'
|
|
17
17
|
autoload :Commissions, 'open_api_sdk/commissions'
|
|
18
|
+
autoload :Payouts, 'open_api_sdk/payouts'
|
|
18
19
|
autoload :EmbedTokens, 'open_api_sdk/embed_tokens'
|
|
19
20
|
autoload :QRCodes, 'open_api_sdk/qr_codes'
|
|
20
21
|
autoload :Bounties, 'open_api_sdk/bounties'
|
|
@@ -42,7 +42,7 @@ module OpenApiSDK
|
|
|
42
42
|
sig { params(request: Models::Operations::ListBountySubmissionsRequest, timeout_ms: T.nilable(Integer)).returns(T::Array[Models::Operations::ListBountySubmissionsResponseBody]) }
|
|
43
43
|
def list_submissions(request:, timeout_ms: nil)
|
|
44
44
|
# list_submissions - List bounty submissions
|
|
45
|
-
# List all submissions for a specific bounty.
|
|
45
|
+
# List all submissions for a specific bounty in your partner program.
|
|
46
46
|
url, params = @sdk_configuration.get_server_details
|
|
47
47
|
base_url = Utils.template_url(url, params)
|
|
48
48
|
url = Utils.generate_url(
|
|
@@ -41,8 +41,8 @@ module OpenApiSDK
|
|
|
41
41
|
|
|
42
42
|
sig { params(request: Models::Operations::ListCommissionsRequest, timeout_ms: T.nilable(Integer)).returns(T::Array[Models::Operations::ListCommissionsResponseBody]) }
|
|
43
43
|
def list(request:, timeout_ms: nil)
|
|
44
|
-
# list -
|
|
45
|
-
# Retrieve a list of commissions for
|
|
44
|
+
# list - List all commissions
|
|
45
|
+
# Retrieve a list of commissions for your partner program.
|
|
46
46
|
url, params = @sdk_configuration.get_server_details
|
|
47
47
|
base_url = Utils.template_url(url, params)
|
|
48
48
|
url = "#{base_url}/commissions"
|
|
@@ -496,31 +496,23 @@ module OpenApiSDK
|
|
|
496
496
|
end
|
|
497
497
|
|
|
498
498
|
|
|
499
|
-
sig { params(
|
|
500
|
-
def
|
|
501
|
-
#
|
|
502
|
-
#
|
|
499
|
+
sig { params(id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteCustomerResponseBody) }
|
|
500
|
+
def delete(id:, timeout_ms: nil)
|
|
501
|
+
# delete - Delete a customer
|
|
502
|
+
# Delete a customer from a workspace.
|
|
503
|
+
request = Models::Operations::DeleteCustomerRequest.new(
|
|
504
|
+
id: id
|
|
505
|
+
)
|
|
503
506
|
url, params = @sdk_configuration.get_server_details
|
|
504
507
|
base_url = Utils.template_url(url, params)
|
|
505
508
|
url = Utils.generate_url(
|
|
506
|
-
Models::Operations::
|
|
509
|
+
Models::Operations::DeleteCustomerRequest,
|
|
507
510
|
base_url,
|
|
508
511
|
'/customers/{id}',
|
|
509
512
|
request
|
|
510
513
|
)
|
|
511
514
|
headers = {}
|
|
512
515
|
headers = T.cast(headers, T::Hash[String, String])
|
|
513
|
-
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
|
514
|
-
headers['content-type'] = req_content_type
|
|
515
|
-
|
|
516
|
-
if form
|
|
517
|
-
body = Utils.encode_form(form)
|
|
518
|
-
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
519
|
-
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
520
|
-
else
|
|
521
|
-
body = data
|
|
522
|
-
end
|
|
523
|
-
query_params = Utils.get_query_params(Models::Operations::UpdateCustomerRequest, request, nil)
|
|
524
516
|
headers['Accept'] = 'application/json'
|
|
525
517
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
526
518
|
|
|
@@ -536,7 +528,7 @@ module OpenApiSDK
|
|
|
536
528
|
config: @sdk_configuration,
|
|
537
529
|
base_url: base_url,
|
|
538
530
|
oauth2_scopes: nil,
|
|
539
|
-
operation_id: '
|
|
531
|
+
operation_id: 'deleteCustomer',
|
|
540
532
|
security_source: @sdk_configuration.security_source
|
|
541
533
|
)
|
|
542
534
|
|
|
@@ -545,11 +537,9 @@ module OpenApiSDK
|
|
|
545
537
|
|
|
546
538
|
|
|
547
539
|
begin
|
|
548
|
-
http_response = T.must(connection).
|
|
549
|
-
req.body = body
|
|
540
|
+
http_response = T.must(connection).delete(url) do |req|
|
|
550
541
|
req.headers.merge!(headers)
|
|
551
542
|
req.options.timeout = timeout unless timeout.nil?
|
|
552
|
-
req.params = query_params
|
|
553
543
|
Utils.configure_request_security(req, security)
|
|
554
544
|
|
|
555
545
|
@sdk_configuration.hooks.before_request(
|
|
@@ -595,7 +585,7 @@ module OpenApiSDK
|
|
|
595
585
|
response: http_response
|
|
596
586
|
)
|
|
597
587
|
response_data = http_response.env.response_body
|
|
598
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::
|
|
588
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::DeleteCustomerResponseBody)
|
|
599
589
|
|
|
600
590
|
return obj
|
|
601
591
|
else
|
|
@@ -738,23 +728,31 @@ module OpenApiSDK
|
|
|
738
728
|
end
|
|
739
729
|
|
|
740
730
|
|
|
741
|
-
sig { params(
|
|
742
|
-
def
|
|
743
|
-
#
|
|
744
|
-
#
|
|
745
|
-
request = Models::Operations::DeleteCustomerRequest.new(
|
|
746
|
-
id: id
|
|
747
|
-
)
|
|
731
|
+
sig { params(request: Models::Operations::UpdateCustomerRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateCustomerResponseBody) }
|
|
732
|
+
def update(request:, timeout_ms: nil)
|
|
733
|
+
# update - Update a customer
|
|
734
|
+
# Update a customer for the authenticated workspace.
|
|
748
735
|
url, params = @sdk_configuration.get_server_details
|
|
749
736
|
base_url = Utils.template_url(url, params)
|
|
750
737
|
url = Utils.generate_url(
|
|
751
|
-
Models::Operations::
|
|
738
|
+
Models::Operations::UpdateCustomerRequest,
|
|
752
739
|
base_url,
|
|
753
740
|
'/customers/{id}',
|
|
754
741
|
request
|
|
755
742
|
)
|
|
756
743
|
headers = {}
|
|
757
744
|
headers = T.cast(headers, T::Hash[String, String])
|
|
745
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
|
746
|
+
headers['content-type'] = req_content_type
|
|
747
|
+
|
|
748
|
+
if form
|
|
749
|
+
body = Utils.encode_form(form)
|
|
750
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
751
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
752
|
+
else
|
|
753
|
+
body = data
|
|
754
|
+
end
|
|
755
|
+
query_params = Utils.get_query_params(Models::Operations::UpdateCustomerRequest, request, nil)
|
|
758
756
|
headers['Accept'] = 'application/json'
|
|
759
757
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
760
758
|
|
|
@@ -770,7 +768,7 @@ module OpenApiSDK
|
|
|
770
768
|
config: @sdk_configuration,
|
|
771
769
|
base_url: base_url,
|
|
772
770
|
oauth2_scopes: nil,
|
|
773
|
-
operation_id: '
|
|
771
|
+
operation_id: 'updateCustomer',
|
|
774
772
|
security_source: @sdk_configuration.security_source
|
|
775
773
|
)
|
|
776
774
|
|
|
@@ -779,9 +777,11 @@ module OpenApiSDK
|
|
|
779
777
|
|
|
780
778
|
|
|
781
779
|
begin
|
|
782
|
-
http_response = T.must(connection).
|
|
780
|
+
http_response = T.must(connection).patch(url) do |req|
|
|
781
|
+
req.body = body
|
|
783
782
|
req.headers.merge!(headers)
|
|
784
783
|
req.options.timeout = timeout unless timeout.nil?
|
|
784
|
+
req.params = query_params
|
|
785
785
|
Utils.configure_request_security(req, security)
|
|
786
786
|
|
|
787
787
|
@sdk_configuration.hooks.before_request(
|
|
@@ -827,7 +827,7 @@ module OpenApiSDK
|
|
|
827
827
|
response: http_response
|
|
828
828
|
)
|
|
829
829
|
response_data = http_response.env.response_body
|
|
830
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::
|
|
830
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdateCustomerResponseBody)
|
|
831
831
|
|
|
832
832
|
return obj
|
|
833
833
|
else
|