zoom_rb 0.10.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/CHANGELOG.md +63 -0
  4. data/Gemfile.lock +83 -53
  5. data/Makefile +1 -1
  6. data/README.md +21 -7
  7. data/lib/zoom/actions/account.rb +18 -76
  8. data/lib/zoom/actions/billing.rb +41 -0
  9. data/lib/zoom/actions/dashboard.rb +22 -0
  10. data/lib/zoom/actions/groups.rb +19 -0
  11. data/lib/zoom/actions/im/chat.rb +13 -14
  12. data/lib/zoom/actions/meeting.rb +38 -63
  13. data/lib/zoom/actions/phone.rb +15 -0
  14. data/lib/zoom/actions/recording.rb +13 -22
  15. data/lib/zoom/actions/report.rb +8 -43
  16. data/lib/zoom/actions/roles.rb +24 -0
  17. data/lib/zoom/actions/sip_audio.rb +34 -0
  18. data/lib/zoom/actions/token.rb +26 -0
  19. data/lib/zoom/actions/user.rb +66 -138
  20. data/lib/zoom/actions/webinar.rb +43 -90
  21. data/lib/zoom/actions.rb +59 -0
  22. data/lib/zoom/client.rb +27 -7
  23. data/lib/zoom/clients/oauth.rb +46 -3
  24. data/lib/zoom/constants/account/options/pay_modes.rb +12 -0
  25. data/lib/zoom/constants/account/settings/permitted_settings.rb +125 -0
  26. data/lib/zoom/constants/constants.rb +35 -0
  27. data/lib/zoom/constants/meeting/approval_types.rb +11 -0
  28. data/lib/zoom/constants/meeting/audio_type.rb +11 -0
  29. data/lib/zoom/constants/meeting/auto_recording.rb +11 -0
  30. data/lib/zoom/constants/meeting/registration_types.rb +11 -0
  31. data/lib/zoom/constants/meeting/types.rb +12 -0
  32. data/lib/zoom/constants/recurrence/monthly_weeks.rb +13 -0
  33. data/lib/zoom/constants/recurrence/types.rb +11 -0
  34. data/lib/zoom/constants/recurrence/weekly_days.rb +15 -0
  35. data/lib/zoom/constants/user/create_types.rb +12 -0
  36. data/lib/zoom/constants/user/types.rb +11 -0
  37. data/lib/zoom/constants/webinar/approval_types.rb +11 -0
  38. data/lib/zoom/constants/webinar/audio_type.rb +11 -0
  39. data/lib/zoom/constants/webinar/auto_recording.rb +11 -0
  40. data/lib/zoom/constants/webinar/registration_types.rb +11 -0
  41. data/lib/zoom/constants/webinar/types.rb +11 -0
  42. data/lib/zoom/error.rb +9 -1
  43. data/lib/zoom/params.rb +51 -12
  44. data/lib/zoom/utils.rb +23 -15
  45. data/lib/zoom/version.rb +2 -2
  46. data/lib/{zoom.rb → zoom_rb.rb} +9 -3
  47. data/spec/fixtures/account/create.json +6 -0
  48. data/spec/{lib/zoom/actions/report/hosts_report_spec.rb → fixtures/account/delete.json} +0 -0
  49. data/spec/fixtures/account/get.json +13 -0
  50. data/spec/fixtures/account/managed_domains.json +7 -0
  51. data/spec/fixtures/account/options_update.json +7 -0
  52. data/spec/fixtures/account/settings_get.json +1 -1
  53. data/spec/{lib/zoom/actions/report/meeting_polls_report_spec.rb → fixtures/account/settings_update.json} +0 -0
  54. data/spec/fixtures/account/trusted_domains.json +3 -0
  55. data/spec/fixtures/billing/get.json +12 -0
  56. data/spec/fixtures/billing/plans_list.json +44 -0
  57. data/spec/fixtures/billing/plans_subscribe.json +30 -0
  58. data/spec/fixtures/billing/plans_usage.json +30 -0
  59. data/spec/{lib/zoom/actions/report/meetings_report_spec.rb → fixtures/billing/update.json} +0 -0
  60. data/spec/fixtures/chat/channels/get.json +5 -0
  61. data/spec/fixtures/chat/users/channels/list.json +17 -0
  62. data/spec/fixtures/dashboard/crc.json +104 -0
  63. data/spec/fixtures/dashboard/meeting/detail.json +20 -0
  64. data/spec/fixtures/dashboard/meeting/participants.json +56 -0
  65. data/spec/fixtures/{metrics_meetings.json → dashboard/meetings.json} +1 -2
  66. data/spec/fixtures/error/admin_cannot_activated.json +4 -0
  67. data/spec/fixtures/error/channel_not_found.json +4 -0
  68. data/spec/fixtures/error/group_does_not_exist.json +4 -0
  69. data/spec/fixtures/error/group_not_belong_to_account.json +4 -0
  70. data/spec/fixtures/error/group_not_exist.json +4 -0
  71. data/spec/fixtures/error/meeting_not_exist.json +4 -0
  72. data/spec/fixtures/error/next_page_token_invalid.json +4 -0
  73. data/spec/fixtures/error/not_found_administrator.json +4 -0
  74. data/spec/fixtures/error/unauthorized_request.json +4 -0
  75. data/spec/fixtures/error/user_not_exist.json +1 -1
  76. data/spec/fixtures/groups/create.json +5 -0
  77. data/spec/fixtures/groups/get.json +5 -0
  78. data/spec/fixtures/groups/list.json +15 -0
  79. data/spec/{lib/zoom/actions/report/telephone_report_spec.rb → fixtures/groups/update.json} +0 -0
  80. data/spec/fixtures/meeting/add_registrant.json +7 -0
  81. data/spec/fixtures/meeting/create.json +31 -16
  82. data/spec/fixtures/meeting/get.json +43 -33
  83. data/spec/fixtures/meeting/invitation.json +3 -0
  84. data/spec/fixtures/meeting/live_stream/errors/meeting_not_found.json +4 -0
  85. data/spec/fixtures/meeting/live_stream/errors/missing_field.json +10 -0
  86. data/spec/fixtures/{recording_get.json → recording/get.json} +17 -6
  87. data/spec/fixtures/recording/list.json +53 -0
  88. data/spec/fixtures/recording/settings/get.json +7 -0
  89. data/spec/fixtures/report/meeting/participants.json +17 -0
  90. data/spec/fixtures/report/meeting.json +19 -0
  91. data/spec/fixtures/roles/assign.json +4 -0
  92. data/spec/fixtures/roles/create.json +9 -0
  93. data/spec/fixtures/roles/get.json +11 -0
  94. data/spec/fixtures/roles/list.json +29 -0
  95. data/spec/fixtures/roles/members.json +15 -0
  96. data/spec/fixtures/sip_audio/sip_trunks_get.json +19 -0
  97. data/spec/fixtures/sip_audio/sip_trunks_internal_callout_countries_add.json +10 -0
  98. data/spec/fixtures/sip_audio/sip_trunks_internal_callout_country_list.json +15 -0
  99. data/spec/fixtures/sip_audio/sip_trunks_internal_numbers_add.json +14 -0
  100. data/spec/fixtures/sip_audio/sip_trunks_internal_numbers_list.json +16 -0
  101. data/spec/fixtures/sip_audio/sip_trunks_numbers_assign.json +7 -0
  102. data/spec/fixtures/sip_audio/sip_trunks_numbers_list.json +9 -0
  103. data/spec/fixtures/token/access_token.json +7 -0
  104. data/spec/fixtures/token/data_compliance.json +8 -0
  105. data/spec/fixtures/token/refresh_token.json +7 -0
  106. data/spec/fixtures/user/assistant/create.json +4 -0
  107. data/spec/fixtures/user/assistant/list.json +8 -0
  108. data/spec/fixtures/user/email_check.json +3 -0
  109. data/spec/fixtures/user/get.json +35 -21
  110. data/spec/fixtures/user/list.json +17 -13
  111. data/spec/fixtures/user/permissions.json +65 -0
  112. data/spec/fixtures/user/recording/list.json +50 -0
  113. data/spec/fixtures/user/scheduler/list.json +12 -0
  114. data/spec/fixtures/user/token.json +3 -0
  115. data/spec/{lib/zoom/actions/report/webinar_details_report_spec.rb → fixtures/user/update_email.json} +0 -0
  116. data/spec/{lib/zoom/actions/report/webinar_polls_report_spec.rb → fixtures/user/update_password.json} +0 -0
  117. data/spec/{lib/zoom/actions/report/webinar_qa_report_spec.rb → fixtures/user/update_status.json} +0 -0
  118. data/spec/fixtures/user/vanity_name.json +3 -0
  119. data/spec/fixtures/webinar/panelist_list.json +12 -0
  120. data/spec/fixtures/webinar/poll_get.json +13 -0
  121. data/spec/fixtures/webinar/polls_list.json +16 -0
  122. data/spec/lib/zoom/actions/account/create_spec.rb +68 -0
  123. data/spec/lib/zoom/actions/account/delete_spec.rb +44 -0
  124. data/spec/lib/zoom/actions/account/get_locked_settings_spec.rb +43 -0
  125. data/spec/lib/zoom/actions/account/get_spec.rb +43 -0
  126. data/spec/lib/zoom/actions/account/managed_domains_spec.rb +43 -0
  127. data/spec/lib/zoom/actions/account/options_update_spec.rb +58 -0
  128. data/spec/lib/zoom/actions/account/settings_get_spec.rb +5 -5
  129. data/spec/lib/zoom/actions/account/settings_update_spec.rb +55 -0
  130. data/spec/lib/zoom/actions/account/trusted_domains_spec.rb +43 -0
  131. data/spec/lib/zoom/actions/billing/get_spec.rb +48 -0
  132. data/spec/lib/zoom/actions/billing/plans_list_spec.rb +48 -0
  133. data/spec/lib/zoom/actions/billing/plans_subscribe_spec.rb +69 -0
  134. data/spec/lib/zoom/actions/billing/plans_usage_spec.rb +48 -0
  135. data/spec/lib/zoom/actions/billing/update_spec.rb +64 -0
  136. data/spec/lib/zoom/actions/dashboard/crc_spec.rb +33 -0
  137. data/spec/lib/zoom/actions/dashboard/meeting_details_spec.rb +62 -0
  138. data/spec/lib/zoom/actions/dashboard/meeting_participants_spec.rb +74 -0
  139. data/spec/lib/zoom/actions/dashboard/meetings_spec.rb +63 -0
  140. data/spec/lib/zoom/actions/groups/create_spec.rb +98 -0
  141. data/spec/lib/zoom/actions/{group → groups}/delete_spec.rb +0 -0
  142. data/spec/lib/zoom/actions/{group → groups}/edit_spec.rb +0 -0
  143. data/spec/lib/zoom/actions/groups/get_spec.rb +62 -0
  144. data/spec/lib/zoom/actions/groups/list_spec.rb +47 -0
  145. data/spec/lib/zoom/actions/{group → groups}/member/add_spec.rb +0 -0
  146. data/spec/lib/zoom/actions/{group → groups}/member/delete_spec.rb +0 -0
  147. data/spec/lib/zoom/actions/{group → groups/member}/list_spec.rb +0 -0
  148. data/spec/lib/zoom/actions/groups/update_spec.rb +59 -0
  149. data/spec/lib/zoom/actions/im/chat/channels/get_spec.rb +64 -0
  150. data/spec/lib/zoom/actions/im/chat/users/channels/get_spec.rb +45 -0
  151. data/spec/lib/zoom/actions/meeting/add_registrant_spec.rb +30 -0
  152. data/spec/lib/zoom/actions/meeting/create_spec.rb +13 -13
  153. data/spec/lib/zoom/actions/meeting/delete_spec.rb +17 -34
  154. data/spec/lib/zoom/actions/meeting/get_spec.rb +21 -31
  155. data/spec/lib/zoom/actions/meeting/invitation_spec.rb +48 -0
  156. data/spec/lib/zoom/actions/meeting/livestream_spec.rb +61 -0
  157. data/spec/lib/zoom/actions/meeting/update_spec.rb +48 -42
  158. data/spec/lib/zoom/actions/recording/file_delete_spec.rb +33 -0
  159. data/spec/lib/zoom/actions/recording/get_spec.rb +19 -35
  160. data/spec/lib/zoom/actions/recording/list_spec.rb +20 -26
  161. data/spec/lib/zoom/actions/recording/settings/get_spec.rb +42 -0
  162. data/spec/lib/zoom/actions/recording/settings/update_spec.rb +32 -0
  163. data/spec/lib/zoom/actions/report/meeting_details_report_spec.rb +44 -0
  164. data/spec/lib/zoom/actions/report/meeting_participants_report_spec.rb +44 -0
  165. data/spec/lib/zoom/actions/roles/assign_spec.rb +25 -0
  166. data/spec/lib/zoom/actions/roles/create_spec.rb +55 -0
  167. data/spec/lib/zoom/actions/roles/get_spec.rb +37 -0
  168. data/spec/lib/zoom/actions/roles/list_spec.rb +28 -0
  169. data/spec/lib/zoom/actions/roles/members_spec.rb +35 -0
  170. data/spec/lib/zoom/actions/roles/unassign_spec.rb +34 -0
  171. data/spec/lib/zoom/actions/sip_audio/add_trunks_internal_callout_countries_spec.rb +25 -0
  172. data/spec/lib/zoom/actions/sip_audio/add_trunks_internal_numbers_spec.rb +25 -0
  173. data/spec/lib/zoom/actions/sip_audio/assign_numbers_spec.rb +29 -0
  174. data/spec/lib/zoom/actions/sip_audio/delete_internal_callout_countries_spec.rb +44 -0
  175. data/spec/lib/zoom/actions/sip_audio/delete_trunk_internal_numbers_spec.rb +44 -0
  176. data/spec/lib/zoom/actions/sip_audio/delete_trunk_numbers_spec.rb +44 -0
  177. data/spec/lib/zoom/actions/sip_audio/delete_trunks_spec.rb +44 -0
  178. data/spec/lib/zoom/actions/sip_audio/get_trunks_spec.rb +50 -0
  179. data/spec/lib/zoom/actions/sip_audio/list_trunk_numbers_spec.rb +46 -0
  180. data/spec/lib/zoom/actions/sip_audio/list_trunks_internal_callout_country_spec.rb +53 -0
  181. data/spec/lib/zoom/actions/sip_audio/list_trunks_internal_numbers_spec.rb +53 -0
  182. data/spec/lib/zoom/actions/token/access_token_spec.rb +26 -0
  183. data/spec/lib/zoom/actions/token/data_compliance_spec.rb +41 -0
  184. data/spec/lib/zoom/actions/token/refresh_token_spec.rb +26 -0
  185. data/spec/lib/zoom/actions/user/assistant/create_spec.rb +59 -0
  186. data/spec/lib/zoom/actions/user/assistant/delete_all_spec.rb +44 -0
  187. data/spec/lib/zoom/actions/user/assistant/delete_spec.rb +48 -1
  188. data/spec/lib/zoom/actions/user/assistant/list_spec.rb +53 -0
  189. data/spec/lib/zoom/actions/user/create_spec.rb +18 -46
  190. data/spec/lib/zoom/actions/user/email_check_spec.rb +43 -0
  191. data/spec/lib/zoom/actions/user/get_spec.rb +10 -1
  192. data/spec/lib/zoom/actions/user/list_recordings_spec.rb +57 -0
  193. data/spec/lib/zoom/actions/user/list_spec.rb +32 -1
  194. data/spec/lib/zoom/actions/user/permissions_spec.rb +52 -0
  195. data/spec/lib/zoom/actions/user/scheduler/delete_all_spec.rb +44 -0
  196. data/spec/lib/zoom/actions/user/scheduler/delete_spec.rb +50 -0
  197. data/spec/lib/zoom/actions/user/scheduler/list_spec.rb +53 -0
  198. data/spec/lib/zoom/actions/user/settings_update_spec.rb +50 -0
  199. data/spec/lib/zoom/actions/user/token_spec.rb +61 -0
  200. data/spec/lib/zoom/actions/user/update_email_spec.rb +59 -0
  201. data/spec/lib/zoom/actions/user/update_password_spec.rb +29 -0
  202. data/spec/lib/zoom/actions/user/update_status_spec.rb +59 -0
  203. data/spec/lib/zoom/actions/user/vanity_name_spec.rb +51 -0
  204. data/spec/lib/zoom/actions/webinar/panelist_list_spec.rb +44 -0
  205. data/spec/lib/zoom/actions/webinar/poll_get_spec.rb +47 -0
  206. data/spec/lib/zoom/actions/webinar/polls_list_spec.rb +44 -0
  207. data/spec/lib/zoom/actions_spec.rb +105 -0
  208. data/spec/lib/zoom/client_spec.rb +48 -1
  209. data/spec/lib/zoom/params_spec.rb +23 -3
  210. data/spec/lib/zoom/utils_spec.rb +13 -8
  211. data/spec/spec_helper.rb +15 -2
  212. data/zoom_rb.gemspec +1 -1
  213. metadata +321 -111
  214. data/lib/zoom/actions/group.rb +0 -8
  215. data/lib/zoom/actions/metrics.rb +0 -27
  216. data/lib/zoom/constants.rb +0 -103
  217. data/spec/fixtures/meeting/delete.json +0 -4
  218. data/spec/fixtures/meeting/end.json +0 -4
  219. data/spec/fixtures/meeting/live.json +0 -32
  220. data/spec/fixtures/meeting/register.json +0 -7
  221. data/spec/fixtures/meeting/update.json +0 -4
  222. data/spec/fixtures/metrics_crc.json +0 -105
  223. data/spec/fixtures/metrics_meetingdetail.json +0 -32
  224. data/spec/fixtures/recording_delete.json +0 -4
  225. data/spec/fixtures/recording_list.json +0 -51
  226. data/spec/fixtures/user/assistant/delete.json +0 -5
  227. data/spec/lib/zoom/actions/group/create_spec.rb +0 -3
  228. data/spec/lib/zoom/actions/group/get_spec.rb +0 -3
  229. data/spec/lib/zoom/actions/group/member/list_spec.rb +0 -3
  230. data/spec/lib/zoom/actions/meeting/end_spec.rb +0 -55
  231. data/spec/lib/zoom/actions/meeting/live_spec.rb +0 -43
  232. data/spec/lib/zoom/actions/meeting/register_spec.rb +0 -45
  233. data/spec/lib/zoom/actions/metrics/crc_spec.rb +0 -48
  234. data/spec/lib/zoom/actions/metrics/im_spec.rb +0 -3
  235. data/spec/lib/zoom/actions/metrics/meetingdetail_spec.rb +0 -51
  236. data/spec/lib/zoom/actions/metrics/meetings_spec.rb +0 -61
  237. data/spec/lib/zoom/actions/metrics/qos_spec.rb +0 -3
  238. data/spec/lib/zoom/actions/metrics/webinardetail_spec.rb +0 -3
  239. data/spec/lib/zoom/actions/metrics/webinars_spec.rb +0 -3
  240. data/spec/lib/zoom/actions/metrics/zoomroomdetail_spec.rb +0 -3
  241. data/spec/lib/zoom/actions/metrics/zoomrooms_spec.rb +0 -3
  242. data/spec/lib/zoom/actions/recording/delete_spec.rb +0 -52
  243. data/spec/lib/zoom/actions/recording/mc_list_spec.rb +0 -51
  244. data/spec/lib/zoom/actions/user/activate_spec.rb +0 -3
  245. data/spec/lib/zoom/actions/user/checkemail_spec.rb +0 -3
  246. data/spec/lib/zoom/actions/user/checkzpk_spec.rb +0 -3
  247. data/spec/lib/zoom/actions/user/deactivate_spec.rb +0 -3
  248. data/spec/lib/zoom/actions/user/revoketoken_spec.rb +0 -3
  249. data/spec/lib/zoom/actions/user/updatepassword_spec.rb +0 -3
  250. data/spec/lib/zoom/actions/webinar/panelists_spec.rb +0 -3
  251. data/spec/lib/zoom/actions/webinar/polls_spec.rb +0 -3
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zoom
4
- module Actions
5
- module Group
6
- end
7
- end
8
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zoom
4
- module Actions
5
- module Metrics
6
- def metrics_crc(*args)
7
- options = Utils.extract_options!(args)
8
- Zoom::Params.new(options).require(:from, :to)
9
- Utils.process_datetime_params!(%i[from to], options)
10
- Utils.parse_response self.class.post('/metrics/crc', query: options)
11
- end
12
-
13
- def metrics_meetings(*args)
14
- options = Utils.extract_options!(args)
15
- Zoom::Params.new(options).require(:from, :to, :type)
16
- Utils.process_datetime_params!(%i[from to], options)
17
- Utils.parse_response self.class.post('/metrics/meetings', query: options)
18
- end
19
-
20
- def metrics_meetingdetail(*args)
21
- options = Utils.extract_options!(args)
22
- Zoom::Params.new(options).require(:meeting_id, :type)
23
- Utils.parse_response self.class.post('/metrics/meetingdetail', query: options)
24
- end
25
- end
26
- end
27
- end
@@ -1,103 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zoom
4
- class Constants
5
- ACCOUNT_OPTIONS_PAY_MODES = { 'Master account holder pays' => 'master', # default
6
- 'Sub account holder pays' => 'sub'
7
- }.freeze
8
-
9
- IM_GROUP_TYPES = { 'Only members can see the group automatically. Other people can search members in the group.' => 'normal', # default
10
- 'All people in the account can see the group and members automatically' => 'shared',
11
- 'Nobody can see the group or search members except the members in the group' => 'restricted'
12
- }.freeze
13
-
14
- RECURRENCE_TYPES = { 'Daily' => 1,
15
- 'Weekly' => 2,
16
- 'Monthly' => 3
17
- }.freeze # no default
18
-
19
- RECURRENCE_WEEKLY_DAYS = { 'Sunday' => 1,
20
- 'Monday' => 2,
21
- 'Tuesday' => 3,
22
- 'Wednesday' => 4,
23
- 'Thursday' => 5,
24
- 'Friday' => 6,
25
- 'Saturday' => 7
26
- }.freeze # no default
27
-
28
- RECURRENCE_MONTHLY_WEEKS = { 'Last week' => -1,
29
- 'First week' => 1,
30
- 'Second week' => 2,
31
- 'Third week' => 3,
32
- 'Fourth week' => 4
33
- }.freeze # no default
34
-
35
- MEETING_TYPES = { 'Instant Meeting' => 1,
36
- 'Scheduled Meeting' => 2, # default
37
- 'Recurring Meeting with no fixed time' => 3,
38
- 'Recurring Meeting with fixed time' => 8
39
- }.freeze
40
-
41
- MEETING_APPROVAL_TYPES = { 'Automatically Approve' => 0,
42
- 'Manually Approve' => 1,
43
- 'No Registration Required' => 2 # default
44
- }.freeze
45
-
46
- MEETING_REGISTRATION_TYPES = { 'Attendees register once and can attend any of the occurrences' => 1, # default
47
- 'Attendees need to register for each occurrence to attend' => 2,
48
- 'Attendees register once and can choose one or more occurrences to attend' => 3
49
- }.freeze
50
-
51
- MEETING_AUDIO_TYPE = { 'Both Telephony and VoIP' => 'both', # default
52
- 'Telephony only' => 'telephony',
53
- 'VoIP only' => 'voip'
54
- }.freeze
55
-
56
- MEETING_AUTO_RECORDING = { 'Record to local device' => 'local',
57
- 'Record to cloud' => 'cloud',
58
- 'No Recording' => 'none' # default
59
- }.freeze
60
-
61
- REGISTRANT_STATUS_ACTIONS = { 'Approve registrant' => 'approve',
62
- 'Cancel registrant' => 'cancel',
63
- 'Deny registrant' => 'deny'
64
- }.freeze # no default
65
-
66
- WEBINAR_TYPES = { 'Webinar' => 5, # default
67
- 'Recurring Webinar with no fixed time' => 6,
68
- 'Recurring Webinar with fixed time' => 9
69
- }.freeze
70
-
71
- WEBINAR_APPROVAL_TYPES = { 'Automatically Approve' => 0,
72
- 'Manually Approve' => 1,
73
- 'No Registration Required' => 2 # default
74
- }.freeze
75
-
76
- WEBINAR_REGISTRATION_TYPES = { 'Attendees register once and can attend any of the occurrences' => 1, # default
77
- 'Attendees need to register for each occurrence to attend' => 2,
78
- 'Attendees register once and can choose one or more occurrences to attend' => 3
79
- }.freeze
80
-
81
- WEBINAR_AUDIO_TYPE = { 'Both Telephony and VoIP' => 'both', # default
82
- 'Telephony only' => 'telephony',
83
- 'VoIP only' => 'voip'
84
- }.freeze
85
-
86
- WEBINAR_AUTO_RECORDING = { 'Record to local device' => 'local',
87
- 'Record to cloud' => 'cloud',
88
- 'No Recording' => 'none' # default
89
- }.freeze
90
-
91
- USER_TYPES = { 'basic' => 1,
92
- 'pro' => 2,
93
- 'corp' => 3
94
- }.freeze # no default
95
-
96
- USER_CREATE_TYPES = {
97
- 'create' => 'User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom.',
98
- 'autoCreate' => 'This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.',
99
- 'custCreate' => 'This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.',
100
- 'ssoCreate' => 'This action is provided for enabled “Pre-provisioning SSO User” option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.'
101
- }.freeze # no default
102
- end
103
- end
@@ -1,4 +0,0 @@
1
- {
2
- "id": "252482092",
3
- "deleted_at": "2013-04-05T15:50:47Z"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "id": "123456789",
3
- "ended_at": "2012-11-25T12:00:00Z"
4
- }
@@ -1,32 +0,0 @@
1
- {
2
- "page_count": 5,
3
- "total_records": 235,
4
- "page_number": 1,
5
- "page_size": 50,
6
- "meetings": [
7
- {
8
- "uuid": "unique_id",
9
- "id": "123456789",
10
- "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
11
- "join_url": "https://zoom.us/j/123456789",
12
- "created_at": "2012-11-25T12:00:00Z",
13
- "host_id": "unique_id",
14
- "topic": "Topic for this meeting",
15
- "type": 2,
16
- "status": 0,
17
- "start_time": "2012-11-25T12:00:00Z",
18
- "duration": 30,
19
- "timezone": "America/Los_Angeles",
20
- "password": "123",
21
- "h323_password": "123456",
22
- "option_jbh": false,
23
- "option_start_type": "video",
24
- "option_host_video": false,
25
- "option_participants_video": false,
26
- "option_audio": "both",
27
- "option_enforce_login": false,
28
- "option_enforce_login_domains ": "",
29
- "option_alternative_hosts": ""
30
- }
31
- ]
32
- }
@@ -1,7 +0,0 @@
1
- {
2
- "registrant_id": "555",
3
- "id": "123456789",
4
- "topic": "meeting registration",
5
- "start_time": "2016-02-21T04:00:00Z",
6
- "join_url": "https://www.zoom.us/w/869275230?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA"
7
- }
@@ -1,4 +0,0 @@
1
- {
2
- "id": "252482092",
3
- "updated_at": "2013-02-25T15:52:38Z"
4
- }
@@ -1,105 +0,0 @@
1
-
2
- {
3
- "from": "2016-09-21",
4
- "to": "2016-09-21",
5
- "crc_ports_usage": [{
6
- "date_time": "2016-09-21",
7
- "crc_ports_hour_usage": [{
8
- "hour": "00",
9
- "max_usage": 0,
10
- "total_usage": 0
11
- }, {
12
- "hour": "01",
13
- "max_usage": 0,
14
- "total_usage": 0
15
- }, {
16
- "hour": "02",
17
- "max_usage": 0,
18
- "total_usage": 0
19
- }, {
20
- "hour": "03",
21
- "max_usage": 0,
22
- "total_usage": 0
23
- }, {
24
- "hour": "04",
25
- "max_usage": 0,
26
- "total_usage": 0
27
- }, {
28
- "hour": "05",
29
- "max_usage": 0,
30
- "total_usage": 0
31
- }, {
32
- "hour": "06",
33
- "max_usage": 0,
34
- "total_usage": 0
35
- }, {
36
- "hour": "07",
37
- "max_usage": 1,
38
- "total_usage": 1
39
- }, {
40
- "hour": "08",
41
- "max_usage": 1,
42
- "total_usage": 1
43
- }, {
44
- "hour": "09",
45
- "max_usage": 3,
46
- "total_usage": 5
47
- }, {
48
- "hour": "10",
49
- "max_usage": 8,
50
- "total_usage": 11
51
- }, {
52
- "hour": "11",
53
- "max_usage": 9,
54
- "total_usage": 12
55
- }, {
56
- "hour": "12",
57
- "max_usage": 8,
58
- "total_usage": 15
59
- }, {
60
- "hour": "13",
61
- "max_usage": 7,
62
- "total_usage": 12
63
- }, {
64
- "hour": "14",
65
- "max_usage": 10,
66
- "total_usage": 16
67
- }, {
68
- "hour": "15",
69
- "max_usage": 12,
70
- "total_usage": 14
71
- }, {
72
- "hour": "16",
73
- "max_usage": 11,
74
- "total_usage": 16
75
- }, {
76
- "hour": "17",
77
- "max_usage": 11,
78
- "total_usage": 11
79
- }, {
80
- "hour": "18",
81
- "max_usage": 10,
82
- "total_usage": 11
83
- }, {
84
- "hour": "19",
85
- "max_usage": 5,
86
- "total_usage": 5
87
- }, {
88
- "hour": "20",
89
- "max_usage": 3,
90
- "total_usage": 3
91
- }, {
92
- "hour": "21",
93
- "max_usage": 3,
94
- "total_usage": 3
95
- }, {
96
- "hour": "22",
97
- "max_usage": 3,
98
- "total_usage": 3
99
- }, {
100
- "hour": "23",
101
- "max_usage": 2,
102
- "total_usage": 3
103
- }]
104
- }]
105
- }
@@ -1,32 +0,0 @@
1
- {
2
- "uuid": "t13b6hjVQXybvGKyeHC96w==",
3
- "id": 3035575664,
4
- "type": "Live Meeting",
5
- "host": "Some User",
6
- "email": "some_user@some_domain.com",
7
- "user_type": "Pro",
8
- "start_time": "2016-09-27T12:02:26Z",
9
- "end_time": "",
10
- "duration": null,
11
- "has_pstn": false,
12
- "has_voip": true,
13
- "has_3rd_party_audio": false,
14
- "has_video": true,
15
- "has_screen_share": false,
16
- "recording": 0,
17
- "participants_count": 7,
18
- "page_count": 7,
19
- "page_number": 1,
20
- "page_size": 1,
21
- "participants": [{
22
- "user_id": "16778240",
23
- "user_name": "SOMEUSER",
24
- "device": "Windows",
25
- "ip_address": "11.111.111.111",
26
- "cn": "US",
27
- "city": "",
28
- "network_type": "Wifi",
29
- "join_time": "2016-09-27T12:02:26Z",
30
- "leave_time": "2016-09-27T12:39:10Z"
31
- }]
32
- }
@@ -1,4 +0,0 @@
1
- {
2
- "id": "ucc69C82Q5mTNyCRWE29Aw==",
3
- "deleted_at": "2012-11-25T12:00:00Z"
4
- }
@@ -1,51 +0,0 @@
1
- {
2
- "page_count": 1,
3
- "page_number": 1,
4
- "page_size": 15,
5
- "total_records": 1,
6
- "meetings": [{
7
- "uuid": "j0N0YDBYSQGB4fRv444444==",
8
- "meeting_number": 7565121024,
9
- "host_id": "kEFomHcIRgqxZT8D086O6A",
10
- "account_id": "NyEqCEoYSNOr4jLMHoO2tA",
11
- "topic": "Rocky test recording delete",
12
- "start_time": "2014-11-06T04:10:10Z",
13
- "timezone": "America/Los_Angeles",
14
- "duration": 999,
15
- "total_size": 4324324324,
16
- "recording_count": 4,
17
- "recording_files": [{
18
- "id": "00401415-6783-0B14-608A-34C1DD9E3041",
19
- "meeting_id": "j0N0YDBYSQGB4fRv444444==",
20
- "recording_start": "2014-11-06T04:14:10Z",
21
- "recording_end": "2014-11-06T04:24:10Z",
22
- "file_type": "M4A",
23
- "file_size": 432432,
24
- "play_url": "https://brand.zoom.us/recording/play/00401415-6783-0B14-608A-34C1DD9E3041"
25
- }, {
26
- "id": "00401415-6783-0B14-608A-34C1DD9E3042",
27
- "meeting_id": "j0N0YDBYSQGB4fRv444444==",
28
- "recording_start": "2014-11-06T04:25:10Z",
29
- "recording_end": "2014-11-06T04:26:10Z",
30
- "file_type": "MP4",
31
- "file_size": 432532465,
32
- "play_url": "https://brand.zoom.us/recording/play/00401415-6783-0B14-608A-34C1DD9E3042"
33
- }, {
34
- "id": "00401415-6783-0B14-608A-34C1DD9E3043",
35
- "meeting_id": "j0N0YDBYSQGB4fRv444444==",
36
- "recording_start": "2014-11-06T04:36:10Z",
37
- "recording_end": "2014-11-06T04:56:10Z",
38
- "file_type": "M4A",
39
- "file_size": 564,
40
- "play_url": "https://brand.zoom.us/recording/play/00401415-6783-0B14-608A-34C1DD9E3043"
41
- }, {
42
- "id": "00401415-6783-0B14-608A-34C1DD9E3044",
43
- "meeting_id": "j0N0YDBYSQGB4fRv444444==",
44
- "recording_start": "2014-11-06T04:56:10Z",
45
- "recording_end": "2014-11-06T04:56:12Z",
46
- "file_type": "MP4",
47
- "file_size": 643534,
48
- "play_url": "https://brand.zoom.us/recording/play/00401415-6783-0B14-608A-34C1DD9E3044"
49
- }]
50
- }]
51
- }
@@ -1,5 +0,0 @@
1
- {
2
- "id": "555",
3
- "host_email": "foo@bar.com",
4
- "updated_at": "2013-09-02T12:00:00Z"
5
- }
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Meeting do
6
- let(:zc) { zoom_client }
7
- let(:args) { { host_id: 'dh23hdu23gd', id: '123456789' } }
8
-
9
- xdescribe '#meeting_end action' do
10
- before :each do
11
- stub_request(
12
- :post,
13
- zoom_url('/meeting/end')
14
- ).to_return(body: json_response('meeting', 'end'))
15
- end
16
-
17
- it "requires a 'host_id' argument" do
18
- expect {
19
- zc.meeting_end(filter_key(args, :host_id))
20
- }.to raise_error(ArgumentError)
21
- end
22
-
23
- it "requires a 'id' argument" do
24
- expect {
25
- zc.meeting_end(filter_key(args, :id))
26
- }.to raise_error(ArgumentError)
27
- end
28
-
29
- it 'returns a hash' do
30
- expect(zc.meeting_end(args)).to be_kind_of(Hash)
31
- end
32
-
33
- it 'returns id and updated_at attributes' do
34
- res = zc.meeting_end(args)
35
-
36
- expect(res['id']).to eq(args[:id])
37
- expect(res['ended_at']).to eq('2012-11-25T12:00:00Z')
38
- end
39
- end
40
-
41
- xdescribe '#meeting_end! action' do
42
- before :each do
43
- stub_request(
44
- :post,
45
- zoom_url('/meeting/end')
46
- ).to_return(body: json_response('error'))
47
- end
48
-
49
- it 'raises Zoom::Error exception' do
50
- expect {
51
- zc.meeting_end!(args)
52
- }.to raise_error(Zoom::Error)
53
- end
54
- end
55
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Meeting do
6
- let(:zc) { zoom_client }
7
-
8
- xdescribe '#meeting_live action' do
9
- before :each do
10
- stub_request(
11
- :post,
12
- zoom_url('/meeting/live')
13
- ).to_return(body: json_response('meeting', 'live'))
14
- end
15
-
16
- it 'returns a hash' do
17
- expect(zc.meeting_live({})).to be_kind_of(Hash)
18
- end
19
-
20
- it "returns 'total_records'" do
21
- expect(zc.meeting_live({})['total_records']).to eq(235)
22
- end
23
-
24
- it "returns 'meetings' Array" do
25
- expect(zc.meeting_live({})['meetings']).to be_kind_of(Array)
26
- end
27
- end
28
-
29
- xdescribe '#meeting_live! action' do
30
- before :each do
31
- stub_request(
32
- :post,
33
- zoom_url('/meeting/live')
34
- ).to_return(body: json_response('error'))
35
- end
36
-
37
- it 'raises Zoom::Error exception' do
38
- expect {
39
- zc.meeting_live!({})
40
- }.to raise_error(Zoom::Error)
41
- end
42
- end
43
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Meeting do
6
- let(:zc) { zoom_client }
7
- let(:args) { { id: 1, email: 'foo@bar.com', first_name: 'Foo', last_name: 'Bar' } }
8
- let(:join_url) { 'https://www.zoom.us/w/869275230?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA' }
9
-
10
- xdescribe '#meeting_register action' do
11
- before :each do
12
- stub_request(
13
- :post,
14
- zoom_url('/meeting/register')
15
- ).to_return(body: json_response('meeting', 'register'))
16
- end
17
-
18
- it 'returns a hash' do
19
- expect(zc.meeting_register(args)).to be_kind_of(Hash)
20
- end
21
-
22
- it "returns the created user's unique registrant_id" do
23
- expect(zc.meeting_register(args)['registrant_id']).to eql('555')
24
- end
25
-
26
- it 'returns a join_url' do
27
- expect(zc.meeting_register(args)['join_url']).to eql(join_url)
28
- end
29
- end
30
-
31
- xdescribe '#meeting_register! action' do
32
- before :each do
33
- stub_request(
34
- :post,
35
- zoom_url('/meeting/register')
36
- ).to_return(body: json_response('error'))
37
- end
38
-
39
- it 'raises Zoom::Error exception' do
40
- expect {
41
- zc.meeting_register!(args)
42
- }.to raise_error(Zoom::Error)
43
- end
44
- end
45
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Metrics do
6
-
7
- before :all do
8
- @zc = zoom_client
9
- @args = { from: '2013-04-05T15:50:47Z',
10
- to: '2013-04-09T19:00:00Z' }
11
- end
12
-
13
- xdescribe '#metrics_crc action' do
14
- before :each do
15
- stub_request(
16
- :post,
17
- zoom_url('/metrics/crc')
18
- ).to_return(body: json_response('metrics_crc'))
19
- end
20
-
21
- it "requires a 'from' argument" do
22
- expect { @zc.metrics_crc(filter_key(@args, :from)) }.to raise_error(ArgumentError)
23
- end
24
-
25
- it "requires a 'to' argument" do
26
- expect { @zc.metrics_crc(filter_key(@args, :to)) }.to raise_error(ArgumentError)
27
- end
28
-
29
- it 'returns a hash' do
30
- expect(@zc.metrics_crc(@args)).to be_kind_of(Hash)
31
- end
32
- end
33
-
34
- xdescribe '#metrics_crc! action' do
35
- before :each do
36
- stub_request(
37
- :post,
38
- zoom_url('/metrics/crc')
39
- ).to_return(body: json_response('error'))
40
- end
41
-
42
- it 'raises Zoom::Error exception' do
43
- expect {
44
- @zc.metrics_crc!(@args)
45
- }.to raise_error(Zoom::Error)
46
- end
47
- end
48
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Metrics do
6
-
7
- before :all do
8
- @zc = zoom_client
9
- @args = { meeting_id: 't13b6hjVQXybvGKyeHC96w==', type: 1 }
10
- end
11
-
12
- xdescribe '#metrics_meetingdetail action' do
13
- before :each do
14
- stub_request(
15
- :post,
16
- zoom_url('/metrics/meetingdetail')
17
- ).to_return(body: json_response('metrics_meetingdetail'))
18
- end
19
-
20
- it "requires a 'meeting_id' argument" do
21
- expect { @zc.metrics_meetingdetail(filter_key(@args, :meeting_id)) }.to raise_error(ArgumentError)
22
- end
23
-
24
- it "requires a 'type' argument" do
25
- expect { @zc.metrics_meetingdetail(filter_key(@args, :type)) }.to raise_error(ArgumentError)
26
- end
27
-
28
- it 'returns a hash' do
29
- expect(@zc.metrics_meetingdetail(@args)).to be_kind_of(Hash)
30
- end
31
-
32
- it "returns 'participants' Array" do
33
- expect(@zc.metrics_meetingdetail(@args)['participants']).to be_kind_of(Array)
34
- end
35
- end
36
-
37
- xdescribe '#metrics_meetingdetail! action' do
38
- before :each do
39
- stub_request(
40
- :post,
41
- zoom_url('/metrics/meetingdetail')
42
- ).to_return(body: json_response('error'))
43
- end
44
-
45
- it 'raises Zoom::Error exception' do
46
- expect {
47
- @zc.metrics_meetingdetail!(@args)
48
- }.to raise_error(Zoom::Error)
49
- end
50
- end
51
- end