suggestgrid 0.1.15.pre.SNAPSHOT
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 +7 -0
- data/LICENSE +28 -0
- data/README.md +104 -0
- data/lib/suggest_grid/api_helper.rb +151 -0
- data/lib/suggest_grid/configuration.rb +21 -0
- data/lib/suggest_grid/controllers/action_controller.rb +257 -0
- data/lib/suggest_grid/controllers/base_controller.rb +20 -0
- data/lib/suggest_grid/controllers/metadata_controller.rb +527 -0
- data/lib/suggest_grid/controllers/recommendation_controller.rb +119 -0
- data/lib/suggest_grid/controllers/similarity_controller.rb +119 -0
- data/lib/suggest_grid/controllers/type_controller.rb +280 -0
- data/lib/suggest_grid/exceptions/api_exception.rb +16 -0
- data/lib/suggest_grid/http/http_call_back.rb +17 -0
- data/lib/suggest_grid/http/http_client.rb +112 -0
- data/lib/suggest_grid/http/http_context.rb +15 -0
- data/lib/suggest_grid/http/http_method_enum.rb +7 -0
- data/lib/suggest_grid/http/http_request.rb +28 -0
- data/lib/suggest_grid/http/http_response.rb +19 -0
- data/lib/suggest_grid/http/unirest_client.rb +41 -0
- data/lib/suggest_grid/models/action.rb +66 -0
- data/lib/suggest_grid/models/bulk_schema_error_response.rb +53 -0
- data/lib/suggest_grid/models/count_response.rb +39 -0
- data/lib/suggest_grid/models/error_response.rb +48 -0
- data/lib/suggest_grid/models/get_recommended_items_body.rb +111 -0
- data/lib/suggest_grid/models/get_recommended_users_body.rb +111 -0
- data/lib/suggest_grid/models/get_similar_items_body.rb +102 -0
- data/lib/suggest_grid/models/get_similar_users_body.rb +102 -0
- data/lib/suggest_grid/models/get_type_response.rb +39 -0
- data/lib/suggest_grid/models/get_types_response.rb +48 -0
- data/lib/suggest_grid/models/items_response.rb +53 -0
- data/lib/suggest_grid/models/message_response.rb +39 -0
- data/lib/suggest_grid/models/metadata.rb +39 -0
- data/lib/suggest_grid/models/metadata_information_response.rb +39 -0
- data/lib/suggest_grid/models/schema_error_response.rb +57 -0
- data/lib/suggest_grid/models/type_request_body.rb +40 -0
- data/lib/suggest_grid/models/users_response.rb +53 -0
- data/lib/suggest_grid/suggest_grid_client.rb +47 -0
- data/lib/suggest_grid.rb +48 -0
- data/spec/swagger.yaml +1169 -0
- metadata +123 -0
@@ -0,0 +1,527 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class MetadataController < BaseController
|
5
|
+
@@instance = MetadataController.new
|
6
|
+
# Singleton instance of the controller class
|
7
|
+
def self.instance
|
8
|
+
@@instance
|
9
|
+
end
|
10
|
+
|
11
|
+
# Delete a User
|
12
|
+
# @param [String] user_id Required parameter: The user_id to delete its metadata.
|
13
|
+
# @return MessageResponse response from the API call
|
14
|
+
def delete_user(user_id)
|
15
|
+
# the base uri for api requests
|
16
|
+
_query_builder = Configuration.base_uri.dup
|
17
|
+
|
18
|
+
# prepare query string for API call
|
19
|
+
_query_builder << '/v1/users/{user_id}'
|
20
|
+
|
21
|
+
# process optional query parameters
|
22
|
+
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
23
|
+
'user_id' => user_id
|
24
|
+
}
|
25
|
+
|
26
|
+
# validate and preprocess url
|
27
|
+
_query_url = APIHelper.clean_url _query_builder
|
28
|
+
|
29
|
+
# prepare headers
|
30
|
+
_headers = {
|
31
|
+
'user-agent' => 'SUGGESTGRID',
|
32
|
+
'accept' => 'application/json'
|
33
|
+
}
|
34
|
+
|
35
|
+
# Create the HttpRequest object for the call
|
36
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
37
|
+
|
38
|
+
# Call the on_before_request callback
|
39
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
40
|
+
|
41
|
+
# Invoke the API call and get the response
|
42
|
+
_response = @http_client.execute_as_string(_request)
|
43
|
+
|
44
|
+
# Wrap the request and response in an HttpContext object
|
45
|
+
_context = HttpContext.new(_request, _response)
|
46
|
+
|
47
|
+
# Call the on_after_response callback
|
48
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
49
|
+
|
50
|
+
# Endpoint error handling using HTTP status codes.
|
51
|
+
if _response.status_code == 429
|
52
|
+
raise APIException.new '429 - Too many requests.', _context
|
53
|
+
elsif _response.status_code == 500
|
54
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
55
|
+
end
|
56
|
+
|
57
|
+
# Global error handling using HTTP status codes.
|
58
|
+
validate_response(_context)
|
59
|
+
|
60
|
+
# Return appropriate response type
|
61
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
62
|
+
return MessageResponse.from_hash(decoded)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Get Users
|
66
|
+
# @return MetadataInformationResponse response from the API call
|
67
|
+
def get_users
|
68
|
+
# the base uri for api requests
|
69
|
+
_query_builder = Configuration.base_uri.dup
|
70
|
+
|
71
|
+
# prepare query string for API call
|
72
|
+
_query_builder << '/v1/users'
|
73
|
+
|
74
|
+
# validate and preprocess url
|
75
|
+
_query_url = APIHelper.clean_url _query_builder
|
76
|
+
|
77
|
+
# prepare headers
|
78
|
+
_headers = {
|
79
|
+
'user-agent' => 'SUGGESTGRID',
|
80
|
+
'accept' => 'application/json'
|
81
|
+
}
|
82
|
+
|
83
|
+
# Create the HttpRequest object for the call
|
84
|
+
_request = @http_client.get _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
85
|
+
|
86
|
+
# Call the on_before_request callback
|
87
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
88
|
+
|
89
|
+
# Invoke the API call and get the response
|
90
|
+
_response = @http_client.execute_as_string(_request)
|
91
|
+
|
92
|
+
# Wrap the request and response in an HttpContext object
|
93
|
+
_context = HttpContext.new(_request, _response)
|
94
|
+
|
95
|
+
# Call the on_after_response callback
|
96
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
97
|
+
|
98
|
+
# Endpoint error handling using HTTP status codes.
|
99
|
+
if _response.status_code == 429
|
100
|
+
raise APIException.new '429 - Too many requests.', _context
|
101
|
+
elsif _response.status_code == 500
|
102
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
103
|
+
end
|
104
|
+
|
105
|
+
# Global error handling using HTTP status codes.
|
106
|
+
validate_response(_context)
|
107
|
+
|
108
|
+
# Return appropriate response type
|
109
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
110
|
+
return MetadataInformationResponse.from_hash(decoded)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Post a User
|
114
|
+
# @param [Metadata] metadata Required parameter: The metadata to be saved. Metadata format has its restrictions.
|
115
|
+
# @return MessageResponse response from the API call
|
116
|
+
def post_user(metadata)
|
117
|
+
# the base uri for api requests
|
118
|
+
_query_builder = Configuration.base_uri.dup
|
119
|
+
|
120
|
+
# prepare query string for API call
|
121
|
+
_query_builder << '/v1/users'
|
122
|
+
|
123
|
+
# validate and preprocess url
|
124
|
+
_query_url = APIHelper.clean_url _query_builder
|
125
|
+
|
126
|
+
# prepare headers
|
127
|
+
_headers = {
|
128
|
+
'user-agent' => 'SUGGESTGRID',
|
129
|
+
'accept' => 'application/json',
|
130
|
+
'content-type' => 'application/json; charset=utf-8'
|
131
|
+
}
|
132
|
+
|
133
|
+
# Create the HttpRequest object for the call
|
134
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: metadata.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
135
|
+
|
136
|
+
# Call the on_before_request callback
|
137
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
138
|
+
|
139
|
+
# Invoke the API call and get the response
|
140
|
+
_response = @http_client.execute_as_string(_request)
|
141
|
+
|
142
|
+
# Wrap the request and response in an HttpContext object
|
143
|
+
_context = HttpContext.new(_request, _response)
|
144
|
+
|
145
|
+
# Call the on_after_response callback
|
146
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
147
|
+
|
148
|
+
# Endpoint error handling using HTTP status codes.
|
149
|
+
if _response.status_code == 400
|
150
|
+
raise APIException.new '400 - Metadata is invalid.', _context
|
151
|
+
elsif _response.status_code == 429
|
152
|
+
raise APIException.new '429 - Too many requests.', _context
|
153
|
+
elsif _response.status_code == 500
|
154
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
155
|
+
end
|
156
|
+
|
157
|
+
# Global error handling using HTTP status codes.
|
158
|
+
validate_response(_context)
|
159
|
+
|
160
|
+
# Return appropriate response type
|
161
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
162
|
+
return MessageResponse.from_hash(decoded)
|
163
|
+
end
|
164
|
+
|
165
|
+
# Delete All Users
|
166
|
+
# @return MessageResponse response from the API call
|
167
|
+
def delete_all_users
|
168
|
+
# the base uri for api requests
|
169
|
+
_query_builder = Configuration.base_uri.dup
|
170
|
+
|
171
|
+
# prepare query string for API call
|
172
|
+
_query_builder << '/v1/users'
|
173
|
+
|
174
|
+
# validate and preprocess url
|
175
|
+
_query_url = APIHelper.clean_url _query_builder
|
176
|
+
|
177
|
+
# prepare headers
|
178
|
+
_headers = {
|
179
|
+
'user-agent' => 'SUGGESTGRID',
|
180
|
+
'accept' => 'application/json'
|
181
|
+
}
|
182
|
+
|
183
|
+
# Create the HttpRequest object for the call
|
184
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
185
|
+
|
186
|
+
# Call the on_before_request callback
|
187
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
188
|
+
|
189
|
+
# Invoke the API call and get the response
|
190
|
+
_response = @http_client.execute_as_string(_request)
|
191
|
+
|
192
|
+
# Wrap the request and response in an HttpContext object
|
193
|
+
_context = HttpContext.new(_request, _response)
|
194
|
+
|
195
|
+
# Call the on_after_response callback
|
196
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
197
|
+
|
198
|
+
# Endpoint error handling using HTTP status codes.
|
199
|
+
if _response.status_code == 429
|
200
|
+
raise APIException.new '429 - Too many requests.', _context
|
201
|
+
elsif _response.status_code == 500
|
202
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
203
|
+
end
|
204
|
+
|
205
|
+
# Global error handling using HTTP status codes.
|
206
|
+
validate_response(_context)
|
207
|
+
|
208
|
+
# Return appropriate response type
|
209
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
210
|
+
return MessageResponse.from_hash(decoded)
|
211
|
+
end
|
212
|
+
|
213
|
+
# Delete an Item
|
214
|
+
# @param [String] item_id Required parameter: The item_id to delete its metadata.
|
215
|
+
# @return MessageResponse response from the API call
|
216
|
+
def delete_item(item_id)
|
217
|
+
# the base uri for api requests
|
218
|
+
_query_builder = Configuration.base_uri.dup
|
219
|
+
|
220
|
+
# prepare query string for API call
|
221
|
+
_query_builder << '/v1/items/{item_id}'
|
222
|
+
|
223
|
+
# process optional query parameters
|
224
|
+
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
225
|
+
'item_id' => item_id
|
226
|
+
}
|
227
|
+
|
228
|
+
# validate and preprocess url
|
229
|
+
_query_url = APIHelper.clean_url _query_builder
|
230
|
+
|
231
|
+
# prepare headers
|
232
|
+
_headers = {
|
233
|
+
'user-agent' => 'SUGGESTGRID',
|
234
|
+
'accept' => 'application/json'
|
235
|
+
}
|
236
|
+
|
237
|
+
# Create the HttpRequest object for the call
|
238
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
239
|
+
|
240
|
+
# Call the on_before_request callback
|
241
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
242
|
+
|
243
|
+
# Invoke the API call and get the response
|
244
|
+
_response = @http_client.execute_as_string(_request)
|
245
|
+
|
246
|
+
# Wrap the request and response in an HttpContext object
|
247
|
+
_context = HttpContext.new(_request, _response)
|
248
|
+
|
249
|
+
# Call the on_after_response callback
|
250
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
251
|
+
|
252
|
+
# Endpoint error handling using HTTP status codes.
|
253
|
+
if _response.status_code == 429
|
254
|
+
raise APIException.new '429 - Too many requests.', _context
|
255
|
+
elsif _response.status_code == 500
|
256
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
257
|
+
end
|
258
|
+
|
259
|
+
# Global error handling using HTTP status codes.
|
260
|
+
validate_response(_context)
|
261
|
+
|
262
|
+
# Return appropriate response type
|
263
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
264
|
+
return MessageResponse.from_hash(decoded)
|
265
|
+
end
|
266
|
+
|
267
|
+
# Get Items
|
268
|
+
# @return MetadataInformationResponse response from the API call
|
269
|
+
def get_items
|
270
|
+
# the base uri for api requests
|
271
|
+
_query_builder = Configuration.base_uri.dup
|
272
|
+
|
273
|
+
# prepare query string for API call
|
274
|
+
_query_builder << '/v1/items'
|
275
|
+
|
276
|
+
# validate and preprocess url
|
277
|
+
_query_url = APIHelper.clean_url _query_builder
|
278
|
+
|
279
|
+
# prepare headers
|
280
|
+
_headers = {
|
281
|
+
'user-agent' => 'SUGGESTGRID',
|
282
|
+
'accept' => 'application/json'
|
283
|
+
}
|
284
|
+
|
285
|
+
# Create the HttpRequest object for the call
|
286
|
+
_request = @http_client.get _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
287
|
+
|
288
|
+
# Call the on_before_request callback
|
289
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
290
|
+
|
291
|
+
# Invoke the API call and get the response
|
292
|
+
_response = @http_client.execute_as_string(_request)
|
293
|
+
|
294
|
+
# Wrap the request and response in an HttpContext object
|
295
|
+
_context = HttpContext.new(_request, _response)
|
296
|
+
|
297
|
+
# Call the on_after_response callback
|
298
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
299
|
+
|
300
|
+
# Endpoint error handling using HTTP status codes.
|
301
|
+
if _response.status_code == 429
|
302
|
+
raise APIException.new '429 - Too many requests.', _context
|
303
|
+
elsif _response.status_code == 500
|
304
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
305
|
+
end
|
306
|
+
|
307
|
+
# Global error handling using HTTP status codes.
|
308
|
+
validate_response(_context)
|
309
|
+
|
310
|
+
# Return appropriate response type
|
311
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
312
|
+
return MetadataInformationResponse.from_hash(decoded)
|
313
|
+
end
|
314
|
+
|
315
|
+
# Post an Item
|
316
|
+
# @param [Metadata] body Required parameter: The metadata to be saved. Metadata format has its restrictions.
|
317
|
+
# @return MessageResponse response from the API call
|
318
|
+
def post_item(body)
|
319
|
+
# the base uri for api requests
|
320
|
+
_query_builder = Configuration.base_uri.dup
|
321
|
+
|
322
|
+
# prepare query string for API call
|
323
|
+
_query_builder << '/v1/items'
|
324
|
+
|
325
|
+
# validate and preprocess url
|
326
|
+
_query_url = APIHelper.clean_url _query_builder
|
327
|
+
|
328
|
+
# prepare headers
|
329
|
+
_headers = {
|
330
|
+
'user-agent' => 'SUGGESTGRID',
|
331
|
+
'accept' => 'application/json',
|
332
|
+
'content-type' => 'application/json; charset=utf-8'
|
333
|
+
}
|
334
|
+
|
335
|
+
# Create the HttpRequest object for the call
|
336
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
337
|
+
|
338
|
+
# Call the on_before_request callback
|
339
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
340
|
+
|
341
|
+
# Invoke the API call and get the response
|
342
|
+
_response = @http_client.execute_as_string(_request)
|
343
|
+
|
344
|
+
# Wrap the request and response in an HttpContext object
|
345
|
+
_context = HttpContext.new(_request, _response)
|
346
|
+
|
347
|
+
# Call the on_after_response callback
|
348
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
349
|
+
|
350
|
+
# Endpoint error handling using HTTP status codes.
|
351
|
+
if _response.status_code == 400
|
352
|
+
raise APIException.new '400 - Metadata is invalid.', _context
|
353
|
+
elsif _response.status_code == 429
|
354
|
+
raise APIException.new '429 - Too many requests.', _context
|
355
|
+
elsif _response.status_code == 500
|
356
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
357
|
+
end
|
358
|
+
|
359
|
+
# Global error handling using HTTP status codes.
|
360
|
+
validate_response(_context)
|
361
|
+
|
362
|
+
# Return appropriate response type
|
363
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
364
|
+
return MessageResponse.from_hash(decoded)
|
365
|
+
end
|
366
|
+
|
367
|
+
# Delete All Items
|
368
|
+
# @return MessageResponse response from the API call
|
369
|
+
def delete_all_items
|
370
|
+
# the base uri for api requests
|
371
|
+
_query_builder = Configuration.base_uri.dup
|
372
|
+
|
373
|
+
# prepare query string for API call
|
374
|
+
_query_builder << '/v1/items'
|
375
|
+
|
376
|
+
# validate and preprocess url
|
377
|
+
_query_url = APIHelper.clean_url _query_builder
|
378
|
+
|
379
|
+
# prepare headers
|
380
|
+
_headers = {
|
381
|
+
'user-agent' => 'SUGGESTGRID',
|
382
|
+
'accept' => 'application/json'
|
383
|
+
}
|
384
|
+
|
385
|
+
# Create the HttpRequest object for the call
|
386
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
387
|
+
|
388
|
+
# Call the on_before_request callback
|
389
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
390
|
+
|
391
|
+
# Invoke the API call and get the response
|
392
|
+
_response = @http_client.execute_as_string(_request)
|
393
|
+
|
394
|
+
# Wrap the request and response in an HttpContext object
|
395
|
+
_context = HttpContext.new(_request, _response)
|
396
|
+
|
397
|
+
# Call the on_after_response callback
|
398
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
399
|
+
|
400
|
+
# Endpoint error handling using HTTP status codes.
|
401
|
+
if _response.status_code == 429
|
402
|
+
raise APIException.new '429 - Too many requests.', _context
|
403
|
+
elsif _response.status_code == 500
|
404
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
405
|
+
end
|
406
|
+
|
407
|
+
# Global error handling using HTTP status codes.
|
408
|
+
validate_response(_context)
|
409
|
+
|
410
|
+
# Return appropriate response type
|
411
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
412
|
+
return MessageResponse.from_hash(decoded)
|
413
|
+
end
|
414
|
+
|
415
|
+
# Post Bulk Users
|
416
|
+
# @param [Collection] metas Required parameter: List of metadata, size is limited to 10 thousand.
|
417
|
+
# @return MessageResponse response from the API call
|
418
|
+
def post_bulk_users(metas)
|
419
|
+
body = ''
|
420
|
+
metas.each do |meta|
|
421
|
+
body += "#{meta.to_json}\n"
|
422
|
+
end
|
423
|
+
# the base uri for api requests
|
424
|
+
_query_builder = Configuration.base_uri.dup
|
425
|
+
|
426
|
+
# prepare query string for API call
|
427
|
+
_query_builder << '/v1/users/_bulk'
|
428
|
+
|
429
|
+
# validate and preprocess url
|
430
|
+
_query_url = APIHelper.clean_url _query_builder
|
431
|
+
|
432
|
+
# prepare headers
|
433
|
+
_headers = {
|
434
|
+
'user-agent' => 'SUGGESTGRID',
|
435
|
+
'accept' => 'application/json',
|
436
|
+
'content-type' => 'text/plain; charset=utf-8'
|
437
|
+
}
|
438
|
+
|
439
|
+
# Create the HttpRequest object for the call
|
440
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
441
|
+
|
442
|
+
# Call the on_before_request callback
|
443
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
444
|
+
|
445
|
+
# Invoke the API call and get the response
|
446
|
+
_response = @http_client.execute_as_string(_request)
|
447
|
+
|
448
|
+
# Wrap the request and response in an HttpContext object
|
449
|
+
_context = HttpContext.new(_request, _response)
|
450
|
+
|
451
|
+
# Call the on_after_response callback
|
452
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
453
|
+
|
454
|
+
# Endpoint error handling using HTTP status codes.
|
455
|
+
if _response.status_code == 209
|
456
|
+
raise APIException.new '209 - Some metadata is not uploaded successfully.', _context
|
457
|
+
elsif _response.status_code == 429
|
458
|
+
raise APIException.new '429 - Too many requests.', _context
|
459
|
+
elsif _response.status_code == 500
|
460
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
461
|
+
end
|
462
|
+
|
463
|
+
# Global error handling using HTTP status codes.
|
464
|
+
validate_response(_context)
|
465
|
+
|
466
|
+
# Return appropriate response type
|
467
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
468
|
+
return MessageResponse.from_hash(decoded)
|
469
|
+
end
|
470
|
+
|
471
|
+
# Post Bulk Items
|
472
|
+
# @param [Collection] metas Required parameter: List of metadata, size is limited to 10 thousand.
|
473
|
+
# @return MessageResponse response from the API call
|
474
|
+
def post_bulk_items(metas)
|
475
|
+
body = ''
|
476
|
+
metas.each do |meta|
|
477
|
+
body += "#{meta.to_json}\n"
|
478
|
+
end
|
479
|
+
# the base uri for api requests
|
480
|
+
_query_builder = Configuration.base_uri.dup
|
481
|
+
|
482
|
+
# prepare query string for API call
|
483
|
+
_query_builder << '/v1/items/_bulk'
|
484
|
+
|
485
|
+
# validate and preprocess url
|
486
|
+
_query_url = APIHelper.clean_url _query_builder
|
487
|
+
|
488
|
+
# prepare headers
|
489
|
+
_headers = {
|
490
|
+
'user-agent' => 'SUGGESTGRID',
|
491
|
+
'accept' => 'application/json',
|
492
|
+
'content-type' => 'text/plain; charset=utf-8'
|
493
|
+
}
|
494
|
+
|
495
|
+
# Create the HttpRequest object for the call
|
496
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
497
|
+
|
498
|
+
# Call the on_before_request callback
|
499
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
500
|
+
|
501
|
+
# Invoke the API call and get the response
|
502
|
+
_response = @http_client.execute_as_string(_request)
|
503
|
+
|
504
|
+
# Wrap the request and response in an HttpContext object
|
505
|
+
_context = HttpContext.new(_request, _response)
|
506
|
+
|
507
|
+
# Call the on_after_response callback
|
508
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
509
|
+
|
510
|
+
# Endpoint error handling using HTTP status codes.
|
511
|
+
if _response.status_code == 209
|
512
|
+
raise APIException.new '209 - Some metadata is not uploaded successfully.', _context
|
513
|
+
elsif _response.status_code == 429
|
514
|
+
raise APIException.new '429 - Too many requests.', _context
|
515
|
+
elsif _response.status_code == 500
|
516
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
517
|
+
end
|
518
|
+
|
519
|
+
# Global error handling using HTTP status codes.
|
520
|
+
validate_response(_context)
|
521
|
+
|
522
|
+
# Return appropriate response type
|
523
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
524
|
+
return MessageResponse.from_hash(decoded)
|
525
|
+
end
|
526
|
+
end
|
527
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class RecommendationController < BaseController
|
5
|
+
@@instance = RecommendationController.new
|
6
|
+
# Singleton instance of the controller class
|
7
|
+
def self.instance
|
8
|
+
@@instance
|
9
|
+
end
|
10
|
+
|
11
|
+
# Get Recommended Users
|
12
|
+
# @param [GetRecommendedUsersBody] body Required parameter: Parameters for recommend users method.
|
13
|
+
# @return UsersResponse response from the API call
|
14
|
+
def get_recommended_users(body)
|
15
|
+
# the base uri for api requests
|
16
|
+
_query_builder = Configuration.base_uri.dup
|
17
|
+
|
18
|
+
# prepare query string for API call
|
19
|
+
_query_builder << '/v1/recommend/users'
|
20
|
+
|
21
|
+
# validate and preprocess url
|
22
|
+
_query_url = APIHelper.clean_url _query_builder
|
23
|
+
|
24
|
+
# prepare headers
|
25
|
+
_headers = {
|
26
|
+
'user-agent' => 'SUGGESTGRID',
|
27
|
+
'accept' => 'application/json',
|
28
|
+
'content-type' => 'application/json; charset=utf-8'
|
29
|
+
}
|
30
|
+
|
31
|
+
# Create the HttpRequest object for the call
|
32
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
33
|
+
|
34
|
+
# Call the on_before_request callback
|
35
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
36
|
+
|
37
|
+
# Invoke the API call and get the response
|
38
|
+
_response = @http_client.execute_as_string(_request)
|
39
|
+
|
40
|
+
# Wrap the request and response in an HttpContext object
|
41
|
+
_context = HttpContext.new(_request, _response)
|
42
|
+
|
43
|
+
# Call the on_after_response callback
|
44
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
45
|
+
|
46
|
+
# Endpoint error handling using HTTP status codes.
|
47
|
+
if _response.status_code == 400
|
48
|
+
raise APIException.new '400 - Request body is invalid.', _context
|
49
|
+
elsif _response.status_code == 422
|
50
|
+
raise APIException.new '422 - Required parameters are missing.', _context
|
51
|
+
elsif _response.status_code == 429
|
52
|
+
raise APIException.new '429 - Too many requests.', _context
|
53
|
+
elsif _response.status_code == 500
|
54
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
55
|
+
end
|
56
|
+
|
57
|
+
# Global error handling using HTTP status codes.
|
58
|
+
validate_response(_context)
|
59
|
+
|
60
|
+
# Return appropriate response type
|
61
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
62
|
+
return UsersResponse.from_hash(decoded)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Get Recommended Items
|
66
|
+
# @param [GetRecommendedItemsBody] body Required parameter: Parameters for recommend items method.
|
67
|
+
# @return ItemsResponse response from the API call
|
68
|
+
def get_recommended_items(body)
|
69
|
+
# the base uri for api requests
|
70
|
+
_query_builder = Configuration.base_uri.dup
|
71
|
+
|
72
|
+
# prepare query string for API call
|
73
|
+
_query_builder << '/v1/recommend/items'
|
74
|
+
|
75
|
+
# validate and preprocess url
|
76
|
+
_query_url = APIHelper.clean_url _query_builder
|
77
|
+
|
78
|
+
# prepare headers
|
79
|
+
_headers = {
|
80
|
+
'user-agent' => 'SUGGESTGRID',
|
81
|
+
'accept' => 'application/json',
|
82
|
+
'content-type' => 'application/json; charset=utf-8'
|
83
|
+
}
|
84
|
+
|
85
|
+
# Create the HttpRequest object for the call
|
86
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
87
|
+
|
88
|
+
# Call the on_before_request callback
|
89
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
90
|
+
|
91
|
+
# Invoke the API call and get the response
|
92
|
+
_response = @http_client.execute_as_string(_request)
|
93
|
+
|
94
|
+
# Wrap the request and response in an HttpContext object
|
95
|
+
_context = HttpContext.new(_request, _response)
|
96
|
+
|
97
|
+
# Call the on_after_response callback
|
98
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
99
|
+
|
100
|
+
# Endpoint error handling using HTTP status codes.
|
101
|
+
if _response.status_code == 400
|
102
|
+
raise APIException.new '400 - Request body is invalid.', _context
|
103
|
+
elsif _response.status_code == 422
|
104
|
+
raise APIException.new '422 - Required parameters are missing.', _context
|
105
|
+
elsif _response.status_code == 429
|
106
|
+
raise APIException.new '429 - Too many requests.', _context
|
107
|
+
elsif _response.status_code == 500
|
108
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
109
|
+
end
|
110
|
+
|
111
|
+
# Global error handling using HTTP status codes.
|
112
|
+
validate_response(_context)
|
113
|
+
|
114
|
+
# Return appropriate response type
|
115
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
116
|
+
return ItemsResponse.from_hash(decoded)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|