reacon-sdk 0.7.0.beta.1 → 2.0.0.beta.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 730b7c1584d89b95976da708966c943df2f6caa38bb3a775df3fdc774e4b01be
4
- data.tar.gz: '09fb3ed09640776c6f5ffb1b0ff0b3a1a717fa0c9a41910a8210fd8b2ef16a56'
3
+ metadata.gz: 3a9934b5b35390d54f847e6fe9db23e6b5c167c82c1ee754123ac5cbf54dbaa7
4
+ data.tar.gz: 88952c7c7d563e36a61f8819af8d8480bd243cc48a25d8d6deb7396de5fc7203
5
5
  SHA512:
6
- metadata.gz: e17885011d5cd222ee4dc9b0fe5e083924e884ec66c32a31c2e9c1dca5520836996cab03baf1007e32ba31b8a36a0185f902209eb9822f9de544cc1c71099812
7
- data.tar.gz: 288d734a961f244b83758f722338ed559444c4219341f09cc35cad6a78787c76ca4af00633b7e0b2ca37786b88027a56cad7b34e46a4d319a95b6f644b667a3a
6
+ metadata.gz: 2a45a3102f2c6fb4a0502cb95fb2d8d1ab4b2284792af531c6ec6a93227a6a1696af3f24eccc8f72fd42383ce59def4f7b90d87e84047753a292283da51526b3
7
+ data.tar.gz: 8707d87f162b5cd05e7114ca1c9ee970febb4b03142b366e55d552bfef60de13b70d7fe2a542ca6916110fe278e1aa2296cf4946a143f17ec70f00095219e84d
data/README.md CHANGED
@@ -7,7 +7,7 @@ No description provided (generated by Openapi Generator https://github.com/opena
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 0.1.0
10
- - Package version: 0.7.0.beta.1
10
+ - Package version: 2.0.0.beta.1
11
11
  - Generator version: 7.25.0
12
12
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
13
13
 
@@ -24,16 +24,16 @@ gem build reacon-sdk.gemspec
24
24
  Then either install the gem locally:
25
25
 
26
26
  ```shell
27
- gem install ./reacon-sdk-0.7.0.beta.1.gem
27
+ gem install ./reacon-sdk-2.0.0.beta.1.gem
28
28
  ```
29
29
 
30
- (for development, run `gem install --dev ./reacon-sdk-0.7.0.beta.1.gem` to install the development dependencies)
30
+ (for development, run `gem install --dev ./reacon-sdk-2.0.0.beta.1.gem` to install the development dependencies)
31
31
 
32
32
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
33
33
 
34
34
  Finally add this to the Gemfile:
35
35
 
36
- gem 'reacon-sdk', '~> 0.7.0.beta.1'
36
+ gem 'reacon-sdk', '~> 2.0.0.beta.1'
37
37
 
38
38
  ### Install from Git
39
39
 
@@ -281,6 +281,7 @@ Class | Method | HTTP request | Description
281
281
  - [Reacon::AirtableMappingOptionsResponseOptionsTablesInner](docs/AirtableMappingOptionsResponseOptionsTablesInner.md)
282
282
  - [Reacon::AirtableMappingOptionsResponseOptionsTablesInnerFieldsInner](docs/AirtableMappingOptionsResponseOptionsTablesInnerFieldsInner.md)
283
283
  - [Reacon::ApiKeyIdentity](docs/ApiKeyIdentity.md)
284
+ - [Reacon::ApiValidationIssue](docs/ApiValidationIssue.md)
284
285
  - [Reacon::AutomationHookCreated](docs/AutomationHookCreated.md)
285
286
  - [Reacon::BatchVerificationError](docs/BatchVerificationError.md)
286
287
  - [Reacon::BatchVerificationItem](docs/BatchVerificationItem.md)
@@ -524,6 +525,7 @@ Class | Method | HTTP request | Description
524
525
  - [Reacon::MailGetTrackingDomainResponse200Domain](docs/MailGetTrackingDomainResponse200Domain.md)
525
526
  - [Reacon::MailGetWebhooksResponse200](docs/MailGetWebhooksResponse200.md)
526
527
  - [Reacon::MailGetWebhooksResponse200SubscriptionsInner](docs/MailGetWebhooksResponse200SubscriptionsInner.md)
528
+ - [Reacon::MailImapCursor](docs/MailImapCursor.md)
527
529
  - [Reacon::MailInboxMessageRecord](docs/MailInboxMessageRecord.md)
528
530
  - [Reacon::MailMailAddress](docs/MailMailAddress.md)
529
531
  - [Reacon::MailMailPortfolio](docs/MailMailPortfolio.md)
@@ -594,8 +596,6 @@ Class | Method | HTTP request | Description
594
596
  - [Reacon::MailPostCampaignsByCampaignIdDuplicateResponse201](docs/MailPostCampaignsByCampaignIdDuplicateResponse201.md)
595
597
  - [Reacon::MailPostCampaignsByCampaignIdLaunchRequest](docs/MailPostCampaignsByCampaignIdLaunchRequest.md)
596
598
  - [Reacon::MailPostCampaignsByCampaignIdLaunchResponse200](docs/MailPostCampaignsByCampaignIdLaunchResponse200.md)
597
- - [Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf](docs/MailPostCampaignsByCampaignIdLaunchResponse200AnyOf.md)
598
- - [Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1](docs/MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1.md)
599
599
  - [Reacon::MailPostCampaignsByCampaignIdLaunchResponse200Campaign](docs/MailPostCampaignsByCampaignIdLaunchResponse200Campaign.md)
600
600
  - [Reacon::MailPostCampaignsByCampaignIdStateRequest](docs/MailPostCampaignsByCampaignIdStateRequest.md)
601
601
  - [Reacon::MailPostCampaignsByCampaignIdStateResponse200](docs/MailPostCampaignsByCampaignIdStateResponse200.md)
@@ -14,19 +14,17 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Reacon
17
- class MailPostCampaignsByCampaignIdLaunchResponse200AnyOf < ApiModelBase
18
- attr_accessor :campaign
17
+ # Validation issue details. code identifies the validation rule and message explains the failure. Additional rule-specific properties, including the field path, are preserved.
18
+ class ApiValidationIssue < ApiModelBase
19
+ attr_accessor :code
19
20
 
20
- attr_accessor :draft
21
-
22
- attr_accessor :sequences
21
+ attr_accessor :message
23
22
 
24
23
  # Attribute mapping from ruby-style variable name to JSON key.
25
24
  def self.attribute_map
26
25
  {
27
- :'campaign' => :'campaign',
28
- :'draft' => :'draft',
29
- :'sequences' => :'sequences'
26
+ :'code' => :'code',
27
+ :'message' => :'message'
30
28
  }
31
29
  end
32
30
 
@@ -43,9 +41,8 @@ module Reacon
43
41
  # Attribute type mapping.
44
42
  def self.openapi_types
45
43
  {
46
- :'campaign' => :'MailPostCampaignsByCampaignIdLaunchResponse200Campaign',
47
- :'draft' => :'MailCampaignDraftRecord',
48
- :'sequences' => :'Array<Object>'
44
+ :'code' => :'String',
45
+ :'message' => :'String'
49
46
  }
50
47
  end
51
48
 
@@ -59,36 +56,24 @@ module Reacon
59
56
  # @param [Hash] attributes Model attributes in the form of hash
60
57
  def initialize(attributes = {})
61
58
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf` initialize method"
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::ApiValidationIssue` initialize method"
63
60
  end
64
61
 
65
62
  # check to see if the attribute exists and convert string to symbol for hash key
66
63
  acceptable_attribute_map = self.class.acceptable_attribute_map
67
64
  attributes = attributes.each_with_object({}) { |(k, v), h|
68
65
  if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::ApiValidationIssue`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
67
  end
71
68
  h[k.to_sym] = v
72
69
  }
73
70
 
74
- if attributes.key?(:'campaign')
75
- self.campaign = attributes[:'campaign']
76
- else
77
- self.campaign = nil
78
- end
79
-
80
- if attributes.key?(:'draft')
81
- self.draft = attributes[:'draft']
82
- else
83
- self.draft = nil
71
+ if attributes.key?(:'code')
72
+ self.code = attributes[:'code']
84
73
  end
85
74
 
86
- if attributes.key?(:'sequences')
87
- if (value = attributes[:'sequences']).is_a?(Array)
88
- self.sequences = value
89
- end
90
- else
91
- self.sequences = nil
75
+ if attributes.key?(:'message')
76
+ self.message = attributes[:'message']
92
77
  end
93
78
  end
94
79
 
@@ -97,26 +82,6 @@ module Reacon
97
82
  def list_invalid_properties
98
83
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
99
84
  invalid_properties = Array.new
100
- if @campaign.nil?
101
- invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
102
- end
103
-
104
- if @draft.nil?
105
- invalid_properties.push('invalid value for "draft", draft cannot be nil.')
106
- end
107
-
108
- if @sequences.nil?
109
- invalid_properties.push('invalid value for "sequences", sequences cannot be nil.')
110
- end
111
-
112
- if @sequences.length > 0
113
- invalid_properties.push('invalid value for "sequences", number of items must be less than or equal to 0.')
114
- end
115
-
116
- if @sequences.length < 0
117
- invalid_properties.push('invalid value for "sequences", number of items must be greater than or equal to 0.')
118
- end
119
-
120
85
  invalid_properties
121
86
  end
122
87
 
@@ -124,60 +89,16 @@ module Reacon
124
89
  # @return true if the model is valid
125
90
  def valid?
126
91
  warn '[DEPRECATED] the `valid?` method is obsolete'
127
- return false if @campaign.nil?
128
- return false if @draft.nil?
129
- return false if @sequences.nil?
130
- return false if @sequences.length > 0
131
- return false if @sequences.length < 0
132
92
  true
133
93
  end
134
94
 
135
- # Custom attribute writer method with validation
136
- # @param [Object] campaign Value to be assigned
137
- def campaign=(campaign)
138
- if campaign.nil?
139
- fail ArgumentError, 'campaign cannot be nil'
140
- end
141
-
142
- @campaign = campaign
143
- end
144
-
145
- # Custom attribute writer method with validation
146
- # @param [Object] draft Value to be assigned
147
- def draft=(draft)
148
- if draft.nil?
149
- fail ArgumentError, 'draft cannot be nil'
150
- end
151
-
152
- @draft = draft
153
- end
154
-
155
- # Custom attribute writer method with validation
156
- # @param [Object] sequences Value to be assigned
157
- def sequences=(sequences)
158
- if sequences.nil?
159
- fail ArgumentError, 'sequences cannot be nil'
160
- end
161
-
162
- if sequences.length > 0
163
- fail ArgumentError, 'invalid value for "sequences", number of items must be less than or equal to 0.'
164
- end
165
-
166
- if sequences.length < 0
167
- fail ArgumentError, 'invalid value for "sequences", number of items must be greater than or equal to 0.'
168
- end
169
-
170
- @sequences = sequences
171
- end
172
-
173
95
  # Checks equality by comparing each attribute.
174
96
  # @param [Object] Object to be compared
175
97
  def ==(o)
176
98
  return true if self.equal?(o)
177
99
  self.class == o.class &&
178
- campaign == o.campaign &&
179
- draft == o.draft &&
180
- sequences == o.sequences
100
+ code == o.code &&
101
+ message == o.message
181
102
  end
182
103
 
183
104
  # @see the `==` method
@@ -189,7 +110,7 @@ module Reacon
189
110
  # Calculates hash code according to all attributes.
190
111
  # @return [Integer] Hash code
191
112
  def hash
192
- [campaign, draft, sequences].hash
113
+ [code, message].hash
193
114
  end
194
115
 
195
116
  # Builds the object from hash
@@ -64,7 +64,7 @@ module Reacon
64
64
  :'code' => :'String',
65
65
  :'details' => :'String',
66
66
  :'error' => :'String',
67
- :'issues' => :'Array<Hash<String, Object>>',
67
+ :'issues' => :'Array<ApiValidationIssue>',
68
68
  :'message' => :'String',
69
69
  :'remaining_credits' => :'Float',
70
70
  :'request_id' => :'String',
@@ -56,7 +56,7 @@ module Reacon
56
56
  def self.openapi_types
57
57
  {
58
58
  :'created_at' => :'Time',
59
- :'custom_fields' => :'Object',
59
+ :'custom_fields' => :'Hash<String, String>',
60
60
  :'email' => :'String',
61
61
  :'id' => :'String',
62
62
  :'name' => :'String',
@@ -94,7 +94,9 @@ module Reacon
94
94
  end
95
95
 
96
96
  if attributes.key?(:'custom_fields')
97
- self.custom_fields = attributes[:'custom_fields']
97
+ if (value = attributes[:'custom_fields']).is_a?(Hash)
98
+ self.custom_fields = value
99
+ end
98
100
  else
99
101
  self.custom_fields = nil
100
102
  end
@@ -59,7 +59,7 @@ module Reacon
59
59
  :'contact_id' => :'String',
60
60
  :'id' => :'String',
61
61
  :'occurred_at' => :'Time',
62
- :'payload' => :'Object',
62
+ :'payload' => :'Hash<String, Object>',
63
63
  :'tenant_id' => :'String',
64
64
  :'type' => :'String'
65
65
  }
@@ -110,7 +110,9 @@ module Reacon
110
110
  end
111
111
 
112
112
  if attributes.key?(:'payload')
113
- self.payload = attributes[:'payload']
113
+ if (value = attributes[:'payload']).is_a?(Hash)
114
+ self.payload = value
115
+ end
114
116
  else
115
117
  self.payload = nil
116
118
  end
@@ -70,7 +70,7 @@ module Reacon
70
70
  :'id' => :'String',
71
71
  :'method' => :'String',
72
72
  :'reason' => :'String',
73
- :'result_snapshot' => :'Object',
73
+ :'result_snapshot' => :'Hash<String, Object>',
74
74
  :'revision' => :'Float',
75
75
  :'tenant_id' => :'String',
76
76
  :'winner_variant_id' => :'String'
@@ -136,7 +136,9 @@ module Reacon
136
136
  end
137
137
 
138
138
  if attributes.key?(:'result_snapshot')
139
- self.result_snapshot = attributes[:'result_snapshot']
139
+ if (value = attributes[:'result_snapshot']).is_a?(Hash)
140
+ self.result_snapshot = value
141
+ end
140
142
  else
141
143
  self.result_snapshot = nil
142
144
  end
@@ -62,7 +62,7 @@ module Reacon
62
62
  def self.openapi_types
63
63
  {
64
64
  :'experiment_key' => :'String',
65
- :'metadata' => :'Object',
65
+ :'metadata' => :'Hash<String, Object>',
66
66
  :'occurred_at' => :'Time',
67
67
  :'outcome' => :'String',
68
68
  :'revision' => :'Float',
@@ -102,7 +102,9 @@ module Reacon
102
102
  end
103
103
 
104
104
  if attributes.key?(:'metadata')
105
- self.metadata = attributes[:'metadata']
105
+ if (value = attributes[:'metadata']).is_a?(Hash)
106
+ self.metadata = value
107
+ end
106
108
  else
107
109
  self.metadata = nil
108
110
  end
@@ -44,8 +44,8 @@ module Reacon
44
44
  def self.openapi_types
45
45
  {
46
46
  :'portfolio' => :'Object',
47
- :'suppressions' => :'Array<Object>',
48
- :'teams' => :'Array<Object>'
47
+ :'suppressions' => :'Array<MailMailPortfolioSuppression>',
48
+ :'teams' => :'Array<MailMailPortfolioTeam>'
49
49
  }
50
50
  end
51
51
 
@@ -14,19 +14,19 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Reacon
17
- class MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1 < ApiModelBase
18
- attr_accessor :campaign
17
+ class MailImapCursor < ApiModelBase
18
+ attr_accessor :last_uid
19
19
 
20
- attr_accessor :draft
20
+ attr_accessor :mailbox_path
21
21
 
22
- attr_accessor :sequences
22
+ attr_accessor :uid_validity
23
23
 
24
24
  # Attribute mapping from ruby-style variable name to JSON key.
25
25
  def self.attribute_map
26
26
  {
27
- :'campaign' => :'campaign',
28
- :'draft' => :'draft',
29
- :'sequences' => :'sequences'
27
+ :'last_uid' => :'lastUid',
28
+ :'mailbox_path' => :'mailboxPath',
29
+ :'uid_validity' => :'uidValidity'
30
30
  }
31
31
  end
32
32
 
@@ -43,9 +43,9 @@ module Reacon
43
43
  # Attribute type mapping.
44
44
  def self.openapi_types
45
45
  {
46
- :'campaign' => :'MailPostCampaignsByCampaignIdLaunchResponse200Campaign',
47
- :'draft' => :'MailCampaignDraftRecord',
48
- :'sequences' => :'Array<MailSequenceRunRecord>'
46
+ :'last_uid' => :'Float',
47
+ :'mailbox_path' => :'String',
48
+ :'uid_validity' => :'String'
49
49
  }
50
50
  end
51
51
 
@@ -59,36 +59,34 @@ module Reacon
59
59
  # @param [Hash] attributes Model attributes in the form of hash
60
60
  def initialize(attributes = {})
61
61
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1` initialize method"
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::MailImapCursor` initialize method"
63
63
  end
64
64
 
65
65
  # check to see if the attribute exists and convert string to symbol for hash key
66
66
  acceptable_attribute_map = self.class.acceptable_attribute_map
67
67
  attributes = attributes.each_with_object({}) { |(k, v), h|
68
68
  if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::MailImapCursor`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
70
  end
71
71
  h[k.to_sym] = v
72
72
  }
73
73
 
74
- if attributes.key?(:'campaign')
75
- self.campaign = attributes[:'campaign']
74
+ if attributes.key?(:'last_uid')
75
+ self.last_uid = attributes[:'last_uid']
76
76
  else
77
- self.campaign = nil
77
+ self.last_uid = nil
78
78
  end
79
79
 
80
- if attributes.key?(:'draft')
81
- self.draft = attributes[:'draft']
80
+ if attributes.key?(:'mailbox_path')
81
+ self.mailbox_path = attributes[:'mailbox_path']
82
82
  else
83
- self.draft = nil
83
+ self.mailbox_path = nil
84
84
  end
85
85
 
86
- if attributes.key?(:'sequences')
87
- if (value = attributes[:'sequences']).is_a?(Array)
88
- self.sequences = value
89
- end
86
+ if attributes.key?(:'uid_validity')
87
+ self.uid_validity = attributes[:'uid_validity']
90
88
  else
91
- self.sequences = nil
89
+ self.uid_validity = nil
92
90
  end
93
91
  end
94
92
 
@@ -97,16 +95,16 @@ module Reacon
97
95
  def list_invalid_properties
98
96
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
99
97
  invalid_properties = Array.new
100
- if @campaign.nil?
101
- invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
98
+ if @last_uid.nil?
99
+ invalid_properties.push('invalid value for "last_uid", last_uid cannot be nil.')
102
100
  end
103
101
 
104
- if @draft.nil?
105
- invalid_properties.push('invalid value for "draft", draft cannot be nil.')
102
+ if @mailbox_path.nil?
103
+ invalid_properties.push('invalid value for "mailbox_path", mailbox_path cannot be nil.')
106
104
  end
107
105
 
108
- if @sequences.nil?
109
- invalid_properties.push('invalid value for "sequences", sequences cannot be nil.')
106
+ if @uid_validity.nil?
107
+ invalid_properties.push('invalid value for "uid_validity", uid_validity cannot be nil.')
110
108
  end
111
109
 
112
110
  invalid_properties
@@ -116,40 +114,40 @@ module Reacon
116
114
  # @return true if the model is valid
117
115
  def valid?
118
116
  warn '[DEPRECATED] the `valid?` method is obsolete'
119
- return false if @campaign.nil?
120
- return false if @draft.nil?
121
- return false if @sequences.nil?
117
+ return false if @last_uid.nil?
118
+ return false if @mailbox_path.nil?
119
+ return false if @uid_validity.nil?
122
120
  true
123
121
  end
124
122
 
125
123
  # Custom attribute writer method with validation
126
- # @param [Object] campaign Value to be assigned
127
- def campaign=(campaign)
128
- if campaign.nil?
129
- fail ArgumentError, 'campaign cannot be nil'
124
+ # @param [Object] last_uid Value to be assigned
125
+ def last_uid=(last_uid)
126
+ if last_uid.nil?
127
+ fail ArgumentError, 'last_uid cannot be nil'
130
128
  end
131
129
 
132
- @campaign = campaign
130
+ @last_uid = last_uid
133
131
  end
134
132
 
135
133
  # Custom attribute writer method with validation
136
- # @param [Object] draft Value to be assigned
137
- def draft=(draft)
138
- if draft.nil?
139
- fail ArgumentError, 'draft cannot be nil'
134
+ # @param [Object] mailbox_path Value to be assigned
135
+ def mailbox_path=(mailbox_path)
136
+ if mailbox_path.nil?
137
+ fail ArgumentError, 'mailbox_path cannot be nil'
140
138
  end
141
139
 
142
- @draft = draft
140
+ @mailbox_path = mailbox_path
143
141
  end
144
142
 
145
143
  # Custom attribute writer method with validation
146
- # @param [Object] sequences Value to be assigned
147
- def sequences=(sequences)
148
- if sequences.nil?
149
- fail ArgumentError, 'sequences cannot be nil'
144
+ # @param [Object] uid_validity Value to be assigned
145
+ def uid_validity=(uid_validity)
146
+ if uid_validity.nil?
147
+ fail ArgumentError, 'uid_validity cannot be nil'
150
148
  end
151
149
 
152
- @sequences = sequences
150
+ @uid_validity = uid_validity
153
151
  end
154
152
 
155
153
  # Checks equality by comparing each attribute.
@@ -157,9 +155,9 @@ module Reacon
157
155
  def ==(o)
158
156
  return true if self.equal?(o)
159
157
  self.class == o.class &&
160
- campaign == o.campaign &&
161
- draft == o.draft &&
162
- sequences == o.sequences
158
+ last_uid == o.last_uid &&
159
+ mailbox_path == o.mailbox_path &&
160
+ uid_validity == o.uid_validity
163
161
  end
164
162
 
165
163
  # @see the `==` method
@@ -171,7 +169,7 @@ module Reacon
171
169
  # Calculates hash code according to all attributes.
172
170
  # @return [Integer] Hash code
173
171
  def hash
174
- [campaign, draft, sequences].hash
172
+ [last_uid, mailbox_path, uid_validity].hash
175
173
  end
176
174
 
177
175
  # Builds the object from hash
@@ -84,7 +84,7 @@ module Reacon
84
84
  {
85
85
  :'created_at' => :'Time',
86
86
  :'credential_id' => :'String',
87
- :'cursors' => :'Object',
87
+ :'cursors' => :'Hash<String, MailImapCursor>',
88
88
  :'imap' => :'MailStoredImapSettings',
89
89
  :'integration_connection_id' => :'String',
90
90
  :'last_error_code' => :'String',
@@ -134,7 +134,9 @@ module Reacon
134
134
  end
135
135
 
136
136
  if attributes.key?(:'cursors')
137
- self.cursors = attributes[:'cursors']
137
+ if (value = attributes[:'cursors']).is_a?(Hash)
138
+ self.cursors = value
139
+ end
138
140
  else
139
141
  self.cursors = nil
140
142
  end
@@ -133,7 +133,7 @@ module Reacon
133
133
  :'lease_expires_at' => :'Time',
134
134
  :'lease_owner' => :'String',
135
135
  :'mailbox_id' => :'String',
136
- :'metadata' => :'Object',
136
+ :'metadata' => :'Hash<String, String>',
137
137
  :'next_attempt_at' => :'Time',
138
138
  :'parent_message_id' => :'String',
139
139
  :'policy' => :'MailMessagePolicy',
@@ -242,7 +242,9 @@ module Reacon
242
242
  end
243
243
 
244
244
  if attributes.key?(:'metadata')
245
- self.metadata = attributes[:'metadata']
245
+ if (value = attributes[:'metadata']).is_a?(Hash)
246
+ self.metadata = value
247
+ end
246
248
  else
247
249
  self.metadata = nil
248
250
  end
@@ -56,7 +56,7 @@ module Reacon
56
56
  :'id' => :'String',
57
57
  :'subject' => :'String',
58
58
  :'text' => :'String',
59
- :'variables' => :'Object',
59
+ :'variables' => :'Hash<String, Object>',
60
60
  :'weight' => :'Float'
61
61
  }
62
62
  end
@@ -106,7 +106,9 @@ module Reacon
106
106
  end
107
107
 
108
108
  if attributes.key?(:'variables')
109
- self.variables = attributes[:'variables']
109
+ if (value = attributes[:'variables']).is_a?(Hash)
110
+ self.variables = value
111
+ end
110
112
  end
111
113
 
112
114
  if attributes.key?(:'weight')
@@ -50,10 +50,10 @@ module Reacon
50
50
  def self.openapi_types
51
51
  {
52
52
  :'cadence_steps' => :'Array<MailOperationalAnalyticsOverviewCadenceStepsInner>',
53
- :'reply_labels' => :'Object',
53
+ :'reply_labels' => :'Hash<String, Float>',
54
54
  :'sample_limited' => :'Boolean',
55
- :'stages' => :'Object',
56
- :'task_outcomes' => :'Object'
55
+ :'stages' => :'Hash<String, Float>',
56
+ :'task_outcomes' => :'Hash<String, Float>'
57
57
  }
58
58
  end
59
59
 
@@ -88,7 +88,9 @@ module Reacon
88
88
  end
89
89
 
90
90
  if attributes.key?(:'reply_labels')
91
- self.reply_labels = attributes[:'reply_labels']
91
+ if (value = attributes[:'reply_labels']).is_a?(Hash)
92
+ self.reply_labels = value
93
+ end
92
94
  else
93
95
  self.reply_labels = nil
94
96
  end
@@ -100,13 +102,17 @@ module Reacon
100
102
  end
101
103
 
102
104
  if attributes.key?(:'stages')
103
- self.stages = attributes[:'stages']
105
+ if (value = attributes[:'stages']).is_a?(Hash)
106
+ self.stages = value
107
+ end
104
108
  else
105
109
  self.stages = nil
106
110
  end
107
111
 
108
112
  if attributes.key?(:'task_outcomes')
109
- self.task_outcomes = attributes[:'task_outcomes']
113
+ if (value = attributes[:'task_outcomes']).is_a?(Hash)
114
+ self.task_outcomes = value
115
+ end
110
116
  else
111
117
  self.task_outcomes = nil
112
118
  end
@@ -14,91 +14,203 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Reacon
17
- module MailPostCampaignsByCampaignIdLaunchResponse200
18
- class << self
19
- # List of class defined in anyOf (OpenAPI v3)
20
- def openapi_any_of
21
- [
22
- :'MailPostCampaignsByCampaignIdLaunchResponse200AnyOf',
23
- :'MailPostCampaignsByCampaignIdLaunchResponse200AnyOf1'
24
- ]
17
+ class MailPostCampaignsByCampaignIdLaunchResponse200 < ApiModelBase
18
+ attr_accessor :campaign
19
+
20
+ attr_accessor :draft
21
+
22
+ attr_accessor :sequences
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'campaign' => :'campaign',
28
+ :'draft' => :'draft',
29
+ :'sequences' => :'sequences'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'campaign' => :'MailCampaignProgress',
47
+ :'draft' => :'MailCampaignDraftRecord',
48
+ :'sequences' => :'Array<MailSequenceRunRecord>'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ :'campaign',
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200` initialize method"
25
64
  end
26
65
 
27
- # Builds the object
28
- # @param [Mixed] Data to be matched against the list of anyOf items
29
- # @return [Object] Returns the model or the data itself
30
- def build(data)
31
- data = data.transform_keys(&:to_sym) if data.is_a?(Hash)
32
- # Go through the list of anyOf items and attempt to identify the appropriate one.
33
- # Note:
34
- # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
35
- # due to the way the deserialization is made in the base_object template (it just casts without verifying).
36
- # - TODO: scalar values are de facto behaving as if they were nullable.
37
- # - TODO: logging when debugging is set.
38
- openapi_any_of.each do |klass|
39
- begin
40
- next if klass == :AnyType # "nullable: true"
41
- return find_and_cast_into_type(klass, data)
42
- rescue # rescue all errors so we keep iterating even if the current item lookup raises
43
- end
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ acceptable_attribute_map = self.class.acceptable_attribute_map
68
+ attributes = attributes.each_with_object({}) { |(k, v), h|
69
+ if (!acceptable_attribute_map.key?(k.to_sym))
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Reacon::MailPostCampaignsByCampaignIdLaunchResponse200`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
44
71
  end
72
+ h[k.to_sym] = v
73
+ }
45
74
 
46
- openapi_any_of.include?(:AnyType) ? data : nil
75
+ if attributes.key?(:'campaign')
76
+ self.campaign = attributes[:'campaign']
77
+ else
78
+ fail ArgumentError, 'campaign is required'
47
79
  end
48
80
 
49
- private
50
-
51
- SchemaMismatchError = Class.new(StandardError)
52
-
53
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
54
- def find_and_cast_into_type(klass, data)
55
- return if data.nil?
56
-
57
- case klass.to_s
58
- when 'Boolean'
59
- return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
60
- when 'Float'
61
- return data if data.instance_of?(Float)
62
- when 'Integer'
63
- return data if data.instance_of?(Integer)
64
- when 'Time'
65
- return Time.parse(data)
66
- when 'Date'
67
- return Date.iso8601(data)
68
- when 'String'
69
- return data if data.instance_of?(String)
70
- when 'Object' # "type: object"
71
- return data if data.instance_of?(Hash)
72
- when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
73
- if data.instance_of?(Array)
74
- sub_type = Regexp.last_match[:sub_type]
75
- return data.map { |item| find_and_cast_into_type(sub_type, item) }
76
- end
77
- when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
78
- if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
79
- sub_type = Regexp.last_match[:sub_type]
80
- return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
81
- end
82
- else # model
83
- const = Reacon.const_get(klass)
84
- if const
85
- if const.respond_to?(:openapi_any_of) # nested anyOf model
86
- model = const.build(data)
87
- return model if model
88
- else
89
- # raise if data contains keys that are not known to the model
90
- raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
91
- model = const.build_from_hash(data)
92
- return model if model
93
- end
81
+ if attributes.key?(:'draft')
82
+ self.draft = attributes[:'draft']
83
+ else
84
+ self.draft = nil
85
+ end
86
+
87
+ if attributes.key?(:'sequences')
88
+ if (value = attributes[:'sequences']).is_a?(Array)
89
+ self.sequences = value
90
+ end
91
+ else
92
+ self.sequences = nil
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ unless instance_variable_defined?(:@campaign)
102
+ invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
103
+ end
104
+
105
+ if @draft.nil?
106
+ invalid_properties.push('invalid value for "draft", draft cannot be nil.')
107
+ end
108
+
109
+ if @sequences.nil?
110
+ invalid_properties.push('invalid value for "sequences", sequences cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ warn '[DEPRECATED] the `valid?` method is obsolete'
120
+ return false unless instance_variable_defined?(:@campaign)
121
+ return false if @draft.nil?
122
+ return false if @sequences.nil?
123
+ true
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] campaign Value to be assigned
128
+ def campaign=(campaign)
129
+
130
+ @campaign = campaign
131
+ end
132
+
133
+ # Custom attribute writer method with validation
134
+ # @param [Object] draft Value to be assigned
135
+ def draft=(draft)
136
+ if draft.nil?
137
+ fail ArgumentError, 'draft cannot be nil'
138
+ end
139
+
140
+ @draft = draft
141
+ end
142
+
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] sequences Value to be assigned
145
+ def sequences=(sequences)
146
+ if sequences.nil?
147
+ fail ArgumentError, 'sequences cannot be nil'
148
+ end
149
+
150
+ @sequences = sequences
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] Object to be compared
155
+ def ==(o)
156
+ return true if self.equal?(o)
157
+ self.class == o.class &&
158
+ campaign == o.campaign &&
159
+ draft == o.draft &&
160
+ sequences == o.sequences
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [campaign, draft, sequences].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
94
190
  end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
95
207
  end
96
208
 
97
- raise # if no match by now, raise
98
- rescue
99
- raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
209
+ hash[param] = _to_hash(value)
100
210
  end
211
+ hash
101
212
  end
213
+
102
214
  end
103
215
 
104
216
  end
@@ -52,7 +52,7 @@ module Reacon
52
52
  :'aggregate_id' => :'String',
53
53
  :'id' => :'String',
54
54
  :'occurred_at' => :'Time',
55
- :'payload' => :'Object',
55
+ :'payload' => :'Hash<String, Object>',
56
56
  :'type' => :'String'
57
57
  }
58
58
  end
@@ -98,7 +98,9 @@ module Reacon
98
98
  end
99
99
 
100
100
  if attributes.key?(:'payload')
101
- self.payload = attributes[:'payload']
101
+ if (value = attributes[:'payload']).is_a?(Hash)
102
+ self.payload = value
103
+ end
102
104
  else
103
105
  self.payload = nil
104
106
  end
@@ -11,5 +11,5 @@ Generator version: 7.25.0
11
11
  =end
12
12
 
13
13
  module Reacon
14
- VERSION = '0.7.0.beta.1'
14
+ VERSION = '2.0.0.beta.1'
15
15
  end
data/lib/reacon-sdk.rb CHANGED
@@ -24,6 +24,7 @@ require 'reacon-sdk/models/airtable_mapping_options_response_options_bases_inner
24
24
  require 'reacon-sdk/models/airtable_mapping_options_response_options_tables_inner'
25
25
  require 'reacon-sdk/models/airtable_mapping_options_response_options_tables_inner_fields_inner'
26
26
  require 'reacon-sdk/models/api_key_identity'
27
+ require 'reacon-sdk/models/api_validation_issue'
27
28
  require 'reacon-sdk/models/automation_hook_created'
28
29
  require 'reacon-sdk/models/batch_verification_error'
29
30
  require 'reacon-sdk/models/batch_verification_item'
@@ -267,6 +268,7 @@ require 'reacon-sdk/models/mail_get_tracking_domain_response200'
267
268
  require 'reacon-sdk/models/mail_get_tracking_domain_response200_domain'
268
269
  require 'reacon-sdk/models/mail_get_webhooks_response200'
269
270
  require 'reacon-sdk/models/mail_get_webhooks_response200_subscriptions_inner'
271
+ require 'reacon-sdk/models/mail_imap_cursor'
270
272
  require 'reacon-sdk/models/mail_inbox_message_record'
271
273
  require 'reacon-sdk/models/mail_mail_address'
272
274
  require 'reacon-sdk/models/mail_mail_portfolio'
@@ -337,8 +339,6 @@ require 'reacon-sdk/models/mail_post_cadences_response200'
337
339
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_duplicate_response201'
338
340
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_request'
339
341
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200'
340
- require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of'
341
- require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of1'
342
342
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_campaign'
343
343
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_request'
344
344
  require 'reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_response200'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reacon-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.beta.1
4
+ version: 2.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reacon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-01 00:00:00.000000000 Z
11
+ date: 2026-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: event_stream_parser
@@ -168,6 +168,7 @@ files:
168
168
  - lib/reacon-sdk/models/airtable_mapping_options_response_options_tables_inner.rb
169
169
  - lib/reacon-sdk/models/airtable_mapping_options_response_options_tables_inner_fields_inner.rb
170
170
  - lib/reacon-sdk/models/api_key_identity.rb
171
+ - lib/reacon-sdk/models/api_validation_issue.rb
171
172
  - lib/reacon-sdk/models/automation_hook_created.rb
172
173
  - lib/reacon-sdk/models/batch_verification_error.rb
173
174
  - lib/reacon-sdk/models/batch_verification_item.rb
@@ -411,6 +412,7 @@ files:
411
412
  - lib/reacon-sdk/models/mail_get_tracking_domain_response200_domain.rb
412
413
  - lib/reacon-sdk/models/mail_get_webhooks_response200.rb
413
414
  - lib/reacon-sdk/models/mail_get_webhooks_response200_subscriptions_inner.rb
415
+ - lib/reacon-sdk/models/mail_imap_cursor.rb
414
416
  - lib/reacon-sdk/models/mail_inbox_message_record.rb
415
417
  - lib/reacon-sdk/models/mail_mail_address.rb
416
418
  - lib/reacon-sdk/models/mail_mail_portfolio.rb
@@ -481,8 +483,6 @@ files:
481
483
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_duplicate_response201.rb
482
484
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_request.rb
483
485
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200.rb
484
- - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of.rb
485
- - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_any_of1.rb
486
486
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_launch_response200_campaign.rb
487
487
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_request.rb
488
488
  - lib/reacon-sdk/models/mail_post_campaigns_by_campaign_id_state_response200.rb