zoomify 1.0.2 → 1.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fad0987c91806109f32afee6ae4cd2f7978cf9c61167a5bf4ea0149fe5784821
4
- data.tar.gz: bf418be6ff7ead2738184571444d77da0c525d2a938635b7d6b298842e3c0045
3
+ metadata.gz: ee29c4484c7ac656ff4aa1d31e650ec73a67e93626a31f62f9467f722eb3d9a5
4
+ data.tar.gz: 4facc3d066eebd101f4c65ffc4955dc9e35d61a80a384ce882613f59c45556db
5
5
  SHA512:
6
- metadata.gz: c1cd297fa7ac3211954076e7378e8f52daf608b802dbdb5dc2c0a2c4bddd5eb9daf2d445c183c14f8dc84f52cc70c20923ddce8992dfe388087cdbacc74e79b7
7
- data.tar.gz: e0436481b30ad94fd07914c731497b7fd13515d3ed309a226d147b72d821824ceae75f5f63adc91c724432236f55d1c5b1105216f1ca38c35eedd029d59f0d00
6
+ metadata.gz: 6033a2e7f1f97692f1a431d6681410e7553e04aac20c33c71ff1d1a069774574dfaae74ed059b8f9a17e05c541a0ded07e0060d1dd1c3b771d67225e6c4c80df
7
+ data.tar.gz: c2364561696c0b9af6530d04c191fd852e72f88a290e56a8f1a2d1382731e72ae155aecda0df3d2065734e69c107236cdcc7d2a072d32a63076d3cae872a3b4d
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
- # Zoomify
1
+ # Zoomify Gem
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/zoomify`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Wrapper for [Zoom](https://zoom.github.io/api/) API V2
6
4
 
7
5
  ## Installation
8
6
 
@@ -22,22 +20,568 @@ Or install it yourself as:
22
20
 
23
21
  ## Usage
24
22
 
25
- TODO: Write usage instructions here
23
+ Initialize Zoom client in your app
26
24
 
27
- ## Development
25
+ client = Zoomify::Client.new(api_key: 'your_api_key', api_secret: 'your_api_secret')
28
26
 
29
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
27
+ #### Accounts
30
28
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
29
+ List all sub accounts
32
30
 
33
- ## Contributing
31
+ accounts = client.accounts
32
+
33
+ Additional parameters can be passed as
34
34
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/zoomify. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
35
+ accounts = client.accounts(page_size: 5, page_number: 3)
36
36
 
37
- ## License
37
+ Create a sub account (params can be found [here](https://zoom.github.io/api/#create-a-sub-account))
38
+
39
+ account = client.accounts_create(params)
40
+
41
+ Retrieve a sub account
42
+
43
+ account = client.account(id: 'account id')
44
+
45
+ Disassociate an account
46
+
47
+ account = client.accounts_delete(id: 'account id')
48
+
49
+ Update a sub account's options (params can be found [here](https://zoom.github.io/api/#update-a-sub-accounts-options))
50
+
51
+ account = client.accounts_update_options(id: 'account id', share_rc: true, share_mc: true)
52
+
53
+ Retrieve a sub account's settings
54
+
55
+ account = client.accounts_settings(id: 'account id')
56
+
57
+ Update a sub account's settings (params can be found [here](https://zoom.github.io/api/#update-a-sub-accounts-settings))
58
+
59
+ account = client.accounts_settings_update(id: 'account id', schedule_meting: {host_video: true})
60
+
61
+ #### Billing
62
+
63
+ Retrieve billing information for a sub account
64
+
65
+ billing = client.billing(id: 'account id')
66
+
67
+ Update billing information for a sub account (params can be found [here](https://zoom.github.io/api/#update-billing-information-for-a-sub-account))
68
+
69
+ billing = client.billing_update(id: 'account id', first_name: 'John Doe')
70
+
71
+ Retrieve plan information for a sub account
72
+
73
+ plan = client.plan(id: 'account id')
74
+
75
+ Subscribe plans for a sub account (params can be found [here](https://zoom.github.io/api/#subscribe-plans-for-a-sub-account))
76
+
77
+ plan = client.plan_subscribe(id: 'account id', contact: {first_name: 'John Doe'})
78
+
79
+ Update a plan base for a sub account (params can be found [here](https://zoom.github.io/api/#update-a-base-plan-for-a-sub-account))
80
+
81
+ plan_base = client.update_base_plan(id: 'account id', type: 'string', hosts: 1)
82
+
83
+ Add an additional plan for a sub account (params can be found [here](https://zoom.github.io/api/#add-an-additional-plan-for-sub-account))
84
+
85
+ addon = client.create_addon(id: 'account id', type: 'string', hosts: 1)
86
+
87
+ Update an additional plan for a sub account (params can be found [here](https://zoom.github.io/api/#update-an-additional-plan-for-sub-account))
88
+
89
+ addon = client.update_addon(id: 'account id', type: 'string', hosts: 1)
90
+
91
+ #### Users
92
+
93
+ List Users (optional params can be found here [here](https://zoom.github.io/api/#list-users))
94
+
95
+ users = client.users
96
+
97
+ Create a user (params can be found here [here](https://zoom.github.io/api/#create-a-user))
98
+
99
+ user = client.user_create(params)
100
+
101
+ Retrieve a user (params can be found here [here](https://zoom.github.io/api/#retrieve-a-user))
102
+
103
+ user = client.user(id: 'user id')
104
+
105
+ Update a user (params can be found here [here](https://zoom.github.io/api/#update-a-user))
106
+
107
+ user = client.user_update(id: 'user id', first_name: 'John Doe')
108
+
109
+ Delete a user (optional params can be found [here](https://zoom.github.io/api/#delete-a-user))
110
+
111
+ user = client.user_delete(id: 'user id')
112
+
113
+ List a user's assistants
114
+
115
+ assistants = client.user_assistants(id: 'user id')
116
+
117
+ Add assistants (params can be found [here](https://zoom.github.io/api/#add-assistants))
118
+
119
+ assistant = client.user_assistants_create(id: 'user id', assistants: [{id: 'string', email: 'string'}])
120
+
121
+ Delete all assistants of a user
122
+
123
+ assistant = client.user_assistants_delete_all(id: 'user id')
124
+
125
+ Delete a user's assistant
126
+
127
+ assistant = client.user_assistant_delete(id: 'user id', assistant_id: 'assistant id')
128
+
129
+ List a user's schedulers
130
+
131
+ schedulers = client.user_schedulers(id: 'user id')
132
+
133
+ Delete all schedulers of a users
134
+
135
+ schedulers = client.user_schedulers_delete_all(id: 'user id')
136
+
137
+ Delete a user's scheduler
138
+
139
+ scheduler = client.user_schedulers_delete(id: 'user id', scheduler_id: 'scheduler id')
140
+
141
+ Upload a user's picture (information about params can be found [here](https://developer.zoom.us/playground/#/Users/userPicture))
142
+
143
+ picture = client.upload_picture(id: 'user id', pic_file: 'file')
144
+
145
+ Retrieve a user's settings
146
+
147
+ settings = client.user_settings(id: 'user id')
148
+
149
+ Update a user's settings (params can be found [here](https://zoom.github.io/api/#update-a-users-settings))
150
+
151
+ settings = client.user_settings_update(id: 'user id', scheduled_meeting: { host_video: true })
152
+
153
+ Update a user's status (params can be found [here](https://zoom.github.io/api/#update-a-users-status))
154
+
155
+ status = client.user_status_update(id: 'user id', action: 'active')
156
+
157
+ Update a user's password (params can be found [here](https://zoom.github.io/api/#update-a-users-password))
158
+
159
+ password = client.user_password_update(id: 'user id', password: 'ABCXYZ')
160
+
161
+ Retrieve a user's permissions
162
+
163
+ permissions = client.user_permissions(id: 'user id')
164
+
165
+ Retrieve a user's token (optional params can be found [here](https://zoom.github.io/api/#retrieve-a-users-token))
166
+
167
+ token = client.user_token(id: 'user id')
168
+
169
+ Revoke a user's SSO Token
170
+
171
+ token = client.user_token_delete(id: 'user id')
172
+
173
+ Verify a user's zpk (Deprecated)
174
+
175
+ zpk = client.verify_zpk(zpk: 'User zpk')
176
+
177
+ Verify a user's email
178
+
179
+ email = client.verify_email(email: 'User email')
180
+
181
+ Check a user's personal meeting room name
182
+
183
+ vanity_name = client.verify_vanity_name(vanity_name: 'User Vanity Name')
184
+
185
+ #### Meetings
186
+
187
+ List meetings (optional params can be found [here](https://zoom.github.io/api/#list-meetings))
188
+
189
+ meetings = client.meetings(id: 'user id')
190
+
191
+ Create a meeting (params can be found [here](https://zoom.github.io/api/#create-a-meeting))
192
+
193
+ meeting = client.meetings_create(id: 'user_id', topic: 'Zoomify Gem')
194
+
195
+ Retrieve a meeting
196
+
197
+ meeting = client.meeting(id: 'meeting id')
198
+
199
+ Update a meeting (params can be found [here](https://zoom.github.io/api/#update-a-meeting))
200
+
201
+ meeting = client.meeting_update(id: 'meeting id', topic: 'Zoomify Gem')
202
+
203
+ Delete a meeting (optional params can be found [here](https://zoom.github.io/api/#delete-a-meeting))
204
+
205
+ meeting = client.meeting_delete(id: 'meeting id')
206
+
207
+ Update a meeting's status (params can be found [here](https://zoom.github.io/api/#update-a-meetings-status))
208
+
209
+ status = client.meeting_update_status(id: 'meeting id', action: 'end')
210
+
211
+ List a meeting's registrants (optional params can be found [here](https://zoom.github.io/api/#list-a-meetings-registrants))
212
+
213
+ registrants = client.meeting_registrants(id: 'meeting id')
214
+
215
+ Add a meeting registrant (params can be found [here](https://zoom.github.io/api/#add-a-meeting-registrant))
216
+
217
+ registrant = client.meeting_registrants_create(id: 'meeting id', email: 'johndoe@email.com', first_name: 'John', last_name: 'Doe')
218
+
219
+ Update a meeting registrant's status (params can be found [here](https://zoom.github.io/api/#update-a-meeting-registrants-status))
220
+
221
+ status = client.meeting_registrants_update_status(id: 'meeting id', action: 'approve')
222
+
223
+ Retrieve past meeting details
224
+
225
+ past_meeting = client.past_meeting(uuid: 'meeting uuid')
226
+
227
+ Retrieve past meeting participants (optional params can be found [here](https://zoom.github.io/api/#retrieve-past-meeting-participants))
228
+
229
+ participants = client.past_meeting_participants(uuid: 'meeting uuid')
230
+
231
+ #### Webinars
232
+
233
+ List webinars (optional params can be found [here](https://zoom.github.io/api/#list-webinars))
234
+
235
+ webinars = client.webinars(id: 'user id')
236
+
237
+ Create a webinar (params can be found [here](https://zoom.github.io/api/#create-a-webinar))
238
+
239
+ webinar = client.webinar_create(id: 'user_id', topic: 'Zoomify Gem')
240
+
241
+ Retrieve a webinar
242
+
243
+ webinar = client.webinar(id: 'webinar id')
244
+
245
+ Update a webinar (params can be found [here](https://zoom.github.io/api/#update-a-webinar))
246
+
247
+ webinar = client.webinar_update(id: 'webinar id', topic: 'Zoomify Gem')
248
+
249
+ Delete a webinar (optional params can be found [here](https://zoom.github.io/api/#delete-a-webinar))
250
+
251
+ webinar = client.webinar_delete(id: 'webinar id')
252
+
253
+ Update a webinar's status (params can be found [here](https://zoom.github.io/api/#update-a-webinars-status))
254
+
255
+ status = client.webinar_update_status(id: 'webinar id', status: 'end')
256
+
257
+ List a webinar's panelists
258
+
259
+ panelists = client.webinar_panelists(id: 'webinar id')
260
+
261
+ Add a webinar penelist (params can be found [here](https://zoom.github.io/api/#add-a-webinar-panelist))
262
+
263
+ panelist = client.webinar_panelists_create(id: 'webinar id', panelists: [{name: 'string', email: string}])
264
+
265
+ Remove all panelists from webinar
266
+
267
+ panelists = client.webinar_panelists_delete_all(id: 'webinar id')
268
+
269
+ Remove a webinar panelist
270
+
271
+ panelist = client.webinar_panelists_delete(id: 'webinar id', panelist_id: 'panelist id')
272
+
273
+ List a webinar's registrants (optional params can be found [here](https://zoom.github.io/api/#list-a-webinars-registrants))
274
+
275
+ registrants = client.webinar_registrants(id: 'webinar id')
276
+
277
+ Add a webinar registrant (params can be found [here](https://zoom.github.io/api/#add-a-webinar-registrant))
278
+
279
+ registrant = client.webinar_registrants_create(id: 'webinar_id', email: 'johndoe@email.com', first_name: 'John', last_name: 'Doe')
280
+
281
+ Update a webinar registrant's status (params can be found [here](https://zoom.github.io/api/#update-a-webinar-registrants-status))
282
+
283
+ status = client.webinar_registrants_update_status(id: 'webinar id', action: 'approve')
284
+
285
+ List of ended webinar instances
286
+
287
+ webinars = client.past_webinars(id: 'webinar id')
288
+
289
+ #### Groups
290
+
291
+ List groups
292
+
293
+ groups = client.groups
294
+
295
+ Create a group
296
+
297
+ group = client.groups_create(name: 'string')
298
+
299
+ Retrieve a group
300
+
301
+ group = client.group(id: 'group id')
302
+
303
+ Update a group
304
+
305
+ group = client.group_update(id: 'group id', name: 'string')
306
+
307
+ Delete a group
308
+
309
+ group = client.group_delete(id: 'group id')
310
+
311
+ List a group's members (optional params can be found [here](https://zoom.github.io/api/#list-a-groups-members))
38
312
 
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
313
+ members = client.group_members(id: 'group id')
314
+
315
+ Add group members (params can be found [here](https://zoom.github.io/api/#add-group-members))
40
316
 
41
- ## Code of Conduct
317
+ members = client.group_members_create(id: 'group id', members: [{id: 'string', email: 'string'}])
318
+
319
+ Delete a group member
320
+
321
+ member = client.group_delete_member(id: 'group id', member_id: 'member id')
322
+
323
+ #### IM Groups
324
+
325
+ List IM Groups
326
+
327
+ im_groups = client.im_groups
328
+
329
+ Create an IM Group (params can be found [here](https://zoom.github.io/api/#create-an-im-group))
330
+
331
+ im_group = client.im_groups_create(params)
332
+
333
+ Retrieve an IM Group
334
+
335
+ im_group = client.im_group(id: 'group id')
336
+
337
+ Update an IM Group (params can be found [here](https://zoom.github.io/api/#update-an-im-group))
338
+
339
+ im_group = client.im_group_update(id: 'group id', name: 'Zoomify Gem')
340
+
341
+ Delete an IM Group
342
+
343
+ im_group = client.im_group_delete(id: 'group id')
344
+
345
+ List an IM Group Members (optional params can be found [here](https://zoom.github.io/api/#list-an-im-groups-members))
346
+
347
+ members = client.im_group_members(id: 'group id')
348
+
349
+ Add IM Group members (params can be found [here](https://zoom.github.io/api/#add-im-group-members))
350
+
351
+ members = client.im_group_members_create(id: 'group id', members: [{id: 'string', email: 'string'}])
352
+
353
+ Delete an IM Group Member
354
+
355
+ member = client.im_group_delete_member(id: 'group id', member_id: 'member id')
356
+
357
+ #### IM Chat
358
+
359
+ Retrieve IM Chat Sessions (optional params can be found [here](https://zoom.github.io/api/#retrieve-im-chat-sessions))
360
+
361
+ im_chat_session = client.im_chat_sessions(from: 'Start date', to: 'End date')
362
+
363
+ Retrieve IM Chat Messages (optional params can be found [here](https://zoom.github.io/api/#retrieve-im-chat-messages))
364
+
365
+ im_chat_messages = client.im_chat_session_messages(id: 'session id', from: 'Start date', to: 'End date')
366
+
367
+ #### Cloud Recording
368
+
369
+ List all the recordings (optional params can be found [here](https://zoom.github.io/api/#list-all-the-recordings))
370
+
371
+ recordings = client.user_cloud_recordings(id: 'user id', from: 'Start date', to: 'End date')
372
+
373
+ Retrieve all recordings of a meeting
374
+
375
+ recordings = client.meeting_cloud_recordings(id: 'meeting id')
376
+
377
+ Delete all recordings of a meeting (params can be found [here](https://zoom.github.io/api/#delete-a-meetings-recordings))
378
+
379
+ recordings = client.meeting_cloud_recordings_delete_all(id: 'meeting id', action: 'trash')
380
+
381
+ Delete particular recording of a meeting (optional params can be found [here](https://zoom.github.io/api/#delete-one-meeting-recording-file))
382
+
383
+ recording = client.meeting_cloud_recording_delete(id: 'meeting id', recording_id: 'recording id')
384
+
385
+ Recover all recordings of a meeting (params can be found [here](https://zoom.github.io/api/#recover-a-meetings-recordings))
386
+
387
+ recordings = client.meeting_cloud_recordings_recover(id: 'meeting id', action: 'recover')
388
+
389
+ Recover a single recording file (params can be found [here](https://zoom.github.io/api/#recover-a-single-recording))
390
+
391
+ recording = client.meeting_cloud_recording_recover(id: 'meeting id', recording_id: 'recording id', action: 'recover')
392
+
393
+ #### Reports
394
+
395
+ Retrieve daily report (optional params can be found [here](https://zoom.github.io/api/#retrieve-daily-report))
396
+
397
+ report = client.daily_report
398
+
399
+ Retrieve hosts report (optional params can be found [here](https://zoom.github.io/api/#retrieve-hosts-report))
400
+
401
+ report = client.users_report(from: 'Start date', to: 'End date')
402
+
403
+ Retrieve meetings report (optional params can be found [here](https://zoom.github.io/api/#retrieve-meetings-report))
404
+
405
+ report = client.meetings_report(id: 'user id', from: 'Start date', to: 'End date')
406
+
407
+ Retrieve meeting details report
408
+
409
+ report = client.meeting_details_report(id: 'meeting id')
410
+
411
+ Retrieve meeting participants report (optional params can be found [here](https://zoom.github.io/api/#retrieve-meeting-participants-report))
412
+
413
+ report = client.meeting_participants_report(id: 'meeting id')
414
+
415
+ Retrieve meeting polls report
416
+
417
+ report = client.meeting_polls_report(id: 'meeting id')
418
+
419
+ Retrieve webinar details report
420
+
421
+ report = client.webinar_daily_report(id: 'webinar id')
422
+
423
+ Retrieve webinar participants report (optional params can be found [here](https://zoom.github.io/api/#retrieve-webinar-participants-report))
424
+
425
+ report = client.webinar_participants_report(id: 'webinar id')
426
+
427
+ Retrieve webinar polls report
428
+
429
+ report = client.webinar_polls_report(id: 'webinar id')
430
+
431
+ Retrieve webinar Q&A report
432
+
433
+ report = client.webinar_qa_report(id: 'webinar id')
434
+
435
+ Retrieve Telephone report (optional params can be found [here](https://zoom.github.io/api/#retrieve-telephone-report))
436
+
437
+ report = client.telephone_report(from: 'Start date', to: 'End date')
438
+
439
+ #### Dashboards
440
+
441
+ List meetings (optional params can be found [here](https://zoom.github.io/api/#list-meetings126))
442
+
443
+ metrics = client.meeting_metrics(from: 'Start date', to: 'End date')
444
+
445
+ Retrieve meeting details (optional params can be found [here](https://zoom.github.io/api/#retrieve-meeting-detail))
446
+
447
+ metrics = client.meeting_detail_metrics(id: 'meeting id')
448
+
449
+ Retrieve meeting participants (optional params can be found [here](https://zoom.github.io/api/#retrieve-meeting-participants))
450
+
451
+ metrics = client.meeting_participants_metrics(id: 'meeting id')
452
+
453
+ Retrieve meeting participant QOS (optional params can be found [here](https://zoom.github.io/api/#retrieve-meeting-participant-qos))
454
+
455
+ metrics = client.particular_meeting_participant_qos_metrics(id: 'meeting id', participant_id: 'participant id')
456
+
457
+ List meeting participants QOS (optional params can be found [here](https://zoom.github.io/api/#list-meeting-participants-qos))
458
+
459
+ metrics = client.meeting_participants_qos_metrics(id: 'meeting id')
460
+
461
+ Retrieve sharing/recording details of meeting participants (optional params can be found [here](https://zoom.github.io/api/#retrieve-sharing-recording-details-of-meeting-participant))
462
+
463
+ metrics = client.meeting_participants_sharing_metrics(id: 'meeting id')
464
+
465
+ List webinars (optional params can be found [here](https://zoom.github.io/api/#list-webinars132))
466
+
467
+ metrics = client.webinar_metrics(from: 'Start date', to: 'End date')
468
+
469
+ Retrieve webinar details (optional params can be found [here](https://zoom.github.io/api/#retrieve-webinar-detail))
470
+
471
+ metrics = client.webinar_details_metrics(id: 'webinar id')
472
+
473
+ Retrieve webinar participants (optional params can be found [here](https://zoom.github.io/api/#retrieve-webinar-participants))
474
+
475
+ metrics = client.webinar_participants_metrics(id: 'webinar id')
476
+
477
+ Retrieve webinar participant QOS (optional params can be found [here](https://zoom.github.io/api/#retrieve-webinar-participant-qos))
478
+
479
+ metrics = client.particular_webinar_participant_qos_metrics(id: 'webinar id', participant_id: 'participant id')
480
+
481
+ List webinar participants QOS (optional params can be found [here](https://zoom.github.io/api/#list-webinar-participant-qos))
482
+
483
+ metrics = client.webinar_participants_qos_metrics(id: 'webinar id')
484
+
485
+ Retrieve sharing/recording details of Webinar participants (optional params can be found [here](https://zoom.github.io/api/#retrieve-sharing-recording-details-of-webinar-participant))
486
+
487
+ metrics = client.webinar_participants_sharing_metrics(id: 'webinar id')
488
+
489
+ List Zoom Rooms (optional params can be found [here](https://zoom.github.io/api/#list-zoom-rooms))
490
+
491
+ metrics = client.zoom_rooms_metrics
492
+
493
+ Retrieve Zoom Room (optional params can be found [here](https://zoom.github.io/api/#retrieve-zoom-room))
494
+
495
+ metrics = client.retrieve_zoom_room(id: 'zoom room id', from: 'Start date', to: 'End date')
496
+
497
+ Retrieve CRC Port Usage
498
+
499
+ metrics = client.crc_metrics(from: 'Start date', to: 'End date')
500
+
501
+ Retrieve IM (optional params can be found [here](https://zoom.github.io/api/#retrieve-im))
502
+
503
+ metrics = client.im_metrics(from: 'Start date', to: 'End date')
504
+
505
+ #### Webhooks
506
+
507
+ Switch webhook version
508
+
509
+ webhook = client.webhook_options(version: 'v1')
510
+
511
+ List webhooks
512
+
513
+ webhook = client.webhooks
514
+
515
+ Create a webhook (params can be found [here](https://zoom.github.io/api/#create-a-webhook))
516
+
517
+ webhook = client.webhooks_create(params)
518
+
519
+ Retrieve a webhook
520
+
521
+ webhook = client.webhook(id: 'webhook id')
522
+
523
+ Update a webhook (params can be found [here](https://zoom.github.io/api/#update-a-webhook))
524
+
525
+ webhook = client.webhook_update(id: 'webhook id', url: 'string')
526
+
527
+ Delete a webhook
528
+
529
+ webhook = client.webhook_delete(id: 'webhook id')
530
+
531
+ #### TSP
532
+
533
+ List TSP dial-in numbers
534
+
535
+ tsp = client.dial_in_numbers
536
+
537
+ List user's TSP accounts
538
+
539
+ tsp = tsp_accounts(id: 'user id')
540
+
541
+ Add a user's TSP account (params can be found [here](https://zoom.github.io/api/#add-a-users-tsp-account))
542
+
543
+ tsp = client.tsp_accounts_create(id: 'user id', conference_code: 'string')
544
+
545
+ Retrieve a user's TSP account
546
+
547
+ tsp = client.user_tsp_account(id: 'user id', tsp_id: 'TSP id')
548
+
549
+ Update a TSP account (params can be found [here](https://zoom.github.io/api/#update-a-tsp-account))
550
+
551
+ tsp = client.user_tsp_account_update(Id: 'user id', tsp_id: 'TSP id', conference_code: 'string')
552
+
553
+ Delete a user's TSP account
554
+
555
+ tsp = client.user_tsp_account_delete(id: 'user id', tsp_id: 'TSP id')
556
+
557
+ #### PAC
558
+
559
+ List user's PAC accounts
560
+
561
+ pac = client.pac_accounts(id: 'user id')
562
+
563
+ #### Devices
564
+
565
+ List H.323/SIP Devices
566
+
567
+ devices = client.devices
568
+
569
+ Create a H.323/SIP Devices (params can be found [here](https://zoom.github.io/api/#create-a-h-323-sip-device))
570
+
571
+ device = client.devices_create(params)
572
+
573
+ Update a H.323/SIP Device (params can be found [here](https://zoom.github.io/api/#update-a-h-323-sip-device))
574
+
575
+ device = client.device_update(id: 'device id', name: 'string')
576
+
577
+ Delete a H.323/SIP Device
578
+
579
+ device = client.device_delete(id: 'device id')
580
+
581
+ ## Contributing
582
+
583
+ Bug reports and pull requests are welcome on GitHub at https://github.com/fakhir-shad/zoomify. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
584
+
585
+ ## License
42
586
 
43
- Everyone interacting in the Zoomify project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/zoomify/blob/master/CODE_OF_CONDUCT.md).
587
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -7,7 +7,7 @@ module Zoomify
7
7
  self.class.send(user_method_without_id_options[method.to_sym], '/users', params)
8
8
  end
9
9
  end
10
- %w(user user_update user_delete user_assistants user_assistants_create user_assistants_delete_all user_schedulers user_schedulers_delete_all).each do |method|
10
+ %w(user user_update user_delete user_assistants user_assistants_create user_assistants_delete_all user_schedulers user_schedulers_delete_all user_settings user_settings_update user_status_update user_password_update user_permissions user_token user_token_delete).each do |method|
11
11
  define_method method do |*args|
12
12
  params = Request.extract_params_and_manage_user_id_error *args
13
13
  method_option = user_method_with_id_options(params)[method.to_sym]
@@ -23,6 +23,21 @@ module Zoomify
23
23
  end
24
24
  end
25
25
 
26
+ def upload_picture *args
27
+ params = Request.extract_params_and_manage_user_id_error *args
28
+ (raise Request.argument_error "pic_file") if params[:pic_file].blank?
29
+ self.class.fire_post("/users/#{Request.extract_id_from_params(params)}/picture", params)
30
+ end
31
+
32
+ %w(verify_zpk verify_email verify_vanity_name).each do |method|
33
+ define_method method do |*args|
34
+ params = Request.extract_params args
35
+ event = method.split('_').drop(1).join('_')
36
+ (raise Request.argument_error "#{event}") if params[event.to_sym].blank?
37
+ self.class.fire_get("/users/#{event}", params)
38
+ end
39
+ end
40
+
26
41
  private
27
42
  def user_method_without_id_options
28
43
  {users: 'fire_get', user_create: 'fire_post'}
@@ -61,6 +76,34 @@ module Zoomify
61
76
  request: 'delete',
62
77
  url: "/users/#{Request.extract_id_from_params(params)}/schedulers"
63
78
  },
79
+ user_settings: {
80
+ request: 'get',
81
+ url: "/users/#{user_id}/settings"
82
+ },
83
+ user_settings_update: {
84
+ request: 'patch',
85
+ url: "/users/#{user_id}/settings"
86
+ },
87
+ user_status_update: {
88
+ request: 'put',
89
+ url: "/users/#{user_id}/status",
90
+ },
91
+ user_password_update: {
92
+ request: 'put',
93
+ url: "/users/#{user_id}/password"
94
+ },
95
+ user_permissions: {
96
+ request: 'get',
97
+ url: "/users/#{user_id}/permissions"
98
+ },
99
+ user_token: {
100
+ request: 'get',
101
+ url: "/users/#{user_id}/token"
102
+ },
103
+ user_token_delete: {
104
+ request: 'delete',
105
+ url: "/users/#{user_id}/token"
106
+ }
64
107
 
65
108
  }
66
109
  end
@@ -1,3 +1,3 @@
1
1
  module Zoomify
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoomify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fakhir Shad