freeclimb 5.1.0 → 5.3.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 (334) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/Gemfile +4 -5
  4. data/Gemfile.lock +20 -7
  5. data/README.md +17 -4
  6. data/Rakefile +1 -1
  7. data/docs/CallResult.md +2 -2
  8. data/docs/CreateConference.md +4 -2
  9. data/docs/CreateConferenceRequest.md +1 -1
  10. data/docs/DefaultApi.md +369 -2
  11. data/docs/ExportList.md +32 -0
  12. data/docs/ExportOutputType.md +16 -0
  13. data/docs/ExportRequest.md +24 -0
  14. data/docs/ExportRequestOutput.md +18 -0
  15. data/docs/ExportResourceType.md +17 -0
  16. data/docs/ExportResult.md +40 -0
  17. data/docs/ExportResultOutput.md +18 -0
  18. data/docs/ExportStatus.md +21 -0
  19. data/freeclimb.gemspec +21 -26
  20. data/lib/freeclimb/api/default_api.rb +1191 -878
  21. data/lib/freeclimb/api_client.rb +78 -83
  22. data/lib/freeclimb/api_error.rb +17 -19
  23. data/lib/freeclimb/configuration.rb +27 -29
  24. data/lib/freeclimb/models/account_request.rb +36 -41
  25. data/lib/freeclimb/models/account_result.rb +88 -92
  26. data/lib/freeclimb/models/account_status.rb +12 -14
  27. data/lib/freeclimb/models/account_type.rb +12 -14
  28. data/lib/freeclimb/models/add_to_conference.rb +81 -85
  29. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +99 -103
  30. data/lib/freeclimb/models/add_to_queue_notification_webhook.rb +78 -82
  31. data/lib/freeclimb/models/answered_by.rb +12 -14
  32. data/lib/freeclimb/models/application_list.rb +74 -78
  33. data/lib/freeclimb/models/application_request.rb +66 -70
  34. data/lib/freeclimb/models/application_result.rb +100 -104
  35. data/lib/freeclimb/models/available_number.rb +66 -70
  36. data/lib/freeclimb/models/available_number_list.rb +74 -78
  37. data/lib/freeclimb/models/barge_in_reason.rb +12 -14
  38. data/lib/freeclimb/models/buy_incoming_number_request.rb +41 -45
  39. data/lib/freeclimb/models/call_control_webhook.rb +56 -61
  40. data/lib/freeclimb/models/call_direction.rb +12 -14
  41. data/lib/freeclimb/models/call_ended_reason.rb +12 -14
  42. data/lib/freeclimb/models/call_list.rb +74 -78
  43. data/lib/freeclimb/models/call_result.rb +144 -148
  44. data/lib/freeclimb/models/call_status.rb +12 -14
  45. data/lib/freeclimb/models/call_status_webhook.rb +84 -88
  46. data/lib/freeclimb/models/capabilities.rb +55 -59
  47. data/lib/freeclimb/models/completion_request.rb +32 -36
  48. data/lib/freeclimb/models/completion_result.rb +36 -40
  49. data/lib/freeclimb/models/completion_result_status.rb +12 -14
  50. data/lib/freeclimb/models/conference_list.rb +74 -78
  51. data/lib/freeclimb/models/conference_participant_list.rb +74 -78
  52. data/lib/freeclimb/models/conference_participant_result.rb +88 -92
  53. data/lib/freeclimb/models/conference_recording_status_webhook.rb +99 -103
  54. data/lib/freeclimb/models/conference_result.rb +106 -110
  55. data/lib/freeclimb/models/conference_status.rb +12 -14
  56. data/lib/freeclimb/models/conference_status_webhook.rb +102 -106
  57. data/lib/freeclimb/models/create_conference.rb +71 -64
  58. data/lib/freeclimb/models/create_conference_request.rb +55 -54
  59. data/lib/freeclimb/models/create_conference_webhook.rb +102 -106
  60. data/lib/freeclimb/models/create_web_rtc_token.rb +42 -46
  61. data/lib/freeclimb/models/dequeue.rb +28 -33
  62. data/lib/freeclimb/models/dequeue_webhook.rb +89 -93
  63. data/lib/freeclimb/models/enqueue.rb +48 -52
  64. data/lib/freeclimb/models/export_list.rb +304 -0
  65. data/lib/freeclimb/models/export_output_type.rb +34 -0
  66. data/lib/freeclimb/models/export_request.rb +276 -0
  67. data/lib/freeclimb/models/export_request_output.rb +243 -0
  68. data/lib/freeclimb/models/export_resource_type.rb +35 -0
  69. data/lib/freeclimb/models/export_result.rb +405 -0
  70. data/lib/freeclimb/models/export_result_output.rb +243 -0
  71. data/lib/freeclimb/models/export_status.rb +39 -0
  72. data/lib/freeclimb/models/filter_logs_request.rb +31 -35
  73. data/lib/freeclimb/models/get_digits.rb +73 -77
  74. data/lib/freeclimb/models/get_digits_reason.rb +12 -14
  75. data/lib/freeclimb/models/get_digits_webhook.rb +93 -97
  76. data/lib/freeclimb/models/get_speech.rb +94 -97
  77. data/lib/freeclimb/models/get_speech_reason.rb +12 -14
  78. data/lib/freeclimb/models/get_speech_webhook.rb +118 -122
  79. data/lib/freeclimb/models/grammar_file_built_in.rb +12 -14
  80. data/lib/freeclimb/models/grammar_type.rb +12 -14
  81. data/lib/freeclimb/models/hangup.rb +34 -39
  82. data/lib/freeclimb/models/if_machine.rb +12 -14
  83. data/lib/freeclimb/models/inbound_call_webhook.rb +85 -89
  84. data/lib/freeclimb/models/incoming_number_list.rb +74 -78
  85. data/lib/freeclimb/models/incoming_number_request.rb +41 -45
  86. data/lib/freeclimb/models/incoming_number_result.rb +122 -126
  87. data/lib/freeclimb/models/language.rb +12 -14
  88. data/lib/freeclimb/models/leave_conference_webhook.rb +79 -83
  89. data/lib/freeclimb/models/log_level.rb +12 -14
  90. data/lib/freeclimb/models/log_list.rb +74 -78
  91. data/lib/freeclimb/models/log_result.rb +67 -71
  92. data/lib/freeclimb/models/machine_detected_webhook.rb +89 -93
  93. data/lib/freeclimb/models/machine_type.rb +12 -14
  94. data/lib/freeclimb/models/make_call_request.rb +77 -81
  95. data/lib/freeclimb/models/message_delivery_webhook.rb +81 -86
  96. data/lib/freeclimb/models/message_direction.rb +12 -14
  97. data/lib/freeclimb/models/message_request.rb +72 -75
  98. data/lib/freeclimb/models/message_result.rb +135 -139
  99. data/lib/freeclimb/models/message_status.rb +12 -14
  100. data/lib/freeclimb/models/message_status_webhook.rb +86 -90
  101. data/lib/freeclimb/models/messages_list.rb +74 -78
  102. data/lib/freeclimb/models/mutable_resource_model.rb +46 -51
  103. data/lib/freeclimb/models/out_dial.rb +80 -84
  104. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +84 -88
  105. data/lib/freeclimb/models/out_dial_connect_webhook.rb +84 -88
  106. data/lib/freeclimb/models/out_dial_start_webhook.rb +90 -94
  107. data/lib/freeclimb/models/pagination_model.rb +67 -71
  108. data/lib/freeclimb/models/park.rb +44 -48
  109. data/lib/freeclimb/models/pause.rb +33 -37
  110. data/lib/freeclimb/models/percl_command.rb +36 -40
  111. data/lib/freeclimb/models/percl_script.rb +32 -36
  112. data/lib/freeclimb/models/play.rb +44 -48
  113. data/lib/freeclimb/models/play_beep.rb +12 -14
  114. data/lib/freeclimb/models/play_early_media.rb +33 -37
  115. data/lib/freeclimb/models/queue_list.rb +74 -78
  116. data/lib/freeclimb/models/queue_member.rb +55 -59
  117. data/lib/freeclimb/models/queue_member_list.rb +74 -78
  118. data/lib/freeclimb/models/queue_request.rb +37 -42
  119. data/lib/freeclimb/models/queue_result.rb +88 -92
  120. data/lib/freeclimb/models/queue_result_status.rb +12 -14
  121. data/lib/freeclimb/models/queue_wait_webhook.rb +94 -98
  122. data/lib/freeclimb/models/record_utterance.rb +63 -67
  123. data/lib/freeclimb/models/record_utterance_term_reason.rb +12 -14
  124. data/lib/freeclimb/models/record_webhook.rb +119 -123
  125. data/lib/freeclimb/models/recording_list.rb +74 -78
  126. data/lib/freeclimb/models/recording_result.rb +76 -80
  127. data/lib/freeclimb/models/redirect.rb +33 -37
  128. data/lib/freeclimb/models/redirect_webhook.rb +84 -88
  129. data/lib/freeclimb/models/reject.rb +34 -39
  130. data/lib/freeclimb/models/remove_from_conference.rb +28 -33
  131. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +89 -93
  132. data/lib/freeclimb/models/request_type.rb +12 -14
  133. data/lib/freeclimb/models/say.rb +49 -53
  134. data/lib/freeclimb/models/send_digits.rb +43 -47
  135. data/lib/freeclimb/models/set_dtmf_pass_through.rb +34 -39
  136. data/lib/freeclimb/models/set_listen.rb +34 -39
  137. data/lib/freeclimb/models/set_talk.rb +34 -39
  138. data/lib/freeclimb/models/sms.rb +48 -52
  139. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +187 -190
  140. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +12 -14
  141. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +12 -14
  142. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +12 -14
  143. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +12 -14
  144. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +12 -14
  145. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +74 -78
  146. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +226 -229
  147. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +12 -14
  148. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +74 -78
  149. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +186 -189
  150. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +84 -87
  151. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +12 -14
  152. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +74 -78
  153. data/lib/freeclimb/models/sms_toll_free_campaign.rb +61 -64
  154. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +12 -14
  155. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +74 -78
  156. data/lib/freeclimb/models/start_record_call.rb +28 -33
  157. data/lib/freeclimb/models/terminate_conference.rb +28 -33
  158. data/lib/freeclimb/models/tfn.rb +31 -35
  159. data/lib/freeclimb/models/tfn_campaign.rb +76 -79
  160. data/lib/freeclimb/models/transcribe_reason.rb +12 -14
  161. data/lib/freeclimb/models/transcribe_term_reason.rb +12 -14
  162. data/lib/freeclimb/models/transcribe_utterance.rb +61 -65
  163. data/lib/freeclimb/models/transcribe_utterance_record.rb +43 -47
  164. data/lib/freeclimb/models/transcribe_webhook.rb +150 -154
  165. data/lib/freeclimb/models/unpark.rb +28 -33
  166. data/lib/freeclimb/models/update_call_request.rb +31 -35
  167. data/lib/freeclimb/models/update_call_request_status.rb +12 -14
  168. data/lib/freeclimb/models/update_conference_participant_request.rb +41 -46
  169. data/lib/freeclimb/models/update_conference_request.rb +41 -45
  170. data/lib/freeclimb/models/update_conference_request_status.rb +12 -14
  171. data/lib/freeclimb/models/webhook.rb +32 -37
  172. data/lib/freeclimb/utils/request_verifier.rb +14 -14
  173. data/lib/freeclimb/utils/signature_information.rb +8 -8
  174. data/lib/freeclimb/version.rb +10 -12
  175. data/lib/freeclimb.rb +164 -158
  176. data/openapi.json +373 -2
  177. data/package.json +1 -1
  178. data/spec/api/default_api_spec.rb +631 -676
  179. data/spec/api_client_spec.rb +100 -102
  180. data/spec/configuration_spec.rb +16 -18
  181. data/spec/models/account_request_spec.rb +104 -233
  182. data/spec/models/account_result_spec.rb +393 -1013
  183. data/spec/models/account_status_spec.rb +27 -30
  184. data/spec/models/account_type_spec.rb +24 -27
  185. data/spec/models/add_to_conference_notification_webhook_spec.rb +464 -1197
  186. data/spec/models/add_to_conference_spec.rb +354 -850
  187. data/spec/models/add_to_queue_notification_webhook_spec.rb +341 -864
  188. data/spec/models/answered_by_spec.rb +24 -27
  189. data/spec/models/application_list_spec.rb +289 -646
  190. data/spec/models/application_request_spec.rb +265 -679
  191. data/spec/models/application_result_spec.rb +444 -1184
  192. data/spec/models/available_number_list_spec.rb +289 -646
  193. data/spec/models/available_number_spec.rb +271 -650
  194. data/spec/models/barge_in_reason_spec.rb +27 -30
  195. data/spec/models/buy_incoming_number_request_spec.rb +136 -322
  196. data/spec/models/call_control_webhook_spec.rb +203 -503
  197. data/spec/models/call_direction_spec.rb +27 -30
  198. data/spec/models/call_ended_reason_spec.rb +107 -110
  199. data/spec/models/call_list_spec.rb +289 -646
  200. data/spec/models/call_result_spec.rb +699 -1798
  201. data/spec/models/call_status_spec.rb +47 -50
  202. data/spec/models/call_status_webhook_spec.rb +413 -990
  203. data/spec/models/capabilities_spec.rb +202 -411
  204. data/spec/models/completion_request_spec.rb +75 -143
  205. data/spec/models/completion_result_spec.rb +104 -231
  206. data/spec/models/completion_result_status_spec.rb +24 -27
  207. data/spec/models/conference_list_spec.rb +289 -646
  208. data/spec/models/conference_participant_list_spec.rb +289 -646
  209. data/spec/models/conference_participant_result_spec.rb +384 -938
  210. data/spec/models/conference_recording_status_webhook_spec.rb +464 -1197
  211. data/spec/models/conference_result_spec.rb +489 -1263
  212. data/spec/models/conference_status_spec.rb +31 -34
  213. data/spec/models/conference_status_webhook_spec.rb +464 -1197
  214. data/spec/models/create_conference_request_spec.rb +204 -485
  215. data/spec/models/create_conference_spec.rb +289 -561
  216. data/spec/models/create_conference_webhook_spec.rb +464 -1197
  217. data/spec/models/create_web_rtc_token_spec.rb +136 -307
  218. data/spec/models/dequeue_spec.rb +14 -17
  219. data/spec/models/dequeue_webhook_spec.rb +400 -1021
  220. data/spec/models/enqueue_spec.rb +169 -412
  221. data/spec/models/export_list_spec.rb +502 -0
  222. data/spec/models/export_output_type_spec.rb +43 -0
  223. data/spec/models/export_request_output_spec.rb +162 -0
  224. data/spec/models/export_request_spec.rb +320 -0
  225. data/spec/models/export_resource_type_spec.rb +59 -0
  226. data/spec/models/export_result_output_spec.rb +162 -0
  227. data/spec/models/export_result_spec.rb +718 -0
  228. data/spec/models/export_status_spec.rb +123 -0
  229. data/spec/models/filter_logs_request_spec.rb +73 -145
  230. data/spec/models/get_digits_reason_spec.rb +31 -34
  231. data/spec/models/get_digits_spec.rb +326 -737
  232. data/spec/models/get_digits_webhook_spec.rb +435 -1127
  233. data/spec/models/get_speech_reason_spec.rb +39 -42
  234. data/spec/models/get_speech_spec.rb +399 -1036
  235. data/spec/models/get_speech_webhook_spec.rb +608 -1553
  236. data/spec/models/grammar_file_built_in_spec.rb +75 -78
  237. data/spec/models/grammar_type_spec.rb +24 -27
  238. data/spec/models/hangup_spec.rb +73 -145
  239. data/spec/models/if_machine_spec.rb +24 -27
  240. data/spec/models/inbound_call_webhook_spec.rb +371 -951
  241. data/spec/models/incoming_number_list_spec.rb +289 -646
  242. data/spec/models/incoming_number_request_spec.rb +136 -322
  243. data/spec/models/incoming_number_result_spec.rb +573 -1489
  244. data/spec/models/language_spec.rb +120 -123
  245. data/spec/models/leave_conference_webhook_spec.rb +341 -864
  246. data/spec/models/log_level_spec.rb +27 -30
  247. data/spec/models/log_list_spec.rb +289 -646
  248. data/spec/models/log_result_spec.rb +272 -667
  249. data/spec/models/machine_detected_webhook_spec.rb +401 -1036
  250. data/spec/models/machine_type_spec.rb +24 -27
  251. data/spec/models/make_call_request_spec.rb +353 -905
  252. data/spec/models/message_delivery_webhook_spec.rb +357 -942
  253. data/spec/models/message_direction_spec.rb +24 -27
  254. data/spec/models/message_request_spec.rb +324 -818
  255. data/spec/models/message_result_spec.rb +647 -1710
  256. data/spec/models/message_status_spec.rb +60 -63
  257. data/spec/models/message_status_webhook_spec.rb +405 -1045
  258. data/spec/models/messages_list_spec.rb +289 -646
  259. data/spec/models/mutable_resource_model_spec.rb +168 -395
  260. data/spec/models/out_dial_api_connect_webhook_spec.rb +371 -951
  261. data/spec/models/out_dial_connect_webhook_spec.rb +371 -951
  262. data/spec/models/out_dial_spec.rb +354 -903
  263. data/spec/models/out_dial_start_webhook_spec.rb +401 -1038
  264. data/spec/models/pagination_model_spec.rb +259 -577
  265. data/spec/models/park_spec.rb +136 -322
  266. data/spec/models/pause_spec.rb +72 -128
  267. data/spec/models/percl_command_spec.rb +76 -145
  268. data/spec/models/percl_script_spec.rb +73 -127
  269. data/spec/models/play_beep_spec.rb +31 -34
  270. data/spec/models/play_early_media_spec.rb +73 -145
  271. data/spec/models/play_spec.rb +135 -287
  272. data/spec/models/queue_list_spec.rb +289 -646
  273. data/spec/models/queue_member_list_spec.rb +289 -646
  274. data/spec/models/queue_member_spec.rb +199 -467
  275. data/spec/models/queue_request_spec.rb +103 -216
  276. data/spec/models/queue_result_spec.rb +388 -965
  277. data/spec/models/queue_result_status_spec.rb +31 -34
  278. data/spec/models/queue_wait_webhook_spec.rb +429 -1091
  279. data/spec/models/record_utterance_spec.rb +263 -591
  280. data/spec/models/record_utterance_term_reason_spec.rb +31 -34
  281. data/spec/models/record_webhook_spec.rb +605 -1548
  282. data/spec/models/recording_list_spec.rb +289 -646
  283. data/spec/models/recording_result_spec.rb +323 -819
  284. data/spec/models/redirect_spec.rb +73 -145
  285. data/spec/models/redirect_webhook_spec.rb +371 -951
  286. data/spec/models/reject_spec.rb +73 -145
  287. data/spec/models/remove_from_conference_spec.rb +14 -17
  288. data/spec/models/remove_from_queue_notification_webhook_spec.rb +404 -1023
  289. data/spec/models/request_type_spec.rb +107 -110
  290. data/spec/models/say_spec.rb +168 -377
  291. data/spec/models/send_digits_spec.rb +135 -287
  292. data/spec/models/set_dtmf_pass_through_spec.rb +74 -127
  293. data/spec/models/set_listen_spec.rb +74 -127
  294. data/spec/models/set_talk_spec.rb +74 -127
  295. data/spec/models/sms_spec.rb +169 -412
  296. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +31 -34
  297. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +35 -38
  298. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +31 -34
  299. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +35 -38
  300. data/spec/models/sms_ten_dlc_brand_spec.rb +1082 -2746
  301. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +124 -127
  302. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +289 -646
  303. data/spec/models/sms_ten_dlc_campaign_spec.rb +1139 -2881
  304. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +24 -27
  305. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +289 -646
  306. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +406 -1004
  307. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +961 -2393
  308. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +24 -27
  309. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +289 -646
  310. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +35 -38
  311. data/spec/models/sms_toll_free_campaign_spec.rb +270 -666
  312. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +289 -646
  313. data/spec/models/start_record_call_spec.rb +14 -17
  314. data/spec/models/terminate_conference_spec.rb +14 -17
  315. data/spec/models/tfn_campaign_spec.rb +330 -858
  316. data/spec/models/tfn_spec.rb +73 -145
  317. data/spec/models/transcribe_reason_spec.rb +35 -38
  318. data/spec/models/transcribe_term_reason_spec.rb +24 -27
  319. data/spec/models/transcribe_utterance_record_spec.rb +134 -270
  320. data/spec/models/transcribe_utterance_spec.rb +236 -523
  321. data/spec/models/transcribe_webhook_spec.rb +749 -1918
  322. data/spec/models/unpark_spec.rb +14 -17
  323. data/spec/models/update_call_request_spec.rb +74 -143
  324. data/spec/models/update_call_request_status_spec.rb +24 -27
  325. data/spec/models/update_conference_participant_request_spec.rb +137 -268
  326. data/spec/models/update_conference_request_spec.rb +140 -321
  327. data/spec/models/update_conference_request_status_spec.rb +24 -27
  328. data/spec/models/webhook_spec.rb +68 -137
  329. data/spec/quickstart_spec.rb +5 -5
  330. data/spec/spec_helper.rb +92 -100
  331. data/spec/utils/request_verifier_spec.rb +70 -71
  332. data/spec/utils/signature_information_spec.rb +23 -23
  333. data/yarn.lock +38 -29
  334. metadata +27 -151
@@ -0,0 +1,276 @@
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "time"
13
+
14
+ module Freeclimb
15
+ class ExportRequest
16
+ attr_accessor :resource_type
17
+
18
+ attr_accessor :format
19
+
20
+ attr_accessor :output
21
+
22
+ attr_accessor :query
23
+
24
+ class EnumAttributeValidator
25
+ attr_reader :datatype
26
+ attr_reader :allowable_values
27
+
28
+ def initialize(datatype, allowable_values)
29
+ @allowable_values = allowable_values.map do |value|
30
+ case datatype.to_s
31
+ when /Integer/i
32
+ value.to_i
33
+ when /Float/i
34
+ value.to_f
35
+ else
36
+ value
37
+ end
38
+ end
39
+ end
40
+
41
+ def valid?(value)
42
+ !value || allowable_values.include?(value)
43
+ end
44
+ end
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ resource_type: :resourceType,
50
+ format: :format,
51
+ output: :output,
52
+ query: :query
53
+ }
54
+ end
55
+
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.openapi_types
63
+ {
64
+ resource_type: :ExportResourceType,
65
+ format: :"Array<String>",
66
+ output: :ExportRequestOutput,
67
+ query: :Object
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if !attributes.is_a?(Hash)
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ExportRequest` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h|
85
+ if !self.class.attribute_map.key?(k.to_sym)
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ExportRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
87
+ end
88
+ h[k.to_sym] = v
89
+ }
90
+
91
+ if attributes.key?(:resource_type)
92
+ self.resource_type = attributes[:resource_type]
93
+ end
94
+
95
+ if attributes.key?(:format)
96
+ if (value = attributes[:format]).is_a?(Array)
97
+ self.format = value
98
+ end
99
+ end
100
+
101
+ if attributes.key?(:output)
102
+ self.output = attributes[:output]
103
+ end
104
+
105
+ if attributes.key?(:query)
106
+ self.query = attributes[:query]
107
+ end
108
+ end
109
+
110
+ # Show invalid properties with the reasons. Usually used together with valid?
111
+ # @return Array for valid properties with the reasons
112
+ def list_invalid_properties
113
+ invalid_properties = []
114
+ if @resource_type.nil?
115
+ invalid_properties.push('invalid value for "resource_type", resource_type cannot be nil.')
116
+ end
117
+
118
+ if @output.nil?
119
+ invalid_properties.push('invalid value for "output", output cannot be nil.')
120
+ end
121
+
122
+ invalid_properties
123
+ end
124
+
125
+ # Check to see if the all the properties in the model are valid
126
+ # @return true if the model is valid
127
+ def valid?
128
+ if @resource_type.nil?
129
+ false
130
+ else
131
+ list_invalid_properties.length == 0
132
+ end
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param [Object] Object to be compared
137
+ def ==(other)
138
+ return true if equal?(other)
139
+ self.class == other.class &&
140
+ resource_type == other.resource_type &&
141
+ format == other.format &&
142
+ output == other.output &&
143
+ query == other.query
144
+ end
145
+
146
+ # @see the `==` method
147
+ # @param [Object] Object to be compared
148
+ def eql?(other)
149
+ self == other
150
+ end
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Integer] Hash code
154
+ def hash
155
+ [resource_type, format, output, query].hash
156
+ end
157
+
158
+ # Builds the object from hash
159
+ # @param [Hash] attributes Model attributes in the form of hash
160
+ # @return [Object] Returns the model itself
161
+ def self.build_from_hash(attributes)
162
+ new.build_from_hash(attributes)
163
+ end
164
+
165
+ # Builds the object from hash
166
+ # @param [Hash] attributes Model attributes in the form of hash
167
+ # @return [Object] Returns the model itself
168
+ def build_from_hash(attributes)
169
+ return nil unless attributes.is_a?(Hash)
170
+ self.class.openapi_types.each_pair do |key, type|
171
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
172
+ send(:"#{key}=", nil)
173
+ elsif type =~ /\AArray<(.*)>/i
174
+ # check to ensure the input is an array given that the attribute
175
+ # is documented as an array but the input is not
176
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
177
+ send(:"#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
178
+ end
179
+ elsif !attributes[self.class.attribute_map[key]].nil?
180
+ send(:"#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
181
+ end
182
+ end
183
+
184
+ self
185
+ end
186
+
187
+ # Deserializes the data based on type
188
+ # @param string type Data type
189
+ # @param string value Value to be deserialized
190
+ # @return [Object] Deserialized data
191
+ def _deserialize(type, value)
192
+ case type.to_sym
193
+ when :Time
194
+ Time.parse(value)
195
+ when :Date
196
+ Date.parse(value)
197
+ when :String
198
+ value.to_s
199
+ when :Integer
200
+ value.to_i
201
+ when :Float
202
+ value.to_f
203
+ when :Boolean
204
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
205
+ true
206
+ else
207
+ false
208
+ end
209
+ when :Object
210
+ # generic object (usually a Hash), return directly
211
+ value
212
+ when /\AArray<(?<inner_type>.+)>\z/
213
+ inner_type = Regexp.last_match[:inner_type]
214
+ value.map { |v| _deserialize(inner_type, v) }
215
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
216
+ k_type = Regexp.last_match[:k_type]
217
+ v_type = Regexp.last_match[:v_type]
218
+ {}.tap do |hash|
219
+ value.each do |k, v|
220
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
221
+ end
222
+ end
223
+ else # model
224
+ # models (e.g. Pet) or oneOf
225
+ klass = Freeclimb.const_get(type)
226
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
227
+ end
228
+ end
229
+
230
+ # Returns the string representation of the object
231
+ # @return [String] String presentation of the object
232
+ def to_s
233
+ to_hash.to_s
234
+ end
235
+
236
+ # to_body is an alias to to_hash (backward compatibility)
237
+ # @return [Hash] Returns the object in the form of hash
238
+ def to_body
239
+ to_hash
240
+ end
241
+
242
+ # Returns the object in the form of hash
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_hash
245
+ hash = {}
246
+ self.class.attribute_map.each_pair do |attr, param|
247
+ value = send(attr)
248
+ if value.nil?
249
+ is_nullable = self.class.openapi_nullable.include?(attr)
250
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
251
+ end
252
+
253
+ hash[param] = _to_hash(value)
254
+ end
255
+ hash
256
+ end
257
+
258
+ # Outputs non-array value in the form of hash
259
+ # For object, use to_hash. Otherwise, just return the value
260
+ # @param [Object] value Any valid value
261
+ # @return [Hash] Returns the value in the form of hash
262
+ def _to_hash(value)
263
+ if value.is_a?(Array)
264
+ value.compact.map { |v| _to_hash(v) }
265
+ elsif value.is_a?(Hash)
266
+ {}.tap do |hash|
267
+ value.each { |k, v| hash[k] = _to_hash(v) }
268
+ end
269
+ elsif value.respond_to? :to_hash
270
+ value.to_hash
271
+ else
272
+ value
273
+ end
274
+ end
275
+ end
276
+ end
@@ -0,0 +1,243 @@
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "time"
13
+
14
+ module Freeclimb
15
+ class ExportRequestOutput
16
+ attr_accessor :type
17
+
18
+ class EnumAttributeValidator
19
+ attr_reader :datatype
20
+ attr_reader :allowable_values
21
+
22
+ def initialize(datatype, allowable_values)
23
+ @allowable_values = allowable_values.map do |value|
24
+ case datatype.to_s
25
+ when /Integer/i
26
+ value.to_i
27
+ when /Float/i
28
+ value.to_f
29
+ else
30
+ value
31
+ end
32
+ end
33
+ end
34
+
35
+ def valid?(value)
36
+ !value || allowable_values.include?(value)
37
+ end
38
+ end
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ type: :type
44
+ }
45
+ end
46
+
47
+ # Returns all the JSON keys this model knows about
48
+ def self.acceptable_attributes
49
+ attribute_map.values
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ type: :ExportOutputType
56
+ }
57
+ end
58
+
59
+ # List of attributes with nullable: true
60
+ def self.openapi_nullable
61
+ Set.new([])
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if !attributes.is_a?(Hash)
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::ExportRequestOutput` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if !self.class.attribute_map.key?(k.to_sym)
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::ExportRequestOutput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:type)
80
+ self.type = attributes[:type]
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ invalid_properties = []
88
+ if @type.nil?
89
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
90
+ end
91
+
92
+ invalid_properties
93
+ end
94
+
95
+ # Check to see if the all the properties in the model are valid
96
+ # @return true if the model is valid
97
+ def valid?
98
+ if @type.nil?
99
+ false
100
+ else
101
+ list_invalid_properties.length == 0
102
+ end
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(other)
108
+ return true if equal?(other)
109
+ self.class == other.class &&
110
+ type == other.type
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] Object to be compared
115
+ def eql?(other)
116
+ self == other
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Integer] Hash code
121
+ def hash
122
+ [type].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def self.build_from_hash(attributes)
129
+ new.build_from_hash(attributes)
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.openapi_types.each_pair do |key, type|
138
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
139
+ send(:"#{key}=", nil)
140
+ elsif type =~ /\AArray<(.*)>/i
141
+ # check to ensure the input is an array given that the attribute
142
+ # is documented as an array but the input is not
143
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
144
+ send(:"#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
145
+ end
146
+ elsif !attributes[self.class.attribute_map[key]].nil?
147
+ send(:"#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
148
+ end
149
+ end
150
+
151
+ self
152
+ end
153
+
154
+ # Deserializes the data based on type
155
+ # @param string type Data type
156
+ # @param string value Value to be deserialized
157
+ # @return [Object] Deserialized data
158
+ def _deserialize(type, value)
159
+ case type.to_sym
160
+ when :Time
161
+ Time.parse(value)
162
+ when :Date
163
+ Date.parse(value)
164
+ when :String
165
+ value.to_s
166
+ when :Integer
167
+ value.to_i
168
+ when :Float
169
+ value.to_f
170
+ when :Boolean
171
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
172
+ true
173
+ else
174
+ false
175
+ end
176
+ when :Object
177
+ # generic object (usually a Hash), return directly
178
+ value
179
+ when /\AArray<(?<inner_type>.+)>\z/
180
+ inner_type = Regexp.last_match[:inner_type]
181
+ value.map { |v| _deserialize(inner_type, v) }
182
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
183
+ k_type = Regexp.last_match[:k_type]
184
+ v_type = Regexp.last_match[:v_type]
185
+ {}.tap do |hash|
186
+ value.each do |k, v|
187
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
188
+ end
189
+ end
190
+ else # model
191
+ # models (e.g. Pet) or oneOf
192
+ klass = Freeclimb.const_get(type)
193
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
194
+ end
195
+ end
196
+
197
+ # Returns the string representation of the object
198
+ # @return [String] String presentation of the object
199
+ def to_s
200
+ to_hash.to_s
201
+ end
202
+
203
+ # to_body is an alias to to_hash (backward compatibility)
204
+ # @return [Hash] Returns the object in the form of hash
205
+ def to_body
206
+ to_hash
207
+ end
208
+
209
+ # Returns the object in the form of hash
210
+ # @return [Hash] Returns the object in the form of hash
211
+ def to_hash
212
+ hash = {}
213
+ self.class.attribute_map.each_pair do |attr, param|
214
+ value = send(attr)
215
+ if value.nil?
216
+ is_nullable = self.class.openapi_nullable.include?(attr)
217
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
218
+ end
219
+
220
+ hash[param] = _to_hash(value)
221
+ end
222
+ hash
223
+ end
224
+
225
+ # Outputs non-array value in the form of hash
226
+ # For object, use to_hash. Otherwise, just return the value
227
+ # @param [Object] value Any valid value
228
+ # @return [Hash] Returns the value in the form of hash
229
+ def _to_hash(value)
230
+ if value.is_a?(Array)
231
+ value.compact.map { |v| _to_hash(v) }
232
+ elsif value.is_a?(Hash)
233
+ {}.tap do |hash|
234
+ value.each { |k, v| hash[k] = _to_hash(v) }
235
+ end
236
+ elsif value.respond_to? :to_hash
237
+ value.to_hash
238
+ else
239
+ value
240
+ end
241
+ end
242
+ end
243
+ end
@@ -0,0 +1,35 @@
1
+ # #FreeClimb API
2
+ #
3
+ # FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "time"
13
+
14
+ module Freeclimb
15
+ class ExportResourceType
16
+ MESSAGES = "Messages".freeze
17
+ CALLS = "Calls".freeze
18
+
19
+ # Builds the enum from string
20
+ # @param [String] The enum value in the form of the string
21
+ # @return [String] The enum value
22
+ def self.build_from_hash(value)
23
+ new.build_from_hash(value)
24
+ end
25
+
26
+ # Builds the enum from string
27
+ # @param [String] The enum value in the form of the string
28
+ # @return [String] The enum value
29
+ def build_from_hash(value)
30
+ constantValues = ExportResourceType.constants.select { |c| ExportResourceType.const_get(c) == value }
31
+ raise "Invalid ENUM value #{value} for class #ExportResourceType" if constantValues.empty?
32
+ value
33
+ end
34
+ end
35
+ end