vonage 7.28.0 → 8.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
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 -11
  20. data/lib/vonage/logger.rb +3 -5
  21. data/lib/vonage/messaging/channels/viber.rb +1 -8
  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 +53 -18
  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 +9 -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