vonage 7.29.1 → 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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +89 -476
  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/http.rb +3 -3
  17. data/lib/vonage/jwt.rb +0 -17
  18. data/lib/vonage/key_secret_params.rb +2 -3
  19. data/lib/vonage/keys.rb +1 -14
  20. data/lib/vonage/logger.rb +3 -5
  21. data/lib/vonage/messaging/channels/viber.rb +2 -9
  22. data/lib/vonage/messaging/channels/whats_app.rb +1 -3
  23. data/lib/vonage/messaging/message.rb +0 -1
  24. data/lib/vonage/messaging.rb +4 -34
  25. data/lib/vonage/namespace.rb +68 -137
  26. data/lib/vonage/numbers.rb +17 -40
  27. data/lib/vonage/server_error.rb +1 -1
  28. data/lib/vonage/signature.rb +5 -5
  29. data/lib/vonage/sms.rb +20 -20
  30. data/lib/vonage/version.rb +1 -1
  31. data/lib/vonage/video/archives.rb +58 -25
  32. data/lib/vonage/video/list_response.rb +11 -0
  33. data/lib/vonage/video/moderation.rb +22 -7
  34. data/lib/vonage/video/signals.rb +9 -4
  35. data/lib/vonage/video/streams.rb +12 -6
  36. data/lib/vonage/video.rb +13 -50
  37. data/lib/vonage/voice/actions/connect.rb +5 -34
  38. data/lib/vonage/voice/actions/conversation.rb +4 -10
  39. data/lib/vonage/voice/actions/input.rb +3 -19
  40. data/lib/vonage/voice/actions/notify.rb +3 -8
  41. data/lib/vonage/voice/actions/pay.rb +107 -0
  42. data/lib/vonage/voice/actions/record.rb +4 -52
  43. data/lib/vonage/voice/actions/stream.rb +4 -48
  44. data/lib/vonage/voice/actions/talk.rb +4 -54
  45. data/lib/vonage/voice/talk.rb +1 -11
  46. data/lib/vonage/voice.rb +0 -24
  47. data/lib/vonage.rb +0 -4
  48. data/vonage.gemspec +1 -3
  49. metadata +12 -108
  50. data/lib/vonage/api_error.rb +0 -33
  51. data/lib/vonage/conversation/event/list_response.rb +0 -11
  52. data/lib/vonage/conversation/event.rb +0 -108
  53. data/lib/vonage/conversation/list_response.rb +0 -11
  54. data/lib/vonage/conversation/member/list_response.rb +0 -11
  55. data/lib/vonage/conversation/member.rb +0 -134
  56. data/lib/vonage/conversation/user/conversations_list_response.rb +0 -11
  57. data/lib/vonage/conversation/user/sessions_list_response.rb +0 -11
  58. data/lib/vonage/conversation/user.rb +0 -67
  59. data/lib/vonage/conversation.rb +0 -164
  60. data/lib/vonage/meetings/applications.rb +0 -28
  61. data/lib/vonage/meetings/dial_in_numbers/list_response.rb +0 -11
  62. data/lib/vonage/meetings/dial_in_numbers.rb +0 -26
  63. data/lib/vonage/meetings/recordings.rb +0 -42
  64. data/lib/vonage/meetings/rooms/list_response.rb +0 -11
  65. data/lib/vonage/meetings/rooms.rb +0 -167
  66. data/lib/vonage/meetings/sessions/list_response.rb +0 -11
  67. data/lib/vonage/meetings/sessions.rb +0 -31
  68. data/lib/vonage/meetings/themes/list_response.rb +0 -11
  69. data/lib/vonage/meetings/themes.rb +0 -239
  70. data/lib/vonage/meetings.rb +0 -50
  71. data/lib/vonage/messaging/channels/rcs.rb +0 -42
  72. data/lib/vonage/network_authentication/client_authentication.rb +0 -39
  73. data/lib/vonage/network_authentication/server_authentication.rb +0 -47
  74. data/lib/vonage/network_authentication.rb +0 -22
  75. data/lib/vonage/network_number_verification.rb +0 -92
  76. data/lib/vonage/network_sim_swap.rb +0 -84
  77. data/lib/vonage/number_insight_2.rb +0 -36
  78. data/lib/vonage/proactive_connect/events/list_response.rb +0 -11
  79. data/lib/vonage/proactive_connect/events.rb +0 -71
  80. data/lib/vonage/proactive_connect/item.rb +0 -116
  81. data/lib/vonage/proactive_connect/items/file_response.rb +0 -32
  82. data/lib/vonage/proactive_connect/items/list_response.rb +0 -11
  83. data/lib/vonage/proactive_connect/items.rb +0 -116
  84. data/lib/vonage/proactive_connect/list.rb +0 -186
  85. data/lib/vonage/proactive_connect/lists/list_response.rb +0 -11
  86. data/lib/vonage/proactive_connect/lists.rb +0 -38
  87. data/lib/vonage/proactive_connect.rb +0 -43
  88. data/lib/vonage/subaccounts/balance_transfers/list_response.rb +0 -11
  89. data/lib/vonage/subaccounts/credit_transfers/list_response.rb +0 -11
  90. data/lib/vonage/subaccounts/list_response.rb +0 -15
  91. data/lib/vonage/subaccounts.rb +0 -203
  92. data/lib/vonage/users/list_response.rb +0 -11
  93. data/lib/vonage/users.rb +0 -156
  94. data/lib/vonage/verify2/channels/email.rb +0 -36
  95. data/lib/vonage/verify2/channels/silent_auth.rb +0 -45
  96. data/lib/vonage/verify2/channels/sms.rb +0 -63
  97. data/lib/vonage/verify2/channels/voice.rb +0 -32
  98. data/lib/vonage/verify2/channels/whats_app.rb +0 -39
  99. data/lib/vonage/verify2/channels/whats_app_interactive.rb +0 -32
  100. data/lib/vonage/verify2/start_verification_options.rb +0 -63
  101. data/lib/vonage/verify2/template_fragments/list_response.rb +0 -11
  102. data/lib/vonage/verify2/template_fragments.rb +0 -125
  103. data/lib/vonage/verify2/templates/list_response.rb +0 -11
  104. data/lib/vonage/verify2/templates.rb +0 -86
  105. data/lib/vonage/verify2/workflow.rb +0 -39
  106. data/lib/vonage/verify2/workflow_builder.rb +0 -25
  107. data/lib/vonage/verify2.rb +0 -112
  108. data/lib/vonage/video/archives/list_response.rb +0 -11
  109. data/lib/vonage/video/broadcasts/list_response.rb +0 -11
  110. data/lib/vonage/video/broadcasts.rb +0 -75
  111. data/lib/vonage/video/captions.rb +0 -67
  112. data/lib/vonage/video/renders/list_response.rb +0 -11
  113. data/lib/vonage/video/renders.rb +0 -107
  114. data/lib/vonage/video/sip.rb +0 -48
  115. data/lib/vonage/video/streams/list_response.rb +0 -11
  116. data/lib/vonage/video/web_socket.rb +0 -61
@@ -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
@@ -1,164 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Conversation < Namespace
6
- extend T::Sig
7
-
8
- self.authentication = BearerToken
9
-
10
- self.request_body = JSON
11
-
12
- # List conversations associated with a Vonage application.
13
- #
14
- # @example
15
- # response = client.conversation.list
16
- #
17
- # @param [String] :date_start
18
- # Return the records that occurred after this point in time.
19
- #
20
- # @param [String] :date_end
21
- # Return the records that occurred before this point in time.
22
- #
23
- # @param [Integer] :page_size
24
- # Return this amount of records in the response.
25
- #
26
- # @param ['asc', 'desc'] :order
27
- # Return the records in ascending or descending order.
28
- #
29
- # @param [String] :cursor
30
- # The cursor to start returning results from.
31
- #
32
- # @return [Conversation::ListResponse]
33
- #
34
- # @see https://developer.vonage.com/en/api/conversation#listConversations
35
- #
36
- def list(**params)
37
- request('/v1/conversations', params: params, response_class: ListResponse)
38
- end
39
-
40
- # Create a conversation.
41
- #
42
- # @example
43
- # response = client.conversation.create(name: 'Example Conversation', display_name: 'Example Display Name')
44
- #
45
- # @param [String] :name
46
- # Your internal conversation name. Must be unique.
47
- #
48
- # @param [String] :display_name
49
- # The public facing name of the conversation.
50
- #
51
- # @param [String] :image_url
52
- # An image URL that you associate with the conversation
53
- #
54
- # @param [Hash] :properties
55
- # - :ttl (Integer) After how many seconds an empty conversation is deleted
56
- # - :type (String)
57
- # - :custom_sort_key (String)
58
- # - :custom_data (Hash) Custom key/value pairs to be included with conversation data
59
- #
60
- # @option params [Array] :numbers An array of Hashes containing number information for different channels.
61
- #
62
- # @option params [Hash] :callback
63
- # - @option callback :url (String)
64
- # - @option callback :event_mask (String)
65
- # - @option callback :params (Hash)
66
- # - @option params :applicationId (String)
67
- # - @option params :ncco_url (String)
68
- # - @option callback :method (String) Must be one of ['POST', 'GET']
69
- #
70
- # @return [Response]
71
- #
72
- # @see https://developer.vonage.com/en/api/conversation#createConversation
73
- #
74
- def create(**params)
75
- request('/v1/conversations', params: params, type: Post)
76
- end
77
-
78
- # Retrieve a conversation.
79
- #
80
- # @example
81
- # response = client.conversation.find(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
82
- #
83
- # @param [String] :conversation_id
84
- #
85
- # @return [Response]
86
- #
87
- # @see https://developer.vonage.com/en/api/conversation#retrieveConversation
88
- #
89
- def find(conversation_id:)
90
- request("/v1/conversations/#{conversation_id}")
91
- end
92
-
93
- # Update a conversation.
94
- #
95
- # @example
96
- # response = client.conversation.update(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a', display_name: 'Updated conversation')
97
- #
98
- # @param [String] :name
99
- # Your internal conversation name. Must be unique.
100
- #
101
- # @param [String] :display_name
102
- # The public facing name of the conversation.
103
- #
104
- # @param [String] :image_url
105
- # An image URL that you associate with the conversation
106
- #
107
- # @param [Hash] :properties
108
- # - @option properties :ttl (Integer) After how many seconds an empty conversation is deleted
109
- # - @option properties :type (String)
110
- # - @option properties :custom_sort_key (String)
111
- # - @option properties :custom_data (Hash) Custom key/value pairs to be included with conversation data
112
- #
113
- # @param [Array] :numbers An array of Hashes containing number information for different channels.
114
- #
115
- # @option params [Hash] :callback
116
- # - @option callback :url (String)
117
- # - @option callback :event_mask (String)
118
- # - @option callback :params (Hash)
119
- # - @option params :applicationId (String)
120
- # - @option params :ncco_url (String)
121
- # - @option callback :method (String) Must be one of ['POST', 'GET']
122
- #
123
- # @return [Response]
124
- #
125
- # @see https://developer.vonage.com/en/api/conversation#replaceConversation
126
- #
127
- def update(conversation_id:, **params)
128
- request("/v1/conversations/#{conversation_id}", params: params, type: Put)
129
- end
130
-
131
- # Delete a conversation.
132
- #
133
- # @example
134
- # response = client.conversation.delete(conversation_id: 'CON-d66d47de-5bcb-4300-94f0-0c9d4b948e9a')
135
- #
136
- # @param [String] :conversation_id
137
- #
138
- # @return [Response]
139
- #
140
- # @see https://developer.vonage.com/en/api/conversation#deleteConversation
141
- #
142
- def delete(conversation_id:)
143
- request("/v1/conversations/#{conversation_id}", type: Delete)
144
- end
145
-
146
- # @return [Conversation::User]
147
- sig { returns(T.nilable(Vonage::Conversation::User)) }
148
- def user
149
- @user ||= User.new(@config)
150
- end
151
-
152
- # @return [Conversation::Member]
153
- sig { returns(T.nilable(Vonage::Conversation::Member)) }
154
- def member
155
- @member ||= Member.new(@config)
156
- end
157
-
158
- # @return [Conversation::Event]
159
- sig { returns(T.nilable(Vonage::Conversation::Event)) }
160
- def event
161
- @event ||= Event.new(@config)
162
- end
163
- end
164
- end
@@ -1,28 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Meetings::Applications < Namespace
6
- extend T::Sig
7
-
8
- self.authentication = BearerToken
9
-
10
- self.request_body = JSON
11
-
12
- self.host = :vonage_host
13
-
14
- # Update an existing application.
15
- #
16
- # @deprecated
17
- #
18
- # @param [required, String] :default_theme_id The id of the theme to set as application default theme
19
- #
20
- # @return [Response]
21
- #
22
- # @see https://developer.vonage.com/en/api/meetings#updateApplication
23
- def update(default_theme_id:)
24
- logger.info('This method is deprecated and will be removed in a future release.')
25
- request("/v1/meetings/applications", params: {update_details: {default_theme_id: default_theme_id}}, type: Patch)
26
- end
27
- end
28
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Meetings::DialInNumbers::ListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity.each { |item| yield item }
10
- end
11
- end
@@ -1,26 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Meetings::DialInNumbers < Namespace
6
- extend T::Sig
7
-
8
- self.authentication = BearerToken
9
-
10
- self.request_body = JSON
11
-
12
- self.host = :vonage_host
13
-
14
- # Get numbers that can be used to dial into a meeting.
15
- #
16
- # @deprecated
17
- #
18
- # @return [ListResponse]
19
- #
20
- # @see https://developer.vonage.com/en/api/meetings#getDialInNumbers
21
- def list
22
- logger.info('This method is deprecated and will be removed in a future release.')
23
- request("/v1/meetings/dial-in-numbers", response_class: ListResponse)
24
- end
25
- end
26
- end
@@ -1,42 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Meetings::Recordings < Namespace
6
- extend T::Sig
7
-
8
- self.authentication = BearerToken
9
-
10
- self.request_body = JSON
11
-
12
- self.host = :vonage_host
13
-
14
- # Return information for specified recording.
15
- #
16
- # @deprecated
17
- #
18
- # @param [required, String] recording_id The id of the recoring for which the info should be returned
19
- #
20
- # @return [Response]
21
- #
22
- # @see https://developer.vonage.com/en/api/meetings#getRecording
23
- def info(recording_id:)
24
- logger.info('This method is deprecated and will be removed in a future release.')
25
- request("/v1/meetings/recordings/" + recording_id)
26
- end
27
-
28
- # Delete a specified recording.
29
- #
30
- # @deprecated
31
- #
32
- # @param [required, String] recording_id The id of the recoring to be deleted
33
- #
34
- # @return [Response]
35
- #
36
- # @see https://developer.vonage.com/en/api/meetings#deleteRecording
37
- def delete(recording_id:)
38
- logger.info('This method is deprecated and will be removed in a future release.')
39
- request("/v1/meetings/recordings/" + recording_id, type: Delete)
40
- end
41
- end
42
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Meetings::Rooms::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,167 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
- module Vonage
5
- class Meetings::Rooms < Namespace
6
- extend T::Sig
7
-
8
- self.authentication = BearerToken
9
-
10
- self.request_body = JSON
11
-
12
- self.host = :vonage_host
13
-
14
- # Get a list of rooms associated with the Vonage application.
15
- #
16
- # @deprecated
17
- #
18
- # @param [optional, Integer] :start_id
19
- #
20
- # @param [optional, Integer] :end_id
21
- #
22
- # @param [optional, Integer] :page_size
23
- #
24
- # @return [ListResponse]
25
- #
26
- # @see https://developer.vonage.com/en/api/meetings#getRooms
27
- def list(**params)
28
- logger.info('This method is deprecated and will be removed in a future release.')
29
- path = "/v1/meetings/rooms"
30
- path += "?#{Params.encode(params)}" unless params.empty?
31
-
32
- request(path, response_class: ListResponse)
33
- end
34
-
35
- # Return information for specified room.
36
- #
37
- # @deprecated
38
- #
39
- # @param [required, String] room_id
40
- # The id of the room for which the info should be returned
41
- #
42
- # @return [Response]
43
- #
44
- # @see https://developer.vonage.com/en/api/meetings#getRoom
45
- def info(room_id:)
46
- logger.info('This method is deprecated and will be removed in a future release.')
47
- request("/v1/meetings/rooms/" + room_id)
48
- end
49
-
50
- # Create a new room.
51
- #
52
- # @deprecated
53
- #
54
- # @param [required, String] :display_name
55
- #
56
- # @param [optional, String] :metadata
57
- # Free text that can be attached to a room. This will be passed in the form of a header in events related to this room.
58
- #
59
- # @param [optional, String] :type
60
- # The type of room. Must be one of `instant` (the default) or `long_term`.
61
- #
62
- # @param [String(date)] :expires_at
63
- # The time for when the room will be expired, expressed in ISO 8601 format.
64
- # The value must be greater than 10 minutes from now.
65
- # Must be set if `type` is `long_term`. Should not be set if `type` is `instant`
66
- #
67
- # @param [optional, Boolean] :expire_after_use
68
- # Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
69
- #
70
- # @param [optional, string(uuid)] :theme_id
71
- # When specified, the meeting room will use the theme indicated by the ID.
72
- #
73
- # @param [optional, String] :join_approval_level
74
- # The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
75
- #
76
- # @param [optional, Hash] :recording_options
77
- # @option :recording_options [Boolean] :auto_record Automatically record all sessions in this room. Recording cannot be stopped when this is set to `true`.
78
- # @option :recording_options [Boolean] :record_only_owner Record only the owner screen or any share screen of the video.
79
- #
80
- # @param [optional, Hash] :initial_join_options
81
- # @option :initial_join_options [String] :microphone_state
82
- # Set the default microphone option for users in the pre-join screen of this room.
83
- # Must be one of: `on`, `off`, `default`
84
- #
85
- # @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
86
- # @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
87
- # @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
88
- # @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
89
- #
90
- # @param [optional, Hash] :available_features
91
- # @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
92
- # @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
93
- # @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
94
- # @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
95
- # @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
96
- #
97
- # @param [optional, Hash] :ui_settings Provides options to customize the user interface
98
- # @option :ui_settings [String] :language
99
- # The desired language of the UI. The default is `en` (English).
100
- # Must be one of: `ar`, `pt-br`, `ca`, `zh-tw`, `zh-cn`, `en`, `fr`, `de`, `he`, `it`, `es`
101
- #
102
- # @return [Response]
103
- #
104
- # @see https://developer.vonage.com/en/api/meetings#createRoom
105
- def create(display_name:, **params)
106
- logger.info('This method is deprecated and will be removed in a future release.')
107
- request(
108
- "/v1/meetings/rooms",
109
- params: params.merge({ display_name: display_name }),
110
- type: Post
111
- )
112
- end
113
-
114
- # Update an existing room.
115
- # Although paramaters (other than `room_id`) are optional, at least one other parameter must be provided or an error
116
- # response will be received.
117
- #
118
- # @deprecated
119
- #
120
- # @param [required, String] room_id The ID of the Room to be updated
121
- #
122
- # @param [optional, String(date)] :expires_at
123
- # The time for when the room will be expired, expressed in ISO 8601 format.
124
- # Only relevant for rooms where the `type` is `long_term``
125
- #
126
- # @param [optional, Boolean] :expire_after_use
127
- # Close the room after a session ends. Only relevant for rooms where the `type` is `long_term`
128
- #
129
- # @param [optional, string(uuid)] :theme_id
130
- # When specified, the meeting room will use the theme indicated by the ID.
131
- #
132
- # @param [optional, String] :join_approval_level
133
- # The level of approval needed to join the meeting in the room. Must be one of: `none`, `after_owner_only`, `explicit_approval`
134
- #
135
- # @param [optional, Hash] :initial_join_options
136
- # @option :initial_join_options [String] :microphone_state
137
- # Set the default microphone option for users in the pre-join screen of this room.
138
- # Must be one of: `on`, `off`, `default`
139
- #
140
- # @param [optional, Hash] :callback_urls Provides callback URLs to listen to events. If specified, over-rides the callback URLs specified at Application-level
141
- # @option :callback_urls [String] :rooms_callback_url Callback url for rooms events
142
- # @option :callback_urls [String] :sessions_callback_url Callback url for sessions events
143
- # @option :callback_urls [String] :recordings_callback_url Callback url for recordings events
144
- #
145
- # @param [optional, Hash] :available_features
146
- # @option :available_features [Boolean] :is_recording_available Determine if recording feature is available in the UI (default `true`)
147
- # @option :available_features [Boolean] :is_chat_available Determine if chat feature is available in the UI (default `true`)
148
- # @option :available_features [Boolean] :is_whiteboard_available Determine if whiteboard feature is available in the UI (default `true`)
149
- # @option :available_features [Boolean] :is_locale_switcher_available Determine if locale switche feature is available in the UI (default `true`)
150
- # @option :available_features [Boolean] :is_captions_available Determine if captions feature is available in the UI
151
- #
152
- # @return [Response]
153
- #
154
- # @see https://developer.vonage.com/en/api/meetings#updateRoom
155
- def update(room_id:, **params)
156
- logger.info('This method is deprecated and will be removed in a future release.')
157
- raise ArgumentError, 'must provide at least one other param in addition to :room_id' if params.empty?
158
- request(
159
- "/v1/meetings/rooms/" + room_id,
160
- params: {
161
- update_details: params
162
- },
163
- type: Patch
164
- )
165
- end
166
- end
167
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
-
3
- class Vonage::Meetings::Sessions::ListResponse < Vonage::Response
4
- include Enumerable
5
-
6
- def each
7
- return enum_for(:each) unless block_given?
8
-
9
- @entity._embedded.recordings.each { |item| yield item }
10
- end
11
- end