bandwidth-sdk 3.2.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.rb +1 -0
- 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/api_controller.rb +24 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/exceptions/invalid_request_exception.rb +29 -0
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_code_request_schema.rb +30 -4
- data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_verify_request_schema.rb +33 -10
- data/lib/bandwidth/voice_lib/bxml/verbs/bridge.rb +22 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/conference.rb +28 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +8 -0
- data/lib/bandwidth/voice_lib/voice.rb +2 -0
- data/lib/bandwidth/voice_lib/voice/client.rb +7 -2
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +145 -78
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +20 -2
- data/lib/bandwidth/voice_lib/voice/models/call_engine_modify_conference_request.rb +35 -0
- data/lib/bandwidth/voice_lib/voice/models/disconnect_cause_enum.rb +4 -1
- data/lib/bandwidth/voice_lib/voice/models/recording_metadata_response.rb +1 -1
- data/lib/bandwidth/voice_lib/voice/models/status1_enum.rb +8 -14
- data/lib/bandwidth/voice_lib/voice/models/status2_enum.rb +32 -0
- data/lib/bandwidth/voice_lib/voice/models/status_enum.rb +4 -13
- data/lib/bandwidth/voice_lib/voice/models/transcription.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 +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e10eadbf6902f10e74e9e2574332439ce256b7b8a57d8c7e87f6a776857376c0
|
4
|
+
data.tar.gz: 585279582d7e65c7a88dbb284d72a05f399be1a4c36dbc169fdeecd8a5317e61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c78bbe4acf58b05f186547b72e39f10cd198e68fe22051ab268027177544e51111b95af0f3a44b9ec1d1e038ca8420ef2a871c537fbb17138e430fc8cab1d1
|
7
|
+
data.tar.gz: ad3b16633b516c60e14c8a9469acb912f74bc36c5e737fa636d4f2c32808636e76e718a1e3bcd7f30e7dcf2d93b278e31fdd1a71c08e5fe1574d16a484a0d184
|
data/lib/bandwidth.rb
CHANGED
@@ -39,5 +39,7 @@ require_relative 'bandwidth/two_factor_auth_lib/two_factor_auth'
|
|
39
39
|
require_relative 'bandwidth/http/auth/two_factor_auth_basic_auth.rb'
|
40
40
|
require_relative 'bandwidth/voice_lib/voice'
|
41
41
|
require_relative 'bandwidth/http/auth/voice_basic_auth.rb'
|
42
|
+
require_relative 'bandwidth/web_rtc_lib/web_rtc'
|
43
|
+
require_relative 'bandwidth/http/auth/web_rtc_basic_auth.rb'
|
42
44
|
|
43
45
|
# Controllers
|
data/lib/bandwidth/client.rb
CHANGED
@@ -22,6 +22,11 @@ module Bandwidth
|
|
22
22
|
def voice_client
|
23
23
|
@voice_client ||= Voice::Client.new(config: config)
|
24
24
|
end
|
25
|
+
# Access to web_rtc_client controller.
|
26
|
+
# @return [WebRtc::Client] Returns the client instance.
|
27
|
+
def web_rtc_client
|
28
|
+
@web_rtc_client ||= WebRtc::Client.new(config: config)
|
29
|
+
end
|
25
30
|
|
26
31
|
def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
|
27
32
|
backoff_factor: 1, environment: Environment::PRODUCTION,
|
@@ -30,7 +35,9 @@ module Bandwidth
|
|
30
35
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
31
36
|
two_factor_auth_basic_auth_password: 'TODO: Replace',
|
32
37
|
voice_basic_auth_user_name: 'TODO: Replace',
|
33
|
-
voice_basic_auth_password: 'TODO: Replace',
|
38
|
+
voice_basic_auth_password: 'TODO: Replace',
|
39
|
+
web_rtc_basic_auth_user_name: 'TODO: Replace',
|
40
|
+
web_rtc_basic_auth_password: 'TODO: Replace', config: nil)
|
34
41
|
@config = if config.nil?
|
35
42
|
Configuration.new(timeout: timeout, max_retries: max_retries,
|
36
43
|
retry_interval: retry_interval,
|
@@ -41,7 +48,9 @@ module Bandwidth
|
|
41
48
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
42
49
|
two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
|
43
50
|
voice_basic_auth_user_name: voice_basic_auth_user_name,
|
44
|
-
voice_basic_auth_password: voice_basic_auth_password
|
51
|
+
voice_basic_auth_password: voice_basic_auth_password,
|
52
|
+
web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
|
53
|
+
web_rtc_basic_auth_password: web_rtc_basic_auth_password)
|
45
54
|
else
|
46
55
|
config
|
47
56
|
end
|
@@ -17,7 +17,8 @@ module Bandwidth
|
|
17
17
|
DEFAULT = 'default'.freeze,
|
18
18
|
MESSAGINGDEFAULT = 'MessagingDefault'.freeze,
|
19
19
|
TWOFACTORAUTHDEFAULT = 'TwoFactorAuthDefault'.freeze,
|
20
|
-
VOICEDEFAULT = 'VoiceDefault'.freeze
|
20
|
+
VOICEDEFAULT = 'VoiceDefault'.freeze,
|
21
|
+
WEBRTCDEFAULT = 'WebRtcDefault'.freeze
|
21
22
|
].freeze
|
22
23
|
end
|
23
24
|
|
@@ -37,6 +38,8 @@ module Bandwidth
|
|
37
38
|
attr_reader :two_factor_auth_basic_auth_password
|
38
39
|
attr_reader :voice_basic_auth_user_name
|
39
40
|
attr_reader :voice_basic_auth_password
|
41
|
+
attr_reader :web_rtc_basic_auth_user_name
|
42
|
+
attr_reader :web_rtc_basic_auth_password
|
40
43
|
|
41
44
|
class << self
|
42
45
|
attr_reader :environments
|
@@ -49,7 +52,9 @@ module Bandwidth
|
|
49
52
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
50
53
|
two_factor_auth_basic_auth_password: 'TODO: Replace',
|
51
54
|
voice_basic_auth_user_name: 'TODO: Replace',
|
52
|
-
voice_basic_auth_password: 'TODO: Replace'
|
55
|
+
voice_basic_auth_password: 'TODO: Replace',
|
56
|
+
web_rtc_basic_auth_user_name: 'TODO: Replace',
|
57
|
+
web_rtc_basic_auth_password: 'TODO: Replace')
|
53
58
|
# The value to use for connection timeout
|
54
59
|
@timeout = timeout
|
55
60
|
|
@@ -84,6 +89,12 @@ module Bandwidth
|
|
84
89
|
# The password to use with basic authentication
|
85
90
|
@voice_basic_auth_password = voice_basic_auth_password
|
86
91
|
|
92
|
+
# The username to use with basic authentication
|
93
|
+
@web_rtc_basic_auth_user_name = web_rtc_basic_auth_user_name
|
94
|
+
|
95
|
+
# The password to use with basic authentication
|
96
|
+
@web_rtc_basic_auth_password = web_rtc_basic_auth_password
|
97
|
+
|
87
98
|
# The Http Client to use for making requests.
|
88
99
|
@http_client = create_http_client
|
89
100
|
end
|
@@ -95,7 +106,9 @@ module Bandwidth
|
|
95
106
|
two_factor_auth_basic_auth_user_name: nil,
|
96
107
|
two_factor_auth_basic_auth_password: nil,
|
97
108
|
voice_basic_auth_user_name: nil,
|
98
|
-
voice_basic_auth_password: nil
|
109
|
+
voice_basic_auth_password: nil,
|
110
|
+
web_rtc_basic_auth_user_name: nil,
|
111
|
+
web_rtc_basic_auth_password: nil)
|
99
112
|
timeout ||= self.timeout
|
100
113
|
max_retries ||= self.max_retries
|
101
114
|
retry_interval ||= self.retry_interval
|
@@ -107,6 +120,8 @@ module Bandwidth
|
|
107
120
|
two_factor_auth_basic_auth_password ||= self.two_factor_auth_basic_auth_password
|
108
121
|
voice_basic_auth_user_name ||= self.voice_basic_auth_user_name
|
109
122
|
voice_basic_auth_password ||= self.voice_basic_auth_password
|
123
|
+
web_rtc_basic_auth_user_name ||= self.web_rtc_basic_auth_user_name
|
124
|
+
web_rtc_basic_auth_password ||= self.web_rtc_basic_auth_password
|
110
125
|
|
111
126
|
Configuration.new(
|
112
127
|
timeout: timeout, max_retries: max_retries,
|
@@ -117,7 +132,9 @@ module Bandwidth
|
|
117
132
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
118
133
|
two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
|
119
134
|
voice_basic_auth_user_name: voice_basic_auth_user_name,
|
120
|
-
voice_basic_auth_password: voice_basic_auth_password
|
135
|
+
voice_basic_auth_password: voice_basic_auth_password,
|
136
|
+
web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
|
137
|
+
web_rtc_basic_auth_password: web_rtc_basic_auth_password
|
121
138
|
)
|
122
139
|
end
|
123
140
|
|
@@ -133,7 +150,8 @@ module Bandwidth
|
|
133
150
|
Server::DEFAULT => 'api.bandwidth.com',
|
134
151
|
Server::MESSAGINGDEFAULT => 'https://messaging.bandwidth.com/api/v2',
|
135
152
|
Server::TWOFACTORAUTHDEFAULT => 'https://mfa.bandwidth.com/api/v1/',
|
136
|
-
Server::VOICEDEFAULT => 'https://voice.bandwidth.com'
|
153
|
+
Server::VOICEDEFAULT => 'https://voice.bandwidth.com',
|
154
|
+
Server::WEBRTCDEFAULT => 'https://api.webrtc.bandwidth.com/v1'
|
137
155
|
}
|
138
156
|
}.freeze
|
139
157
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'base64'
|
7
|
+
|
8
|
+
module Bandwidth
|
9
|
+
# Utility class for basic authorization.
|
10
|
+
class WebRtcBasicAuth
|
11
|
+
# Add basic authentication to the request.
|
12
|
+
# @param [HttpRequest] The HttpRequest object to which authentication will
|
13
|
+
# be added.
|
14
|
+
def self.apply(config, http_request)
|
15
|
+
username = config.web_rtc_basic_auth_user_name
|
16
|
+
password = config.web_rtc_basic_auth_password
|
17
|
+
value = Base64.strict_encode64("#{username}:#{password}")
|
18
|
+
header_value = "Basic #{value}"
|
19
|
+
http_request.headers['Authorization'] = header_value
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -22,7 +22,10 @@ module Bandwidth
|
|
22
22
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
23
23
|
two_factor_auth_basic_auth_password: 'TODO: Replace',
|
24
24
|
voice_basic_auth_user_name: 'TODO: Replace',
|
25
|
-
voice_basic_auth_password: 'TODO: Replace',
|
25
|
+
voice_basic_auth_password: 'TODO: Replace',
|
26
|
+
web_rtc_basic_auth_user_name: 'TODO: Replace',
|
27
|
+
web_rtc_basic_auth_password: 'TODO: Replace',
|
28
|
+
config: nil)
|
26
29
|
@config = if config.nil?
|
27
30
|
Configuration.new(timeout: timeout,
|
28
31
|
max_retries: max_retries,
|
@@ -34,7 +37,9 @@ module Bandwidth
|
|
34
37
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
35
38
|
two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
|
36
39
|
voice_basic_auth_user_name: voice_basic_auth_user_name,
|
37
|
-
voice_basic_auth_password: voice_basic_auth_password
|
40
|
+
voice_basic_auth_password: voice_basic_auth_password,
|
41
|
+
web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
|
42
|
+
web_rtc_basic_auth_password: web_rtc_basic_auth_password)
|
38
43
|
else
|
39
44
|
config
|
40
45
|
end
|
@@ -14,6 +14,7 @@ require_relative 'two_factor_auth/models/two_factor_verify_request_schema.rb'
|
|
14
14
|
require_relative 'two_factor_auth/models/two_factor_verify_code_response.rb'
|
15
15
|
|
16
16
|
# Exceptions
|
17
|
+
require_relative 'two_factor_auth/exceptions/invalid_request_exception.rb'
|
17
18
|
# Controllers
|
18
19
|
require_relative 'two_factor_auth/controllers/base_controller.rb'
|
19
20
|
require_relative 'two_factor_auth/controllers/api_controller.rb'
|
@@ -22,7 +22,10 @@ module Bandwidth
|
|
22
22
|
two_factor_auth_basic_auth_user_name: 'TODO: Replace',
|
23
23
|
two_factor_auth_basic_auth_password: 'TODO: Replace',
|
24
24
|
voice_basic_auth_user_name: 'TODO: Replace',
|
25
|
-
voice_basic_auth_password: 'TODO: Replace',
|
25
|
+
voice_basic_auth_password: 'TODO: Replace',
|
26
|
+
web_rtc_basic_auth_user_name: 'TODO: Replace',
|
27
|
+
web_rtc_basic_auth_password: 'TODO: Replace',
|
28
|
+
config: nil)
|
26
29
|
@config = if config.nil?
|
27
30
|
Configuration.new(timeout: timeout,
|
28
31
|
max_retries: max_retries,
|
@@ -34,7 +37,9 @@ module Bandwidth
|
|
34
37
|
two_factor_auth_basic_auth_user_name: two_factor_auth_basic_auth_user_name,
|
35
38
|
two_factor_auth_basic_auth_password: two_factor_auth_basic_auth_password,
|
36
39
|
voice_basic_auth_user_name: voice_basic_auth_user_name,
|
37
|
-
voice_basic_auth_password: voice_basic_auth_password
|
40
|
+
voice_basic_auth_password: voice_basic_auth_password,
|
41
|
+
web_rtc_basic_auth_user_name: web_rtc_basic_auth_user_name,
|
42
|
+
web_rtc_basic_auth_password: web_rtc_basic_auth_password)
|
38
43
|
else
|
39
44
|
config
|
40
45
|
end
|
@@ -41,6 +41,14 @@ module TwoFactorAuth
|
|
41
41
|
)
|
42
42
|
TwoFactorAuthBasicAuth.apply(config, _request)
|
43
43
|
_response = execute_request(_request)
|
44
|
+
|
45
|
+
# Validate response against endpoint and global error codes.
|
46
|
+
if _response.status_code == 400
|
47
|
+
raise InvalidRequestException.new(
|
48
|
+
'client request error',
|
49
|
+
_response
|
50
|
+
)
|
51
|
+
end
|
44
52
|
validate_response(_response)
|
45
53
|
|
46
54
|
# Return appropriate response type.
|
@@ -79,6 +87,14 @@ module TwoFactorAuth
|
|
79
87
|
)
|
80
88
|
TwoFactorAuthBasicAuth.apply(config, _request)
|
81
89
|
_response = execute_request(_request)
|
90
|
+
|
91
|
+
# Validate response against endpoint and global error codes.
|
92
|
+
if _response.status_code == 400
|
93
|
+
raise InvalidRequestException.new(
|
94
|
+
'client request error',
|
95
|
+
_response
|
96
|
+
)
|
97
|
+
end
|
82
98
|
validate_response(_response)
|
83
99
|
|
84
100
|
# Return appropriate response type.
|
@@ -117,6 +133,14 @@ module TwoFactorAuth
|
|
117
133
|
)
|
118
134
|
TwoFactorAuthBasicAuth.apply(config, _request)
|
119
135
|
_response = execute_request(_request)
|
136
|
+
|
137
|
+
# Validate response against endpoint and global error codes.
|
138
|
+
if _response.status_code == 400
|
139
|
+
raise InvalidRequestException.new(
|
140
|
+
'client request error',
|
141
|
+
_response
|
142
|
+
)
|
143
|
+
end
|
120
144
|
validate_response(_response)
|
121
145
|
|
122
146
|
# Return appropriate response type.
|
data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/exceptions/invalid_request_exception.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# InvalidRequest class.
|
8
|
+
class InvalidRequestException < APIException
|
9
|
+
# An error message pertaining to what the issue could be
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :result
|
12
|
+
|
13
|
+
# The constructor.
|
14
|
+
# @param [String] The reason for raising an exception.
|
15
|
+
# @param [HttpResponse] The HttpReponse of the API call.
|
16
|
+
def initialize(reason, response)
|
17
|
+
super(reason, response)
|
18
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
19
|
+
unbox(hash)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Populates this object by extracting properties from a hash.
|
23
|
+
# @param [Hash] The deserialized response sent by the server in the
|
24
|
+
# response body.
|
25
|
+
def unbox(hash)
|
26
|
+
@result = hash['result']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_code_request_schema.rb
CHANGED
@@ -6,22 +6,38 @@
|
|
6
6
|
module Bandwidth
|
7
7
|
# TwoFactorCodeRequestSchema Model.
|
8
8
|
class TwoFactorCodeRequestSchema < BaseModel
|
9
|
-
#
|
9
|
+
# The phone number to send the 2fa code to.
|
10
10
|
# @return [String]
|
11
11
|
attr_accessor :to
|
12
12
|
|
13
|
-
#
|
13
|
+
# The application phone number, the sender of the 2fa code.
|
14
14
|
# @return [String]
|
15
15
|
attr_accessor :from
|
16
16
|
|
17
|
-
#
|
17
|
+
# The application unique ID, obtained from Bandwidth.
|
18
18
|
# @return [String]
|
19
19
|
attr_accessor :application_id
|
20
20
|
|
21
|
-
#
|
21
|
+
# An optional field to denote what scope or action the 2fa code is
|
22
|
+
# addressing. If not supplied, defaults to "2FA".
|
22
23
|
# @return [String]
|
23
24
|
attr_accessor :scope
|
24
25
|
|
26
|
+
# The message format of the 2fa code. There are three values that the
|
27
|
+
# system will replace "{CODE}", "{NAME}", "{SCOPE}". The "{SCOPE}" and
|
28
|
+
# "{NAME} value template are optional, while "{CODE}" must be supplied. As
|
29
|
+
# the name would suggest, code will be replace with the actual 2fa code.
|
30
|
+
# Name is replaced with the application name, configured during provisioning
|
31
|
+
# of 2fa. The scope value is the same value sent during the call and
|
32
|
+
# partitioned by the server.
|
33
|
+
# @return [String]
|
34
|
+
attr_accessor :message
|
35
|
+
|
36
|
+
# The number of digits for your 2fa code. The valid number ranges from 2 to
|
37
|
+
# 8, inclusively.
|
38
|
+
# @return [Float]
|
39
|
+
attr_accessor :digits
|
40
|
+
|
25
41
|
# A mapping from model property names to API property names.
|
26
42
|
def self.names
|
27
43
|
@_hash = {} if @_hash.nil?
|
@@ -29,17 +45,23 @@ module Bandwidth
|
|
29
45
|
@_hash['from'] = 'from'
|
30
46
|
@_hash['application_id'] = 'applicationId'
|
31
47
|
@_hash['scope'] = 'scope'
|
48
|
+
@_hash['message'] = 'message'
|
49
|
+
@_hash['digits'] = 'digits'
|
32
50
|
@_hash
|
33
51
|
end
|
34
52
|
|
35
53
|
def initialize(to = nil,
|
36
54
|
from = nil,
|
37
55
|
application_id = nil,
|
56
|
+
message = nil,
|
57
|
+
digits = nil,
|
38
58
|
scope = nil)
|
39
59
|
@to = to
|
40
60
|
@from = from
|
41
61
|
@application_id = application_id
|
42
62
|
@scope = scope
|
63
|
+
@message = message
|
64
|
+
@digits = digits
|
43
65
|
end
|
44
66
|
|
45
67
|
# Creates an instance of the object from a hash.
|
@@ -50,12 +72,16 @@ module Bandwidth
|
|
50
72
|
to = hash['to']
|
51
73
|
from = hash['from']
|
52
74
|
application_id = hash['applicationId']
|
75
|
+
message = hash['message']
|
76
|
+
digits = hash['digits']
|
53
77
|
scope = hash['scope']
|
54
78
|
|
55
79
|
# Create object from extracted values.
|
56
80
|
TwoFactorCodeRequestSchema.new(to,
|
57
81
|
from,
|
58
82
|
application_id,
|
83
|
+
message,
|
84
|
+
digits,
|
59
85
|
scope)
|
60
86
|
end
|
61
87
|
end
|
data/lib/bandwidth/two_factor_auth_lib/two_factor_auth/models/two_factor_verify_request_schema.rb
CHANGED
@@ -6,23 +6,36 @@
|
|
6
6
|
module Bandwidth
|
7
7
|
# TwoFactorVerifyRequestSchema Model.
|
8
8
|
class TwoFactorVerifyRequestSchema < BaseModel
|
9
|
-
#
|
9
|
+
# The phone number to send the 2fa code to.
|
10
10
|
# @return [String]
|
11
11
|
attr_accessor :to
|
12
12
|
|
13
|
-
#
|
13
|
+
# The application phone number, the sender of the 2fa code.
|
14
14
|
# @return [String]
|
15
15
|
attr_accessor :from
|
16
16
|
|
17
|
-
#
|
17
|
+
# The application unique ID, obtained from Bandwidth.
|
18
18
|
# @return [String]
|
19
19
|
attr_accessor :application_id
|
20
20
|
|
21
|
-
#
|
21
|
+
# An optional field to denote what scope or action the 2fa code is
|
22
|
+
# addressing. If not supplied, defaults to "2FA".
|
22
23
|
# @return [String]
|
23
24
|
attr_accessor :scope
|
24
25
|
|
25
|
-
#
|
26
|
+
# The number of digits for your 2fa code. The valid number ranges from 2 to
|
27
|
+
# 8, inclusively.
|
28
|
+
# @return [Float]
|
29
|
+
attr_accessor :digits
|
30
|
+
|
31
|
+
# The time period, in minutes, to validate the 2fa code. By setting this to
|
32
|
+
# 3 minutes, it will mean any code generated within the last 3 minutes are
|
33
|
+
# still valid. The valid range for expiration time is between 0 and 15
|
34
|
+
# minutes, exclusively and inclusively, respectively.
|
35
|
+
# @return [Float]
|
36
|
+
attr_accessor :expiration_time_in_minutes
|
37
|
+
|
38
|
+
# The generated 2fa code to check if valid
|
26
39
|
# @return [String]
|
27
40
|
attr_accessor :code
|
28
41
|
|
@@ -33,6 +46,8 @@ module Bandwidth
|
|
33
46
|
@_hash['from'] = 'from'
|
34
47
|
@_hash['application_id'] = 'applicationId'
|
35
48
|
@_hash['scope'] = 'scope'
|
49
|
+
@_hash['digits'] = 'digits'
|
50
|
+
@_hash['expiration_time_in_minutes'] = 'expirationTimeInMinutes'
|
36
51
|
@_hash['code'] = 'code'
|
37
52
|
@_hash
|
38
53
|
end
|
@@ -40,12 +55,16 @@ module Bandwidth
|
|
40
55
|
def initialize(to = nil,
|
41
56
|
from = nil,
|
42
57
|
application_id = nil,
|
43
|
-
|
44
|
-
|
58
|
+
digits = nil,
|
59
|
+
expiration_time_in_minutes = nil,
|
60
|
+
code = nil,
|
61
|
+
scope = nil)
|
45
62
|
@to = to
|
46
63
|
@from = from
|
47
64
|
@application_id = application_id
|
48
65
|
@scope = scope
|
66
|
+
@digits = digits
|
67
|
+
@expiration_time_in_minutes = expiration_time_in_minutes
|
49
68
|
@code = code
|
50
69
|
end
|
51
70
|
|
@@ -57,15 +76,19 @@ module Bandwidth
|
|
57
76
|
to = hash['to']
|
58
77
|
from = hash['from']
|
59
78
|
application_id = hash['applicationId']
|
60
|
-
|
79
|
+
digits = hash['digits']
|
80
|
+
expiration_time_in_minutes = hash['expirationTimeInMinutes']
|
61
81
|
code = hash['code']
|
82
|
+
scope = hash['scope']
|
62
83
|
|
63
84
|
# Create object from extracted values.
|
64
85
|
TwoFactorVerifyRequestSchema.new(to,
|
65
86
|
from,
|
66
87
|
application_id,
|
67
|
-
|
68
|
-
|
88
|
+
digits,
|
89
|
+
expiration_time_in_minutes,
|
90
|
+
code,
|
91
|
+
scope)
|
69
92
|
end
|
70
93
|
end
|
71
94
|
end
|