vonage 7.27.0 → 8.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +89 -388
  3. data/lib/vonage/applications.rb +4 -12
  4. data/lib/vonage/basic.rb +1 -1
  5. data/lib/vonage/bearer_token.rb +1 -1
  6. data/lib/vonage/client.rb +0 -65
  7. data/lib/vonage/client_error.rb +1 -1
  8. data/lib/vonage/config.rb +1 -9
  9. data/lib/vonage/conversations/events.rb +0 -12
  10. data/lib/vonage/conversations/legs.rb +0 -6
  11. data/lib/vonage/conversations/members.rb +0 -15
  12. data/lib/vonage/conversations/users.rb +0 -15
  13. data/lib/vonage/conversations.rb +0 -30
  14. data/lib/vonage/errors.rb +20 -37
  15. data/lib/vonage/gsm7.rb +1 -1
  16. data/lib/vonage/jwt.rb +0 -17
  17. data/lib/vonage/key_secret_params.rb +2 -3
  18. data/lib/vonage/keys.rb +1 -11
  19. data/lib/vonage/logger.rb +3 -5
  20. data/lib/vonage/messaging/channels/viber.rb +1 -8
  21. data/lib/vonage/messaging/channels/whats_app.rb +1 -3
  22. data/lib/vonage/messaging/message.rb +0 -1
  23. data/lib/vonage/messaging.rb +4 -34
  24. data/lib/vonage/namespace.rb +68 -137
  25. data/lib/vonage/numbers.rb +17 -40
  26. data/lib/vonage/server_error.rb +1 -1
  27. data/lib/vonage/signature.rb +5 -5
  28. data/lib/vonage/sms.rb +20 -20
  29. data/lib/vonage/version.rb +1 -1
  30. data/lib/vonage/video/archives.rb +53 -18
  31. data/lib/vonage/video/list_response.rb +11 -0
  32. data/lib/vonage/video/moderation.rb +22 -7
  33. data/lib/vonage/video/signals.rb +9 -4
  34. data/lib/vonage/video/streams.rb +12 -6
  35. data/lib/vonage/video.rb +13 -50
  36. data/lib/vonage/voice/actions/connect.rb +5 -34
  37. data/lib/vonage/voice/actions/conversation.rb +4 -10
  38. data/lib/vonage/voice/actions/input.rb +3 -19
  39. data/lib/vonage/voice/actions/notify.rb +3 -8
  40. data/lib/vonage/voice/actions/pay.rb +107 -0
  41. data/lib/vonage/voice/actions/record.rb +4 -52
  42. data/lib/vonage/voice/actions/stream.rb +4 -48
  43. data/lib/vonage/voice/actions/talk.rb +4 -54
  44. data/lib/vonage/voice/talk.rb +1 -11
  45. data/lib/vonage/voice.rb +0 -24
  46. data/lib/vonage.rb +0 -4
  47. data/vonage.gemspec +1 -3
  48. metadata +9 -104
  49. data/lib/vonage/api_error.rb +0 -33
  50. data/lib/vonage/conversation/event/list_response.rb +0 -11
  51. data/lib/vonage/conversation/event.rb +0 -108
  52. data/lib/vonage/conversation/list_response.rb +0 -11
  53. data/lib/vonage/conversation/member/list_response.rb +0 -11
  54. data/lib/vonage/conversation/member.rb +0 -134
  55. data/lib/vonage/conversation/user/conversations_list_response.rb +0 -11
  56. data/lib/vonage/conversation/user/sessions_list_response.rb +0 -11
  57. data/lib/vonage/conversation/user.rb +0 -67
  58. data/lib/vonage/conversation.rb +0 -164
  59. data/lib/vonage/meetings/applications.rb +0 -28
  60. data/lib/vonage/meetings/dial_in_numbers/list_response.rb +0 -11
  61. data/lib/vonage/meetings/dial_in_numbers.rb +0 -26
  62. data/lib/vonage/meetings/recordings.rb +0 -42
  63. data/lib/vonage/meetings/rooms/list_response.rb +0 -11
  64. data/lib/vonage/meetings/rooms.rb +0 -167
  65. data/lib/vonage/meetings/sessions/list_response.rb +0 -11
  66. data/lib/vonage/meetings/sessions.rb +0 -31
  67. data/lib/vonage/meetings/themes/list_response.rb +0 -11
  68. data/lib/vonage/meetings/themes.rb +0 -239
  69. data/lib/vonage/meetings.rb +0 -50
  70. data/lib/vonage/messaging/channels/rcs.rb +0 -42
  71. data/lib/vonage/network_authentication/client_authentication.rb +0 -39
  72. data/lib/vonage/network_authentication/server_authentication.rb +0 -47
  73. data/lib/vonage/network_authentication.rb +0 -22
  74. data/lib/vonage/network_number_verification.rb +0 -92
  75. data/lib/vonage/network_sim_swap.rb +0 -84
  76. data/lib/vonage/number_insight_2.rb +0 -36
  77. data/lib/vonage/proactive_connect/events/list_response.rb +0 -11
  78. data/lib/vonage/proactive_connect/events.rb +0 -71
  79. data/lib/vonage/proactive_connect/item.rb +0 -116
  80. data/lib/vonage/proactive_connect/items/file_response.rb +0 -32
  81. data/lib/vonage/proactive_connect/items/list_response.rb +0 -11
  82. data/lib/vonage/proactive_connect/items.rb +0 -116
  83. data/lib/vonage/proactive_connect/list.rb +0 -186
  84. data/lib/vonage/proactive_connect/lists/list_response.rb +0 -11
  85. data/lib/vonage/proactive_connect/lists.rb +0 -38
  86. data/lib/vonage/proactive_connect.rb +0 -43
  87. data/lib/vonage/subaccounts/balance_transfers/list_response.rb +0 -11
  88. data/lib/vonage/subaccounts/credit_transfers/list_response.rb +0 -11
  89. data/lib/vonage/subaccounts/list_response.rb +0 -15
  90. data/lib/vonage/subaccounts.rb +0 -203
  91. data/lib/vonage/users/list_response.rb +0 -11
  92. data/lib/vonage/users.rb +0 -156
  93. data/lib/vonage/verify2/channels/email.rb +0 -36
  94. data/lib/vonage/verify2/channels/silent_auth.rb +0 -45
  95. data/lib/vonage/verify2/channels/sms.rb +0 -63
  96. data/lib/vonage/verify2/channels/voice.rb +0 -32
  97. data/lib/vonage/verify2/channels/whats_app.rb +0 -39
  98. data/lib/vonage/verify2/channels/whats_app_interactive.rb +0 -32
  99. data/lib/vonage/verify2/start_verification_options.rb +0 -63
  100. data/lib/vonage/verify2/workflow.rb +0 -39
  101. data/lib/vonage/verify2/workflow_builder.rb +0 -25
  102. data/lib/vonage/verify2.rb +0 -100
  103. data/lib/vonage/video/archives/list_response.rb +0 -11
  104. data/lib/vonage/video/broadcasts/list_response.rb +0 -11
  105. data/lib/vonage/video/broadcasts.rb +0 -75
  106. data/lib/vonage/video/captions.rb +0 -67
  107. data/lib/vonage/video/renders/list_response.rb +0 -11
  108. data/lib/vonage/video/renders.rb +0 -107
  109. data/lib/vonage/video/sip.rb +0 -48
  110. data/lib/vonage/video/streams/list_response.rb +0 -11
  111. data/lib/vonage/video/web_socket.rb +0 -61
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vonage
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.27.0
4
+ version: 8.0.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vonage
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-28 00:00:00.000000000 Z
11
+ date: 2022-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: vonage-jwt
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.0
19
+ version: 0.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.0
26
+ version: 0.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: zeitwerk
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,40 +58,6 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.5'
61
- - !ruby/object:Gem::Dependency
62
- name: multipart-post
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '2.0'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '2.0'
75
- - !ruby/object:Gem::Dependency
76
- name: net-http-persistent
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '4.0'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 4.0.2
85
- type: :runtime
86
- prerelease: false
87
- version_requirements: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '4.0'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 4.0.2
95
61
  - !ruby/object:Gem::Dependency
96
62
  name: rexml
97
63
  requirement: !ruby/object:Gem::Requirement
@@ -133,7 +99,6 @@ files:
133
99
  - lib/vonage/abstract_authentication.rb
134
100
  - lib/vonage/account.rb
135
101
  - lib/vonage/alerts.rb
136
- - lib/vonage/api_error.rb
137
102
  - lib/vonage/applications.rb
138
103
  - lib/vonage/applications/list_response.rb
139
104
  - lib/vonage/authentication_error.rb
@@ -142,15 +107,6 @@ files:
142
107
  - lib/vonage/client.rb
143
108
  - lib/vonage/client_error.rb
144
109
  - lib/vonage/config.rb
145
- - lib/vonage/conversation.rb
146
- - lib/vonage/conversation/event.rb
147
- - lib/vonage/conversation/event/list_response.rb
148
- - lib/vonage/conversation/list_response.rb
149
- - lib/vonage/conversation/member.rb
150
- - lib/vonage/conversation/member/list_response.rb
151
- - lib/vonage/conversation/user.rb
152
- - lib/vonage/conversation/user/conversations_list_response.rb
153
- - lib/vonage/conversation/user/sessions_list_response.rb
154
110
  - lib/vonage/conversations.rb
155
111
  - lib/vonage/conversations/events.rb
156
112
  - lib/vonage/conversations/legs.rb
@@ -169,50 +125,22 @@ files:
169
125
  - lib/vonage/key_secret_params.rb
170
126
  - lib/vonage/keys.rb
171
127
  - lib/vonage/logger.rb
172
- - lib/vonage/meetings.rb
173
- - lib/vonage/meetings/applications.rb
174
- - lib/vonage/meetings/dial_in_numbers.rb
175
- - lib/vonage/meetings/dial_in_numbers/list_response.rb
176
- - lib/vonage/meetings/recordings.rb
177
- - lib/vonage/meetings/rooms.rb
178
- - lib/vonage/meetings/rooms/list_response.rb
179
- - lib/vonage/meetings/sessions.rb
180
- - lib/vonage/meetings/sessions/list_response.rb
181
- - lib/vonage/meetings/themes.rb
182
- - lib/vonage/meetings/themes/list_response.rb
183
128
  - lib/vonage/messages.rb
184
129
  - lib/vonage/messaging.rb
185
130
  - lib/vonage/messaging/channels/messenger.rb
186
131
  - lib/vonage/messaging/channels/mms.rb
187
- - lib/vonage/messaging/channels/rcs.rb
188
132
  - lib/vonage/messaging/channels/sms.rb
189
133
  - lib/vonage/messaging/channels/viber.rb
190
134
  - lib/vonage/messaging/channels/whats_app.rb
191
135
  - lib/vonage/messaging/message.rb
192
136
  - lib/vonage/namespace.rb
193
- - lib/vonage/network_authentication.rb
194
- - lib/vonage/network_authentication/client_authentication.rb
195
- - lib/vonage/network_authentication/server_authentication.rb
196
- - lib/vonage/network_number_verification.rb
197
- - lib/vonage/network_sim_swap.rb
198
137
  - lib/vonage/number_insight.rb
199
- - lib/vonage/number_insight_2.rb
200
138
  - lib/vonage/numbers.rb
201
139
  - lib/vonage/numbers/list_response.rb
202
140
  - lib/vonage/numbers/response.rb
203
141
  - lib/vonage/params.rb
204
142
  - lib/vonage/pricing.rb
205
143
  - lib/vonage/pricing_types.rb
206
- - lib/vonage/proactive_connect.rb
207
- - lib/vonage/proactive_connect/events.rb
208
- - lib/vonage/proactive_connect/events/list_response.rb
209
- - lib/vonage/proactive_connect/item.rb
210
- - lib/vonage/proactive_connect/items.rb
211
- - lib/vonage/proactive_connect/items/file_response.rb
212
- - lib/vonage/proactive_connect/items/list_response.rb
213
- - lib/vonage/proactive_connect/list.rb
214
- - lib/vonage/proactive_connect/lists.rb
215
- - lib/vonage/proactive_connect/lists/list_response.rb
216
144
  - lib/vonage/redact.rb
217
145
  - lib/vonage/response.rb
218
146
  - lib/vonage/secrets.rb
@@ -221,45 +149,22 @@ files:
221
149
  - lib/vonage/service_error.rb
222
150
  - lib/vonage/signature.rb
223
151
  - lib/vonage/sms.rb
224
- - lib/vonage/subaccounts.rb
225
- - lib/vonage/subaccounts/balance_transfers/list_response.rb
226
- - lib/vonage/subaccounts/credit_transfers/list_response.rb
227
- - lib/vonage/subaccounts/list_response.rb
228
152
  - lib/vonage/tfa.rb
229
153
  - lib/vonage/user_agent.rb
230
- - lib/vonage/users.rb
231
- - lib/vonage/users/list_response.rb
232
154
  - lib/vonage/verify.rb
233
- - lib/vonage/verify2.rb
234
- - lib/vonage/verify2/channels/email.rb
235
- - lib/vonage/verify2/channels/silent_auth.rb
236
- - lib/vonage/verify2/channels/sms.rb
237
- - lib/vonage/verify2/channels/voice.rb
238
- - lib/vonage/verify2/channels/whats_app.rb
239
- - lib/vonage/verify2/channels/whats_app_interactive.rb
240
- - lib/vonage/verify2/start_verification_options.rb
241
- - lib/vonage/verify2/workflow.rb
242
- - lib/vonage/verify2/workflow_builder.rb
243
155
  - lib/vonage/version.rb
244
156
  - lib/vonage/video.rb
245
157
  - lib/vonage/video/archives.rb
246
- - lib/vonage/video/archives/list_response.rb
247
- - lib/vonage/video/broadcasts.rb
248
- - lib/vonage/video/broadcasts/list_response.rb
249
- - lib/vonage/video/captions.rb
158
+ - lib/vonage/video/list_response.rb
250
159
  - lib/vonage/video/moderation.rb
251
- - lib/vonage/video/renders.rb
252
- - lib/vonage/video/renders/list_response.rb
253
160
  - lib/vonage/video/signals.rb
254
- - lib/vonage/video/sip.rb
255
161
  - lib/vonage/video/streams.rb
256
- - lib/vonage/video/streams/list_response.rb
257
- - lib/vonage/video/web_socket.rb
258
162
  - lib/vonage/voice.rb
259
163
  - lib/vonage/voice/actions/connect.rb
260
164
  - lib/vonage/voice/actions/conversation.rb
261
165
  - lib/vonage/voice/actions/input.rb
262
166
  - lib/vonage/voice/actions/notify.rb
167
+ - lib/vonage/voice/actions/pay.rb
263
168
  - lib/vonage/voice/actions/record.rb
264
169
  - lib/vonage/voice/actions/stream.rb
265
170
  - lib/vonage/voice/actions/talk.rb
@@ -289,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
289
194
  version: 2.5.0
290
195
  required_rubygems_version: !ruby/object:Gem::Requirement
291
196
  requirements:
292
- - - ">="
197
+ - - ">"
293
198
  - !ruby/object:Gem::Version
294
- version: '0'
199
+ version: 1.3.1
295
200
  requirements: []
296
- rubygems_version: 3.5.11
201
+ rubygems_version: 3.3.26
297
202
  signing_key:
298
203
  specification_version: 4
299
204
  summary: This is the Ruby Server SDK for Vonage APIs. To use it you'll need a Vonage
@@ -1,33 +0,0 @@
1
- # typed: strong
2
- require "json"
3
-
4
- module Vonage
5
- class APIError < Error
6
- extend T::Sig
7
-
8
- sig { returns(Net::HTTPResponse) }
9
- attr_reader :http_response
10
-
11
- sig { params(message: T.nilable(String), http_response: T.nilable(Net::HTTPResponse)).void }
12
- def initialize(message = nil, http_response: nil)
13
- super(message)
14
- @http_response = http_response
15
- end
16
-
17
- def http_response_code
18
- return nil unless http_response
19
- http_response.code
20
- end
21
-
22
- def http_response_headers
23
- return nil unless http_response
24
- http_response.to_hash
25
- end
26
-
27
- def http_response_body
28
- return nil unless http_response
29
- return {} unless http_response.content_type && http_response.content_type.include?("json")
30
- ::JSON.parse(http_response.body)
31
- end
32
- end
33
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Conversation::Event::ListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.each { |item| yield item }
10
- end
11
- end
@@ -1,108 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Conversation::Event < Namespace
6
- self.authentication = BearerToken
7
-
8
- self.request_body = JSON
9
-
10
- # List conversation events
11
- #
12
- # @example
13
- # response = client.conversation.event.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
14
- #
15
- # @param [required, String] :conversation_id The conversation_id of the conversation to list events for
16
- #
17
- # @param [String] :start_id
18
- # The ID to start returning events at
19
- #
20
- # @param [String] :end_id
21
- # The ID to end returning events at
22
- #
23
- # @param [String] :event_type
24
- # The type of event to search for. Does not currently support custom events
25
- #
26
- # @param [Integer] :page_size
27
- # Return this amount of records in the response.
28
- #
29
- # @param ['asc', 'desc'] :order
30
- # Return the records in ascending or descending order.
31
- #
32
- # @param [String] :cursor
33
- # The cursor to start returning results from.
34
- #
35
- # @return [Conversation::Member::ListResponse]
36
- #
37
- # @see https://developer.vonage.com/en/api/conversation#getEvents
38
- #
39
- def list(conversation_id:, **params)
40
- request("/v1/conversations/#{conversation_id}/events", params: params, response_class: ListResponse)
41
- end
42
-
43
- # Create an event
44
- # @example
45
- # response = client.conversation.event.create(
46
- # conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
47
- # type: 'message',
48
- # body: {
49
- # message_type: 'text',
50
- # text: 'Hello World'
51
- # }
52
- # )
53
- #
54
- # @param [required, String] :conversation_id The conversation_id of the conversation to create the event for
55
- #
56
- # @param [required, String] :type
57
- # Event type.
58
- #
59
- # @param [String] :from
60
- #
61
- # @option params [required, String] :from
62
- #
63
- # @param [Hash] :body
64
- # The body of the event. There are many possible properties depending on the event type and message_type
65
- #
66
- # @return [Response]
67
- #
68
- # @see https://developer.vonage.com/en/api/conversation#createEvent
69
- #
70
- def create(conversation_id:, **params)
71
- request("/v1/conversations/#{conversation_id}/events", params: params, type: Post)
72
- end
73
-
74
- # Get details of a specific event
75
- #
76
- # @example
77
- # response = client.conversation.event.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
78
- #
79
- # @param [required, String] :conversation_id
80
- #
81
- # @param [required, String] :event_id
82
- #
83
- # @return [Response]
84
- #
85
- # @see https://developer.vonage.com/en/api/conversation#getEvent
86
- #
87
- def find(conversation_id:, event_id:)
88
- request("/v1/conversations/#{conversation_id}/events/#{event_id}")
89
- end
90
-
91
- # Delete an event.
92
- #
93
- # @example
94
- # response = client.conversation.event.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', event_id: 1)
95
- #
96
- # @param [String] :conversation_id
97
- #
98
- # @param [String] :event_id
99
- #
100
- # @return [Response]
101
- #
102
- # @see https://developer.vonage.com/en/api/conversation#deleteEvent
103
- #
104
- def delete(conversation_id:, event_id:)
105
- request("/v1/conversations/#{conversation_id}/events/#{event_id}", type: Delete)
106
- end
107
- end
108
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Conversation::ListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.conversations.each { |item| yield item }
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Conversation::Member::ListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.members.each { |item| yield item }
10
- end
11
- end
@@ -1,134 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Conversation::Member < Namespace
6
- self.authentication = BearerToken
7
-
8
- self.request_body = JSON
9
-
10
- # List members of a conversation
11
- #
12
- # @example
13
- # response = client.conversation.member.list(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
14
- #
15
- # @param [required, String] :conversation_id The conversation_id of the conversation to list members for
16
- #
17
- # @param [Integer] :page_size
18
- # Return this amount of records in the response.
19
- #
20
- # @param ['asc', 'desc'] :order
21
- # Return the records in ascending or descending order.
22
- #
23
- # @param [String] :cursor
24
- # The cursor to start returning results from.
25
- #
26
- # @return [Conversation::Member::ListResponse]
27
- #
28
- # @see https://developer.vonage.com/en/api/conversation#getMembers
29
- #
30
- def list(conversation_id:, **params)
31
- request("/v1/conversations/#{conversation_id}/members", params: params, response_class: ListResponse)
32
- end
33
-
34
- # Create a member.
35
- #
36
- # @example
37
- # response = client.conversation.member.create(
38
- # conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
39
- # user: {
40
- # id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec'
41
- # }
42
- # )
43
- #
44
- # @param [required, String] :conversation_id The conversation_id of the conversation for which to create the member
45
- #
46
- # @param [String] :state Must be one of ['invited', 'joined']
47
- #
48
- # @param [Hash] :user (Either :id or :name is required)
49
- # - @option user [String] :id The user_id of the user to add to the conversation
50
- # - @option user [String] :name The name of the user to add to the conversation
51
- #
52
- # @param [Hash] :channel
53
- # - @option channel [required, String] :type The type of channel
54
- # - @option channel [Hash] :from
55
- # - @option from [String] :type
56
- # - @option from [String] :number
57
- # - @option from [String] :id
58
- # - @option channel [Hash] :to
59
- # - @option from [String] :type
60
- # - @option from [String] :user
61
- # - @option from [String] :number
62
- # - @option from [String] :id
63
- #
64
- # @param [Hash] :media
65
- # - @option media [Boolean] :audio
66
- # - @option media [Hash] :audio_settings
67
- # - @option audio_settings [Boolean] :enabled
68
- # - @option audio_settings [Boolean] :earmuffed
69
- # - @option audio_settings [Boolean] :muted
70
- #
71
- # @param [String] :knocking_id
72
- #
73
- # @param [String] :member_id_inviting
74
- #
75
- # @param [String] :from
76
- #
77
- # @return [Response]
78
- #
79
- # @see https://developer.vonage.com/en/api/conversation#createMember
80
- #
81
- def create(conversation_id:, **params)
82
- request("/v1/conversations/#{conversation_id}/members", params: params, type: Post)
83
- end
84
-
85
- # Retrieve a member
86
- #
87
- # @example
88
- # response = client.conversation.member.find(
89
- # conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
90
- # member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391'
91
- # )
92
- #
93
- # @param [required, String] :conversation_id
94
- #
95
- # @param [required, String] :member_id
96
- #
97
- # @return [Response]
98
- #
99
- # @see https://developer.vonage.com/en/api/conversation#getMember
100
- #
101
- def find(conversation_id:, member_id:)
102
- request("/v1/conversations/#{conversation_id}/members/#{member_id}", response_class: Vonage::Response)
103
- end
104
-
105
- # Update a member
106
- #
107
- # @example
108
- # response = client.conversation.member.update(
109
- # conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a',
110
- # member_id: 'MEM-63f61863-4a51-4f6b-86e1-46edebio0391',
111
- # state: 'left'
112
- # )
113
- #
114
- # @param [required, String] :conversation_id
115
- #
116
- # @param [required, String] :member_id
117
- #
118
- # @param [String] :state Must be one of ['joined', 'left']
119
- #
120
- # @param [String] :from
121
- #
122
- # @param [Hash] :reason
123
- # - @option reason [String] :code
124
- # - @option reason [String] :text
125
- #
126
- # @return [Response]
127
- #
128
- # @see https://developer.vonage.com/en/api/conversation#updateMember
129
- #
130
- def update(conversation_id:, member_id:, **params)
131
- request("/v1/conversations/#{conversation_id}/members/#{member_id}", params: params, type: Patch)
132
- end
133
- end
134
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Conversation::User::ConversationsListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.conversations.each { |item| yield item }
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Conversation::User::SessionsListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.sessions.each { |item| yield item }
10
- end
11
- end
@@ -1,67 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Conversation::User < Namespace
6
- self.authentication = BearerToken
7
-
8
- # List conversations associated with a user.
9
- #
10
- # @example
11
- # response = client.conversation.user.list_conversations(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
12
- #
13
- # @param [required, String] :user_id The user_id of the user to list conversations for
14
- #
15
- # @param [String] :state Must be one of ['INVITED', 'JOINED', 'LEFT']
16
- #
17
- # @param [String] :order_by Must be one of ['created', 'custom_sort_key']
18
- #
19
- # @param [Boolean] :include_custom_data
20
- # @param [String] :date_start
21
- # Return the records that occurred after this point in time.
22
- #
23
- # @param [String] :date_start
24
- # Return the records that occurred after this point in time.
25
- #
26
- # @param [Integer] :page_size
27
- # Return this amount of records in the response.
28
- #
29
- # @param ['asc', 'desc'] :order
30
- # Return the records in ascending or descending order.
31
- #
32
- # @param [String] :cursor
33
- # The cursor to start returning results from.
34
- #
35
- # @return [Conversation::User::ConversationsListResponse]
36
- #
37
- # @see https://developer.vonage.com/en/api/conversation#getuserConversations
38
- #
39
- def list_conversations(user_id:, **params)
40
- request("/v1/users/#{user_id}/conversations", params: params, response_class: ConversationsListResponse)
41
- end
42
-
43
- # List conversations associated with a user.
44
- #
45
- # @example
46
- # response = client.conversation.user.list_sessions(user_id: 'USR-82e028d9-5201-4f1e-8188-604b2d3471ec')
47
- #
48
- # @param [required, String] :user_id The user_id of the user to list sessions for
49
- #
50
- # @param [Integer] :page_size
51
- # Return this amount of records in the response.
52
- #
53
- # @param ['asc', 'desc'] :order
54
- # Return the records in ascending or descending order.
55
- #
56
- # @param [String] :cursor
57
- # The cursor to start returning results from.
58
- #
59
- # @return [Conversation::User::SessionsListResponse]
60
- #
61
- # @see https://developer.vonage.com/en/api/conversation#getuserSessions
62
- #
63
- def list_sessions(user_id:, **params)
64
- request("/v1/users/#{user_id}/sessions", params: params, response_class: SessionsListResponse)
65
- end
66
- end
67
- end