purecloud 0.18.0 → 0.25.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 (143) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +2 -2
  4. data/README.md +1 -7
  5. data/config-ruby.json +1 -1
  6. data/extensions/auth.rb +2 -2
  7. data/lib/purecloud.rb +110 -75
  8. data/lib/purecloud/api/architect_api.rb +3127 -74
  9. data/lib/purecloud/api/attributes_api.rb +33 -33
  10. data/lib/purecloud/api/authorization_api.rb +83 -83
  11. data/lib/purecloud/api/compliance_api.rb +5 -5
  12. data/lib/purecloud/api/configuration_api.rb +594 -397
  13. data/lib/purecloud/api/content_management_api.rb +183 -183
  14. data/lib/purecloud/api/conversations_api.rb +289 -159
  15. data/lib/purecloud/api/downloads_api.rb +6 -6
  16. data/lib/purecloud/api/external_contacts_api.rb +1693 -0
  17. data/lib/purecloud/api/fax_api.rb +24 -24
  18. data/lib/purecloud/api/geolocation_api.rb +14 -14
  19. data/lib/purecloud/api/greetings_api.rb +68 -68
  20. data/lib/purecloud/api/groups_api.rb +31 -20
  21. data/lib/purecloud/api/languages_api.rb +18 -11
  22. data/lib/purecloud/api/licensing_api.rb +5 -5
  23. data/lib/purecloud/api/locations_api.rb +11 -11
  24. data/lib/purecloud/api/notifications_api.rb +41 -41
  25. data/lib/purecloud/api/o_auth_api.rb +69 -69
  26. data/lib/purecloud/api/outbound_api.rb +505 -325
  27. data/lib/purecloud/api/presence_api.rb +65 -65
  28. data/lib/purecloud/api/quality_api.rb +66 -639
  29. data/lib/purecloud/api/recording_api.rb +1343 -0
  30. data/lib/purecloud/api/response_management_api.rb +687 -0
  31. data/lib/purecloud/api/routing_api.rb +224 -170
  32. data/lib/purecloud/api/scripts_api.rb +52 -52
  33. data/lib/purecloud/api/search_api.rb +5 -5
  34. data/lib/purecloud/api/stations_api.rb +8 -8
  35. data/lib/purecloud/api/telephony_providers_edge_api.rb +138 -138
  36. data/lib/purecloud/api/user_recordings_api.rb +29 -29
  37. data/lib/purecloud/api/users_api.rb +123 -123
  38. data/lib/purecloud/api/utilities_api.rb +71 -15
  39. data/lib/purecloud/api/voicemail_api.rb +42 -42
  40. data/lib/purecloud/api_client.rb +1 -1
  41. data/lib/purecloud/models/address.rb +49 -51
  42. data/lib/purecloud/models/attribute_filter_item.rb +177 -0
  43. data/lib/purecloud/models/automate_queue_member_entity_listing.rb +238 -0
  44. data/lib/purecloud/models/available_additional_service.rb +40 -1
  45. data/lib/purecloud/models/{topic_entity_listing.rb → available_topic_entity_listing.rb} +1 -1
  46. data/lib/purecloud/models/call.rb +36 -5
  47. data/lib/purecloud/models/{line_properties.rb → call_command.rb} +13 -3
  48. data/lib/purecloud/models/callback.rb +15 -4
  49. data/lib/purecloud/models/campaign.rb +219 -17
  50. data/lib/purecloud/models/campaign_progress.rb +186 -0
  51. data/lib/purecloud/models/channel_topic_entity_listing.rb +238 -0
  52. data/lib/purecloud/models/charge.rb +14 -4
  53. data/lib/purecloud/models/{attribute_value.rb → client_text_table_transform.rb} +52 -82
  54. data/lib/purecloud/models/contact.rb +1 -1
  55. data/lib/purecloud/models/contact_list.rb +111 -1
  56. data/lib/purecloud/models/contact_listing.rb +238 -0
  57. data/lib/purecloud/models/content_attribute_filter_item.rb +177 -0
  58. data/lib/purecloud/models/content_facet_filter_item.rb +1 -1
  59. data/lib/purecloud/models/content_query_request.rb +16 -4
  60. data/lib/purecloud/models/control.rb +221 -0
  61. data/lib/purecloud/models/{flow_activate_request.rb → control_options.rb} +18 -12
  62. data/lib/purecloud/models/create_callback_command.rb +200 -0
  63. data/lib/purecloud/models/discount.rb +220 -0
  64. data/lib/purecloud/models/document.rb +13 -1
  65. data/lib/purecloud/models/document_attribute.rb +158 -0
  66. data/lib/purecloud/models/document_update.rb +28 -16
  67. data/lib/purecloud/models/document_upload.rb +4 -16
  68. data/lib/purecloud/models/domain_voice_rate_extended_response_item_entity_listing.rb +238 -0
  69. data/lib/purecloud/models/domain_voice_rate_international_response_item_entity_listing.rb +238 -0
  70. data/lib/purecloud/models/domain_voice_rate_response_item_entity_listing.rb +1 -1
  71. data/lib/purecloud/models/edge_line.rb +1 -1
  72. data/lib/purecloud/models/edge_logs_job.rb +181 -0
  73. data/lib/purecloud/models/edge_logs_job_file.rb +243 -0
  74. data/lib/purecloud/models/edge_logs_job_request.rb +168 -0
  75. data/lib/purecloud/models/{backend_work_item_data_element.rb → edge_logs_job_response.rb} +16 -24
  76. data/lib/purecloud/models/{flow_lock_request.rb → edge_logs_job_upload_request.rb} +10 -12
  77. data/lib/purecloud/models/email.rb +15 -4
  78. data/lib/purecloud/models/endpoint.rb +1 -1
  79. data/lib/purecloud/models/{flow_associate_workspaces_request.rb → estimated_wait_time_predictions.rb} +10 -11
  80. data/lib/purecloud/models/external_contact.rb +320 -0
  81. data/lib/purecloud/models/external_organization.rb +306 -0
  82. data/lib/purecloud/models/external_organization_listing.rb +238 -0
  83. data/lib/purecloud/models/facet_filter_item.rb +1 -1
  84. data/lib/purecloud/models/flow_body.rb +1 -1
  85. data/lib/purecloud/models/flow_body_format.rb +10 -20
  86. data/lib/purecloud/models/flow_terminate_request.rb +3 -16
  87. data/lib/purecloud/models/form.rb +148 -0
  88. data/lib/purecloud/models/group.rb +11 -1
  89. data/lib/purecloud/models/health_check_info.rb +268 -0
  90. data/lib/purecloud/models/{body_2.rb → inline_response_200.rb} +1 -1
  91. data/lib/purecloud/models/integration_type.rb +209 -0
  92. data/lib/purecloud/models/integration_type_entity_listing.rb +238 -0
  93. data/lib/purecloud/models/key_rotation_schedule.rb +1 -0
  94. data/lib/purecloud/models/language.rb +41 -1
  95. data/lib/purecloud/models/line.rb +1 -1
  96. data/lib/purecloud/models/line_base.rb +1 -1
  97. data/lib/purecloud/models/media_policies.rb +169 -0
  98. data/lib/purecloud/models/media_policy.rb +171 -0
  99. data/lib/purecloud/models/note.rb +200 -0
  100. data/lib/purecloud/models/{user_station_resource.rb → note_listing.rb} +68 -58
  101. data/lib/purecloud/models/o_auth_client.rb +1 -1
  102. data/lib/purecloud/models/page.rb +2 -2
  103. data/lib/purecloud/models/{byte_buffer.rb → payment_method.rb} +48 -61
  104. data/lib/purecloud/models/payment_method_listing.rb +238 -0
  105. data/lib/purecloud/models/payment_token_provider.rb +180 -0
  106. data/lib/purecloud/models/phone.rb +1 -1
  107. data/lib/purecloud/models/phone_base.rb +1 -1
  108. data/lib/purecloud/models/phone_number.rb +198 -0
  109. data/lib/purecloud/models/phones_reboot.rb +14 -4
  110. data/lib/purecloud/models/policy.rb +14 -1
  111. data/lib/purecloud/models/prediction_results.rb +167 -0
  112. data/lib/purecloud/models/query_request.rb +16 -4
  113. data/lib/purecloud/models/queue_member_entity_listing.rb +1 -1
  114. data/lib/purecloud/models/quote.rb +13 -1
  115. data/lib/purecloud/models/recording_settings.rb +146 -0
  116. data/lib/purecloud/models/relationship.rb +201 -0
  117. data/lib/purecloud/models/relationship_listing.rb +238 -0
  118. data/lib/purecloud/models/report_schedule.rb +3 -2
  119. data/lib/purecloud/models/service_type.rb +12 -1
  120. data/lib/purecloud/models/social_expression.rb +25 -4
  121. data/lib/purecloud/models/spreadsheet_transform_entity_listing.rb +1 -1
  122. data/lib/purecloud/models/template.rb +1 -1
  123. data/lib/purecloud/models/text_table_transform_entity_listing.rb +1 -1
  124. data/lib/purecloud/models/ticker.rb +158 -0
  125. data/lib/purecloud/models/time_slot.rb +1 -0
  126. data/lib/purecloud/models/trunk_base.rb +1 -1
  127. data/lib/purecloud/models/vendor_connection_request.rb +166 -0
  128. data/lib/purecloud/models/video.rb +15 -4
  129. data/lib/purecloud/models/work_item_definition.rb +8 -10
  130. data/lib/purecloud/version.rb +1 -1
  131. data/ossindex.json +17 -0
  132. data/purecloud.gemspec +4 -3
  133. data/rakefile +3 -15
  134. data/spec/test.rb +6 -3
  135. data/swagger.json +1 -1
  136. data/swagger_template/api_client.mustache +304 -0
  137. data/swagger_template/base_object.mustache +90 -0
  138. data/{PureCloud.gemspec → swagger_template/gemspec.mustache} +12 -11
  139. data/version.json +1 -1
  140. metadata +76 -25
  141. data/lib/purecloud/api/analytics_api.rb +0 -1554
  142. data/lib/purecloud/api/orphaned_recordings_api.rb +0 -205
  143. data/newVersion.md +0 -1
@@ -0,0 +1,168 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class EdgeLogsJobRequest
5
+ attr_accessor :_path
6
+
7
+ attr_accessor :query
8
+
9
+ attr_accessor :recurse
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+
15
+ :'_path' => :'path',
16
+
17
+ :'query' => :'query',
18
+
19
+ :'recurse' => :'recurse'
20
+
21
+ }
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.swagger_types
26
+ {
27
+ :'_path' => :'String',
28
+ :'query' => :'String',
29
+ :'recurse' => :'BOOLEAN'
30
+
31
+ }
32
+ end
33
+
34
+ def initialize(attributes = {})
35
+ return unless attributes.is_a?(Hash)
36
+
37
+ # convert string to symbol for hash key
38
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
39
+
40
+
41
+ if attributes[:'path']
42
+ self._path = attributes[:'path']
43
+ end
44
+
45
+ if attributes[:'query']
46
+ self.query = attributes[:'query']
47
+ end
48
+
49
+ if attributes[:'recurse']
50
+ self.recurse = attributes[:'recurse']
51
+ else
52
+ self.recurse = false
53
+ end
54
+
55
+ end
56
+
57
+ # Check equality by comparing each attribute.
58
+ def ==(o)
59
+ return true if self.equal?(o)
60
+ self.class == o.class &&
61
+ _path == o._path &&
62
+ query == o.query &&
63
+ recurse == o.recurse
64
+ end
65
+
66
+ # @see the `==` method
67
+ def eql?(o)
68
+ self == o
69
+ end
70
+
71
+ # Calculate hash code according to all attributes.
72
+ def hash
73
+ [_path, query, recurse].hash
74
+ end
75
+
76
+ # build the object from hash
77
+ def build_from_hash(attributes)
78
+ return nil unless attributes.is_a?(Hash)
79
+ self.class.swagger_types.each_pair do |key, type|
80
+ if type =~ /^Array<(.*)>/i
81
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
82
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
83
+ else
84
+ #TODO show warning in debug mode
85
+ end
86
+ elsif !attributes[self.class.attribute_map[key]].nil?
87
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
88
+ else
89
+ # data not found in attributes(hash), not an issue as the data can be optional
90
+ end
91
+ end
92
+
93
+ self
94
+ end
95
+
96
+ def _deserialize(type, value)
97
+ case type.to_sym
98
+ when :DateTime
99
+ DateTime.parse(value)
100
+ when :Date
101
+ Date.parse(value)
102
+ when :String
103
+ value.to_s
104
+ when :Integer
105
+ value.to_i
106
+ when :Float
107
+ value.to_f
108
+ when :BOOLEAN
109
+ if value =~ /^(true|t|yes|y|1)$/i
110
+ true
111
+ else
112
+ false
113
+ end
114
+ when /\AArray<(?<inner_type>.+)>\z/
115
+ inner_type = Regexp.last_match[:inner_type]
116
+ value.map { |v| _deserialize(inner_type, v) }
117
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
118
+ k_type = Regexp.last_match[:k_type]
119
+ v_type = Regexp.last_match[:v_type]
120
+ {}.tap do |hash|
121
+ value.each do |k, v|
122
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
123
+ end
124
+ end
125
+ else # model
126
+ _model = Object.const_get("PureCloud").const_get(type).new
127
+ _model.build_from_hash(value)
128
+ end
129
+ end
130
+
131
+ def to_s
132
+ to_hash.to_s
133
+ end
134
+
135
+ # to_body is an alias to to_body (backward compatibility))
136
+ def to_body
137
+ to_hash
138
+ end
139
+
140
+ # return the object in the form of hash
141
+ def to_hash
142
+ hash = {}
143
+ self.class.attribute_map.each_pair do |attr, param|
144
+ value = self.send(attr)
145
+ next if value.nil?
146
+ hash[param] = _to_hash(value)
147
+ end
148
+ hash
149
+ end
150
+
151
+ # Method to output non-array value in the form of hash
152
+ # For object, use to_hash. Otherwise, just return the value
153
+ def _to_hash(value)
154
+ if value.is_a?(Array)
155
+ value.compact.map{ |v| _to_hash(v) }
156
+ elsif value.is_a?(Hash)
157
+ {}.tap do |hash|
158
+ value.each { |k, v| hash[k] = _to_hash(v) }
159
+ end
160
+ elsif value.respond_to? :to_hash
161
+ value.to_hash
162
+ else
163
+ value
164
+ end
165
+ end
166
+
167
+ end
168
+ end
@@ -1,14 +1,14 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- class BackendWorkItemDataElement
4
+ class EdgeLogsJobResponse
5
+ # The created job id.
5
6
  attr_accessor :id
6
7
 
7
- attr_accessor :prompt
8
+ attr_accessor :name
8
9
 
9
- attr_accessor :data_item_id
10
-
11
- attr_accessor :control_type
10
+ # The URI for this object
11
+ attr_accessor :self_uri
12
12
 
13
13
  # Attribute mapping from ruby-style variable name to JSON key.
14
14
  def self.attribute_map
@@ -16,11 +16,9 @@ module PureCloud
16
16
 
17
17
  :'id' => :'id',
18
18
 
19
- :'prompt' => :'prompt',
20
-
21
- :'data_item_id' => :'dataItemId',
19
+ :'name' => :'name',
22
20
 
23
- :'control_type' => :'controlType'
21
+ :'self_uri' => :'selfUri'
24
22
 
25
23
  }
26
24
  end
@@ -29,9 +27,8 @@ module PureCloud
29
27
  def self.swagger_types
30
28
  {
31
29
  :'id' => :'String',
32
- :'prompt' => :'String',
33
- :'data_item_id' => :'String',
34
- :'control_type' => :'String'
30
+ :'name' => :'String',
31
+ :'self_uri' => :'String'
35
32
 
36
33
  }
37
34
  end
@@ -47,16 +44,12 @@ module PureCloud
47
44
  self.id = attributes[:'id']
48
45
  end
49
46
 
50
- if attributes[:'prompt']
51
- self.prompt = attributes[:'prompt']
52
- end
53
-
54
- if attributes[:'dataItemId']
55
- self.data_item_id = attributes[:'dataItemId']
47
+ if attributes[:'name']
48
+ self.name = attributes[:'name']
56
49
  end
57
50
 
58
- if attributes[:'controlType']
59
- self.control_type = attributes[:'controlType']
51
+ if attributes[:'selfUri']
52
+ self.self_uri = attributes[:'selfUri']
60
53
  end
61
54
 
62
55
  end
@@ -66,9 +59,8 @@ module PureCloud
66
59
  return true if self.equal?(o)
67
60
  self.class == o.class &&
68
61
  id == o.id &&
69
- prompt == o.prompt &&
70
- data_item_id == o.data_item_id &&
71
- control_type == o.control_type
62
+ name == o.name &&
63
+ self_uri == o.self_uri
72
64
  end
73
65
 
74
66
  # @see the `==` method
@@ -78,7 +70,7 @@ module PureCloud
78
70
 
79
71
  # Calculate hash code according to all attributes.
80
72
  def hash
81
- [id, prompt, data_item_id, control_type].hash
73
+ [id, name, self_uri].hash
82
74
  end
83
75
 
84
76
  # build the object from hash
@@ -1,16 +1,14 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- # Used as the body to the lockFlow request.
5
- class FlowLockRequest
6
- # Change the locked state of the flow definition. True to attempt to lock for modification, false to release the lock.
7
- attr_accessor :locked
4
+ class EdgeLogsJobUploadRequest
5
+ attr_accessor :file_ids
8
6
 
9
7
  # Attribute mapping from ruby-style variable name to JSON key.
10
8
  def self.attribute_map
11
9
  {
12
10
 
13
- :'locked' => :'locked'
11
+ :'file_ids' => :'fileIds'
14
12
 
15
13
  }
16
14
  end
@@ -18,7 +16,7 @@ module PureCloud
18
16
  # Attribute type mapping.
19
17
  def self.swagger_types
20
18
  {
21
- :'locked' => :'BOOLEAN'
19
+ :'file_ids' => :'Array<String>'
22
20
 
23
21
  }
24
22
  end
@@ -30,10 +28,10 @@ module PureCloud
30
28
  attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
31
29
 
32
30
 
33
- if attributes[:'locked']
34
- self.locked = attributes[:'locked']
35
- else
36
- self.locked = false
31
+ if attributes[:'fileIds']
32
+ if (value = attributes[:'fileIds']).is_a?(Array)
33
+ self.file_ids = value
34
+ end
37
35
  end
38
36
 
39
37
  end
@@ -42,7 +40,7 @@ module PureCloud
42
40
  def ==(o)
43
41
  return true if self.equal?(o)
44
42
  self.class == o.class &&
45
- locked == o.locked
43
+ file_ids == o.file_ids
46
44
  end
47
45
 
48
46
  # @see the `==` method
@@ -52,7 +50,7 @@ module PureCloud
52
50
 
53
51
  # Calculate hash code according to all attributes.
54
52
  def hash
55
- [locked].hash
53
+ [file_ids].hash
56
54
  end
57
55
 
58
56
  # build the object from hash
@@ -25,6 +25,9 @@ module PureCloud
25
25
  # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
26
26
  attr_accessor :start_hold_time
27
27
 
28
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
29
+ attr_accessor :connected_time
30
+
28
31
  # Attribute mapping from ruby-style variable name to JSON key.
29
32
  def self.attribute_map
30
33
  {
@@ -49,7 +52,9 @@ module PureCloud
49
52
 
50
53
  :'disconnect_type' => :'disconnectType',
51
54
 
52
- :'start_hold_time' => :'startHoldTime'
55
+ :'start_hold_time' => :'startHoldTime',
56
+
57
+ :'connected_time' => :'connectedTime'
53
58
 
54
59
  }
55
60
  end
@@ -67,7 +72,8 @@ module PureCloud
67
72
  :'recording_id' => :'String',
68
73
  :'error_info' => :'ErrorBody',
69
74
  :'disconnect_type' => :'String',
70
- :'start_hold_time' => :'DateTime'
75
+ :'start_hold_time' => :'DateTime',
76
+ :'connected_time' => :'DateTime'
71
77
 
72
78
  }
73
79
  end
@@ -127,6 +133,10 @@ module PureCloud
127
133
  self.start_hold_time = attributes[:'startHoldTime']
128
134
  end
129
135
 
136
+ if attributes[:'connectedTime']
137
+ self.connected_time = attributes[:'connectedTime']
138
+ end
139
+
130
140
  end
131
141
 
132
142
  # Custom attribute writer method checking allowed values (enum).
@@ -170,7 +180,8 @@ module PureCloud
170
180
  recording_id == o.recording_id &&
171
181
  error_info == o.error_info &&
172
182
  disconnect_type == o.disconnect_type &&
173
- start_hold_time == o.start_hold_time
183
+ start_hold_time == o.start_hold_time &&
184
+ connected_time == o.connected_time
174
185
  end
175
186
 
176
187
  # @see the `==` method
@@ -180,7 +191,7 @@ module PureCloud
180
191
 
181
192
  # Calculate hash code according to all attributes.
182
193
  def hash
183
- [state, id, held, subject, messages_sent, segments, direction, recording_id, error_info, disconnect_type, start_hold_time].hash
194
+ [state, id, held, subject, messages_sent, segments, direction, recording_id, error_info, disconnect_type, start_hold_time, connected_time].hash
184
195
  end
185
196
 
186
197
  # build the object from hash
@@ -100,7 +100,7 @@ module PureCloud
100
100
  :'modified_by_app' => :'String',
101
101
  :'created_by_app' => :'String',
102
102
  :'count' => :'Integer',
103
- :'properties' => :'Hash<String, Line_properties>',
103
+ :'properties' => :'Hash<String, inline_response_200>',
104
104
  :'schema' => :'UriReference',
105
105
  :'enabled' => :'BOOLEAN',
106
106
  :'site' => :'UriReference',
@@ -1,16 +1,15 @@
1
1
  require 'date'
2
2
 
3
3
  module PureCloud
4
- # Used as the body to the associateWithWorkspaces request.
5
- class FlowAssociateWorkspacesRequest
6
- # The list of Workspaces to associate with a flow. Can be null/empty to remove associations.
7
- attr_accessor :workspaces
4
+ class EstimatedWaitTimePredictions
5
+ # Returned upon a successful estimated wait time request.
6
+ attr_accessor :results
8
7
 
9
8
  # Attribute mapping from ruby-style variable name to JSON key.
10
9
  def self.attribute_map
11
10
  {
12
11
 
13
- :'workspaces' => :'workspaces'
12
+ :'results' => :'results'
14
13
 
15
14
  }
16
15
  end
@@ -18,7 +17,7 @@ module PureCloud
18
17
  # Attribute type mapping.
19
18
  def self.swagger_types
20
19
  {
21
- :'workspaces' => :'Array<String>'
20
+ :'results' => :'Array<PredictionResults>'
22
21
 
23
22
  }
24
23
  end
@@ -30,9 +29,9 @@ module PureCloud
30
29
  attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
31
30
 
32
31
 
33
- if attributes[:'workspaces']
34
- if (value = attributes[:'workspaces']).is_a?(Array)
35
- self.workspaces = value
32
+ if attributes[:'results']
33
+ if (value = attributes[:'results']).is_a?(Array)
34
+ self.results = value
36
35
  end
37
36
  end
38
37
 
@@ -42,7 +41,7 @@ module PureCloud
42
41
  def ==(o)
43
42
  return true if self.equal?(o)
44
43
  self.class == o.class &&
45
- workspaces == o.workspaces
44
+ results == o.results
46
45
  end
47
46
 
48
47
  # @see the `==` method
@@ -52,7 +51,7 @@ module PureCloud
52
51
 
53
52
  # Calculate hash code according to all attributes.
54
53
  def hash
55
- [workspaces].hash
54
+ [results].hash
56
55
  end
57
56
 
58
57
  # build the object from hash
@@ -0,0 +1,320 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class ExternalContact
5
+ # The globally unique identifier for the object.
6
+ attr_accessor :id
7
+
8
+ attr_accessor :first_name
9
+
10
+ attr_accessor :middle_name
11
+
12
+ attr_accessor :last_name
13
+
14
+ attr_accessor :salutation
15
+
16
+ attr_accessor :title
17
+
18
+ attr_accessor :work_phone
19
+
20
+ attr_accessor :cell_phone
21
+
22
+ attr_accessor :home_phone
23
+
24
+ attr_accessor :other_phone
25
+
26
+ attr_accessor :work_email
27
+
28
+ attr_accessor :personal_email
29
+
30
+ attr_accessor :other_email
31
+
32
+ attr_accessor :address
33
+
34
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
+ attr_accessor :modify_date
36
+
37
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
38
+ attr_accessor :create_date
39
+
40
+ attr_accessor :external_organization
41
+
42
+ # The URI for this object
43
+ attr_accessor :self_uri
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+
49
+ :'id' => :'id',
50
+
51
+ :'first_name' => :'firstName',
52
+
53
+ :'middle_name' => :'middleName',
54
+
55
+ :'last_name' => :'lastName',
56
+
57
+ :'salutation' => :'salutation',
58
+
59
+ :'title' => :'title',
60
+
61
+ :'work_phone' => :'workPhone',
62
+
63
+ :'cell_phone' => :'cellPhone',
64
+
65
+ :'home_phone' => :'homePhone',
66
+
67
+ :'other_phone' => :'otherPhone',
68
+
69
+ :'work_email' => :'workEmail',
70
+
71
+ :'personal_email' => :'personalEmail',
72
+
73
+ :'other_email' => :'otherEmail',
74
+
75
+ :'address' => :'address',
76
+
77
+ :'modify_date' => :'modifyDate',
78
+
79
+ :'create_date' => :'createDate',
80
+
81
+ :'external_organization' => :'externalOrganization',
82
+
83
+ :'self_uri' => :'selfUri'
84
+
85
+ }
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.swagger_types
90
+ {
91
+ :'id' => :'String',
92
+ :'first_name' => :'String',
93
+ :'middle_name' => :'String',
94
+ :'last_name' => :'String',
95
+ :'salutation' => :'String',
96
+ :'title' => :'String',
97
+ :'work_phone' => :'PhoneNumber',
98
+ :'cell_phone' => :'PhoneNumber',
99
+ :'home_phone' => :'PhoneNumber',
100
+ :'other_phone' => :'PhoneNumber',
101
+ :'work_email' => :'String',
102
+ :'personal_email' => :'String',
103
+ :'other_email' => :'String',
104
+ :'address' => :'Address',
105
+ :'modify_date' => :'DateTime',
106
+ :'create_date' => :'DateTime',
107
+ :'external_organization' => :'ExternalOrganization',
108
+ :'self_uri' => :'String'
109
+
110
+ }
111
+ end
112
+
113
+ def initialize(attributes = {})
114
+ return unless attributes.is_a?(Hash)
115
+
116
+ # convert string to symbol for hash key
117
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
118
+
119
+
120
+ if attributes[:'id']
121
+ self.id = attributes[:'id']
122
+ end
123
+
124
+ if attributes[:'firstName']
125
+ self.first_name = attributes[:'firstName']
126
+ end
127
+
128
+ if attributes[:'middleName']
129
+ self.middle_name = attributes[:'middleName']
130
+ end
131
+
132
+ if attributes[:'lastName']
133
+ self.last_name = attributes[:'lastName']
134
+ end
135
+
136
+ if attributes[:'salutation']
137
+ self.salutation = attributes[:'salutation']
138
+ end
139
+
140
+ if attributes[:'title']
141
+ self.title = attributes[:'title']
142
+ end
143
+
144
+ if attributes[:'workPhone']
145
+ self.work_phone = attributes[:'workPhone']
146
+ end
147
+
148
+ if attributes[:'cellPhone']
149
+ self.cell_phone = attributes[:'cellPhone']
150
+ end
151
+
152
+ if attributes[:'homePhone']
153
+ self.home_phone = attributes[:'homePhone']
154
+ end
155
+
156
+ if attributes[:'otherPhone']
157
+ self.other_phone = attributes[:'otherPhone']
158
+ end
159
+
160
+ if attributes[:'workEmail']
161
+ self.work_email = attributes[:'workEmail']
162
+ end
163
+
164
+ if attributes[:'personalEmail']
165
+ self.personal_email = attributes[:'personalEmail']
166
+ end
167
+
168
+ if attributes[:'otherEmail']
169
+ self.other_email = attributes[:'otherEmail']
170
+ end
171
+
172
+ if attributes[:'address']
173
+ self.address = attributes[:'address']
174
+ end
175
+
176
+ if attributes[:'modifyDate']
177
+ self.modify_date = attributes[:'modifyDate']
178
+ end
179
+
180
+ if attributes[:'createDate']
181
+ self.create_date = attributes[:'createDate']
182
+ end
183
+
184
+ if attributes[:'externalOrganization']
185
+ self.external_organization = attributes[:'externalOrganization']
186
+ end
187
+
188
+ if attributes[:'selfUri']
189
+ self.self_uri = attributes[:'selfUri']
190
+ end
191
+
192
+ end
193
+
194
+ # Check equality by comparing each attribute.
195
+ def ==(o)
196
+ return true if self.equal?(o)
197
+ self.class == o.class &&
198
+ id == o.id &&
199
+ first_name == o.first_name &&
200
+ middle_name == o.middle_name &&
201
+ last_name == o.last_name &&
202
+ salutation == o.salutation &&
203
+ title == o.title &&
204
+ work_phone == o.work_phone &&
205
+ cell_phone == o.cell_phone &&
206
+ home_phone == o.home_phone &&
207
+ other_phone == o.other_phone &&
208
+ work_email == o.work_email &&
209
+ personal_email == o.personal_email &&
210
+ other_email == o.other_email &&
211
+ address == o.address &&
212
+ modify_date == o.modify_date &&
213
+ create_date == o.create_date &&
214
+ external_organization == o.external_organization &&
215
+ self_uri == o.self_uri
216
+ end
217
+
218
+ # @see the `==` method
219
+ def eql?(o)
220
+ self == o
221
+ end
222
+
223
+ # Calculate hash code according to all attributes.
224
+ def hash
225
+ [id, first_name, middle_name, last_name, salutation, title, work_phone, cell_phone, home_phone, other_phone, work_email, personal_email, other_email, address, modify_date, create_date, external_organization, self_uri].hash
226
+ end
227
+
228
+ # build the object from hash
229
+ def build_from_hash(attributes)
230
+ return nil unless attributes.is_a?(Hash)
231
+ self.class.swagger_types.each_pair do |key, type|
232
+ if type =~ /^Array<(.*)>/i
233
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
234
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
235
+ else
236
+ #TODO show warning in debug mode
237
+ end
238
+ elsif !attributes[self.class.attribute_map[key]].nil?
239
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
240
+ else
241
+ # data not found in attributes(hash), not an issue as the data can be optional
242
+ end
243
+ end
244
+
245
+ self
246
+ end
247
+
248
+ def _deserialize(type, value)
249
+ case type.to_sym
250
+ when :DateTime
251
+ DateTime.parse(value)
252
+ when :Date
253
+ Date.parse(value)
254
+ when :String
255
+ value.to_s
256
+ when :Integer
257
+ value.to_i
258
+ when :Float
259
+ value.to_f
260
+ when :BOOLEAN
261
+ if value =~ /^(true|t|yes|y|1)$/i
262
+ true
263
+ else
264
+ false
265
+ end
266
+ when /\AArray<(?<inner_type>.+)>\z/
267
+ inner_type = Regexp.last_match[:inner_type]
268
+ value.map { |v| _deserialize(inner_type, v) }
269
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
270
+ k_type = Regexp.last_match[:k_type]
271
+ v_type = Regexp.last_match[:v_type]
272
+ {}.tap do |hash|
273
+ value.each do |k, v|
274
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
275
+ end
276
+ end
277
+ else # model
278
+ _model = Object.const_get("PureCloud").const_get(type).new
279
+ _model.build_from_hash(value)
280
+ end
281
+ end
282
+
283
+ def to_s
284
+ to_hash.to_s
285
+ end
286
+
287
+ # to_body is an alias to to_body (backward compatibility))
288
+ def to_body
289
+ to_hash
290
+ end
291
+
292
+ # return the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = self.send(attr)
297
+ next if value.nil?
298
+ hash[param] = _to_hash(value)
299
+ end
300
+ hash
301
+ end
302
+
303
+ # Method to output non-array value in the form of hash
304
+ # For object, use to_hash. Otherwise, just return the value
305
+ def _to_hash(value)
306
+ if value.is_a?(Array)
307
+ value.compact.map{ |v| _to_hash(v) }
308
+ elsif value.is_a?(Hash)
309
+ {}.tap do |hash|
310
+ value.each { |k, v| hash[k] = _to_hash(v) }
311
+ end
312
+ elsif value.respond_to? :to_hash
313
+ value.to_hash
314
+ else
315
+ value
316
+ end
317
+ end
318
+
319
+ end
320
+ end