purecloud 0.37.1 → 0.38.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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/config-ruby.json +1 -1
  4. data/doc_out/AuthorizationApi.html.md +57 -0
  5. data/doc_out/AuthzGrant.html.md +15 -0
  6. data/doc_out/AuthzGrantPolicy.html.md +16 -0
  7. data/doc_out/AuthzGrantRole.html.md +17 -0
  8. data/doc_out/AuthzObject.html.md +17 -0
  9. data/doc_out/AuthzPermissionContext.html.md +14 -0
  10. data/doc_out/AuthzSubject.html.md +16 -0
  11. data/doc_out/CreateUser.html.md +0 -1
  12. data/doc_out/ExportUri.html.md +14 -0
  13. data/doc_out/FaxSendRequest.html.md +5 -5
  14. data/doc_out/GroupsApi.html.md +119 -0
  15. data/doc_out/JsonNode.html.md +2 -2
  16. data/doc_out/Location.html.md +20 -0
  17. data/doc_out/LocationAddress.html.md +19 -0
  18. data/doc_out/LocationEmergencyNumber.html.md +15 -0
  19. data/doc_out/LocationsApi.html.md +249 -0
  20. data/doc_out/ObjectsApi.html.md +69 -0
  21. data/doc_out/OrganizationCreate.html.md +5 -5
  22. data/doc_out/OutboundApi.html.md +122 -0
  23. data/doc_out/SearchApi.html.md +254 -12
  24. data/doc_out/SuggestApi.html.md +254 -0
  25. data/doc_out/User.html.md +1 -1
  26. data/doc_out/UserMe.html.md +1 -1
  27. data/doc_out/UserPresence.html.md +1 -0
  28. data/doc_out/index.html.md +3 -3
  29. data/lib/purecloud.rb +13 -1
  30. data/lib/purecloud/api/authorization_api.rb +60 -0
  31. data/lib/purecloud/api/groups_api.rb +126 -0
  32. data/lib/purecloud/api/locations_api.rb +273 -0
  33. data/lib/purecloud/api/objects_api.rb +87 -0
  34. data/lib/purecloud/api/outbound_api.rb +126 -0
  35. data/lib/purecloud/api/search_api.rb +259 -14
  36. data/lib/purecloud/api/suggest_api.rb +272 -0
  37. data/lib/purecloud/api_client.rb +1 -1
  38. data/lib/purecloud/models/authz_grant.rb +186 -0
  39. data/lib/purecloud/models/authz_grant_policy.rb +197 -0
  40. data/lib/purecloud/models/authz_grant_role.rb +209 -0
  41. data/lib/purecloud/models/authz_object.rb +210 -0
  42. data/lib/purecloud/models/authz_permission_context.rb +175 -0
  43. data/lib/purecloud/models/authz_subject.rb +199 -0
  44. data/lib/purecloud/models/callback.rb +1 -1
  45. data/lib/purecloud/models/create_user.rb +4 -15
  46. data/lib/purecloud/models/export_uri.rb +176 -0
  47. data/lib/purecloud/models/fax_send_request.rb +21 -7
  48. data/lib/purecloud/models/group.rb +1 -1
  49. data/lib/purecloud/models/json_node.rb +25 -25
  50. data/lib/purecloud/models/location.rb +249 -0
  51. data/lib/purecloud/models/location_address.rb +225 -0
  52. data/lib/purecloud/models/location_emergency_number.rb +195 -0
  53. data/lib/purecloud/models/organization_create.rb +5 -5
  54. data/lib/purecloud/models/search_criteria.rb +1 -1
  55. data/lib/purecloud/models/user.rb +1 -1
  56. data/lib/purecloud/models/user_me.rb +1 -1
  57. data/lib/purecloud/models/user_presence.rb +12 -1
  58. data/lib/purecloud/version.rb +1 -1
  59. data/newVersion.md +1 -1
  60. data/swagger.json +1 -1
  61. data/version.json +1 -1
  62. metadata +28 -4
  63. data/doc_out/ExternalContactsApi.html.md +0 -1594
  64. data/lib/purecloud/api/external_contacts_api.rb +0 -1679
@@ -0,0 +1,272 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require "uri"
18
+
19
+ module PureCloud
20
+ class SuggestApi
21
+ attr_accessor :api_client
22
+
23
+ def initialize(api_client = ApiClient.default)
24
+ @api_client = api_client
25
+ end
26
+
27
+ # Search using q64
28
+ #
29
+ # @param [Hash] opts the optional parameters
30
+ # @option opts [String] :q64
31
+ # @option opts [Array<String>] :expand
32
+ # @option opts [BOOLEAN] :profile (default to true)
33
+ # @return [JsonNodeSearchResponse]
34
+ def get_search(opts = {})
35
+ data, status_code, headers = get_search_with_http_info(opts)
36
+ return data
37
+ end
38
+
39
+ # Search using q64
40
+ #
41
+ # @param [Hash] opts the optional parameters
42
+ # @option opts [String] :q64
43
+ # @option opts [Array<String>] :expand
44
+ # @option opts [BOOLEAN] :profile
45
+ # @return [Array<(JsonNodeSearchResponse, Fixnum, Hash)>] JsonNodeSearchResponse data, response status code and response headers
46
+ def get_search_with_http_info(opts = {})
47
+ if @api_client.config.debugging
48
+ @api_client.config.logger.debug "Calling API: SuggestApi#get_search ..."
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = "/api/v2/search".sub('{format}','json')
53
+
54
+ # query parameters
55
+ query_params = {}
56
+ query_params[:'q64'] = opts[:'q64'] if opts[:'q64']
57
+ query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if opts[:'expand']
58
+ query_params[:'profile'] = opts[:'profile'] if opts[:'profile']
59
+
60
+ # header parameters
61
+ header_params = {}
62
+
63
+ # HTTP header 'Accept' (if needed)
64
+ _header_accept = ['application/json']
65
+ _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
66
+
67
+ # HTTP header 'Content-Type'
68
+ _header_content_type = ['application/json']
69
+ header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)
70
+
71
+ # form parameters
72
+ form_params = {}
73
+
74
+ # http body (model)
75
+ post_body = nil
76
+
77
+ auth_names = ['PureCloud Auth']
78
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => 'JsonNodeSearchResponse')
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: SuggestApi#get_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Suggest using q64
92
+ #
93
+ # @param [Hash] opts the optional parameters
94
+ # @option opts [String] :q64
95
+ # @option opts [BOOLEAN] :profile (default to true)
96
+ # @return [JsonNodeSearchResponse]
97
+ def get_suggest(opts = {})
98
+ data, status_code, headers = get_suggest_with_http_info(opts)
99
+ return data
100
+ end
101
+
102
+ # Suggest using q64
103
+ #
104
+ # @param [Hash] opts the optional parameters
105
+ # @option opts [String] :q64
106
+ # @option opts [BOOLEAN] :profile
107
+ # @return [Array<(JsonNodeSearchResponse, Fixnum, Hash)>] JsonNodeSearchResponse data, response status code and response headers
108
+ def get_suggest_with_http_info(opts = {})
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug "Calling API: SuggestApi#get_suggest ..."
111
+ end
112
+
113
+ # resource path
114
+ local_var_path = "/api/v2/search/suggest".sub('{format}','json')
115
+
116
+ # query parameters
117
+ query_params = {}
118
+ query_params[:'q64'] = opts[:'q64'] if opts[:'q64']
119
+ query_params[:'profile'] = opts[:'profile'] if opts[:'profile']
120
+
121
+ # header parameters
122
+ header_params = {}
123
+
124
+ # HTTP header 'Accept' (if needed)
125
+ _header_accept = ['application/json']
126
+ _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
127
+
128
+ # HTTP header 'Content-Type'
129
+ _header_content_type = ['application/json']
130
+ header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)
131
+
132
+ # form parameters
133
+ form_params = {}
134
+
135
+ # http body (model)
136
+ post_body = nil
137
+
138
+ auth_names = ['PureCloud Auth']
139
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
140
+ :header_params => header_params,
141
+ :query_params => query_params,
142
+ :form_params => form_params,
143
+ :body => post_body,
144
+ :auth_names => auth_names,
145
+ :return_type => 'JsonNodeSearchResponse')
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug "API called: SuggestApi#get_suggest\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
148
+ end
149
+ return data, status_code, headers
150
+ end
151
+
152
+ # Search
153
+ #
154
+ # @param [Hash] opts the optional parameters
155
+ # @option opts [SearchRequest] :body Search request options
156
+ # @option opts [BOOLEAN] :profile (default to true)
157
+ # @return [JsonNodeSearchResponse]
158
+ def post_search(opts = {})
159
+ data, status_code, headers = post_search_with_http_info(opts)
160
+ return data
161
+ end
162
+
163
+ # Search
164
+ #
165
+ # @param [Hash] opts the optional parameters
166
+ # @option opts [SearchRequest] :body Search request options
167
+ # @option opts [BOOLEAN] :profile
168
+ # @return [Array<(JsonNodeSearchResponse, Fixnum, Hash)>] JsonNodeSearchResponse data, response status code and response headers
169
+ def post_search_with_http_info(opts = {})
170
+ if @api_client.config.debugging
171
+ @api_client.config.logger.debug "Calling API: SuggestApi#post_search ..."
172
+ end
173
+
174
+ # resource path
175
+ local_var_path = "/api/v2/search".sub('{format}','json')
176
+
177
+ # query parameters
178
+ query_params = {}
179
+ query_params[:'profile'] = opts[:'profile'] if opts[:'profile']
180
+
181
+ # header parameters
182
+ header_params = {}
183
+
184
+ # HTTP header 'Accept' (if needed)
185
+ _header_accept = ['application/json']
186
+ _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
187
+
188
+ # HTTP header 'Content-Type'
189
+ _header_content_type = ['application/json']
190
+ header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)
191
+
192
+ # form parameters
193
+ form_params = {}
194
+
195
+ # http body (model)
196
+ post_body = @api_client.object_to_http_body(opts[:'body'])
197
+
198
+ auth_names = ['PureCloud Auth']
199
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
200
+ :header_params => header_params,
201
+ :query_params => query_params,
202
+ :form_params => form_params,
203
+ :body => post_body,
204
+ :auth_names => auth_names,
205
+ :return_type => 'JsonNodeSearchResponse')
206
+ if @api_client.config.debugging
207
+ @api_client.config.logger.debug "API called: SuggestApi#post_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
208
+ end
209
+ return data, status_code, headers
210
+ end
211
+
212
+ # Suggest
213
+ #
214
+ # @param [Hash] opts the optional parameters
215
+ # @option opts [SearchRequest] :body Search request options
216
+ # @option opts [BOOLEAN] :profile (default to true)
217
+ # @return [JsonNodeSearchResponse]
218
+ def post_suggest(opts = {})
219
+ data, status_code, headers = post_suggest_with_http_info(opts)
220
+ return data
221
+ end
222
+
223
+ # Suggest
224
+ #
225
+ # @param [Hash] opts the optional parameters
226
+ # @option opts [SearchRequest] :body Search request options
227
+ # @option opts [BOOLEAN] :profile
228
+ # @return [Array<(JsonNodeSearchResponse, Fixnum, Hash)>] JsonNodeSearchResponse data, response status code and response headers
229
+ def post_suggest_with_http_info(opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug "Calling API: SuggestApi#post_suggest ..."
232
+ end
233
+
234
+ # resource path
235
+ local_var_path = "/api/v2/search/suggest".sub('{format}','json')
236
+
237
+ # query parameters
238
+ query_params = {}
239
+ query_params[:'profile'] = opts[:'profile'] if opts[:'profile']
240
+
241
+ # header parameters
242
+ header_params = {}
243
+
244
+ # HTTP header 'Accept' (if needed)
245
+ _header_accept = ['application/json']
246
+ _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result
247
+
248
+ # HTTP header 'Content-Type'
249
+ _header_content_type = ['application/json']
250
+ header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)
251
+
252
+ # form parameters
253
+ form_params = {}
254
+
255
+ # http body (model)
256
+ post_body = @api_client.object_to_http_body(opts[:'body'])
257
+
258
+ auth_names = ['PureCloud Auth']
259
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
260
+ :header_params => header_params,
261
+ :query_params => query_params,
262
+ :form_params => form_params,
263
+ :body => post_body,
264
+ :auth_names => auth_names,
265
+ :return_type => 'JsonNodeSearchResponse')
266
+ if @api_client.config.debugging
267
+ @api_client.config.logger.debug "API called: SuggestApi#post_suggest\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
268
+ end
269
+ return data, status_code, headers
270
+ end
271
+ end
272
+ end
@@ -33,7 +33,7 @@ module PureCloud
33
33
 
34
34
  def initialize(config = Configuration.default)
35
35
  @config = config
36
- @user_agent = "PureCloud SDK/Ruby 0.37.1"
36
+ @user_agent = "PureCloud SDK/Ruby 0.38.1"
37
37
  @default_headers = {
38
38
  'Content-Type' => "application/json",
39
39
  'User-Agent' => @user_agent
@@ -0,0 +1,186 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class AuthzGrant
21
+ attr_accessor :permission_context
22
+
23
+ attr_accessor :role
24
+
25
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
26
+ attr_accessor :grant_made_at
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+
32
+ :'permission_context' => :'permissionContext',
33
+
34
+ :'role' => :'role',
35
+
36
+ :'grant_made_at' => :'grantMadeAt'
37
+
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.swagger_types
43
+ {
44
+ :'permission_context' => :'AuthzPermissionContext',
45
+ :'role' => :'AuthzGrantRole',
46
+ :'grant_made_at' => :'DateTime'
47
+
48
+ }
49
+ end
50
+
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
56
+
57
+
58
+ if attributes[:'permissionContext']
59
+ self.permission_context = attributes[:'permissionContext']
60
+ end
61
+
62
+ if attributes[:'role']
63
+ self.role = attributes[:'role']
64
+ end
65
+
66
+ if attributes[:'grantMadeAt']
67
+ self.grant_made_at = attributes[:'grantMadeAt']
68
+ end
69
+
70
+ end
71
+
72
+ # Check equality by comparing each attribute.
73
+ def ==(o)
74
+ return true if self.equal?(o)
75
+ self.class == o.class &&
76
+ permission_context == o.permission_context &&
77
+ role == o.role &&
78
+ grant_made_at == o.grant_made_at
79
+ end
80
+
81
+ # @see the `==` method
82
+ def eql?(o)
83
+ self == o
84
+ end
85
+
86
+ # Calculate hash code according to all attributes.
87
+ def hash
88
+ [permission_context, role, grant_made_at].hash
89
+ end
90
+
91
+ # build the object from hash
92
+ def build_from_hash(attributes)
93
+ return nil unless attributes.is_a?(Hash)
94
+ self.class.swagger_types.each_pair do |key, type|
95
+ if type =~ /^Array<(.*)>/i
96
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
97
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
98
+ else
99
+ #TODO show warning in debug mode
100
+ end
101
+ elsif !attributes[self.class.attribute_map[key]].nil?
102
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
103
+ else
104
+ # data not found in attributes(hash), not an issue as the data can be optional
105
+ end
106
+ end
107
+
108
+ self
109
+ end
110
+
111
+ def _deserialize(type, value)
112
+ case type.to_sym
113
+ when :DateTime
114
+ DateTime.parse(value)
115
+ when :Date
116
+ Date.parse(value)
117
+ when :String
118
+ value.to_s
119
+ when :Integer
120
+ value.to_i
121
+ when :Float
122
+ value.to_f
123
+ when :BOOLEAN
124
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
125
+ true
126
+ else
127
+ false
128
+ end
129
+ when :Object
130
+ # generic object (usually a Hash), return directly
131
+ value
132
+ when /\AArray<(?<inner_type>.+)>\z/
133
+ inner_type = Regexp.last_match[:inner_type]
134
+ value.map { |v| _deserialize(inner_type, v) }
135
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
136
+ k_type = Regexp.last_match[:k_type]
137
+ v_type = Regexp.last_match[:v_type]
138
+ {}.tap do |hash|
139
+ value.each do |k, v|
140
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
141
+ end
142
+ end
143
+ else # model
144
+ _model = Object.const_get("PureCloud").const_get(type).new
145
+ _model.build_from_hash(value)
146
+ end
147
+ end
148
+
149
+ def to_s
150
+ to_hash.to_s
151
+ end
152
+
153
+ # to_body is an alias to to_body (backward compatibility))
154
+ def to_body
155
+ to_hash
156
+ end
157
+
158
+ # return the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ next if value.nil?
164
+ hash[param] = _to_hash(value)
165
+ end
166
+ hash
167
+ end
168
+
169
+ # Method to output non-array value in the form of hash
170
+ # For object, use to_hash. Otherwise, just return the value
171
+ def _to_hash(value)
172
+ if value.is_a?(Array)
173
+ value.compact.map{ |v| _to_hash(v) }
174
+ elsif value.is_a?(Hash)
175
+ {}.tap do |hash|
176
+ value.each { |k, v| hash[k] = _to_hash(v) }
177
+ end
178
+ elsif value.respond_to? :to_hash
179
+ value.to_hash
180
+ else
181
+ value
182
+ end
183
+ end
184
+
185
+ end
186
+ end