diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 6a0bc569..3a5d7974 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -131,6 +131,8 @@ docs/Say.md docs/SayAllOf.md docs/SendDigits.md docs/SendDigitsAllOf.md +docs/SetDTMFPassThrough.md +docs/SetDTMFPassThroughAllOf.md docs/SetListen.md docs/SetListenAllOf.md docs/SetTalk.md @@ -269,6 +271,8 @@ lib/freeclimb/models/say.rb lib/freeclimb/models/say_all_of.rb lib/freeclimb/models/send_digits.rb lib/freeclimb/models/send_digits_all_of.rb +lib/freeclimb/models/set_dtmf_pass_through.rb +lib/freeclimb/models/set_dtmf_pass_through_all_of.rb lib/freeclimb/models/set_listen.rb lib/freeclimb/models/set_listen_all_of.rb lib/freeclimb/models/set_talk.rb @@ -303,104 +307,5 @@ lib/freeclimb/models/update_conference_request_status.rb lib/freeclimb/version.rb spec/api_client_spec.rb spec/configuration_spec.rb -spec/models/account_request_spec.rb -spec/models/account_result_spec.rb -spec/models/account_status_spec.rb -spec/models/account_type_spec.rb -spec/models/add_to_conference_spec.rb -spec/models/answered_by_spec.rb -spec/models/application_list_spec.rb -spec/models/application_request_spec.rb -spec/models/application_result_spec.rb -spec/models/available_number_list_spec.rb -spec/models/available_number_spec.rb -spec/models/buy_incoming_number_request_spec.rb -spec/models/call_direction_spec.rb -spec/models/call_list_spec.rb -spec/models/call_result_spec.rb -spec/models/call_status_spec.rb -spec/models/capabilities_spec.rb -spec/models/completion_request_spec.rb -spec/models/completion_result_spec.rb -spec/models/conference_list_spec.rb -spec/models/conference_participant_list_spec.rb -spec/models/conference_participant_result_spec.rb -spec/models/conference_result_spec.rb -spec/models/conference_status_spec.rb -spec/models/create_conference_request_spec.rb -spec/models/create_conference_spec.rb -spec/models/create_web_rtc_token_spec.rb -spec/models/dequeue_spec.rb -spec/models/enqueue_spec.rb -spec/models/filter_logs_request_spec.rb -spec/models/get_digits_spec.rb -spec/models/get_speech_reason_spec.rb -spec/models/get_speech_spec.rb -spec/models/grammar_file_built_in_spec.rb -spec/models/grammar_type_spec.rb -spec/models/hangup_spec.rb -spec/models/if_machine_spec.rb -spec/models/incoming_number_list_spec.rb -spec/models/incoming_number_request_spec.rb -spec/models/incoming_number_result_spec.rb -spec/models/language_spec.rb -spec/models/log_level_spec.rb -spec/models/log_list_spec.rb -spec/models/log_result_spec.rb -spec/models/machine_type_spec.rb -spec/models/make_call_request_spec.rb -spec/models/message_direction_spec.rb -spec/models/message_request_spec.rb -spec/models/message_result_spec.rb -spec/models/message_status_spec.rb -spec/models/messages_list_spec.rb -spec/models/mutable_resource_model_spec.rb -spec/models/out_dial_spec.rb -spec/models/pagination_model_spec.rb -spec/models/park_spec.rb -spec/models/pause_spec.rb -spec/models/percl_command_spec.rb -spec/models/percl_script_spec.rb -spec/models/play_beep_spec.rb -spec/models/play_early_media_spec.rb -spec/models/play_spec.rb -spec/models/queue_list_spec.rb -spec/models/queue_member_list_spec.rb -spec/models/queue_member_spec.rb -spec/models/queue_request_spec.rb -spec/models/queue_result_spec.rb -spec/models/queue_result_status_spec.rb -spec/models/record_utterance_spec.rb -spec/models/record_utterance_term_reason_spec.rb -spec/models/recording_list_spec.rb -spec/models/recording_result_spec.rb -spec/models/redirect_spec.rb -spec/models/reject_spec.rb -spec/models/remove_from_conference_spec.rb -spec/models/request_type_spec.rb -spec/models/say_spec.rb -spec/models/send_digits_spec.rb -spec/models/set_listen_spec.rb -spec/models/set_talk_spec.rb -spec/models/sms_spec.rb -spec/models/sms_ten_dlc_brand_spec.rb -spec/models/sms_ten_dlc_brands_list_result_spec.rb -spec/models/sms_ten_dlc_campaign_spec.rb -spec/models/sms_ten_dlc_campaigns_list_result_spec.rb -spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb -spec/models/sms_ten_dlc_partner_campaign_spec.rb -spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb -spec/models/sms_toll_free_campaign_spec.rb -spec/models/sms_toll_free_campaigns_list_result_spec.rb -spec/models/start_record_call_spec.rb -spec/models/terminate_conference_spec.rb -spec/models/tfn_spec.rb -spec/models/transcribe_utterance_all_of_record_spec.rb -spec/models/transcribe_utterance_spec.rb -spec/models/unpark_spec.rb -spec/models/update_call_request_spec.rb -spec/models/update_call_request_status_spec.rb -spec/models/update_conference_participant_request_spec.rb -spec/models/update_conference_request_spec.rb -spec/models/update_conference_request_status_spec.rb +spec/models/set_dtmf_pass_through_spec.rb spec/spec_helper.rb diff --git a/README.md b/README.md index 2a8b4298..8409cf60 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.0.0 -- Package version: 4.8.0 +- Package version: 4.9.0 - Build package: org.openapitools.codegen.languages.RubyClientCodegen For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/) @@ -15,7 +15,7 @@ For more information, please visit [https://www.freeclimb.com/support/](https:// Add this to the Gemfile: - gem 'freeclimb', '~> 4.8.0' + gem 'freeclimb', '~> 4.9.0' and run from your terminal @@ -44,9 +44,9 @@ gem build freeclimb.gemspec Then either install the gem locally: ```shell -gem install ./freeclimb-4.8.0.gem +gem install ./freeclimb-4.9.0.gem ``` -(for development, run `gem install --dev ./freeclimb-4.8.0.gem` to install the development dependencies) +(for development, run `gem install --dev ./freeclimb-4.9.0.gem` to install the development dependencies) ## Getting Started @@ -287,6 +287,8 @@ Class | Method | HTTP request | Description - [Freeclimb::SayAllOf](docs/SayAllOf.md) - [Freeclimb::SendDigits](docs/SendDigits.md) - [Freeclimb::SendDigitsAllOf](docs/SendDigitsAllOf.md) + - [Freeclimb::SetDTMFPassThrough](docs/SetDTMFPassThrough.md) + - [Freeclimb::SetDTMFPassThroughAllOf](docs/SetDTMFPassThroughAllOf.md) - [Freeclimb::SetListen](docs/SetListen.md) - [Freeclimb::SetListenAllOf](docs/SetListenAllOf.md) - [Freeclimb::SetTalk](docs/SetTalk.md) diff --git a/docs/AddToConference.md b/docs/AddToConference.md index e628d306..046f9d85 100644 --- a/docs/AddToConference.md +++ b/docs/AddToConference.md @@ -13,6 +13,7 @@ | **notification_url** | **String** | When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters. | [optional] | | **start_conf_on_enter** | **Boolean** | Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to `true` for moderators and `false` for all other Participants. | [optional] | | **talk** | **Boolean** | If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. | [optional] | +| **dtmf_pass_through** | **Boolean** | If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. | [optional] | ## Example @@ -28,7 +29,8 @@ instance = Freeclimb::AddToConference.new( listen: null, notification_url: null, start_conf_on_enter: null, - talk: null + talk: null, + dtmf_pass_through: null ) ``` diff --git a/docs/AddToConferenceAllOf.md b/docs/AddToConferenceAllOf.md index e42766d6..28629d27 100644 --- a/docs/AddToConferenceAllOf.md +++ b/docs/AddToConferenceAllOf.md @@ -13,6 +13,7 @@ | **notification_url** | **String** | When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters. | [optional] | | **start_conf_on_enter** | **Boolean** | Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to `true` for moderators and `false` for all other Participants. | [optional] | | **talk** | **Boolean** | If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. | [optional] | +| **dtmf_pass_through** | **Boolean** | If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. | [optional] | ## Example @@ -28,7 +29,8 @@ instance = Freeclimb::AddToConferenceAllOf.new( listen: null, notification_url: null, start_conf_on_enter: null, - talk: null + talk: null, + dtmf_pass_through: null ) ``` diff --git a/docs/CallResult.md b/docs/CallResult.md index 3660557a..c25a675a 100644 --- a/docs/CallResult.md +++ b/docs/CallResult.md @@ -23,6 +23,7 @@ | **direction** | [**CallDirection**](CallDirection.md) | | [optional] | | **answered_by** | [**AnsweredBy**](AnsweredBy.md) | | [optional] | | **subresource_uris** | **Object** | The list of subresources for this Call. These include things like logs and recordings associated with the Call. | [optional] | +| **application_id** | **String** | ApplicationId associated with the Call. | [optional] | ## Example @@ -48,7 +49,8 @@ instance = Freeclimb::CallResult.new( connect_duration: null, direction: null, answered_by: null, - subresource_uris: null + subresource_uris: null, + application_id: null ) ``` diff --git a/docs/CallResultAllOf.md b/docs/CallResultAllOf.md index 63c64b0f..75875902 100644 --- a/docs/CallResultAllOf.md +++ b/docs/CallResultAllOf.md @@ -19,6 +19,7 @@ | **direction** | [**CallDirection**](CallDirection.md) | | [optional] | | **answered_by** | [**AnsweredBy**](AnsweredBy.md) | | [optional] | | **subresource_uris** | **Object** | The list of subresources for this Call. These include things like logs and recordings associated with the Call. | [optional] | +| **application_id** | **String** | ApplicationId associated with the Call. | [optional] | ## Example @@ -40,7 +41,8 @@ instance = Freeclimb::CallResultAllOf.new( connect_duration: null, direction: null, answered_by: null, - subresource_uris: null + subresource_uris: null, + application_id: null ) ``` diff --git a/docs/ConferenceParticipantResult.md b/docs/ConferenceParticipantResult.md index b0a9f7c5..77f05b0f 100644 --- a/docs/ConferenceParticipantResult.md +++ b/docs/ConferenceParticipantResult.md @@ -13,6 +13,7 @@ | **call_id** | **String** | ID of the Call associated with this Participant. | [optional] | | **talk** | **Boolean** | True if this Participant has talk privileges in the Conference. False otherwise. | [optional] | | **listen** | **Boolean** | True if this Participant has listen privileges in the Conference. False otherwise. | [optional] | +| **dtmf_pass_through** | **Boolean** | True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise. | [optional] | | **start_conf_on_enter** | **Boolean** | True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise. | [optional] | ## Example @@ -30,6 +31,7 @@ instance = Freeclimb::ConferenceParticipantResult.new( call_id: null, talk: null, listen: null, + dtmf_pass_through: null, start_conf_on_enter: null ) ``` diff --git a/docs/ConferenceParticipantResultAllOf.md b/docs/ConferenceParticipantResultAllOf.md index 3435680e..456729b8 100644 --- a/docs/ConferenceParticipantResultAllOf.md +++ b/docs/ConferenceParticipantResultAllOf.md @@ -9,6 +9,7 @@ | **call_id** | **String** | ID of the Call associated with this Participant. | [optional] | | **talk** | **Boolean** | True if this Participant has talk privileges in the Conference. False otherwise. | [optional] | | **listen** | **Boolean** | True if this Participant has listen privileges in the Conference. False otherwise. | [optional] | +| **dtmf_pass_through** | **Boolean** | True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise. | [optional] | | **start_conf_on_enter** | **Boolean** | True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise. | [optional] | ## Example @@ -22,6 +23,7 @@ instance = Freeclimb::ConferenceParticipantResultAllOf.new( call_id: null, talk: null, listen: null, + dtmf_pass_through: null, start_conf_on_enter: null ) ``` diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md index 80795fe2..8411d1b9 100644 --- a/docs/DefaultApi.md +++ b/docs/DefaultApi.md @@ -3169,7 +3169,8 @@ conference_id = 'conference_id_example' # String | ID of the conference this par opts = { talk: true, # Boolean | Only show Participants with the talk privilege. - listen: true # Boolean | Only show Participants with the listen privilege. + listen: true, # Boolean | Only show Participants with the listen privilege. + dtmf_pass_through: true # Boolean | Only show Participants with the dtmfPassThrough privilege. } begin @@ -3207,6 +3208,7 @@ end | **conference_id** | **String** | ID of the conference this participant is in. | | | **talk** | **Boolean** | Only show Participants with the talk privilege. | [optional] | | **listen** | **Boolean** | Only show Participants with the listen privilege. | [optional] | +| **dtmf_pass_through** | **Boolean** | Only show Participants with the dtmfPassThrough privilege. | [optional] | ### Return type diff --git a/docs/SetDTMFPassThrough.md b/docs/SetDTMFPassThrough.md new file mode 100644 index 00000000..a5f3a157 --- /dev/null +++ b/docs/SetDTMFPassThrough.md @@ -0,0 +1,18 @@ +# Freeclimb::SetDTMFPassThrough + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **dtmf_pass_through** | **Boolean** | Specifying `false` mutes the Participant's dtmf audio. | [optional] | + +## Example + +```ruby +require 'freeclimb' + +instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: null +) +``` + diff --git a/docs/SetDTMFPassThroughAllOf.md b/docs/SetDTMFPassThroughAllOf.md new file mode 100644 index 00000000..4f6c4f52 --- /dev/null +++ b/docs/SetDTMFPassThroughAllOf.md @@ -0,0 +1,18 @@ +# Freeclimb::SetDTMFPassThroughAllOf + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **dtmf_pass_through** | **Boolean** | Specifying `false` mutes the Participant's dtmf audio. | [optional] | + +## Example + +```ruby +require 'freeclimb' + +instance = Freeclimb::SetDTMFPassThroughAllOf.new( + dtmf_pass_through: null +) +``` + diff --git a/docs/UpdateConferenceParticipantRequest.md b/docs/UpdateConferenceParticipantRequest.md index c18176c5..0b100a67 100644 --- a/docs/UpdateConferenceParticipantRequest.md +++ b/docs/UpdateConferenceParticipantRequest.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **talk** | **Boolean** | (Optional) Default is `true`. Setting to `false` mutes the Participant. FreeClimb returns an error and ignores any other value. | [optional] | | **listen** | **Boolean** | (Optional) Default is `true`. Setting to `false` silences the Conference for this Participant. FreeClimb returns an error and ignores any other value. | [optional] | +| **dtmf_pass_through** | **Boolean** | (Optional) Default is `true`. Setting to `false` mutes dtmf audio for this Participant. FreeClimb returns an error and ignores any other value. | [optional] | ## Example @@ -14,7 +15,8 @@ require 'freeclimb' instance = Freeclimb::UpdateConferenceParticipantRequest.new( talk: null, - listen: null + listen: null, + dtmf_pass_through: null ) ``` diff --git a/lib/freeclimb.rb b/lib/freeclimb.rb index dd7b4c8a..5fdc6e92 100644 --- a/lib/freeclimb.rb +++ b/lib/freeclimb.rb @@ -126,6 +126,7 @@ require 'freeclimb/models/sms_toll_free_campaigns_list_result_all_of' require 'freeclimb/models/say_all_of' require 'freeclimb/models/send_digits_all_of' +require 'freeclimb/models/set_dtmf_pass_through_all_of' require 'freeclimb/models/set_listen_all_of' require 'freeclimb/models/set_talk_all_of' require 'freeclimb/models/sms_all_of' @@ -155,6 +156,7 @@ require 'freeclimb/models/remove_from_conference' require 'freeclimb/models/say' require 'freeclimb/models/send_digits' +require 'freeclimb/models/set_dtmf_pass_through' require 'freeclimb/models/set_listen' require 'freeclimb/models/set_talk' require 'freeclimb/models/sms' diff --git a/lib/freeclimb/api/default_api.rb b/lib/freeclimb/api/default_api.rb index fe3b27e0..9fbf2aa4 100644 --- a/lib/freeclimb/api/default_api.rb +++ b/lib/freeclimb/api/default_api.rb @@ -2720,6 +2720,7 @@ def list_members_with_http_info(queue_id, opts = {}) # @param [Hash] opts the optional parameters # @option opts [Boolean] :talk Only show Participants with the talk privilege. # @option opts [Boolean] :listen Only show Participants with the listen privilege. + # @option opts [Boolean] :dtmf_pass_through Only show Participants with the dtmfPassThrough privilege. # @return [ConferenceParticipantList] def list_participants(conference_id, opts = {}) data, _status_code, _headers = list_participants_with_http_info(conference_id, opts) @@ -2731,6 +2732,7 @@ def list_participants(conference_id, opts = {}) # @param [Hash] opts the optional parameters # @option opts [Boolean] :talk Only show Participants with the talk privilege. # @option opts [Boolean] :listen Only show Participants with the listen privilege. + # @option opts [Boolean] :dtmf_pass_through Only show Participants with the dtmfPassThrough privilege. # @return [Array<(ConferenceParticipantList, Integer, Hash)>] ConferenceParticipantList data, response status code and response headers def list_participants_with_http_info(conference_id, opts = {}) if @api_client.config.debugging @@ -2748,6 +2750,7 @@ def list_participants_with_http_info(conference_id, opts = {}) query_params = opts[:query_params] || {} query_params[:'talk'] = opts[:'talk'] if !opts[:'talk'].nil? query_params[:'listen'] = opts[:'listen'] if !opts[:'listen'].nil? + query_params[:'dtmfPassThrough'] = opts[:'dtmf_pass_through'] if !opts[:'dtmf_pass_through'].nil? # header parameters header_params = opts[:header_params] || {} diff --git a/lib/freeclimb/models/add_to_conference.rb b/lib/freeclimb/models/add_to_conference.rb index 1e7c2fcf..bfedba6e 100644 --- a/lib/freeclimb/models/add_to_conference.rb +++ b/lib/freeclimb/models/add_to_conference.rb @@ -43,6 +43,9 @@ class AddToConference < PerclCommand # If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. attr_accessor :talk + # If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. + attr_accessor :dtmf_pass_through + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -54,7 +57,8 @@ def self.attribute_map :'listen' => :'listen', :'notification_url' => :'notificationUrl', :'start_conf_on_enter' => :'startConfOnEnter', - :'talk' => :'talk' + :'talk' => :'talk', + :'dtmf_pass_through' => :'dtmfPassThrough' } end @@ -74,7 +78,8 @@ def self.openapi_types :'listen' => :'Boolean', :'notification_url' => :'String', :'start_conf_on_enter' => :'Boolean', - :'talk' => :'Boolean' + :'talk' => :'Boolean', + :'dtmf_pass_through' => :'Boolean' } end @@ -145,6 +150,10 @@ def initialize(attributes = {}) if attributes.key?(:'talk') self.talk = attributes[:'talk'] end + + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end self.command = "AddToConference" end @@ -183,7 +192,8 @@ def ==(o) listen == o.listen && notification_url == o.notification_url && start_conf_on_enter == o.start_conf_on_enter && - talk == o.talk && super(o) + talk == o.talk && + dtmf_pass_through == o.dtmf_pass_through && super(o) end # @see the `==` method @@ -195,7 +205,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [allow_call_control, call_control_sequence, call_control_url, conference_id, leave_conference_url, listen, notification_url, start_conf_on_enter, talk].hash + [allow_call_control, call_control_sequence, call_control_url, conference_id, leave_conference_url, listen, notification_url, start_conf_on_enter, talk, dtmf_pass_through].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/add_to_conference_all_of.rb b/lib/freeclimb/models/add_to_conference_all_of.rb index 15269dc4..00caf343 100644 --- a/lib/freeclimb/models/add_to_conference_all_of.rb +++ b/lib/freeclimb/models/add_to_conference_all_of.rb @@ -42,6 +42,9 @@ class AddToConferenceAllOf # If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. attr_accessor :talk + # If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. + attr_accessor :dtmf_pass_through + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -53,7 +56,8 @@ def self.attribute_map :'listen' => :'listen', :'notification_url' => :'notificationUrl', :'start_conf_on_enter' => :'startConfOnEnter', - :'talk' => :'talk' + :'talk' => :'talk', + :'dtmf_pass_through' => :'dtmfPassThrough' } end @@ -73,7 +77,8 @@ def self.openapi_types :'listen' => :'Boolean', :'notification_url' => :'String', :'start_conf_on_enter' => :'Boolean', - :'talk' => :'Boolean' + :'talk' => :'Boolean', + :'dtmf_pass_through' => :'Boolean' } end @@ -133,6 +138,10 @@ def initialize(attributes = {}) if attributes.key?(:'talk') self.talk = attributes[:'talk'] end + + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -170,7 +179,8 @@ def ==(o) listen == o.listen && notification_url == o.notification_url && start_conf_on_enter == o.start_conf_on_enter && - talk == o.talk + talk == o.talk && + dtmf_pass_through == o.dtmf_pass_through end # @see the `==` method @@ -182,7 +192,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [allow_call_control, call_control_sequence, call_control_url, conference_id, leave_conference_url, listen, notification_url, start_conf_on_enter, talk].hash + [allow_call_control, call_control_sequence, call_control_url, conference_id, leave_conference_url, listen, notification_url, start_conf_on_enter, talk, dtmf_pass_through].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/call_result.rb b/lib/freeclimb/models/call_result.rb index 7af41591..7cd13757 100644 --- a/lib/freeclimb/models/call_result.rb +++ b/lib/freeclimb/models/call_result.rb @@ -69,6 +69,9 @@ class CallResult # The list of subresources for this Call. These include things like logs and recordings associated with the Call. attr_accessor :subresource_uris + # ApplicationId associated with the Call. + attr_accessor :application_id + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -90,7 +93,8 @@ def self.attribute_map :'connect_duration' => :'connectDuration', :'direction' => :'direction', :'answered_by' => :'answeredBy', - :'subresource_uris' => :'subresourceUris' + :'subresource_uris' => :'subresourceUris', + :'application_id' => :'applicationId' } end @@ -120,7 +124,8 @@ def self.openapi_types :'connect_duration' => :'Integer', :'direction' => :'CallDirection', :'answered_by' => :'AnsweredBy', - :'subresource_uris' => :'Object' + :'subresource_uris' => :'Object', + :'application_id' => :'String' } end @@ -141,7 +146,8 @@ def self.openapi_nullable :'connect_duration', :'direction', :'answered_by', - :'subresource_uris' + :'subresource_uris', + :'application_id' ]) end @@ -243,6 +249,10 @@ def initialize(attributes = {}) if attributes.key?(:'subresource_uris') self.subresource_uris = attributes[:'subresource_uris'] end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -286,7 +296,8 @@ def ==(o) connect_duration == o.connect_duration && direction == o.direction && answered_by == o.answered_by && - subresource_uris == o.subresource_uris + subresource_uris == o.subresource_uris && + application_id == o.application_id end # @see the `==` method @@ -298,7 +309,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [uri, date_created, date_updated, revision, call_id, parent_call_id, account_id, from, to, phone_number_id, call_status, start_time, connect_time, end_time, duration, connect_duration, direction, answered_by, subresource_uris].hash + [uri, date_created, date_updated, revision, call_id, parent_call_id, account_id, from, to, phone_number_id, call_status, start_time, connect_time, end_time, duration, connect_duration, direction, answered_by, subresource_uris, application_id].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/call_result_all_of.rb b/lib/freeclimb/models/call_result_all_of.rb index 9ce787a2..df4a5ed8 100644 --- a/lib/freeclimb/models/call_result_all_of.rb +++ b/lib/freeclimb/models/call_result_all_of.rb @@ -57,6 +57,9 @@ class CallResultAllOf # The list of subresources for this Call. These include things like logs and recordings associated with the Call. attr_accessor :subresource_uris + # ApplicationId associated with the Call. + attr_accessor :application_id + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -74,7 +77,8 @@ def self.attribute_map :'connect_duration' => :'connectDuration', :'direction' => :'direction', :'answered_by' => :'answeredBy', - :'subresource_uris' => :'subresourceUris' + :'subresource_uris' => :'subresourceUris', + :'application_id' => :'applicationId' } end @@ -100,7 +104,8 @@ def self.openapi_types :'connect_duration' => :'Integer', :'direction' => :'CallDirection', :'answered_by' => :'AnsweredBy', - :'subresource_uris' => :'Object' + :'subresource_uris' => :'Object', + :'application_id' => :'String' } end @@ -121,7 +126,8 @@ def self.openapi_nullable :'connect_duration', :'direction', :'answered_by', - :'subresource_uris' + :'subresource_uris', + :'application_id' ]) end @@ -199,6 +205,10 @@ def initialize(attributes = {}) if attributes.key?(:'subresource_uris') self.subresource_uris = attributes[:'subresource_uris'] end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -238,7 +248,8 @@ def ==(o) connect_duration == o.connect_duration && direction == o.direction && answered_by == o.answered_by && - subresource_uris == o.subresource_uris + subresource_uris == o.subresource_uris && + application_id == o.application_id end # @see the `==` method @@ -250,7 +261,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [call_id, parent_call_id, account_id, from, to, phone_number_id, call_status, start_time, connect_time, end_time, duration, connect_duration, direction, answered_by, subresource_uris].hash + [call_id, parent_call_id, account_id, from, to, phone_number_id, call_status, start_time, connect_time, end_time, duration, connect_duration, direction, answered_by, subresource_uris, application_id].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/conference_participant_result.rb b/lib/freeclimb/models/conference_participant_result.rb index 6dce8d2a..3ed70d98 100644 --- a/lib/freeclimb/models/conference_participant_result.rb +++ b/lib/freeclimb/models/conference_participant_result.rb @@ -42,6 +42,9 @@ class ConferenceParticipantResult # True if this Participant has listen privileges in the Conference. False otherwise. attr_accessor :listen + # True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise. + attr_accessor :dtmf_pass_through + # True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise. attr_accessor :start_conf_on_enter @@ -57,6 +60,7 @@ def self.attribute_map :'call_id' => :'callId', :'talk' => :'talk', :'listen' => :'listen', + :'dtmf_pass_through' => :'dtmfPassThrough', :'start_conf_on_enter' => :'startConfOnEnter' } end @@ -78,6 +82,7 @@ def self.openapi_types :'call_id' => :'String', :'talk' => :'Boolean', :'listen' => :'Boolean', + :'dtmf_pass_through' => :'Boolean', :'start_conf_on_enter' => :'Boolean' } end @@ -90,6 +95,7 @@ def self.openapi_nullable :'call_id', :'talk', :'listen', + :'dtmf_pass_through', :'start_conf_on_enter' ]) end @@ -153,6 +159,10 @@ def initialize(attributes = {}) self.listen = attributes[:'listen'] end + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end + if attributes.key?(:'start_conf_on_enter') self.start_conf_on_enter = attributes[:'start_conf_on_enter'] end @@ -190,6 +200,7 @@ def ==(o) call_id == o.call_id && talk == o.talk && listen == o.listen && + dtmf_pass_through == o.dtmf_pass_through && start_conf_on_enter == o.start_conf_on_enter end @@ -202,7 +213,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [uri, date_created, date_updated, revision, account_id, conference_id, call_id, talk, listen, start_conf_on_enter].hash + [uri, date_created, date_updated, revision, account_id, conference_id, call_id, talk, listen, dtmf_pass_through, start_conf_on_enter].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/conference_participant_result_all_of.rb b/lib/freeclimb/models/conference_participant_result_all_of.rb index 7c52cab9..56c8520c 100644 --- a/lib/freeclimb/models/conference_participant_result_all_of.rb +++ b/lib/freeclimb/models/conference_participant_result_all_of.rb @@ -30,6 +30,9 @@ class ConferenceParticipantResultAllOf # True if this Participant has listen privileges in the Conference. False otherwise. attr_accessor :listen + # True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise. + attr_accessor :dtmf_pass_through + # True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise. attr_accessor :start_conf_on_enter @@ -41,6 +44,7 @@ def self.attribute_map :'call_id' => :'callId', :'talk' => :'talk', :'listen' => :'listen', + :'dtmf_pass_through' => :'dtmfPassThrough', :'start_conf_on_enter' => :'startConfOnEnter' } end @@ -58,6 +62,7 @@ def self.openapi_types :'call_id' => :'String', :'talk' => :'Boolean', :'listen' => :'Boolean', + :'dtmf_pass_through' => :'Boolean', :'start_conf_on_enter' => :'Boolean' } end @@ -70,6 +75,7 @@ def self.openapi_nullable :'call_id', :'talk', :'listen', + :'dtmf_pass_through', :'start_conf_on_enter' ]) end @@ -109,6 +115,10 @@ def initialize(attributes = {}) self.listen = attributes[:'listen'] end + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end + if attributes.key?(:'start_conf_on_enter') self.start_conf_on_enter = attributes[:'start_conf_on_enter'] end @@ -142,6 +152,7 @@ def ==(o) call_id == o.call_id && talk == o.talk && listen == o.listen && + dtmf_pass_through == o.dtmf_pass_through && start_conf_on_enter == o.start_conf_on_enter end @@ -154,7 +165,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [account_id, conference_id, call_id, talk, listen, start_conf_on_enter].hash + [account_id, conference_id, call_id, talk, listen, dtmf_pass_through, start_conf_on_enter].hash end # Builds the object from hash diff --git a/lib/freeclimb/models/message_request.rb b/lib/freeclimb/models/message_request.rb index b84dcfef..6d3f8f48 100644 --- a/lib/freeclimb/models/message_request.rb +++ b/lib/freeclimb/models/message_request.rb @@ -80,6 +80,7 @@ def self.openapi_types # List of attributes with nullable: true def self.openapi_nullable Set.new([ + :'media_urls' ]) end diff --git a/lib/freeclimb/models/message_request_all_of.rb b/lib/freeclimb/models/message_request_all_of.rb index 62fcd202..d2db181a 100644 --- a/lib/freeclimb/models/message_request_all_of.rb +++ b/lib/freeclimb/models/message_request_all_of.rb @@ -60,6 +60,7 @@ def self.openapi_types # List of attributes with nullable: true def self.openapi_nullable Set.new([ + :'media_urls' ]) end diff --git a/lib/freeclimb/models/message_result.rb b/lib/freeclimb/models/message_result.rb index d3bae4f7..062e2780 100644 --- a/lib/freeclimb/models/message_result.rb +++ b/lib/freeclimb/models/message_result.rb @@ -125,6 +125,7 @@ def self.openapi_nullable :'brand_id', :'campaign_id', :'segment_count', + :'media_urls' ]) end diff --git a/lib/freeclimb/models/message_result_all_of.rb b/lib/freeclimb/models/message_result_all_of.rb index 6982e76c..2a73b47a 100644 --- a/lib/freeclimb/models/message_result_all_of.rb +++ b/lib/freeclimb/models/message_result_all_of.rb @@ -105,6 +105,7 @@ def self.openapi_nullable :'brand_id', :'campaign_id', :'segment_count', + :'media_urls' ]) end diff --git a/lib/freeclimb/models/set_dtmf_pass_through.rb b/lib/freeclimb/models/set_dtmf_pass_through.rb new file mode 100644 index 00000000..57548dc3 --- /dev/null +++ b/lib/freeclimb/models/set_dtmf_pass_through.rb @@ -0,0 +1,238 @@ +=begin +#FreeClimb API + +#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. + +The version of the OpenAPI document: 1.0.0 +Contact: support@freeclimb.com +Generated by: https://openapi-generator.tech +OpenAPI Generator version: 5.4.0 + +=end + +require 'date' +require 'time' + +module Freeclimb + # The `SetDTMFPassThrough` command enables or disables the dtmfPassThrough privilege for this Conference Participant. If 'true', DTMFs will be passed through from this Participant to all other Participants in the Conference + class SetDTMFPassThrough < PerclCommand + # Specifying `false` mutes the Participant's dtmf audio. + attr_accessor :dtmf_pass_through + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'dtmf_pass_through' => :'dtmfPassThrough' + } + end + + # Returns all the JSON keys this model knows about, including the ones defined in its parent(s) + def self.acceptable_attributes + attribute_map.values.concat(superclass.acceptable_attributes) + end + + # Attribute type mapping. + def self.openapi_types + { + :'dtmf_pass_through' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # List of class defined in allOf (OpenAPI v3) + def self.openapi_all_of + [ + :'PerclCommand', + :'SetDTMFPassThroughAllOf' + ] + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SetDTMFPassThrough` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SetDTMFPassThrough`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + # call parent's initialize + super(attributes) + + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end + self.command = "SetDTMFPassThrough" + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = super + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + + if @dtmf_pass_through.nil? + false + else + list_invalid_properties.length() == 0 + end + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + dtmf_pass_through == o.dtmf_pass_through && super(o) + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [dtmf_pass_through].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + super(attributes) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Freeclimb.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = super + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb b/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb new file mode 100644 index 00000000..52a8606c --- /dev/null +++ b/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb @@ -0,0 +1,224 @@ +=begin +#FreeClimb API + +#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. + +The version of the OpenAPI document: 1.0.0 +Contact: support@freeclimb.com +Generated by: https://openapi-generator.tech +OpenAPI Generator version: 5.4.0 + +=end + +require 'date' +require 'time' + +module Freeclimb + class SetDTMFPassThroughAllOf + # Specifying `false` mutes the Participant's dtmf audio. + attr_accessor :dtmf_pass_through + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'dtmf_pass_through' => :'dtmfPassThrough' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'dtmf_pass_through' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::SetDTMFPassThroughAllOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::SetDTMFPassThroughAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + + if @dtmf_pass_through.nil? + false + else + list_invalid_properties.length() == 0 + end + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + dtmf_pass_through == o.dtmf_pass_through + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [dtmf_pass_through].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Freeclimb.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + + end + +end diff --git a/lib/freeclimb/models/set_listen.rb b/lib/freeclimb/models/set_listen.rb index 39430c98..4956795c 100644 --- a/lib/freeclimb/models/set_listen.rb +++ b/lib/freeclimb/models/set_listen.rb @@ -14,7 +14,7 @@ require 'time' module Freeclimb - # The `SetListen` command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. The Participant can hear what the other participants are saying only if this privilege is enabled. + # The `SetListen` command enables or disables the listen privilege for this Conference Participant. The Participant can hear what the other participants are saying only if this privilege is enabled. class SetListen < PerclCommand # Specifying `false` will silence the Conference for this Participant. attr_accessor :listen diff --git a/lib/freeclimb/models/set_talk.rb b/lib/freeclimb/models/set_talk.rb index 13603095..fb3bed19 100644 --- a/lib/freeclimb/models/set_talk.rb +++ b/lib/freeclimb/models/set_talk.rb @@ -14,7 +14,7 @@ require 'time' module Freeclimb - # The `SetTalk` command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. If 'true', no audio from that Participant is shared with the other Participants of the Conference. + # The `SetTalk` command enables or disables the talk privilege for this Conference Participant. If 'true', no audio from that Participant is shared with the other Participants of the Conference. class SetTalk < PerclCommand # Specifying `false` mutes the Participant. attr_accessor :talk diff --git a/lib/freeclimb/models/update_conference_participant_request.rb b/lib/freeclimb/models/update_conference_participant_request.rb index 4bcc35f1..83001d31 100644 --- a/lib/freeclimb/models/update_conference_participant_request.rb +++ b/lib/freeclimb/models/update_conference_participant_request.rb @@ -21,11 +21,15 @@ class UpdateConferenceParticipantRequest # (Optional) Default is `true`. Setting to `false` silences the Conference for this Participant. FreeClimb returns an error and ignores any other value. attr_accessor :listen + # (Optional) Default is `true`. Setting to `false` mutes dtmf audio for this Participant. FreeClimb returns an error and ignores any other value. + attr_accessor :dtmf_pass_through + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'talk' => :'talk', - :'listen' => :'listen' + :'listen' => :'listen', + :'dtmf_pass_through' => :'dtmfPassThrough' } end @@ -38,7 +42,8 @@ def self.acceptable_attributes def self.openapi_types { :'talk' => :'Boolean', - :'listen' => :'Boolean' + :'listen' => :'Boolean', + :'dtmf_pass_through' => :'Boolean' } end @@ -70,6 +75,10 @@ def initialize(attributes = {}) if attributes.key?(:'listen') self.listen = attributes[:'listen'] end + + if attributes.key?(:'dtmf_pass_through') + self.dtmf_pass_through = attributes[:'dtmf_pass_through'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -96,7 +105,8 @@ def ==(o) return true if self.equal?(o) self.class == o.class && talk == o.talk && - listen == o.listen + listen == o.listen && + dtmf_pass_through == o.dtmf_pass_through end # @see the `==` method @@ -108,7 +118,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [talk, listen].hash + [talk, listen, dtmf_pass_through].hash end # Builds the object from hash diff --git a/lib/freeclimb/version.rb b/lib/freeclimb/version.rb index d72556cc..6f88f389 100644 --- a/lib/freeclimb/version.rb +++ b/lib/freeclimb/version.rb @@ -11,5 +11,5 @@ =end module Freeclimb - VERSION = '4.8.0' + VERSION = '4.9.0' end diff --git a/openapi.json b/openapi.json index 7314149f..554dc8cb 100644 --- a/openapi.json +++ b/openapi.json @@ -464,6 +464,7 @@ "SendDigits": "#/components/schemas/SendDigits", "SetListen": "#/components/schemas/SetListen", "SetTalk": "#/components/schemas/SetTalk", + "SetDTMFPassThrough": "#/components/schemas/SetDTMFPassThrough", "Sms": "#/components/schemas/Sms", "StartRecordCall": "#/components/schemas/StartRecordCall", "TerminateConference": "#/components/schemas/TerminateConference", @@ -536,6 +537,10 @@ "talk": { "description": "If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. ", "type": "boolean" + }, + "dtmfPassThrough": { + "description": "If `true`, the Participant joins the Conference with dtmfPassThrough privileges. This may be modified later via the REST API or `SetDTMFPassThrough` PerCL command. ", + "type": "boolean" } } } @@ -1175,7 +1180,7 @@ ] }, "SetListen": { - "description": "The `SetListen` command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. The Participant can hear what the other participants are saying only if this privilege is enabled.", + "description": "The `SetListen` command enables or disables the listen privilege for this Conference Participant. The Participant can hear what the other participants are saying only if this privilege is enabled.", "x-percl-command": true, "x-ref-properties": ["false"], "allOf": [ @@ -1195,7 +1200,7 @@ ] }, "SetTalk": { - "description": "The `SetTalk` command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. If 'true', no audio from that Participant is shared with the other Participants of the Conference.", + "description": "The `SetTalk` command enables or disables the talk privilege for this Conference Participant. If 'true', no audio from that Participant is shared with the other Participants of the Conference.", "x-percl-command": true, "x-ref-properties": ["false"], "allOf": [ @@ -1214,6 +1219,26 @@ } ] }, + "SetDTMFPassThrough": { + "description": "The `SetDTMFPassThrough` command enables or disables the dtmfPassThrough privilege for this Conference Participant. If 'true', DTMFs will be passed through from this Participant to all other Participants in the Conference", + "x-percl-command": true, + "x-ref-properties": ["false"], + "allOf": [ + { + "$ref": "#/components/schemas/PerclCommand" + }, + { + "required": [], + "type": "object", + "properties": { + "dtmfPassThrough": { + "description": "Specifying `false` mutes the Participant's dtmf audio.", + "type": "boolean" + } + } + } + ] + }, "Sms": { "description": "The `Sms` command can be used to send an SMS message to a phone number during a phone call. International SMS is disabled by default.", "x-percl-command": true, @@ -1842,6 +1867,11 @@ "type": "object", "description": "The list of subresources for this Call. These include things like logs and recordings associated with the Call.", "nullable": true + }, + "applicationId": { + "type": "string", + "description": "ApplicationId associated with the Call.", + "nullable": true } } } @@ -2155,7 +2185,8 @@ "items": { "type": "string", "format": "uri" - } + }, + "nullable": true } } } @@ -2282,7 +2313,8 @@ "items": { "type": "string", "format": "uri" - } + }, + "nullable": true } } } @@ -2360,6 +2392,11 @@ "description": "True if this Participant has listen privileges in the Conference. False otherwise.", "nullable": true }, + "dtmfPassThrough": { + "type": "boolean", + "description": "True if this Participant had dtmfPassThrough privileges in the Conference. False otherwise.", + "nullable": true + }, "startConfOnEnter": { "type": "boolean", "description": "True if this Participant joining the Conference caused the Conference to start (status = inProgress). False otherwise.", @@ -2379,6 +2416,10 @@ "listen": { "type": "boolean", "description": "(Optional) Default is `true`. Setting to `false` silences the Conference for this Participant. FreeClimb returns an error and ignores any other value." + }, + "dtmfPassThrough": { + "type": "boolean", + "description": "(Optional) Default is `true`. Setting to `false` mutes dtmf audio for this Participant. FreeClimb returns an error and ignores any other value." } } }, @@ -4936,6 +4977,15 @@ "type": "boolean" } }, + { + "name": "dtmfPassThrough", + "in": "query", + "description": "Only show Participants with the dtmfPassThrough privilege.", + "required": false, + "schema": { + "type": "boolean" + } + }, { "$ref": "#/components/parameters/AccountId" }, diff --git a/spec/models/set_dtmf_pass_through_spec.rb b/spec/models/set_dtmf_pass_through_spec.rb new file mode 100644 index 00000000..77807c16 --- /dev/null +++ b/spec/models/set_dtmf_pass_through_spec.rb @@ -0,0 +1,163 @@ +=begin +#FreeClimb API + +#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. + +The version of the OpenAPI document: 1.0.0 +Contact: support@freeclimb.com +Generated by: https://openapi-generator.tech +OpenAPI Generator version: 5.4.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Freeclimb::SetDTMFPassThrough +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Freeclimb::SetDTMFPassThrough do + let(:instance) { Freeclimb::SetDTMFPassThrough.new } + + describe 'test an instance of SetDTMFPassThrough' do + it 'should create an instance of SetDTMFPassThrough' do + expect(instance).to be_instance_of(Freeclimb::SetDTMFPassThrough) + end + end + + describe 'test attribute "dtmf_pass_through"' do + it 'should work' do + instance.dtmf_pass_through = false + expect(instance.dtmf_pass_through).to eq(false) + + end + end + + describe 'test method "initialize"' do + it 'properly initializes with values' do + expect{instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + )}.not_to raise_error() + end + it 'fails to initialize with input argument that is not a hash in Freeclimb::SetDTMFPassThrough' do + expect{instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + invalid_attribute: true + )}.to raise_error(ArgumentError) + end + it 'fails to initialize with invalid attribute' do + expect{instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + invalid_attribute: true + )}.to raise_error(ArgumentError) + end + end + + describe 'test method "valid"' do + it 'checks if properties are valid' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance.valid?).to eq(true) + end + + + skip 'checks if properties are invalid' do + instance = Freeclimb::SetDTMFPassThrough.new( + + ) + expect(instance.valid?).to eq(false) + end + + end + + describe 'test method "eql?"' do + it 'checks if objects are equal' do + obj = Object.new() + instance_1 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + instance_2 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance_1.eql?(instance_2)).to eq(true) + end + + it 'checks if objects are not equal' do + instance_1 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + instance_2 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: false, + ) + expect(instance_1.eql?(instance_2)).to eq(false) + end + end + + describe 'test method "hash"' do + it 'calculates hash code' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance.hash).to be_a_kind_of(Integer) + end + end + + describe 'test method "build_from_hash"' do + it 'builds equivalent model from hash code' do + instance_1 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + instance_2 = Freeclimb::SetDTMFPassThrough.new + expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash)) + end + end + + describe 'test method "_deserialize"' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + it 'deserializes the data of dtmf_pass_through' do + expect(instance._deserialize("Boolean", instance.dtmf_pass_through)).to be_a_kind_of(TrueClass) + end + end + + describe 'test method "to_s"' do + it 'returns the string representation of the object' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance.to_s).to eq(instance.to_hash.to_s) + end + end + + describe 'test method "to_hash"' do + it 'returns the object in the form of hash' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance.to_hash).to be_a_kind_of(Hash) + end + it 'creates equal hash for two equal objects' do + obj = Object.new() + instance_1 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + instance_2 = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + expect(instance_1.to_hash).to eq(instance_2.to_hash) + end + end + + describe 'test method "_to_hash"' do + instance = Freeclimb::SetDTMFPassThrough.new( + dtmf_pass_through: true, + ) + it 'returns dtmf_pass_through in the form of hash' do + expect(instance._to_hash(instance.dtmf_pass_through)).to eq(instance.dtmf_pass_through) + end + end + +end