bandwidth-sdk 3.6.0 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bandwidth.rb +2 -0
- data/lib/bandwidth/client.rb +11 -2
- data/lib/bandwidth/configuration.rb +23 -5
- data/lib/bandwidth/http/auth/web_rtc_basic_auth.rb +22 -0
- data/lib/bandwidth/messaging_lib/messaging/client.rb +7 -2
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/client.rb +7 -2
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/client.rb +7 -2
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/web_rtc_lib/web_rtc.rb +21 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/client.rb +49 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +682 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +49 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +34 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +47 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +83 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +35 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb +17 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +44 -0
- data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +54 -0
- metadata +14 -2
@@ -0,0 +1,49 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# BaseController.
|
8
|
+
class BaseController
|
9
|
+
attr_accessor :config, :http_call_back
|
10
|
+
|
11
|
+
def initialize(config, http_call_back: nil)
|
12
|
+
@config = config
|
13
|
+
@http_call_back = http_call_back
|
14
|
+
|
15
|
+
@global_headers = {
|
16
|
+
'user-agent' => 'ruby-sdk-refs/tags/ruby3.7.0'
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate_parameters(args)
|
21
|
+
args.each do |_name, value|
|
22
|
+
if value.nil?
|
23
|
+
raise ArgumentError, "Required parameter #{_name} cannot be nil."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute_request(request, binary: false)
|
29
|
+
@http_call_back.on_before_request(request) if @http_call_back
|
30
|
+
|
31
|
+
APIHelper.clean_hash(request.headers)
|
32
|
+
request.headers.merge!(@global_headers)
|
33
|
+
|
34
|
+
response = if binary
|
35
|
+
config.http_client.execute_as_binary(request)
|
36
|
+
else
|
37
|
+
config.http_client.execute_as_string(request)
|
38
|
+
end
|
39
|
+
@http_call_back.on_after_response(response) if @http_call_back
|
40
|
+
|
41
|
+
response
|
42
|
+
end
|
43
|
+
|
44
|
+
def validate_response(response)
|
45
|
+
raise APIException.new 'HTTP Response Not OK', response unless
|
46
|
+
response.status_code.between?(200, 208) # [200,208] = HTTP OK
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# Error class.
|
8
|
+
class ErrorException < APIException
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Integer]
|
11
|
+
attr_accessor :code
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :message
|
16
|
+
|
17
|
+
# The constructor.
|
18
|
+
# @param [String] The reason for raising an exception.
|
19
|
+
# @param [HttpResponse] The HttpReponse of the API call.
|
20
|
+
def initialize(reason, response)
|
21
|
+
super(reason, response)
|
22
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
23
|
+
unbox(hash)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Populates this object by extracting properties from a hash.
|
27
|
+
# @param [Hash] The deserialized response sent by the server in the
|
28
|
+
# response body.
|
29
|
+
def unbox(hash)
|
30
|
+
@code = hash['code']
|
31
|
+
@message = hash['message']
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# AccountsParticipantsResponse Model.
|
8
|
+
class AccountsParticipantsResponse < BaseModel
|
9
|
+
# A participant object
|
10
|
+
# @return [Participant]
|
11
|
+
attr_accessor :participant
|
12
|
+
|
13
|
+
# Auth token for the returned participant
|
14
|
+
# This should be passed to the participant so that they can connect to the
|
15
|
+
# platform
|
16
|
+
# @return [String]
|
17
|
+
attr_accessor :token
|
18
|
+
|
19
|
+
# A mapping from model property names to API property names.
|
20
|
+
def self.names
|
21
|
+
@_hash = {} if @_hash.nil?
|
22
|
+
@_hash['participant'] = 'participant'
|
23
|
+
@_hash['token'] = 'token'
|
24
|
+
@_hash
|
25
|
+
end
|
26
|
+
|
27
|
+
def initialize(participant = nil,
|
28
|
+
token = nil)
|
29
|
+
@participant = participant
|
30
|
+
@token = token
|
31
|
+
end
|
32
|
+
|
33
|
+
# Creates an instance of the object from a hash.
|
34
|
+
def self.from_hash(hash)
|
35
|
+
return nil unless hash
|
36
|
+
|
37
|
+
# Extract variables from the hash.
|
38
|
+
participant = Participant.from_hash(hash['participant']) if
|
39
|
+
hash['participant']
|
40
|
+
token = hash['token']
|
41
|
+
|
42
|
+
# Create object from extracted values.
|
43
|
+
AccountsParticipantsResponse.new(participant,
|
44
|
+
token)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# A participant object
|
8
|
+
class Participant < BaseModel
|
9
|
+
# Unique id of the participant
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# Full callback url to use for notifications about this participant
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :callback_url
|
16
|
+
|
17
|
+
# Defines if this participant can publish audio or video
|
18
|
+
# @return [List of PublishPermissionEnum]
|
19
|
+
attr_accessor :publish_permissions
|
20
|
+
|
21
|
+
# List of session ids this participant is associated with
|
22
|
+
# Capped to one
|
23
|
+
# @return [List of String]
|
24
|
+
attr_accessor :sessions
|
25
|
+
|
26
|
+
# List of session ids this participant is associated with
|
27
|
+
# Capped to one
|
28
|
+
# @return [Subscriptions]
|
29
|
+
attr_accessor :subscriptions
|
30
|
+
|
31
|
+
# User defined tag to associate with the participant
|
32
|
+
# @return [String]
|
33
|
+
attr_accessor :tag
|
34
|
+
|
35
|
+
# A mapping from model property names to API property names.
|
36
|
+
def self.names
|
37
|
+
@_hash = {} if @_hash.nil?
|
38
|
+
@_hash['id'] = 'id'
|
39
|
+
@_hash['callback_url'] = 'callbackUrl'
|
40
|
+
@_hash['publish_permissions'] = 'publishPermissions'
|
41
|
+
@_hash['sessions'] = 'sessions'
|
42
|
+
@_hash['subscriptions'] = 'subscriptions'
|
43
|
+
@_hash['tag'] = 'tag'
|
44
|
+
@_hash
|
45
|
+
end
|
46
|
+
|
47
|
+
def initialize(id = nil,
|
48
|
+
callback_url = nil,
|
49
|
+
publish_permissions = nil,
|
50
|
+
sessions = nil,
|
51
|
+
subscriptions = nil,
|
52
|
+
tag = nil)
|
53
|
+
@id = id
|
54
|
+
@callback_url = callback_url
|
55
|
+
@publish_permissions = publish_permissions
|
56
|
+
@sessions = sessions
|
57
|
+
@subscriptions = subscriptions
|
58
|
+
@tag = tag
|
59
|
+
end
|
60
|
+
|
61
|
+
# Creates an instance of the object from a hash.
|
62
|
+
def self.from_hash(hash)
|
63
|
+
return nil unless hash
|
64
|
+
|
65
|
+
# Extract variables from the hash.
|
66
|
+
id = hash['id']
|
67
|
+
callback_url = hash['callbackUrl']
|
68
|
+
publish_permissions = hash['publishPermissions']
|
69
|
+
sessions = hash['sessions']
|
70
|
+
subscriptions = Subscriptions.from_hash(hash['subscriptions']) if
|
71
|
+
hash['subscriptions']
|
72
|
+
tag = hash['tag']
|
73
|
+
|
74
|
+
# Create object from extracted values.
|
75
|
+
Participant.new(id,
|
76
|
+
callback_url,
|
77
|
+
publish_permissions,
|
78
|
+
sessions,
|
79
|
+
subscriptions,
|
80
|
+
tag)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# ParticipantSubscription Model.
|
8
|
+
class ParticipantSubscription < BaseModel
|
9
|
+
# Participant the subscriber should be subscribed to
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :participant_id
|
12
|
+
|
13
|
+
# A mapping from model property names to API property names.
|
14
|
+
def self.names
|
15
|
+
@_hash = {} if @_hash.nil?
|
16
|
+
@_hash['participant_id'] = 'participantId'
|
17
|
+
@_hash
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(participant_id = nil)
|
21
|
+
@participant_id = participant_id
|
22
|
+
end
|
23
|
+
|
24
|
+
# Creates an instance of the object from a hash.
|
25
|
+
def self.from_hash(hash)
|
26
|
+
return nil unless hash
|
27
|
+
|
28
|
+
# Extract variables from the hash.
|
29
|
+
participant_id = hash['participantId']
|
30
|
+
|
31
|
+
# Create object from extracted values.
|
32
|
+
ParticipantSubscription.new(participant_id)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# PublishPermission.
|
8
|
+
class PublishPermissionEnum
|
9
|
+
PUBLISH_PERMISSION_ENUM = [
|
10
|
+
# TODO: Write general description for AUDIO
|
11
|
+
AUDIO = 'AUDIO'.freeze,
|
12
|
+
|
13
|
+
# TODO: Write general description for VIDEO
|
14
|
+
VIDEO = 'VIDEO'.freeze
|
15
|
+
].freeze
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# A session object
|
8
|
+
class Session < BaseModel
|
9
|
+
# Unique id of the session
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# User defined tag to associate with the session
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :tag
|
16
|
+
|
17
|
+
# A mapping from model property names to API property names.
|
18
|
+
def self.names
|
19
|
+
@_hash = {} if @_hash.nil?
|
20
|
+
@_hash['id'] = 'id'
|
21
|
+
@_hash['tag'] = 'tag'
|
22
|
+
@_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(id = nil,
|
26
|
+
tag = nil)
|
27
|
+
@id = id
|
28
|
+
@tag = tag
|
29
|
+
end
|
30
|
+
|
31
|
+
# Creates an instance of the object from a hash.
|
32
|
+
def self.from_hash(hash)
|
33
|
+
return nil unless hash
|
34
|
+
|
35
|
+
# Extract variables from the hash.
|
36
|
+
id = hash['id']
|
37
|
+
tag = hash['tag']
|
38
|
+
|
39
|
+
# Create object from extracted values.
|
40
|
+
Session.new(id,
|
41
|
+
tag)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# Subscriptions Model.
|
8
|
+
class Subscriptions < BaseModel
|
9
|
+
# Session the subscriptions are associated with
|
10
|
+
# If this is the only field, the subscriber will be subscribed to all
|
11
|
+
# participants in the session (including any participants that are later
|
12
|
+
# added to the session)
|
13
|
+
# @return [String]
|
14
|
+
attr_accessor :session_id
|
15
|
+
|
16
|
+
# Subset of participants to subscribe to in the session. Optional.
|
17
|
+
# @return [List of ParticipantSubscription]
|
18
|
+
attr_accessor :participants
|
19
|
+
|
20
|
+
# A mapping from model property names to API property names.
|
21
|
+
def self.names
|
22
|
+
@_hash = {} if @_hash.nil?
|
23
|
+
@_hash['session_id'] = 'sessionId'
|
24
|
+
@_hash['participants'] = 'participants'
|
25
|
+
@_hash
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize(session_id = nil,
|
29
|
+
participants = nil)
|
30
|
+
@session_id = session_id
|
31
|
+
@participants = participants
|
32
|
+
end
|
33
|
+
|
34
|
+
# Creates an instance of the object from a hash.
|
35
|
+
def self.from_hash(hash)
|
36
|
+
return nil unless hash
|
37
|
+
|
38
|
+
# Extract variables from the hash.
|
39
|
+
session_id = hash['sessionId']
|
40
|
+
# Parameter is an array, so we need to iterate through it
|
41
|
+
participants = nil
|
42
|
+
unless hash['participants'].nil?
|
43
|
+
participants = []
|
44
|
+
hash['participants'].each do |structure|
|
45
|
+
participants << (ParticipantSubscription.from_hash(structure) if structure)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Create object from extracted values.
|
50
|
+
Subscriptions.new(session_id,
|
51
|
+
participants)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bandwidth-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- APIMatic SDK Generator
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- lib/bandwidth/http/auth/messaging_basic_auth.rb
|
112
112
|
- lib/bandwidth/http/auth/two_factor_auth_basic_auth.rb
|
113
113
|
- lib/bandwidth/http/auth/voice_basic_auth.rb
|
114
|
+
- lib/bandwidth/http/auth/web_rtc_basic_auth.rb
|
114
115
|
- lib/bandwidth/http/faraday_client.rb
|
115
116
|
- lib/bandwidth/http/http_call_back.rb
|
116
117
|
- lib/bandwidth/http/http_client.rb
|
@@ -188,6 +189,17 @@ files:
|
|
188
189
|
- lib/bandwidth/voice_lib/voice/models/transcript.rb
|
189
190
|
- lib/bandwidth/voice_lib/voice/models/transcription.rb
|
190
191
|
- lib/bandwidth/voice_lib/voice/models/transcription_response.rb
|
192
|
+
- lib/bandwidth/web_rtc_lib/web_rtc.rb
|
193
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/client.rb
|
194
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb
|
195
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb
|
196
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb
|
197
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb
|
198
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb
|
199
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb
|
200
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/publish_permission_enum.rb
|
201
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb
|
202
|
+
- lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb
|
191
203
|
homepage: https://apimatic.io
|
192
204
|
licenses:
|
193
205
|
- MIT
|