gonebusy-ruby-client 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -68
  3. data/lib/gonebusy/api_helper.rb +181 -149
  4. data/lib/gonebusy/configuration.rb +51 -16
  5. data/lib/gonebusy/controllers/base_controller.rb +46 -45
  6. data/lib/gonebusy/controllers/bookings_controller.rb +257 -293
  7. data/lib/gonebusy/controllers/categories_controller.rb +151 -180
  8. data/lib/gonebusy/controllers/pricing_models_controller.rb +202 -241
  9. data/lib/gonebusy/controllers/resources_controller.rb +295 -355
  10. data/lib/gonebusy/controllers/schedules_controller.rb +361 -428
  11. data/lib/gonebusy/controllers/search_controller.rb +52 -63
  12. data/lib/gonebusy/controllers/services_controller.rb +310 -367
  13. data/lib/gonebusy/controllers/users_controller.rb +199 -239
  14. data/lib/gonebusy/exceptions/api_exception.rb +16 -16
  15. data/lib/gonebusy/exceptions/entities_error_error_exception.rb +27 -0
  16. data/lib/gonebusy/exceptions/entities_error_exception.rb +26 -26
  17. data/lib/gonebusy/gonebusy_client.rb +58 -58
  18. data/lib/gonebusy/http/auth/custom_auth.rb +15 -15
  19. data/lib/gonebusy/http/faraday_client.rb +43 -41
  20. data/lib/gonebusy/http/http_call_back.rb +17 -17
  21. data/lib/gonebusy/http/http_client.rb +84 -82
  22. data/lib/gonebusy/http/http_context.rb +15 -15
  23. data/lib/gonebusy/http/http_method_enum.rb +7 -7
  24. data/lib/gonebusy/http/http_request.rb +44 -44
  25. data/lib/gonebusy/http/http_response.rb +19 -19
  26. data/lib/gonebusy/models/base_model.rb +31 -31
  27. data/lib/gonebusy/models/cancel_booking_by_id_response.rb +35 -35
  28. data/lib/gonebusy/models/create_booking_body.rb +134 -80
  29. data/lib/gonebusy/models/create_booking_response.rb +35 -35
  30. data/lib/gonebusy/models/create_category_body.rb +71 -71
  31. data/lib/gonebusy/models/create_category_response.rb +35 -35
  32. data/lib/gonebusy/models/create_pricing_model_body.rb +80 -80
  33. data/lib/gonebusy/models/create_pricing_model_response.rb +35 -35
  34. data/lib/gonebusy/models/create_resource_body.rb +89 -89
  35. data/lib/gonebusy/models/create_resource_response.rb +35 -35
  36. data/lib/gonebusy/models/create_schedule_body.rb +143 -144
  37. data/lib/gonebusy/models/create_schedule_response.rb +35 -35
  38. data/lib/gonebusy/models/create_schedule_time_window_body.rb +116 -117
  39. data/lib/gonebusy/models/create_schedule_time_window_response.rb +35 -35
  40. data/lib/gonebusy/models/create_service_body.rb +107 -107
  41. data/lib/gonebusy/models/create_service_response.rb +35 -35
  42. data/lib/gonebusy/models/create_user_body.rb +89 -89
  43. data/lib/gonebusy/models/create_user_response.rb +35 -35
  44. data/lib/gonebusy/models/date_recurs_by_enum.rb +12 -12
  45. data/lib/gonebusy/models/delete_resource_by_id_response.rb +35 -35
  46. data/lib/gonebusy/models/delete_schedule_by_id_response.rb +35 -35
  47. data/lib/gonebusy/models/delete_schedule_time_window_by_id_response.rb +35 -35
  48. data/lib/gonebusy/models/delete_service_by_id_response.rb +35 -35
  49. data/lib/gonebusy/models/entities_address_entity.rb +116 -116
  50. data/lib/gonebusy/models/entities_availability_response.rb +58 -58
  51. data/lib/gonebusy/models/entities_booking_response.rb +71 -71
  52. data/lib/gonebusy/models/entities_category_response.rb +98 -98
  53. data/lib/gonebusy/models/entities_pricing_model_response.rb +89 -89
  54. data/lib/gonebusy/models/entities_resource_availabilities.rb +49 -49
  55. data/lib/gonebusy/models/entities_resource_response.rb +107 -107
  56. data/lib/gonebusy/models/entities_schedule_response.rb +76 -76
  57. data/lib/gonebusy/models/entities_search_response.rb +54 -54
  58. data/lib/gonebusy/models/entities_service_response.rb +134 -130
  59. data/lib/gonebusy/models/entities_slots.rb +44 -45
  60. data/lib/gonebusy/models/entities_thing_type_response.rb +44 -44
  61. data/lib/gonebusy/models/entities_time_window_response.rb +134 -135
  62. data/lib/gonebusy/models/entities_user_response.rb +152 -152
  63. data/lib/gonebusy/models/frequency_enum.rb +17 -17
  64. data/lib/gonebusy/models/gender_enum.rb +9 -9
  65. data/lib/gonebusy/models/get_booking_by_id_response.rb +35 -35
  66. data/lib/gonebusy/models/get_bookings_response.rb +40 -40
  67. data/lib/gonebusy/models/get_categories_response.rb +40 -40
  68. data/lib/gonebusy/models/get_category_by_id_response.rb +35 -35
  69. data/lib/gonebusy/models/get_pricing_model_by_id_response.rb +35 -35
  70. data/lib/gonebusy/models/get_pricing_models_response.rb +40 -40
  71. data/lib/gonebusy/models/get_resource_by_id_response.rb +35 -35
  72. data/lib/gonebusy/models/get_resource_things_response.rb +40 -40
  73. data/lib/gonebusy/models/get_resources_response.rb +40 -40
  74. data/lib/gonebusy/models/get_schedule_by_id_response.rb +35 -35
  75. data/lib/gonebusy/models/get_schedules_response.rb +40 -40
  76. data/lib/gonebusy/models/get_service_available_slots_by_id_response.rb +35 -35
  77. data/lib/gonebusy/models/get_service_by_id_response.rb +35 -35
  78. data/lib/gonebusy/models/get_services_response.rb +40 -40
  79. data/lib/gonebusy/models/get_user_by_id_response.rb +35 -35
  80. data/lib/gonebusy/models/get_users_response.rb +40 -40
  81. data/lib/gonebusy/models/occurrence_enum.rb +21 -21
  82. data/lib/gonebusy/models/recurs_by_enum.rb +15 -15
  83. data/lib/gonebusy/models/search_query_response.rb +35 -35
  84. data/lib/gonebusy/models/update_booking_by_id_body.rb +116 -0
  85. data/lib/gonebusy/models/update_booking_by_id_response.rb +35 -35
  86. data/lib/gonebusy/models/update_pricing_model_by_id_body.rb +62 -62
  87. data/lib/gonebusy/models/update_pricing_model_by_id_response.rb +35 -35
  88. data/lib/gonebusy/models/update_resource_by_id_body.rb +71 -71
  89. data/lib/gonebusy/models/update_resource_by_id_response.rb +35 -35
  90. data/lib/gonebusy/models/update_schedule_time_window_by_id_body.rb +116 -117
  91. data/lib/gonebusy/models/update_schedule_time_window_by_id_response.rb +35 -35
  92. data/lib/gonebusy/models/update_service_by_id_body.rb +98 -98
  93. data/lib/gonebusy/models/update_service_by_id_response.rb +35 -35
  94. data/lib/gonebusy/models/update_user_by_id_body.rb +89 -89
  95. data/lib/gonebusy/models/update_user_by_id_response.rb +35 -35
  96. data/lib/gonebusy.rb +108 -104
  97. metadata +53 -17
@@ -1,430 +1,363 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class SchedulesController < BaseController
5
- @@instance = SchedulesController.new
6
- # Singleton instance of the controller class
7
- def self.instance
8
- @@instance
9
- end
10
-
11
- # Delete a TimeWindow from a Schedule
12
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
13
- # @param [String] id Required parameter: Example:
14
- # @param [String] time_window_id Required parameter: Example:
15
- # @return DeleteScheduleTimeWindowByIdResponse response from the API call
16
- def delete_schedule_time_window_by_id(options = Hash.new)
17
-
18
- # the base uri for api requests
19
- _query_builder = Configuration.base_uri.dup
20
-
21
- # prepare query string for API call
22
- _query_builder << '/schedules/{id}/time_windows/{time_window_id}'
23
-
24
- # process optional query parameters
25
- _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
26
- 'id' => options['id'],
27
- 'time_window_id' => options['time_window_id']
28
- }
29
-
30
- # validate and preprocess url
31
- _query_url = APIHelper.clean_url _query_builder
32
-
33
- # prepare headers
34
- _headers = {
35
- 'accept' => 'application/json',
36
- 'Authorization' => Configuration.authorization,
37
- 'Authorization' => options['authorization']
38
- }
39
-
40
- # create the HttpRequest object for the call
41
- _request = @http_client.delete _query_url, headers: _headers
42
-
43
- # apply authentication
44
- CustomAuth.apply(_request)
45
-
46
- # execute the request
47
- _context = execute_request(_request)
48
-
49
- # endpoint error handling using HTTP status codes.
50
- if _context.response.status_code == 400
51
- raise EntitiesErrorException.new '400 - Bad Request', _context
52
- elsif _context.response.status_code == 401
53
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
54
- elsif _context.response.status_code == 403
55
- raise EntitiesErrorException.new '403 - Forbidden', _context
56
- elsif _context.response.status_code == 404
57
- raise EntitiesErrorException.new '404 - Not Found', _context
58
- elsif _context.response.status_code == 500
59
- raise APIException.new '500 - Unexpected error', _context
60
- end
61
-
62
- # global error handling using HTTP status codes.
63
- validate_response(_context)
64
-
65
- # return appropriate response type
66
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
67
- return DeleteScheduleTimeWindowByIdResponse.from_hash(decoded)
68
- end
69
-
70
- # Add a TimeWindow to a Schedule.
71
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
72
- # @param [CreateScheduleTimeWindowBody] create_schedule_time_window_body Required parameter: the content of the request
73
- # @param [String] id Required parameter: Example:
74
- # @return CreateScheduleTimeWindowResponse response from the API call
75
- def create_schedule_time_window(options = Hash.new)
76
-
77
- # the base uri for api requests
78
- _query_builder = Configuration.base_uri.dup
79
-
80
- # prepare query string for API call
81
- _query_builder << '/schedules/{id}/time_windows/new'
82
-
83
- # process optional query parameters
84
- _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
85
- 'id' => options['id']
86
- }
87
-
88
- # validate and preprocess url
89
- _query_url = APIHelper.clean_url _query_builder
90
-
91
- # prepare headers
92
- _headers = {
93
- 'accept' => 'application/json',
94
- 'content-type' => 'application/json; charset=utf-8',
95
- 'Authorization' => Configuration.authorization,
96
- 'Authorization' => options['authorization']
97
- }
98
-
99
- # create the HttpRequest object for the call
100
- _request = @http_client.post _query_url, headers: _headers, parameters: options['create_schedule_time_window_body'].to_json
101
-
102
- # apply authentication
103
- CustomAuth.apply(_request)
104
-
105
- # execute the request
106
- _context = execute_request(_request)
107
-
108
- # endpoint error handling using HTTP status codes.
109
- if _context.response.status_code == 400
110
- raise EntitiesErrorException.new '400 - Bad Request', _context
111
- elsif _context.response.status_code == 401
112
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
113
- elsif _context.response.status_code == 403
114
- raise EntitiesErrorException.new '403 - Forbidden', _context
115
- elsif _context.response.status_code == 404
116
- raise EntitiesErrorException.new '404 - Not Found', _context
117
- elsif _context.response.status_code == 422
118
- raise EntitiesErrorException.new '422 - Unprocessable Entity', _context
119
- elsif _context.response.status_code == 500
120
- raise APIException.new '500 - Unexpected error', _context
121
- end
122
-
123
- # global error handling using HTTP status codes.
124
- validate_response(_context)
125
-
126
- # return appropriate response type
127
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
128
- return CreateScheduleTimeWindowResponse.from_hash(decoded)
129
- end
130
-
131
- # Delete a Schedule
132
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
133
- # @param [String] id Required parameter: Example:
134
- # @return DeleteScheduleByIdResponse response from the API call
135
- def delete_schedule_by_id(options = Hash.new)
136
-
137
- # the base uri for api requests
138
- _query_builder = Configuration.base_uri.dup
139
-
140
- # prepare query string for API call
141
- _query_builder << '/schedules/{id}'
142
-
143
- # process optional query parameters
144
- _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
145
- 'id' => options['id']
146
- }
147
-
148
- # validate and preprocess url
149
- _query_url = APIHelper.clean_url _query_builder
150
-
151
- # prepare headers
152
- _headers = {
153
- 'accept' => 'application/json',
154
- 'Authorization' => Configuration.authorization,
155
- 'Authorization' => options['authorization']
156
- }
157
-
158
- # create the HttpRequest object for the call
159
- _request = @http_client.delete _query_url, headers: _headers
160
-
161
- # apply authentication
162
- CustomAuth.apply(_request)
163
-
164
- # execute the request
165
- _context = execute_request(_request)
166
-
167
- # endpoint error handling using HTTP status codes.
168
- if _context.response.status_code == 400
169
- raise EntitiesErrorException.new '400 - Bad Request', _context
170
- elsif _context.response.status_code == 401
171
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
172
- elsif _context.response.status_code == 403
173
- raise EntitiesErrorException.new '403 - Forbidden', _context
174
- elsif _context.response.status_code == 404
175
- raise EntitiesErrorException.new '404 - Not Found', _context
176
- elsif _context.response.status_code == 500
177
- raise APIException.new '500 - Unexpected error', _context
178
- end
179
-
180
- # global error handling using HTTP status codes.
181
- validate_response(_context)
182
-
183
- # return appropriate response type
184
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
185
- return DeleteScheduleByIdResponse.from_hash(decoded)
186
- end
187
-
188
- # Return a Schedule by id.
189
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
190
- # @param [String] id Required parameter: Example:
191
- # @return GetScheduleByIdResponse response from the API call
192
- def get_schedule_by_id(options = Hash.new)
193
-
194
- # the base uri for api requests
195
- _query_builder = Configuration.base_uri.dup
196
-
197
- # prepare query string for API call
198
- _query_builder << '/schedules/{id}'
199
-
200
- # process optional query parameters
201
- _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
202
- 'id' => options['id']
203
- }
204
-
205
- # validate and preprocess url
206
- _query_url = APIHelper.clean_url _query_builder
207
-
208
- # prepare headers
209
- _headers = {
210
- 'accept' => 'application/json',
211
- 'Authorization' => Configuration.authorization,
212
- 'Authorization' => options['authorization']
213
- }
214
-
215
- # create the HttpRequest object for the call
216
- _request = @http_client.get _query_url, headers: _headers
217
-
218
- # apply authentication
219
- CustomAuth.apply(_request)
220
-
221
- # execute the request
222
- _context = execute_request(_request)
223
-
224
- # endpoint error handling using HTTP status codes.
225
- if _context.response.status_code == 400
226
- raise EntitiesErrorException.new '400 - Bad Request', _context
227
- elsif _context.response.status_code == 401
228
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
229
- elsif _context.response.status_code == 403
230
- raise EntitiesErrorException.new '403 - Forbidden', _context
231
- elsif _context.response.status_code == 404
232
- raise EntitiesErrorException.new '404 - Not Found', _context
233
- elsif _context.response.status_code == 410
234
- raise EntitiesErrorException.new '410 - Gone', _context
235
- elsif _context.response.status_code == 500
236
- raise APIException.new '500 - Unexpected error', _context
237
- end
238
-
239
- # global error handling using HTTP status codes.
240
- validate_response(_context)
241
-
242
- # return appropriate response type
243
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
244
- return GetScheduleByIdResponse.from_hash(decoded)
245
- end
246
-
247
- # Create a Schedule with params.
248
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
249
- # @param [CreateScheduleBody] create_schedule_body Required parameter: the content of the request
250
- # @return CreateScheduleResponse response from the API call
251
- def create_schedule(options = Hash.new)
252
-
253
- # the base uri for api requests
254
- _query_builder = Configuration.base_uri.dup
255
-
256
- # prepare query string for API call
257
- _query_builder << '/schedules/new'
258
-
259
- # validate and preprocess url
260
- _query_url = APIHelper.clean_url _query_builder
261
-
262
- # prepare headers
263
- _headers = {
264
- 'accept' => 'application/json',
265
- 'content-type' => 'application/json; charset=utf-8',
266
- 'Authorization' => Configuration.authorization,
267
- 'Authorization' => options['authorization']
268
- }
269
-
270
- # create the HttpRequest object for the call
271
- _request = @http_client.post _query_url, headers: _headers, parameters: options['create_schedule_body'].to_json
272
-
273
- # apply authentication
274
- CustomAuth.apply(_request)
275
-
276
- # execute the request
277
- _context = execute_request(_request)
278
-
279
- # endpoint error handling using HTTP status codes.
280
- if _context.response.status_code == 400
281
- raise EntitiesErrorException.new '400 - Bad Request', _context
282
- elsif _context.response.status_code == 401
283
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
284
- elsif _context.response.status_code == 403
285
- raise EntitiesErrorException.new '403 - Forbidden', _context
286
- elsif _context.response.status_code == 404
287
- raise EntitiesErrorException.new '404 - Not Found', _context
288
- elsif _context.response.status_code == 422
289
- raise EntitiesErrorException.new '422 - Unprocessable Entity', _context
290
- elsif _context.response.status_code == 500
291
- raise APIException.new '500 - Unexpected error', _context
292
- end
293
-
294
- # global error handling using HTTP status codes.
295
- validate_response(_context)
296
-
297
- # return appropriate response type
298
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
299
- return CreateScheduleResponse.from_hash(decoded)
300
- end
301
-
302
- # Update a TimeWindow for a Schedule.
303
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
304
- # @param [String] id Required parameter: Example:
305
- # @param [String] time_window_id Required parameter: Example:
306
- # @param [UpdateScheduleTimeWindowByIdBody] update_schedule_time_window_by_id_body Required parameter: the content of the request
307
- # @return UpdateScheduleTimeWindowByIdResponse response from the API call
308
- def update_schedule_time_window_by_id(options = Hash.new)
309
-
310
- # the base uri for api requests
311
- _query_builder = Configuration.base_uri.dup
312
-
313
- # prepare query string for API call
314
- _query_builder << '/schedules/{id}/time_windows/{time_window_id}'
315
-
316
- # process optional query parameters
317
- _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
318
- 'id' => options['id'],
319
- 'time_window_id' => options['time_window_id']
320
- }
321
-
322
- # validate and preprocess url
323
- _query_url = APIHelper.clean_url _query_builder
324
-
325
- # prepare headers
326
- _headers = {
327
- 'accept' => 'application/json',
328
- 'content-type' => 'application/json; charset=utf-8',
329
- 'Authorization' => Configuration.authorization,
330
- 'Authorization' => options['authorization']
331
- }
332
-
333
- # create the HttpRequest object for the call
334
- _request = @http_client.put _query_url, headers: _headers, parameters: options['update_schedule_time_window_by_id_body'].to_json
335
-
336
- # apply authentication
337
- CustomAuth.apply(_request)
338
-
339
- # execute the request
340
- _context = execute_request(_request)
341
-
342
- # endpoint error handling using HTTP status codes.
343
- if _context.response.status_code == 400
344
- raise EntitiesErrorException.new '400 - Bad Request', _context
345
- elsif _context.response.status_code == 401
346
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
347
- elsif _context.response.status_code == 403
348
- raise EntitiesErrorException.new '403 - Forbidden', _context
349
- elsif _context.response.status_code == 404
350
- raise EntitiesErrorException.new '404 - Not Found', _context
351
- elsif _context.response.status_code == 422
352
- raise EntitiesErrorException.new '422 - Unprocessable Entity', _context
353
- elsif _context.response.status_code == 500
354
- raise APIException.new '500 - Unexpected error', _context
355
- end
356
-
357
- # global error handling using HTTP status codes.
358
- validate_response(_context)
359
-
360
- # return appropriate response type
361
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
362
- return UpdateScheduleTimeWindowByIdResponse.from_hash(decoded)
363
- end
364
-
365
- # Return all Schedules that your account has access to. Includes Schedules for your own User as well as any Users for which you are the Account Manager.
366
- # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
367
- # @param [Integer] page Optional parameter: Page offset to fetch.
368
- # @param [Integer] per_page Optional parameter: Number of results to return per page.
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class SchedulesController < BaseController
5
+ @@instance = SchedulesController.new
6
+ # Singleton instance of the controller class
7
+ def self.instance
8
+ @@instance
9
+ end
10
+
11
+ # Return all Schedules that your account has access to. Includes Schedules for your own User as well as any Users for which you are the Account Manager.
12
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
13
+ # @param [Integer] page Optional parameter: Page offset to fetch.
14
+ # @param [Integer] per_page Optional parameter: Number of results to return per page.
369
15
  # @param [Integer] resource_id Optional parameter: Retrieve Schedules only for this Resource. You, or provided :user_id, must be authorized to manage this Resource.
370
16
  # @param [Integer] service_id Optional parameter: Retrieve Schedules only for this Service. You, or provided :user_id, must be authorized to manage this Service.
371
- # @param [Integer] user_id Optional parameter: Retrieve Schedules owned only by this User Id. You must be authorized to manage this User Id.
372
- # @return GetSchedulesResponse response from the API call
373
- def get_schedules(options = Hash.new)
374
-
375
- # the base uri for api requests
376
- _query_builder = Configuration.base_uri.dup
377
-
378
- # prepare query string for API call
379
- _query_builder << '/schedules'
380
-
381
- # process optional query parameters
382
- _query_builder = APIHelper.append_url_with_query_parameters _query_builder, {
383
- 'page' => options['page'],
384
- 'per_page' => options['per_page'],
385
- 'resource_id' => options['resource_id'],
386
- 'service_id' => options['service_id'],
387
- 'user_id' => options['user_id']
388
- }
389
-
390
- # validate and preprocess url
391
- _query_url = APIHelper.clean_url _query_builder
392
-
393
- # prepare headers
394
- _headers = {
395
- 'accept' => 'application/json',
396
- 'Authorization' => Configuration.authorization,
397
- 'Authorization' => options['authorization']
398
- }
399
-
400
- # create the HttpRequest object for the call
401
- _request = @http_client.get _query_url, headers: _headers
402
-
403
- # apply authentication
404
- CustomAuth.apply(_request)
405
-
406
- # execute the request
407
- _context = execute_request(_request)
408
-
409
- # endpoint error handling using HTTP status codes.
410
- if _context.response.status_code == 400
411
- raise EntitiesErrorException.new '400 - Bad Request', _context
412
- elsif _context.response.status_code == 401
413
- raise EntitiesErrorException.new '401 - Unauthorized/Missing Token', _context
414
- elsif _context.response.status_code == 403
415
- raise EntitiesErrorException.new '403 - Forbidden', _context
416
- elsif _context.response.status_code == 404
417
- raise EntitiesErrorException.new '404 - Not Found', _context
418
- elsif _context.response.status_code == 500
419
- raise APIException.new '500 - Unexpected error', _context
420
- end
421
-
422
- # global error handling using HTTP status codes.
423
- validate_response(_context)
424
-
425
- # return appropriate response type
426
- decoded = APIHelper.json_deserialize(_context.response.raw_body)
427
- return GetSchedulesResponse.from_hash(decoded)
428
- end
429
- end
430
- end
17
+ # @param [Integer] user_id Optional parameter: Retrieve Schedules owned only by this User Id. You must be authorized to manage this User Id.
18
+ # @return GetSchedulesResponse response from the API call
19
+ def get_schedules(authorization,
20
+ page = 1,
21
+ per_page = 10,
22
+ resource_id = nil,
23
+ service_id = nil,
24
+ user_id = nil)
25
+
26
+ # prepare query url
27
+ _query_builder = Configuration.get_base_uri()
28
+ _query_builder << '/schedules'
29
+ _query_builder = APIHelper.append_url_with_query_parameters _query_builder, {
30
+ 'page' => page,
31
+ 'per_page' => per_page,
32
+ 'resource_id' => resource_id,
33
+ 'service_id' => service_id,
34
+ 'user_id' => user_id
35
+ }, array_serialization: Configuration.array_serialization
36
+ _query_url = APIHelper.clean_url _query_builder
37
+
38
+ # prepare headers
39
+ _headers = {
40
+ 'accept' => 'application/json',
41
+ 'Authorization' => Configuration.authorization,
42
+ 'Authorization' => authorization
43
+ }
44
+
45
+ # prepare and execute HttpRequest
46
+ _request = @http_client.get _query_url, headers: _headers
47
+ CustomAuth.apply(_request)
48
+ _context = execute_request(_request)
49
+
50
+ # validate response against endpoint and global error codes
51
+ if _context.response.status_code == 400
52
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
53
+ elsif _context.response.status_code == 401
54
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
55
+ elsif _context.response.status_code == 403
56
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
57
+ elsif _context.response.status_code == 404
58
+ raise EntitiesErrorErrorException.new 'Not Found', _context
59
+ elsif !_context.response.status_code.between?(200, 208)
60
+ raise APIException.new 'Unexpected error', _context
61
+ end
62
+ validate_response(_context)
63
+
64
+ # return appropriate response type
65
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
66
+ return GetSchedulesResponse.from_hash(decoded)
67
+ end
68
+
69
+ # Create a Schedule with params.
70
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
71
+ # @param [CreateScheduleBody] create_schedule_body Optional parameter: the content of the request
72
+ # @return CreateScheduleResponse response from the API call
73
+ def create_schedule(authorization,
74
+ create_schedule_body = nil)
75
+
76
+ # prepare query url
77
+ _query_builder = Configuration.get_base_uri()
78
+ _query_builder << '/schedules/new'
79
+ _query_url = APIHelper.clean_url _query_builder
80
+
81
+ # prepare headers
82
+ _headers = {
83
+ 'accept' => 'application/json',
84
+ 'content-type' => 'application/json; charset=utf-8',
85
+ 'Authorization' => Configuration.authorization,
86
+ 'Authorization' => authorization
87
+ }
88
+
89
+ # prepare and execute HttpRequest
90
+ _request = @http_client.post _query_url, headers: _headers, parameters: create_schedule_body.to_json
91
+ CustomAuth.apply(_request)
92
+ _context = execute_request(_request)
93
+
94
+ # validate response against endpoint and global error codes
95
+ if _context.response.status_code == 400
96
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
97
+ elsif _context.response.status_code == 401
98
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
99
+ elsif _context.response.status_code == 403
100
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
101
+ elsif _context.response.status_code == 404
102
+ raise EntitiesErrorErrorException.new 'Not Found', _context
103
+ elsif _context.response.status_code == 422
104
+ raise EntitiesErrorErrorException.new 'Unprocessable Entity', _context
105
+ elsif !_context.response.status_code.between?(200, 208)
106
+ raise APIException.new 'Unexpected error', _context
107
+ end
108
+ validate_response(_context)
109
+
110
+ # return appropriate response type
111
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
112
+ return CreateScheduleResponse.from_hash(decoded)
113
+ end
114
+
115
+ # Return a Schedule by id.
116
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
117
+ # @param [String] id Required parameter: Example:
118
+ # @return GetScheduleByIdResponse response from the API call
119
+ def get_schedule_by_id(authorization,
120
+ id)
121
+
122
+ # prepare query url
123
+ _query_builder = Configuration.get_base_uri()
124
+ _query_builder << '/schedules/{id}'
125
+ _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
126
+ 'id' => id
127
+ }
128
+ _query_url = APIHelper.clean_url _query_builder
129
+
130
+ # prepare headers
131
+ _headers = {
132
+ 'accept' => 'application/json',
133
+ 'Authorization' => Configuration.authorization,
134
+ 'Authorization' => authorization
135
+ }
136
+
137
+ # prepare and execute HttpRequest
138
+ _request = @http_client.get _query_url, headers: _headers
139
+ CustomAuth.apply(_request)
140
+ _context = execute_request(_request)
141
+
142
+ # validate response against endpoint and global error codes
143
+ if _context.response.status_code == 400
144
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
145
+ elsif _context.response.status_code == 401
146
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
147
+ elsif _context.response.status_code == 403
148
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
149
+ elsif _context.response.status_code == 404
150
+ raise EntitiesErrorErrorException.new 'Not Found', _context
151
+ elsif _context.response.status_code == 410
152
+ raise EntitiesErrorErrorException.new 'Gone', _context
153
+ elsif !_context.response.status_code.between?(200, 208)
154
+ raise APIException.new 'Unexpected error', _context
155
+ end
156
+ validate_response(_context)
157
+
158
+ # return appropriate response type
159
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
160
+ return GetScheduleByIdResponse.from_hash(decoded)
161
+ end
162
+
163
+ # Delete a Schedule
164
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
165
+ # @param [String] id Required parameter: Example:
166
+ # @return DeleteScheduleByIdResponse response from the API call
167
+ def delete_schedule_by_id(authorization,
168
+ id)
169
+
170
+ # prepare query url
171
+ _query_builder = Configuration.get_base_uri()
172
+ _query_builder << '/schedules/{id}'
173
+ _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
174
+ 'id' => id
175
+ }
176
+ _query_url = APIHelper.clean_url _query_builder
177
+
178
+ # prepare headers
179
+ _headers = {
180
+ 'accept' => 'application/json',
181
+ 'Authorization' => Configuration.authorization,
182
+ 'Authorization' => authorization
183
+ }
184
+
185
+ # prepare and execute HttpRequest
186
+ _request = @http_client.delete _query_url, headers: _headers
187
+ CustomAuth.apply(_request)
188
+ _context = execute_request(_request)
189
+
190
+ # validate response against endpoint and global error codes
191
+ if _context.response.status_code == 400
192
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
193
+ elsif _context.response.status_code == 401
194
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
195
+ elsif _context.response.status_code == 403
196
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
197
+ elsif _context.response.status_code == 404
198
+ raise EntitiesErrorErrorException.new 'Not Found', _context
199
+ elsif !_context.response.status_code.between?(200, 208)
200
+ raise APIException.new 'Unexpected error', _context
201
+ end
202
+ validate_response(_context)
203
+
204
+ # return appropriate response type
205
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
206
+ return DeleteScheduleByIdResponse.from_hash(decoded)
207
+ end
208
+
209
+ # Add a TimeWindow to a Schedule.
210
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
211
+ # @param [String] id Required parameter: Example:
212
+ # @param [CreateScheduleTimeWindowBody] create_schedule_time_window_body Optional parameter: the content of the request
213
+ # @return CreateScheduleTimeWindowResponse response from the API call
214
+ def create_schedule_time_window(authorization,
215
+ id,
216
+ create_schedule_time_window_body = nil)
217
+
218
+ # prepare query url
219
+ _query_builder = Configuration.get_base_uri()
220
+ _query_builder << '/schedules/{id}/time_windows/new'
221
+ _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
222
+ 'id' => id
223
+ }
224
+ _query_url = APIHelper.clean_url _query_builder
225
+
226
+ # prepare headers
227
+ _headers = {
228
+ 'accept' => 'application/json',
229
+ 'content-type' => 'application/json; charset=utf-8',
230
+ 'Authorization' => Configuration.authorization,
231
+ 'Authorization' => authorization
232
+ }
233
+
234
+ # prepare and execute HttpRequest
235
+ _request = @http_client.post _query_url, headers: _headers, parameters: create_schedule_time_window_body.to_json
236
+ CustomAuth.apply(_request)
237
+ _context = execute_request(_request)
238
+
239
+ # validate response against endpoint and global error codes
240
+ if _context.response.status_code == 400
241
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
242
+ elsif _context.response.status_code == 401
243
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
244
+ elsif _context.response.status_code == 403
245
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
246
+ elsif _context.response.status_code == 404
247
+ raise EntitiesErrorErrorException.new 'Not Found', _context
248
+ elsif _context.response.status_code == 422
249
+ raise EntitiesErrorErrorException.new 'Unprocessable Entity', _context
250
+ elsif !_context.response.status_code.between?(200, 208)
251
+ raise APIException.new 'Unexpected error', _context
252
+ end
253
+ validate_response(_context)
254
+
255
+ # return appropriate response type
256
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
257
+ return CreateScheduleTimeWindowResponse.from_hash(decoded)
258
+ end
259
+
260
+ # Update a TimeWindow for a Schedule.
261
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
262
+ # @param [String] id Required parameter: Example:
263
+ # @param [String] time_window_id Required parameter: Example:
264
+ # @param [UpdateScheduleTimeWindowByIdBody] update_schedule_time_window_by_id_body Optional parameter: the content of the request
265
+ # @return UpdateScheduleTimeWindowByIdResponse response from the API call
266
+ def update_schedule_time_window_by_id(authorization,
267
+ id,
268
+ time_window_id,
269
+ update_schedule_time_window_by_id_body = nil)
270
+
271
+ # prepare query url
272
+ _query_builder = Configuration.get_base_uri()
273
+ _query_builder << '/schedules/{id}/time_windows/{time_window_id}'
274
+ _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
275
+ 'id' => id,
276
+ 'time_window_id' => time_window_id
277
+ }
278
+ _query_url = APIHelper.clean_url _query_builder
279
+
280
+ # prepare headers
281
+ _headers = {
282
+ 'accept' => 'application/json',
283
+ 'content-type' => 'application/json; charset=utf-8',
284
+ 'Authorization' => Configuration.authorization,
285
+ 'Authorization' => authorization
286
+ }
287
+
288
+ # prepare and execute HttpRequest
289
+ _request = @http_client.put _query_url, headers: _headers, parameters: update_schedule_time_window_by_id_body.to_json
290
+ CustomAuth.apply(_request)
291
+ _context = execute_request(_request)
292
+
293
+ # validate response against endpoint and global error codes
294
+ if _context.response.status_code == 400
295
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
296
+ elsif _context.response.status_code == 401
297
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
298
+ elsif _context.response.status_code == 403
299
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
300
+ elsif _context.response.status_code == 404
301
+ raise EntitiesErrorErrorException.new 'Not Found', _context
302
+ elsif _context.response.status_code == 422
303
+ raise EntitiesErrorErrorException.new 'Unprocessable Entity', _context
304
+ elsif !_context.response.status_code.between?(200, 208)
305
+ raise APIException.new 'Unexpected error', _context
306
+ end
307
+ validate_response(_context)
308
+
309
+ # return appropriate response type
310
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
311
+ return UpdateScheduleTimeWindowByIdResponse.from_hash(decoded)
312
+ end
313
+
314
+ # Delete a TimeWindow from a Schedule
315
+ # @param [String] authorization Required parameter: A valid API key, in the format 'Token API_KEY'
316
+ # @param [String] id Required parameter: Example:
317
+ # @param [String] time_window_id Required parameter: Example:
318
+ # @return DeleteScheduleTimeWindowByIdResponse response from the API call
319
+ def delete_schedule_time_window_by_id(authorization,
320
+ id,
321
+ time_window_id)
322
+
323
+ # prepare query url
324
+ _query_builder = Configuration.get_base_uri()
325
+ _query_builder << '/schedules/{id}/time_windows/{time_window_id}'
326
+ _query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
327
+ 'id' => id,
328
+ 'time_window_id' => time_window_id
329
+ }
330
+ _query_url = APIHelper.clean_url _query_builder
331
+
332
+ # prepare headers
333
+ _headers = {
334
+ 'accept' => 'application/json',
335
+ 'Authorization' => Configuration.authorization,
336
+ 'Authorization' => authorization
337
+ }
338
+
339
+ # prepare and execute HttpRequest
340
+ _request = @http_client.delete _query_url, headers: _headers
341
+ CustomAuth.apply(_request)
342
+ _context = execute_request(_request)
343
+
344
+ # validate response against endpoint and global error codes
345
+ if _context.response.status_code == 400
346
+ raise EntitiesErrorErrorException.new 'Bad Request', _context
347
+ elsif _context.response.status_code == 401
348
+ raise EntitiesErrorErrorException.new 'Unauthorized/Missing Token', _context
349
+ elsif _context.response.status_code == 403
350
+ raise EntitiesErrorErrorException.new 'Forbidden', _context
351
+ elsif _context.response.status_code == 404
352
+ raise EntitiesErrorErrorException.new 'Not Found', _context
353
+ elsif !_context.response.status_code.between?(200, 208)
354
+ raise APIException.new 'Unexpected error', _context
355
+ end
356
+ validate_response(_context)
357
+
358
+ # return appropriate response type
359
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
360
+ return DeleteScheduleTimeWindowByIdResponse.from_hash(decoded)
361
+ end
362
+ end
363
+ end