diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index b5406a7..435f644 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -125,6 +125,7 @@ docs/SMSTollFreeCampaignRegistrationStatus.md docs/SMSTollFreeCampaignsListResult.md docs/Say.md docs/SendDigits.md +docs/SetDTMFPassThrough.md docs/SetListen.md docs/SetTalk.md docs/Sms.md @@ -134,7 +135,7 @@ docs/TerminateConference.md docs/TranscribeReason.md docs/TranscribeTermReason.md docs/TranscribeUtterance.md -docs/TranscribeUtteranceAllOfRecord.md +docs/TranscribeUtteranceRecord.md docs/TranscribeWebhook.md docs/Unpark.md docs/UpdateCallRequest.md @@ -252,6 +253,7 @@ lib/freeclimb/models/remove_from_queue_notification_webhook.rb lib/freeclimb/models/request_type.rb lib/freeclimb/models/say.rb lib/freeclimb/models/send_digits.rb +lib/freeclimb/models/set_dtmf_pass_through.rb lib/freeclimb/models/set_listen.rb lib/freeclimb/models/set_talk.rb lib/freeclimb/models/sms.rb @@ -278,7 +280,7 @@ lib/freeclimb/models/tfn.rb lib/freeclimb/models/transcribe_reason.rb lib/freeclimb/models/transcribe_term_reason.rb lib/freeclimb/models/transcribe_utterance.rb -lib/freeclimb/models/transcribe_utterance_all_of_record.rb +lib/freeclimb/models/transcribe_utterance_record.rb lib/freeclimb/models/transcribe_webhook.rb lib/freeclimb/models/unpark.rb lib/freeclimb/models/update_call_request.rb @@ -391,6 +393,7 @@ spec/models/remove_from_queue_notification_webhook_spec.rb spec/models/request_type_spec.rb spec/models/say_spec.rb spec/models/send_digits_spec.rb +spec/models/set_dtmf_pass_through_spec.rb spec/models/set_listen_spec.rb spec/models/set_talk_spec.rb spec/models/sms_spec.rb @@ -416,7 +419,7 @@ spec/models/terminate_conference_spec.rb spec/models/tfn_spec.rb spec/models/transcribe_reason_spec.rb spec/models/transcribe_term_reason_spec.rb -spec/models/transcribe_utterance_all_of_record_spec.rb +spec/models/transcribe_utterance_record_spec.rb spec/models/transcribe_utterance_spec.rb spec/models/transcribe_webhook_spec.rb spec/models/unpark_spec.rb diff --git a/README.md b/README.md index a67067a..0974d4e 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ Class | Method | HTTP request | Description - [Freeclimb::SMSTollFreeCampaignsListResult](docs/SMSTollFreeCampaignsListResult.md) - [Freeclimb::Say](docs/Say.md) - [Freeclimb::SendDigits](docs/SendDigits.md) + - [Freeclimb::SetDTMFPassThrough](docs/SetDTMFPassThrough.md) - [Freeclimb::SetListen](docs/SetListen.md) - [Freeclimb::SetTalk](docs/SetTalk.md) - [Freeclimb::Sms](docs/Sms.md) @@ -289,7 +290,7 @@ Class | Method | HTTP request | Description - [Freeclimb::TranscribeReason](docs/TranscribeReason.md) - [Freeclimb::TranscribeTermReason](docs/TranscribeTermReason.md) - [Freeclimb::TranscribeUtterance](docs/TranscribeUtterance.md) - - [Freeclimb::TranscribeUtteranceAllOfRecord](docs/TranscribeUtteranceAllOfRecord.md) + - [Freeclimb::TranscribeUtteranceRecord](docs/TranscribeUtteranceRecord.md) - [Freeclimb::TranscribeWebhook](docs/TranscribeWebhook.md) - [Freeclimb::Unpark](docs/Unpark.md) - [Freeclimb::UpdateCallRequest](docs/UpdateCallRequest.md) diff --git a/docs/AddToConference.md b/docs/AddToConference.md index e628d30..046f9d8 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/CallResult.md b/docs/CallResult.md index 3660557..c25a675 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/ConferenceParticipantResult.md b/docs/ConferenceParticipantResult.md index b0a9f7c..77f05b0 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/ConferenceResult.md b/docs/ConferenceResult.md index 56e77fe..a7b560d 100644 --- a/docs/ConferenceResult.md +++ b/docs/ConferenceResult.md @@ -11,7 +11,7 @@ | **conference_id** | **String** | A string that uniquely identifies this Conference resource. | [optional] | | **account_id** | **String** | ID of the account that created this Conference. | [optional] | | **_alias** | **String** | A description for this Conference. | [optional] | -| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] | +| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] | | **record** | **Boolean** | Flag indicating whether recording is enabled for this Conference. | [optional] | | **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] | | **wait_url** | **String** | URL referencing the audio file to be used as default wait music for the Conference when it is in the populated state. | [optional] | diff --git a/docs/CreateConference.md b/docs/CreateConference.md index fdd9629..30b55af 100644 --- a/docs/CreateConference.md +++ b/docs/CreateConference.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **action_url** | **String** | This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response. | | | **_alias** | **Boolean** | Descriptive name for the Conference. | [optional] | -| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] | +| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] | | **record** | **Boolean** | When set to `true`, the entire Conference is recorded. The `statusCallbackUrl` of the Conference will receive a `conferenceRecordingEnded` Webhook when the Conference transitions from the `inProgress` to empty state. | [optional] | | **status_callback_url** | **String** | This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available. | [optional] | | **wait_url** | **String** | If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb. | [optional] | diff --git a/docs/CreateConferenceRequest.md b/docs/CreateConferenceRequest.md index e683d8b..c45c55a 100644 --- a/docs/CreateConferenceRequest.md +++ b/docs/CreateConferenceRequest.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **_alias** | **String** | A description for this Conference. Maximum 64 characters. | [optional] | -| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] | +| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] | | **record** | **Boolean** | Setting to `true` records the entire Conference. | [optional] | | **wait_url** | **String** | If specified, a URL for the audio file that provides custom hold music for the Conference when it is in the populated state. Otherwise, FreeClimb uses a system default audio file. This is always fetched using HTTP GET and is fetched just once &mdash; when the Conference is created. | [optional] | | **status_callback_url** | **String** | This URL is invoked when the status of the Conference changes. For more information, see **statusCallbackUrl** (below). | [optional] | diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md index 80795fe..8411d1b 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 0000000..a5f3a15 --- /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/TranscribeUtterance.md b/docs/TranscribeUtterance.md index c347306..65d8f64 100644 --- a/docs/TranscribeUtterance.md +++ b/docs/TranscribeUtterance.md @@ -6,10 +6,10 @@ | ---- | ---- | ----------- | ----- | | **action_url** | **String** | | | | **play_beep** | **Boolean** | | [optional][default to false] | -| **record** | [**TranscribeUtteranceAllOfRecord**](TranscribeUtteranceAllOfRecord.md) | | [optional] | +| **record** | [**TranscribeUtteranceRecord**](TranscribeUtteranceRecord.md) | | [optional] | | **privacy_for_logging** | **Boolean** | | [optional][default to false] | | **privacy_for_recording** | **Boolean** | | [optional][default to false] | -| **prompts** | **Array<Object>** | | [optional] | +| **prompts** | [**Array<PerclCommand>**](PerclCommand.md) | | [optional] | ## Example diff --git a/docs/UpdateConferenceParticipantRequest.md b/docs/UpdateConferenceParticipantRequest.md index c18176c..0b100a6 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/docs/UpdateConferenceRequest.md b/docs/UpdateConferenceRequest.md index 35447af..6a80556 100644 --- a/docs/UpdateConferenceRequest.md +++ b/docs/UpdateConferenceRequest.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **_alias** | **String** | Description for this conference. Maximum 64 characters. | [optional] | -| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional][default to 'always'] | +| **play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional] | | **status** | [**UpdateConferenceRequestStatus**](UpdateConferenceRequestStatus.md) | | [optional] | ## Example diff --git a/lib/freeclimb.rb b/lib/freeclimb.rb index 66c8d9e..d3180de 100644 --- a/lib/freeclimb.rb +++ b/lib/freeclimb.rb @@ -100,7 +100,7 @@ require 'freeclimb/models/tfn' require 'freeclimb/models/transcribe_reason' require 'freeclimb/models/transcribe_term_reason' -require 'freeclimb/models/transcribe_utterance_all_of_record' +require 'freeclimb/models/transcribe_utterance_record' require 'freeclimb/models/update_call_request' require 'freeclimb/models/update_call_request_status' require 'freeclimb/models/update_conference_participant_request' @@ -147,6 +147,7 @@ require 'freeclimb/models/remove_from_queue_notification_webhook' 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 8e0f22c..d2640ff 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 8344a6d..7174e27 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 @@ -144,6 +149,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 @@ -182,7 +191,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 @@ -194,7 +204,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 8cba7b8..268c914 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 + class EnumAttributeValidator attr_reader :datatype attr_reader :allowable_values @@ -112,7 +115,8 @@ def self.attribute_map :'connect_duration' => :'connectDuration', :'direction' => :'direction', :'answered_by' => :'answeredBy', - :'subresource_uris' => :'subresourceUris' + :'subresource_uris' => :'subresourceUris', + :'application_id' => :'applicationId' } end @@ -142,7 +146,8 @@ def self.openapi_types :'connect_duration' => :'Integer', :'direction' => :'CallDirection', :'answered_by' => :'AnsweredBy', - :'subresource_uris' => :'Object' + :'subresource_uris' => :'Object', + :'application_id' => :'String' } end @@ -163,7 +168,8 @@ def self.openapi_nullable :'connect_duration', :'direction', :'answered_by', - :'subresource_uris' + :'subresource_uris', + :'application_id' ]) end @@ -264,6 +270,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? @@ -307,7 +317,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 @@ -319,7 +330,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/conference_participant_result.rb b/lib/freeclimb/models/conference_participant_result.rb index 8f00512..b365a5c 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 @@ -152,6 +158,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 @@ -189,6 +199,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 @@ -201,7 +212,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_result.rb b/lib/freeclimb/models/conference_result.rb index 7bf95ae..1beb0fe 100644 --- a/lib/freeclimb/models/conference_result.rb +++ b/lib/freeclimb/models/conference_result.rb @@ -190,8 +190,6 @@ def initialize(attributes = {}) if attributes.key?(:'play_beep') self.play_beep = attributes[:'play_beep'] - else - self.play_beep = 'always' end if attributes.key?(:'record') diff --git a/lib/freeclimb/models/create_conference.rb b/lib/freeclimb/models/create_conference.rb index a3288bb..b027d0a 100644 --- a/lib/freeclimb/models/create_conference.rb +++ b/lib/freeclimb/models/create_conference.rb @@ -126,8 +126,6 @@ def initialize(attributes = {}) if attributes.key?(:'play_beep') self.play_beep = attributes[:'play_beep'] - else - self.play_beep = 'always' end if attributes.key?(:'record') diff --git a/lib/freeclimb/models/create_conference_request.rb b/lib/freeclimb/models/create_conference_request.rb index 0c58b71..5995f0c 100644 --- a/lib/freeclimb/models/create_conference_request.rb +++ b/lib/freeclimb/models/create_conference_request.rb @@ -106,8 +106,6 @@ def initialize(attributes = {}) if attributes.key?(:'play_beep') self.play_beep = attributes[:'play_beep'] - else - self.play_beep = 'always' end if attributes.key?(:'record') 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 0000000..107c84b --- /dev/null +++ b/lib/freeclimb/models/set_dtmf_pass_through.rb @@ -0,0 +1,237 @@ +=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: 7.9.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' + ] + 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_listen.rb b/lib/freeclimb/models/set_listen.rb index b24064e..8d1dd3a 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 b685b1d..40672d3 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/transcribe_utterance.rb b/lib/freeclimb/models/transcribe_utterance.rb index ba1e859..3349dbe 100644 --- a/lib/freeclimb/models/transcribe_utterance.rb +++ b/lib/freeclimb/models/transcribe_utterance.rb @@ -50,10 +50,10 @@ def self.openapi_types { :'action_url' => :'String', :'play_beep' => :'Boolean', - :'record' => :'TranscribeUtteranceAllOfRecord', + :'record' => :'TranscribeUtteranceRecord', :'privacy_for_logging' => :'Boolean', :'privacy_for_recording' => :'Boolean', - :'prompts' => :'Array' + :'prompts' => :'Array' } end diff --git a/lib/freeclimb/models/transcribe_utterance_all_of_record.rb b/lib/freeclimb/models/transcribe_utterance_record.rb similarity index 95% rename from lib/freeclimb/models/transcribe_utterance_all_of_record.rb rename to lib/freeclimb/models/transcribe_utterance_record.rb index fc9a409..6c475e3 100644 --- a/lib/freeclimb/models/transcribe_utterance_all_of_record.rb +++ b/lib/freeclimb/models/transcribe_utterance_record.rb @@ -14,7 +14,7 @@ require 'time' module Freeclimb - class TranscribeUtteranceAllOfRecord + class TranscribeUtteranceRecord attr_accessor :save_recording attr_accessor :max_length_sec @@ -54,13 +54,13 @@ def self.openapi_nullable # @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::TranscribeUtteranceAllOfRecord` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::TranscribeUtteranceRecord` 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::TranscribeUtteranceAllOfRecord`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::TranscribeUtteranceRecord`. 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 } @@ -98,8 +98,8 @@ def list_invalid_properties invalid_properties.push('invalid value for "rcrd_termination_silence_time_ms", must be smaller than or equal to 3000.') end - if !@rcrd_termination_silence_time_ms.nil? && @rcrd_termination_silence_time_ms <= 0 - invalid_properties.push('invalid value for "rcrd_termination_silence_time_ms", must be greater than 0.') + if !@rcrd_termination_silence_time_ms.nil? && @rcrd_termination_silence_time_ms < 1 + invalid_properties.push('invalid value for "rcrd_termination_silence_time_ms", must be greater than or equal to 1.') end invalid_properties @@ -137,8 +137,8 @@ def rcrd_termination_silence_time_ms=(rcrd_termination_silence_time_ms) fail ArgumentError, 'invalid value for "rcrd_termination_silence_time_ms", must be smaller than or equal to 3000.' end - if !rcrd_termination_silence_time_ms.nil? && rcrd_termination_silence_time_ms <= 0 - fail ArgumentError, 'invalid value for "rcrd_termination_silence_time_ms", must be greater than 0.' + if !rcrd_termination_silence_time_ms.nil? && rcrd_termination_silence_time_ms < 1 + fail ArgumentError, 'invalid value for "rcrd_termination_silence_time_ms", must be greater than or equal to 1.' end @rcrd_termination_silence_time_ms = rcrd_termination_silence_time_ms diff --git a/lib/freeclimb/models/update_conference_participant_request.rb b/lib/freeclimb/models/update_conference_participant_request.rb index b8b807d..7f184f9 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/models/update_conference_request.rb b/lib/freeclimb/models/update_conference_request.rb index 4161301..b8a8e67 100644 --- a/lib/freeclimb/models/update_conference_request.rb +++ b/lib/freeclimb/models/update_conference_request.rb @@ -95,8 +95,6 @@ def initialize(attributes = {}) if attributes.key?(:'play_beep') self.play_beep = attributes[:'play_beep'] - else - self.play_beep = 'always' end if attributes.key?(:'status') diff --git a/openapi.json b/openapi.json index 5fb14de..f4dfa97 100644 --- a/openapi.json +++ b/openapi.json @@ -110,6 +110,11 @@ "nullable": true, "enum": ["inbound", "outboundAPI", "outboundDial"], "x-enum-varnames": ["INBOUND", "OUTBOUND_API", "OUTBOUND_DIAL"], + "x-py-enum-mapping": [ + { "enum": "inbound", "varname": "INBOUND"}, + { "enum": "outboundAPI", "varname": "OUTBOUND_API" }, + { "enum": "outboundDial", "varname": "OUTBOUND_DIAL" } + ], "x-enum": true, "description": "Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command." }, @@ -136,6 +141,16 @@ "BUSY", "NO_ANSWER" ], + "x-py-enum-mapping": [ + { "enum": "queued", "varname": "QUEUED" }, + { "enum": "ringing", "varname": "RINGING" }, + { "enum": "inProgress", "varname": "IN_PROGRESS" }, + { "enum": "canceled", "varname": "CANCELED" }, + { "enum": "completed", "varname": "COMPLETED" }, + { "enum": "failed", "varname": "FAILED" }, + { "enum": "busy", "varname": "BUSY" }, + { "enum": "noAnswer", "varname": "NO_ANSWER" } + ], "x-enum": true, "description": "* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered." }, @@ -192,6 +207,31 @@ "GRPC_HANGUP", "MAX_DURATION" ], + "x-py-enum-mapping": [ + { "enum": "busy", "varname": "BUSY" }, + { "enum": "failed", "varname": "FAILED" }, + { "enum": "noAnswer", "varname": "NO_ANSWER" }, + { "enum": "callCanceled", "varname": "CALL_CANCELED" }, + { "enum": "farEndHangup", "varname": "FAR_END_HANGUP" }, + { "enum": "appHangup", "varname": "APP_HANGUP" }, + { "enum": "appReject", "varname": "APP_REJECT" }, + { "enum": "appNoPercl", "varname": "APP_NO_PERCL" }, + { "enum": "appInvalidPercl", "varname": "APP_INVALID_PERCL" }, + { "enum": "conferenceTerminated", "varname": "CONFERENCE_TERMINATED" }, + { "enum": "conferenceEmptied", "varname": "CONFERENCE_EMPTIED" }, + { "enum": "removedFromConference", "varname": "REMOVED_FROM_CONFERENCE" }, + { "enum": "machineDetected", "varname": "MACHINE_DETECTED" }, + { "enum": "webhookFailed", "varname": "WEBHOOK_FAILED" }, + { "enum": "webhookInvalidResponse", "varname": "WEBHOOK_INVALID_RESPONSE" }, + { "enum": "voiceDisabled", "varname": "VOICE_DISABLED" }, + { "enum": "configErrorNoApplication", "varname": "CONFIG_ERROR_NO_APPLICATION" }, + { "enum": "configErrorNoVoiceUrl", "varname": "CONFIG_ERROR_NO_VOICE_URL" }, + { "enum": "maxRedirectsError", "varname": "MAX_REDIRECTS_ERROR" }, + { "enum": "perclProcessingError", "varname": "PERCL_PROCESSING_ERROR" }, + { "enum": "internalError", "varname": "INTERNAL_ERROR" }, + { "enum": "grpcHangup", "varname": "GRPC_HANGUP" }, + { "enum": "maxDuration", "varname": "MAX_DURATION" } + ], "x-enum": true, "description": "Enhanced status for the Call with additional information where available." }, @@ -209,6 +249,12 @@ "MAX_DIGITS", "TONE" ], + "x-py-enum-mapping": [ + { "enum": "finishKey", "varname": "FINISH_KEY" }, + { "enum": "timeout", "varname": "TIMEOUT" }, + { "enum": "maxDigits", "varname": "MAX_DIGITS" }, + { "enum": "tone", "varname": "TONE" } + ], "x-enum": true, "description": "This field explains how the GetDigits action ended. The value is one of the below: •finishKey - The finish key as specified had been pressed by the caller. Digit string has all keys up to, but not including, the finish key. •timeout - The timeout limit was reached prior to any other criteria being met. If any digits were collected, they will be included. •maxDigits - The maximum number of digits was reached and digit collection ended. •tone - Answering machine or fax tone detection occurred, interrupting digit collection. Any digits received up to this point are included in this webhook." }, @@ -217,6 +263,12 @@ "nullable": true, "enum": ["empty", "populated", "inProgress", "terminated"], "x-enum-varnames": ["EMPTY", "POPULATED", "IN_PROGRESS", "TERMINATED"], + "x-py-enum-mapping": [ + { "enum": "empty", "varname": "EMPTY"}, + { "enum": "populated", "varname": "POPULATED"}, + { "enum": "inProgress", "varname": "IN_PROGRESS"}, + { "enum": "terminated", "varname": "TERMINATED" } + ], "x-enum": true, "description": "The status of the Conference. One of: creating, empty, populated, inProgress, or terminated." }, @@ -238,6 +290,14 @@ "NO_MATCH", "RECOGNITION" ], + "x-py-enum-mapping": [ + { "enum": "error", "varname": "ERROR" }, + { "enum": "hangup", "varname": "HANGUP" }, + { "enum": "digit", "varname": "DIGIT" }, + { "enum": "noInput", "varname": "NO_INPUT" }, + { "enum": "noMatch", "varname": "NO_MATCH" }, + { "enum": "recognition", "varname": "RECOGNITION" } + ], "x-enum": true }, "GrammarFileBuiltIn": { @@ -283,6 +343,10 @@ "enum": ["URL", "BUILTIN"], "nullable": true, "x-enum-varnames": ["URL", "BUILT_IN"], + "x-py-enum-mapping": [ + {"enum": "URL", "varname": "URL" }, + {"enum": "BUILTIN", "varname": "BUILT_IN" } + ], "x-enum": true, "description": "The grammar file type to use for speech recognition. A value of 'URL' indicates the grammarFile attribute specifies a URL that points to the grammar file. A value of `BUILTIN` indicates the grammarFile attribute specifies the name of one of the platform built-in grammar files." }, @@ -351,6 +415,34 @@ "CHINESE_HK", "CHINESE_TW" ], + "x-py-enum-mapping": [ + { "enum": "ca-ES", "varname": "CATALAN"}, + { "enum": "da-DK", "varname": "DANISH"}, + { "enum": "de-DE", "varname": "GERMAN"}, + { "enum": "en-AU", "varname": "ENGLISH_AU"}, + { "enum": "en-CA", "varname": "ENGLISH_CA"}, + { "enum": "en-GB", "varname": "ENGLISH_UK"}, + { "enum": "en-IN", "varname": "ENGLISH_IN"}, + { "enum": "en-US", "varname": "ENGLISH_US"}, + { "enum": "es-ES", "varname": "ENGLISH_ES"}, + { "enum": "es-MX", "varname": "ENGLISH_MX"}, + { "enum": "fi-FI", "varname": "FINNISH"}, + { "enum": "fr-CA", "varname": "FRENCH_CA"}, + { "enum": "fr-FR", "varname": "FRENCH_FR"}, + { "enum": "it-IT", "varname": "ITALIAN"}, + { "enum": "ja-JP", "varname": "JAPANESE"}, + { "enum": "ko-KR", "varname": "KOREAN"}, + { "enum": "nb-NO", "varname": "NORWEGIAN"}, + { "enum": "nl-NL", "varname": "DUTCH"}, + { "enum": "pl-PL", "varname": "POLISH"}, + { "enum": "pt-BR", "varname": "PORTUGESE_BR"}, + { "enum": "pt-PT", "varname": "PORTUGESE_PT"}, + { "enum": "ru-RU", "varname": "RUSSIAN"}, + { "enum": "sv-SE", "varname": "SWEDISH"}, + { "enum": "zh-CN", "varname": "CHINESE_CN"}, + { "enum": "zh-HK", "varname": "CHINESE_HK"}, + { "enum": "zh-TW", "varname": "CHINESE_TW"} + ], "x-enum": true }, "LogLevel": { @@ -410,27 +502,49 @@ "nullable": true, "enum": ["always", "never", "entryOnly", "exitOnly"], "x-enum-varnames": ["ALWAYS", "NEVER", "ENTRY_ONLY", "EXIT_ONLY"], + "x-py-enum-mapping": [ + { "enum": "always", "varname": "ALWAYS" }, + { "enum": "never", "varname": "NEVER" }, + { "enum": "entryOnly", "varname": "ENTRY_ONLY" }, + { "enum": "exitOnly", "varname": "EXIT_ONLY" } + ], "x-enum": true, "description": "Indicates whether to play a beep when a Participant enters or leaves the Conference. either `always`, `never`, `entryOnly`, or `exitOnly`. Leaving this unset will make conference default to `always` ", - "default": "always", "x-enum-default-attr": "ALWAYS" }, "QueueResultStatus": { "type": "string", "enum": ["queueFull", "dequeued", "hangup", "systemError"], "x-enum-varnames": ["QUEUE_FULL", "DEQUEUED", "HANGUP", "SYSTEM_ERROR"], + "x-py-enum-mapping": [ + { "enum": "queueFull", "varname": "QUEUE_FULL" }, + { "enum": "dequeued", "varname": "DEQUEUED" }, + { "enum": "hangup", "varname": "HANGUP" }, + { "enum": "systemError", "varname": "SYSTEM_ERROR" } + ], "x-enum": true }, "RecordUtteranceTermReason": { "type": "string", "enum": ["finishKey", "timeout", "hangup", "maxLength"], "x-enum-varnames": ["FINISH_KEY", "TIMEOUT", "HANGUP", "MAX_LENGTH"], + "x-py-enum-mapping": [ + { "enum": "finishKey", "varname": "FINISH_KEY" }, + { "enum": "timeout", "varname": "TIMEOUT" }, + { "enum": "hangup", "varname": "HANGUP" }, + { "enum": "maxLength", "varname": "MAX_LENGTH" } + ], "x-enum": true }, "BargeInReason": { "type": "string", "enum": ["noBargeIn", "bargeInByDTMF", "bargeInByEnergy"], "x-enum-varnames": ["NO_BARGE_IN", "BARGE_IN_BY_DTMF", "BARGE_IN_BY_ENERGY"], + "x-py-enum-mapping": [ + { "enum": "noBargeIn", "varname": "NO_BARGE_IN" }, + { "enum": "bargeInByDTMF", "varname": "BARGE_IN_BY_DTMF" }, + { "enum": "bargeInByEnergy", "varname": "BARGE_IN_BY_ENERGY" } + ], "x-enum": true }, "TranscribeTermReason": { @@ -443,7 +557,14 @@ "type": "string", "x-enum": true, "enum": ["internalError", "hangup", "maxLength", "digit", "noInput"], - "x-enum-varnames": ["INTERNAL_ERROR", "HANGUP", "MAX_LENGTH", "DIGIT", "NO_INPUT"] + "x-enum-varnames": ["INTERNAL_ERROR", "HANGUP", "MAX_LENGTH", "DIGIT", "NO_INPUT"], + "x-py-enum-mapping": [ + { "enum": "internalError" , "varname": "INTERNAL_ERROR" }, + { "enum": "hangup" , "varname": "HANGUP" }, + { "enum": "maxLength", "varname": "MAX_LENGTH" }, + { "enum": "digit", "varname": "DIGIT" }, + { "enum": "noInput" , "varname": "NO_INPUT" } + ] }, "RequestType": { "type": "string", @@ -497,6 +618,31 @@ "MESSAGE_DELIVERY", "MESSAGE_STATUS" ], + "x-py-enum-mapping": [ + { "enum": "inboundCall", "varname": "INBOUND_CALL" }, + { "enum": "record", "varname": "RECORD" }, + { "enum": "getDigits", "varname": "GET_DIGITS" }, + { "enum": "getSpeech", "varname": "GET_SPEECH" }, + { "enum": "redirect", "varname": "REDIRECT" }, + { "enum": "pause", "varname": "PAUSE" }, + { "enum": "outDialStart", "varname": "OUT_DIAL_START" }, + { "enum": "outDialConnect", "varname": "OUT_DIAL_CONNECT" }, + { "enum": "outDialApiConnect", "varname": "OUT_DIAL_API_CONNECT" }, + { "enum": "machineDetected", "varname": "MACHINE_DETECTED" }, + { "enum": "dequeue", "varname": "DEQUEUE" }, + { "enum": "queueWait", "varname": "QUEUE_WAIT" }, + { "enum": "addToQueueNotification", "varname": "ADD_TO_QUEUE_NOTIFICATION" }, + { "enum": "removeFromQueueNotification","varname": "REMOVE_FROM_QUEUE_NOTIFICATION" }, + { "enum": "callStatus", "varname": "CALL_STATUS" }, + { "enum": "createConference", "varname": "CREATE_CONFERENCE" }, + { "enum": "conferenceStatus", "varname": "CONFERENCE_STATUS" }, + { "enum": "leaveConference", "varname": "LEAVE_CONFERENCE" }, + { "enum": "addToConferenceNotification","varname": "ADD_TO_CONFERENCE_NOTIFICATION" }, + { "enum": "conferenceRecordingStatus", "varname": "CONFERENCE_RECORDING_STATUS" }, + { "enum": "conferenceCallControl", "varname": "CONFERENCE_CALL_CONTROL" }, + { "enum": "messageDelivery", "varname": "MESSAGE_DELIVERY" }, + { "enum": "messageStatus", "varname": "MESSAGE_STATUS" } + ], "x-enum": true }, "UpdateCallRequestStatus": { @@ -678,7 +824,18 @@ "description": "Completion result status. Possible values: success, no_context", "x-enum": true, "enum": ["success", "no_context"], - "x-enum-varnames": ["SUCCESS", "NO_CONTEXT"] + "x-enum-varnames": ["SUCCESS", "NO_CONTEXT"], + "x-py-enum-mapping": [ + { "enum": "success", "varname": "SUCCESS" }, + { "enum": "no_context", "varname": "NO_CONTEXT" } + ] + }, + "SMSTenDLCOptionalAttributes": { + "x-is-map": true, + "type": "object", + "x-is-hash": true, + "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names.", + "additionalProperties": true }, "PerclScript": { "type": "object", @@ -722,6 +879,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", @@ -2170,7 +2328,8 @@ }, "AddToConference": { "description": "The `AddToConference` command adds a Participant to a Conference. Two Call legs can be bridged together by creating a Conference and adding both Call legs to it via `AddToConference`.", - "x-percl-command": true, + "required": ["conferenceId"], + "x-percl-command": "AddToConference", "x-ref-properties": [ "false", "\"TEST_STRING\"", @@ -2225,6 +2384,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" } } } @@ -2232,7 +2395,7 @@ }, "CreateConference": { "description": "The `CreateConference` command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). Once created, a Conference remains in FreeClimb until explicitly terminated by a customer. Once a Conference has been terminated, it can no longer be used.", - "x-percl-command": true, + "x-percl-command": "CreateConference", "x-ref-properties": [ "\"TEST_STRING\"", "false", @@ -2280,7 +2443,7 @@ }, "Dequeue": { "description": "The `Dequeue` command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Execution continues with the first command in the PerCL script returned by the `actionUrl` specified in the `Enqueue` command.", - "x-percl-command": true, + "x-percl-command": "Dequeue", "x-no-properties": true, "allOf": [ { @@ -2293,7 +2456,8 @@ }, "Enqueue": { "description": "The `Enqueue` command adds the current Call to a call Queue. If the specified Queue does not exist, it is created and then the Call is added to it. The default maximum length of the queue is 100. This can be modified using the REST API.", - "x-percl-command": true, + "required": ["queueId", "waitUrl", "actionUrl"], + "x-percl-command": "Enqueue", "x-ref-properties": [ "\"TEST_STRING\"", "\"TEST_STRING\"", @@ -2334,7 +2498,7 @@ }, "GetDigits": { "description": "The `GetDigits` command collects DTMF inputs from the caller. It is only supported only when there is a single party on the Call. `GetDigits` is a Terminal Command — any actions following it are never executed. When the Caller is done entering the digits, FreeClimb submits that data to the provided `actionUrl` using an HTTP POST request. Your server will be required to respond to the FreeClimb Webhook with PerCL to continue handling the call.", - "x-percl-command": true, + "x-percl-command": "GetDigits", "x-ref-properties": [ "\"https://a.com\"", "1", @@ -2403,7 +2567,7 @@ }, "GetSpeech": { "description": "The `GetSpeech` command enables the Caller to respond to the application using a supported language. Unlike DTMF entry, which implicitly restricts the user to using the available buttons on the phone key pad, speech input allows for flexible audio inputs based on grammar. FreeClimb supports grammars written using GRXML compatible with the Microsoft Speech Platform. `GetSpeech` is only supported on a single call leg. It is not supported when there are two or more call legs connected (as in within a Conference).", - "x-percl-command": true, + "x-percl-command": "GetSpeech", "x-ref-properties": [ "\"https://a.com\"", "GrammarType.URL", @@ -2492,7 +2656,7 @@ }, "Hangup": { "description": "The `Hangup` command terminates a Call. If `Hangup` is used as the first action in a PerCL response, it does not prevent FreeClimb from answering the Call and billing your account. See the `Reject` command to hang up at no charge.", - "x-percl-command": true, + "x-percl-command": "Hangup", "allOf": [ { "$ref": "#/components/schemas/PerclCommand" @@ -2510,7 +2674,7 @@ }, "OutDial": { "description": "The OutDial command is used to call a phone number", - "x-percl-command": true, + "x-percl-command": "OutDial", "x-ref-properties": [ "\"https://a.com\"", "\"https://a.com\"", @@ -2585,7 +2749,7 @@ }, "Park": { "description": "The `Park` command allows a caller to be put on hold. You can provide hold music,messages,etc until ready to resume the call. Park is a terminal command. Actions performed on the Call while on hold are provided in a PerCL script in response to the waitUrl property. Actions performed on the Call after it has been unparked (resumed) will be provided in a PerCL script in response to the actionUrl provided. A Call can be resumed in two ways -- REST API invocation or the Unpark percl command. No actions can be nested within Park and Park cannot be nested in any other actions. ", - "x-percl-command": true, + "x-percl-command": "Park", "x-ref-properties": [ "\"https://a.com\"", "\"https://a.com\"", @@ -2621,7 +2785,7 @@ }, "Pause": { "description": "The `Pause` command halts execution of the current PerCL script for a specified number of milliseconds. If `Pause` is the first command in a PerCL document, FreeClimb will wait for the specified time to elapse before picking up the call.", - "x-percl-command": true, + "x-percl-command": "Pause", "x-ref-properties": ["1"], "allOf": [ { @@ -2641,7 +2805,7 @@ }, "Play": { "description": "The `Play` command plays an audio file back to the caller. The audio file may be located at any location accessible via a URL. `Play` can exist as a stand-alone command or as a nested command. It does not allow barge-in unless nested within a `GetSpeech` command. The file will always be played to completion unless nested.", - "x-percl-command": true, + "x-percl-command": "Play", "x-ref-properties": ["\"TEST_STRING\"", "1", "false"], "allOf": [ { @@ -2669,7 +2833,7 @@ }, "PlayEarlyMedia": { "description": "`PlayEarlyMedia` is relevant only when present as the very first command in the PerCL script returned for an incoming Call. In such cases, the command is executed before FreeClimb attempts to connect the call. The audio file it uses can be stored in any location that is accessible via URL.", - "x-percl-command": true, + "x-percl-command": "PlayEarlyMedia", "x-ref-properties": ["\"TEST_STRING\""], "allOf": [ { @@ -2689,7 +2853,7 @@ }, "RecordUtterance": { "description": "The `RecordUtterance` command records the caller's voice and returns the URL of a file containing the audio recording. `RecordUtterance` is blocking and is a terminal command. As such, the `actionUrl` property is required, and control of the Call picks up using the PerCL returned in response to the `actionUrl`. Recording information is returned in the `actionUrl` request.", - "x-percl-command": true, + "x-percl-command": "RecordUtterance", "x-ref-properties": [ "\"https://a.com\"", "1", @@ -2743,12 +2907,11 @@ }, "Redirect": { "description": "The `Redirect` command transfers control of a Call to the PerCL at a different URL. `Redirect` is a terminal command, so any actions following it are never executed. The maximum number of redirections allowed during the life time of a Call is 256. This is intended to prevent a Call from possibly looping infinitely due to errors in PerCL being generated.", - "x-percl-command": true, + "x-percl-command": "Redirect", "x-ref-properties": ["\"https://a.com\""], "allOf": [ { - "$ref": "#/components/schemas/PerclCommand", - "x-is-uri": true + "$ref": "#/components/schemas/PerclCommand" }, { "required": ["actionUrl"], @@ -2765,7 +2928,7 @@ }, "Reject": { "description": "The `Reject` command blocks an incoming Call. Using `Reject` is the only way to prevent FreeClimb from answering a Call. Any other response will result in an answered Call and your account will be billed.", - "x-percl-command": true, + "x-percl-command": "Reject", "x-ref-properties": ["\"TEST_STRING\""], "allOf": [ { @@ -2784,7 +2947,7 @@ }, "RemoveFromConference": { "description": "The `RemoveFromConference` command removes a Participant from a Conference but does not hang up. Instead, the Call is simply unbridged and what happens next with the Call is determined by the PerCL returned in response to the `leaveConferenceUrl` attribute.", - "x-percl-command": true, + "x-percl-command": "RemoveFromConference", "x-no-properties": true, "allOf": [ { @@ -2799,7 +2962,7 @@ }, "Say": { "description": "The `Say` command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. `Say` is useful in cases where it's difficult to pre-record a prompt for any reason. `Say` does not allow barge-in unless nested within a `GetSpeech` command. The file will always be played to completion unless nested.", - "x-percl-command": true, + "x-percl-command": "Say", "x-ref-properties": [ "\"TEST_STRING\"", "\"TEST_STRING\"", @@ -2837,7 +3000,7 @@ }, "SendDigits": { "description": "The `SendDigits` command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions.", - "x-percl-command": true, + "x-percl-command": "SendDigits", "x-ref-properties": ["\"TEST_STRING\"", "1", "false"], "allOf": [ { @@ -2864,8 +3027,8 @@ ] }, "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.", - "x-percl-command": true, + "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": "SetListen", "x-ref-properties": ["false"], "allOf": [ { @@ -2884,8 +3047,8 @@ ] }, "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.", - "x-percl-command": true, + "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": "SetTalk", "x-ref-properties": ["false"], "allOf": [ { @@ -2903,9 +3066,29 @@ } ] }, + "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, + "x-percl-command": "Sms", "x-ref-properties": [ "\"TEST_STRING\"", "\"TEST_STRING\"", @@ -2941,7 +3124,7 @@ }, "StartRecordCall": { "description": "The `StartRecordCall` command records the current call and returns the URL of a file containing the audio recording when recording completes. `StartRecordCall` is non-blocking. After recording of the current call begins, control of the call moves to the PerCL command that follows `StartRecordCall` in the current PerCL script.", - "x-percl-command": true, + "x-percl-command": "StartRecordCall", "x-no-properties": true, "allOf": [ { @@ -2954,7 +3137,7 @@ }, "TerminateConference": { "description": "The `TerminateConference` command terminates an existing Conference. Any active participants are hung up on by FreeClimb. If this is not the desired behavior, use the `RemoveFromConference` command to unbridge Calls that should not be hung up. Note: The Call requesting TerminateConference must be on the same Conference for this command to execute.", - "x-percl-command": true, + "x-percl-command": "TerminateConference", "x-no-properties": true, "allOf": [ { @@ -2969,7 +3152,7 @@ }, "Unpark": { "description": "The `Unpark` command resumes a parked call. Execution continues with the first command in the PerCL scripted returned by the actionUrl specified in the Park command as long as the call is still in progress. If the call is no longer in progress, any returned PerCL will not be executed. Unpark is a terminal command -- any commands following it in the same script are not executed.", - "x-percl-command": true, + "x-percl-command": "Unpark", "x-no-properties": true, "allOf": [ { @@ -3531,7 +3714,12 @@ "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 + } } } ] @@ -4042,6 +4230,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.", @@ -4061,6 +4254,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." } } }, @@ -4769,14 +4966,7 @@ "example": "http://www.abcmobile.com" }, "optionalAttributes": { - "x-is-map": true, - "type": "object", - "x-is-hash": true, - "additionalProperties": { - "type": "object", - "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names." - }, - "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names." + "$ref": "#/components/schemas/SMSTenDLCOptionalAttributes" }, "evpVettingScore": { "type": "integer", @@ -4962,14 +5152,7 @@ "description": "Caller supplied brand reference ID. If supplied, the value must be unique across all submitted brands. Can be used to prevent duplicate brand registrations." }, "optionalAttributes": { - "x-is-map": true, - "type": "object", - "x-is-hash": true, - "additionalProperties": { - "type": "object", - "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names." - }, - "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names." + "$ref": "#/components/schemas/SMSTenDLCOptionalAttributes" }, "mock": { "type": "boolean", @@ -5078,13 +5261,34 @@ } } }, + "TranscribeUtteranceRecord": { + "type": "object", + "x-is-object": true, + "properties": { + "saveRecording": { + "type": "boolean", + "default": false + }, + "maxLengthSec": { + "type": "integer", + "minimum": 1, + "maximum": 60, + "default": 60 + }, + "rcrdTerminationSilenceTimeMs": { + "type": "integer", + "minimum": 1, + "maximum": 3000 + } + } + }, "TranscribeUtterance": { "title": "TranscribeUtterance", "x-stoplight": { "id": "u509r3zqc38ze" }, "description": "The `TranscribeUtterance` command transcribes the caller’s voice and returns transcription of the audio and optionally returns the recording of the audio transcribed.\n\n`TranscribeUtterance` is blocking and is a terminal command. As such, the actionUrl property is required, and control of the Call picks up using the `PerCL` returned in response of the `actionUrl`. Recording and Transcription information is returned in the actionUrl request. If the reason this command ended was due to the call hanging up, any PerCL returned will not execute.", - "x-percl-command": true, + "x-percl-command": "TranscribeUtterance", "x-ref-properties": [ "\"TEST_STRING\"", "false", @@ -5111,26 +5315,7 @@ "default": false }, "record": { - "type": "object", - "x-is-object": true, - "properties": { - "saveRecording": { - "type": "boolean", - "default": false - }, - "maxLengthSec": { - "type": "integer", - "minimum": 1, - "maximum": 60, - "default": 60 - }, - "rcrdTerminationSilenceTimeMs": { - "type": "integer", - "exclusiveMinimum": true, - "minimum": 0, - "maximum": 3000 - } - } + "$ref": "#/components/schemas/TranscribeUtteranceRecord" }, "privacyForLogging": { "type": "boolean", @@ -5143,7 +5328,9 @@ "prompts": { "type": "array", "x-is-list": true, - "items": {} + "items": { + "$ref": "#/components/schemas/PerclCommand" + } } } } @@ -6466,6 +6653,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/add_to_conference_spec.rb b/spec/models/add_to_conference_spec.rb index 5803696..cd16fb3 100644 --- a/spec/models/add_to_conference_spec.rb +++ b/spec/models/add_to_conference_spec.rb @@ -98,6 +98,14 @@ 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::AddToConference.new( @@ -119,6 +127,8 @@ talk: true, + dtmf_pass_through: true, + )}.not_to raise_error() end it 'fails to initialize with input argument that is not a hash in Freeclimb::AddToConference' do @@ -141,6 +151,8 @@ talk: true, + dtmf_pass_through: true, + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -164,6 +176,8 @@ talk: true, + dtmf_pass_through: true, + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -190,6 +204,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance.valid?).to eq(true) end @@ -226,6 +242,8 @@ talk: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::AddToConference.new( allow_call_control: true, @@ -246,6 +264,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance_1.eql?(instance_2)).to eq(true) end @@ -270,6 +290,8 @@ talk: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::AddToConference.new( allow_call_control: false, @@ -290,6 +312,8 @@ talk: false, + dtmf_pass_through: false, + ) expect(instance_1.eql?(instance_2)).to eq(false) end @@ -316,6 +340,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance.hash).to be_a_kind_of(Integer) end @@ -342,6 +368,8 @@ talk: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::AddToConference.new( allow_call_control: true, @@ -362,6 +390,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash)) @@ -388,6 +418,8 @@ talk: true, + dtmf_pass_through: true, + ) it 'deserializes the data of allow_call_control' do expect(instance._deserialize("Boolean", instance.allow_call_control)).to be_a_kind_of(TrueClass) @@ -416,6 +448,9 @@ it 'deserializes the data of talk' do expect(instance._deserialize("Boolean", instance.talk)).to be_a_kind_of(TrueClass) end + 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 @@ -439,6 +474,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance.to_s).to eq(instance.to_hash.to_s) end @@ -465,6 +502,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance.to_hash).to be_a_kind_of(Hash) end @@ -489,6 +528,8 @@ talk: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::AddToConference.new( allow_call_control: true, @@ -509,6 +550,8 @@ talk: true, + dtmf_pass_through: true, + ) expect(instance_1.to_hash).to eq(instance_2.to_hash) end @@ -542,6 +585,9 @@ talk: true, + + dtmf_pass_through: true, + ) it 'returns allow_call_control in the form of hash' do expect(instance._to_hash(instance.allow_call_control)).to eq(instance.allow_call_control) @@ -570,6 +616,9 @@ it 'returns talk in the form of hash' do expect(instance._to_hash(instance.talk)).to eq(instance.talk) end + 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 diff --git a/spec/models/call_result_spec.rb b/spec/models/call_result_spec.rb index b0c1fc8..bfa6415 100644 --- a/spec/models/call_result_spec.rb +++ b/spec/models/call_result_spec.rb @@ -222,6 +222,14 @@ end end + describe 'test attribute "application_id"' do + it 'should work' do + instance.application_id = "TEST_STRING" + expect(instance.application_id).to eq("TEST_STRING") + + end + end + describe 'test method "initialize"' do it 'properly initializes with values' do expect{instance = Freeclimb::CallResult.new( @@ -266,6 +274,8 @@ subresource_uris: Object.new(), + application_id: "TS", + )}.not_to raise_error() end it 'fails to initialize with input argument that is not a hash in Freeclimb::CallResult' do @@ -311,6 +321,8 @@ subresource_uris: Object.new(), + application_id: "TS", + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -357,6 +369,8 @@ subresource_uris: Object.new(), + application_id: "TS", + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -406,6 +420,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) expect(instance.valid?).to eq(true) end @@ -465,6 +481,8 @@ subresource_uris: obj, + application_id: "TS", + ) instance_2 = Freeclimb::CallResult.new( uri: "TS", @@ -508,6 +526,8 @@ subresource_uris: obj, + application_id: "TS", + ) expect(instance_1.eql?(instance_2)).to eq(true) end @@ -555,6 +575,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) instance_2 = Freeclimb::CallResult.new( uri: "ST", @@ -598,6 +620,8 @@ subresource_uris: nil, + application_id: "ST", + ) expect(instance_1.eql?(instance_2)).to eq(false) end @@ -647,6 +671,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) expect(instance.hash).to be_a_kind_of(Integer) end @@ -696,6 +722,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) instance_2 = Freeclimb::CallResult.new( uri: "TS", @@ -739,6 +767,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash)) @@ -788,6 +818,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) it 'deserializes the data of uri' do expect(instance._deserialize("String", instance.uri)).to be_a_kind_of(String) @@ -837,6 +869,9 @@ it 'deserializes the data of subresource_uris' do expect(instance._deserialize("Object", instance.subresource_uris)).to be_a_kind_of(Object) end + it 'deserializes the data of application_id' do + expect(instance._deserialize("String", instance.application_id)).to be_a_kind_of(String) + end end describe 'test method "to_s"' do @@ -883,6 +918,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) expect(instance.to_s).to eq(instance.to_hash.to_s) end @@ -932,6 +969,8 @@ subresource_uris: Object.new(), + application_id: "TS", + ) expect(instance.to_hash).to be_a_kind_of(Hash) end @@ -979,6 +1018,8 @@ subresource_uris: obj, + application_id: "TS", + ) instance_2 = Freeclimb::CallResult.new( uri: "TS", @@ -1022,6 +1063,8 @@ subresource_uris: obj, + application_id: "TS", + ) expect(instance_1.to_hash).to eq(instance_2.to_hash) end @@ -1088,6 +1131,9 @@ subresource_uris: Object.new(), + + application_id: "TS", + ) it 'returns uri in the form of hash' do expect(instance._to_hash(instance.uri)).to eq(instance.uri) @@ -1146,6 +1192,9 @@ it 'returns subresource_uris in the form of hash' do expect(instance._to_hash(instance.subresource_uris)).to eq(instance.subresource_uris) end + it 'returns application_id in the form of hash' do + expect(instance._to_hash(instance.application_id)).to eq(instance.application_id) + end end end diff --git a/spec/models/conference_participant_result_spec.rb b/spec/models/conference_participant_result_spec.rb index 212d43a..dee47cd 100644 --- a/spec/models/conference_participant_result_spec.rb +++ b/spec/models/conference_participant_result_spec.rb @@ -100,6 +100,14 @@ 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 attribute "start_conf_on_enter"' do it 'should work' do instance.start_conf_on_enter = false @@ -129,6 +137,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, )}.not_to raise_error() @@ -153,6 +163,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, invalid_attribute: true @@ -178,6 +190,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, invalid_attribute: true @@ -206,6 +220,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -244,6 +260,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -266,6 +284,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -292,6 +312,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -314,6 +336,8 @@ listen: false, + dtmf_pass_through: false, + start_conf_on_enter: false, ) @@ -342,6 +366,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -370,6 +396,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -392,6 +420,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -420,6 +450,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -450,6 +482,9 @@ it 'deserializes the data of listen' do expect(instance._deserialize("Boolean", instance.listen)).to be_a_kind_of(TrueClass) end + it 'deserializes the data of dtmf_pass_through' do + expect(instance._deserialize("Boolean", instance.dtmf_pass_through)).to be_a_kind_of(TrueClass) + end it 'deserializes the data of start_conf_on_enter' do expect(instance._deserialize("Boolean", instance.start_conf_on_enter)).to be_a_kind_of(TrueClass) end @@ -476,6 +511,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -504,6 +541,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -530,6 +569,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -552,6 +593,8 @@ listen: true, + dtmf_pass_through: true, + start_conf_on_enter: true, ) @@ -588,6 +631,9 @@ listen: true, + dtmf_pass_through: true, + + start_conf_on_enter: true, ) @@ -618,6 +664,9 @@ it 'returns listen in the form of hash' do expect(instance._to_hash(instance.listen)).to eq(instance.listen) end + 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 it 'returns start_conf_on_enter in the form of hash' do expect(instance._to_hash(instance.start_conf_on_enter)).to eq(instance.start_conf_on_enter) end 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 0000000..44cbcf2 --- /dev/null +++ b/spec/models/set_dtmf_pass_through_spec.rb @@ -0,0 +1,183 @@ +=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: 7.9.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( + dtmf_pass_through: true, + + ) + + 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 diff --git a/spec/models/transcribe_utterance_all_of_record_spec.rb b/spec/models/transcribe_utterance_record_spec.rb similarity index 81% rename from spec/models/transcribe_utterance_all_of_record_spec.rb rename to spec/models/transcribe_utterance_record_spec.rb index e616d93..42ac4dc 100644 --- a/spec/models/transcribe_utterance_all_of_record_spec.rb +++ b/spec/models/transcribe_utterance_record_spec.rb @@ -14,15 +14,15 @@ require 'json' require 'date' -# Unit tests for Freeclimb::TranscribeUtteranceAllOfRecord +# Unit tests for Freeclimb::TranscribeUtteranceRecord # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Freeclimb::TranscribeUtteranceAllOfRecord do - let(:instance) { Freeclimb::TranscribeUtteranceAllOfRecord.new } +describe Freeclimb::TranscribeUtteranceRecord do + let(:instance) { Freeclimb::TranscribeUtteranceRecord.new } - describe 'test an instance of TranscribeUtteranceAllOfRecord' do - it 'should create an instance of TranscribeUtteranceAllOfRecord' do - expect(instance).to be_instance_of(Freeclimb::TranscribeUtteranceAllOfRecord) + describe 'test an instance of TranscribeUtteranceRecord' do + it 'should create an instance of TranscribeUtteranceRecord' do + expect(instance).to be_instance_of(Freeclimb::TranscribeUtteranceRecord) end end @@ -56,7 +56,7 @@ describe 'test method "initialize"' do it 'properly initializes with values' do - expect{instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + expect{instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -65,8 +65,8 @@ )}.not_to raise_error() end - it 'fails to initialize with input argument that is not a hash in Freeclimb::TranscribeUtteranceAllOfRecord' do - expect{instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + it 'fails to initialize with input argument that is not a hash in Freeclimb::TranscribeUtteranceRecord' do + expect{instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -77,7 +77,7 @@ )}.to raise_error(ArgumentError) end it 'fails to initialize with invalid attribute' do - expect{instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + expect{instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -91,7 +91,7 @@ describe 'test method "valid"' do it 'checks if properties are valid' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -104,7 +104,7 @@ skip 'checks if properties are invalid' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( ) expect(instance.valid?).to eq(false) @@ -115,7 +115,7 @@ describe 'test method "eql?"' do it 'checks if objects are equal' do obj = Object.new() - instance_1 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_1 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -123,7 +123,7 @@ rcrd_termination_silence_time_ms: 3000, ) - instance_2 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_2 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -135,7 +135,7 @@ end it 'checks if objects are not equal' do - instance_1 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_1 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60 - 1, @@ -143,7 +143,7 @@ rcrd_termination_silence_time_ms: 3000 - 1, ) - instance_2 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_2 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: false, max_length_sec: 60 - 2, @@ -157,7 +157,7 @@ describe 'test method "hash"' do it 'calculates hash code' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -171,7 +171,7 @@ describe 'test method "build_from_hash"' do it 'builds equivalent model from hash code' do - instance_1 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_1 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -179,7 +179,7 @@ rcrd_termination_silence_time_ms: 3000, ) - instance_2 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_2 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -193,7 +193,7 @@ end describe 'test method "_deserialize"' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -214,7 +214,7 @@ describe 'test method "to_s"' do it 'returns the string representation of the object' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -228,7 +228,7 @@ describe 'test method "to_hash"' do it 'returns the object in the form of hash' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -240,7 +240,7 @@ end it 'creates equal hash for two equal objects' do obj = Object.new() - instance_1 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_1 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -248,7 +248,7 @@ rcrd_termination_silence_time_ms: 3000, ) - instance_2 = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance_2 = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, max_length_sec: 60, @@ -261,7 +261,7 @@ end describe 'test method "_to_hash"' do - instance = Freeclimb::TranscribeUtteranceAllOfRecord.new( + instance = Freeclimb::TranscribeUtteranceRecord.new( save_recording: true, diff --git a/spec/models/transcribe_utterance_spec.rb b/spec/models/transcribe_utterance_spec.rb index e48f296..a533989 100644 --- a/spec/models/transcribe_utterance_spec.rb +++ b/spec/models/transcribe_utterance_spec.rb @@ -45,8 +45,8 @@ describe 'test attribute "record"' do it 'should work' do - instance.record = Freeclimb::TranscribeUtteranceAllOfRecord.new - expect(instance.record).to be_instance_of(Freeclimb::TranscribeUtteranceAllOfRecord) + instance.record = Freeclimb::TranscribeUtteranceRecord.new + expect(instance.record).to be_instance_of(Freeclimb::TranscribeUtteranceRecord) end end @@ -82,7 +82,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, privacy_for_recording: true, @@ -98,7 +98,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -115,7 +115,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -135,7 +135,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, privacy_for_recording: true, @@ -164,7 +164,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, @@ -178,7 +178,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, @@ -196,7 +196,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, @@ -210,7 +210,7 @@ play_beep: false, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: false, @@ -231,7 +231,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, privacy_for_recording: true, @@ -251,7 +251,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, privacy_for_recording: true, @@ -265,7 +265,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new(), + record: Freeclimb::TranscribeUtteranceRecord.new(), privacy_for_logging: true, privacy_for_recording: true, @@ -285,7 +285,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -300,7 +300,7 @@ expect(instance._deserialize("Boolean", instance.play_beep)).to be_a_kind_of(TrueClass) end it 'deserializes the data of record' do - expect(instance._deserialize("Object", instance.record)).to be_a_kind_of(Freeclimb::TranscribeUtteranceAllOfRecord) + expect(instance._deserialize("Object", instance.record)).to be_a_kind_of(Freeclimb::TranscribeUtteranceRecord) end it 'deserializes the data of privacy_for_logging' do expect(instance._deserialize("Boolean", instance.privacy_for_logging)).to be_a_kind_of(TrueClass) @@ -309,7 +309,7 @@ expect(instance._deserialize("Boolean", instance.privacy_for_recording)).to be_a_kind_of(TrueClass) end it 'deserializes the data of prompts' do - expect(instance._deserialize("Array", instance.prompts)).to be_a_kind_of(Array) + expect(instance._deserialize("Array", instance.prompts)).to be_a_kind_of(Array) end end @@ -321,7 +321,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -341,7 +341,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -359,7 +359,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, @@ -373,7 +373,7 @@ play_beep: true, - record: Freeclimb::TranscribeUtteranceAllOfRecord.new, + record: Freeclimb::TranscribeUtteranceRecord.new, privacy_for_logging: true, privacy_for_recording: true, diff --git a/spec/models/update_conference_participant_request_spec.rb b/spec/models/update_conference_participant_request_spec.rb index 9fa7a9a..d6814ab 100644 --- a/spec/models/update_conference_participant_request_spec.rb +++ b/spec/models/update_conference_participant_request_spec.rb @@ -42,6 +42,14 @@ 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::UpdateConferenceParticipantRequest.new( @@ -49,6 +57,8 @@ listen: true, + dtmf_pass_through: true, + )}.not_to raise_error() end it 'fails to initialize with input argument that is not a hash in Freeclimb::UpdateConferenceParticipantRequest' do @@ -57,6 +67,8 @@ listen: true, + dtmf_pass_through: true, + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -66,6 +78,8 @@ listen: true, + dtmf_pass_through: true, + invalid_attribute: true )}.to raise_error(ArgumentError) end @@ -78,6 +92,8 @@ listen: true, + dtmf_pass_through: true, + ) expect(instance.valid?).to eq(true) end @@ -100,12 +116,16 @@ listen: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::UpdateConferenceParticipantRequest.new( talk: true, listen: true, + dtmf_pass_through: true, + ) expect(instance_1.eql?(instance_2)).to eq(true) end @@ -116,12 +136,16 @@ listen: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::UpdateConferenceParticipantRequest.new( talk: false, listen: false, + dtmf_pass_through: false, + ) expect(instance_1.eql?(instance_2)).to eq(false) end @@ -134,6 +158,8 @@ listen: true, + dtmf_pass_through: true, + ) expect(instance.hash).to be_a_kind_of(Integer) end @@ -146,12 +172,16 @@ listen: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::UpdateConferenceParticipantRequest.new( talk: true, listen: true, + dtmf_pass_through: true, + ) expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash)) @@ -164,6 +194,8 @@ listen: true, + dtmf_pass_through: true, + ) it 'deserializes the data of talk' do expect(instance._deserialize("Boolean", instance.talk)).to be_a_kind_of(TrueClass) @@ -171,6 +203,9 @@ it 'deserializes the data of listen' do expect(instance._deserialize("Boolean", instance.listen)).to be_a_kind_of(TrueClass) end + 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 @@ -180,6 +215,8 @@ listen: true, + dtmf_pass_through: true, + ) expect(instance.to_s).to eq(instance.to_hash.to_s) end @@ -192,6 +229,8 @@ listen: true, + dtmf_pass_through: true, + ) expect(instance.to_hash).to be_a_kind_of(Hash) end @@ -202,12 +241,16 @@ listen: true, + dtmf_pass_through: true, + ) instance_2 = Freeclimb::UpdateConferenceParticipantRequest.new( talk: true, listen: true, + dtmf_pass_through: true, + ) expect(instance_1.to_hash).to eq(instance_2.to_hash) end @@ -220,6 +263,9 @@ listen: true, + + dtmf_pass_through: true, + ) it 'returns talk in the form of hash' do expect(instance._to_hash(instance.talk)).to eq(instance.talk) @@ -227,6 +273,9 @@ it 'returns listen in the form of hash' do expect(instance._to_hash(instance.listen)).to eq(instance.listen) end + 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