zoom_rb 1.1.8 → 1.1.10

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: 87a9e2f7848d2e669f3e022e99e0efeaba1610e3021c904b7266a0bf4269d1c8
4
- data.tar.gz: 891a47c991116c9df57217bcafc443e4f077709ed87499ee270a4c365526cbd3
3
+ metadata.gz: eba66b57716707ef68c2b32a14fe9befae24025bbf9f86a19e6af4595200eb4a
4
+ data.tar.gz: c467da5f5513c6af4ab2eabdaada0ad1284ce3991fd10a69b0b0e556d07e1b29
5
5
  SHA512:
6
- metadata.gz: cdd836e38abf1363e152c21c2698b0575e2ce869fd473293affd8baa3a6b16c6d4c451f442f8b37a5dfe67ce8aa1c696d022b65afd21e9ec962c2984b1c66a40
7
- data.tar.gz: '0677805581c425cf3ebd7e8a30bed630b626c16c54046977168761cf6abb1a6afab86e1ca04e875845fa4f62f0110c993535f0c026139dfad885f7396a508cec'
6
+ metadata.gz: b8097a2372ec570dc70515fb835077becd1ef1531180b790765c53b994fcad883203da966643f41072ce36cba632d4bac40ce12fc65286ad0cf90e00be033d79
7
+ data.tar.gz: 67c49dc2a4b6575064991cbaa499b36d94c9ce403db4fc0c866a1c668b247cb64708c4b81e959e1d8e6ddf95e23b37804a336aa4641275ef698e7f4181b8b007
@@ -10,7 +10,7 @@ jobs:
10
10
  test:
11
11
  strategy:
12
12
  matrix:
13
- ruby: ['3.0', '3.1', '3.2']
13
+ ruby: ['3.0', '3.1', '3.2', '3.3']
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
@@ -37,4 +37,4 @@ jobs:
37
37
  uses: coverallsapp/github-action@v2
38
38
  with:
39
39
  parallel-finished: true
40
- carryforward: "ruby-3.0,ruby-3.1,ruby-3.2"
40
+ carryforward: "ruby-3.0,ruby-3.1,ruby-3.2,ruby-3.3"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zoom_rb (1.1.8)
4
+ zoom_rb (1.1.10)
5
5
  httparty (>= 0.13)
6
6
  json (>= 1.8)
7
7
  jwt
@@ -36,9 +36,9 @@ GEM
36
36
  i18n (1.12.0)
37
37
  concurrent-ruby (~> 1.0)
38
38
  json (2.6.3)
39
- jwt (2.7.0)
39
+ jwt (2.7.1)
40
40
  method_source (1.0.0)
41
- mini_mime (1.1.2)
41
+ mini_mime (1.1.5)
42
42
  minitest (5.18.0)
43
43
  multi_xml (0.6.0)
44
44
  parallel (1.22.1)
@@ -13,7 +13,7 @@ module Zoom
13
13
  post 'meeting_create', '/users/:user_id/meetings',
14
14
  permit: %i[
15
15
  topic type start_time duration schedule_for timezone password default_password agenda tracking_fields
16
- recurrence settings template_id
16
+ recurrence settings template_id pre_schedule
17
17
  ]
18
18
 
19
19
  # Get a meeting on Zoom via meeting ID, return the meeting info.
@@ -49,6 +49,9 @@ module Zoom
49
49
  language occurrence_ids auto_approve
50
50
  ]
51
51
 
52
+ # Delete a meeting registrant.
53
+ delete 'meeting_delete_registrant', '/meetings/:meeting_id/registrants/:registrant_id'
54
+
52
55
  # Register up to 30 registrants at once for a meeting that requires registration.
53
56
  post 'batch_registrants', '/meetings/:meeting_id/batch_registrants',
54
57
  permit: %i[registrants auto_approve registrants_confirmation_email]
@@ -75,6 +78,12 @@ module Zoom
75
78
 
76
79
  # Get a meeting on Zoom via meeting ID, return the meeting info.
77
80
  get 'meeting_invitation', '/meetings/:meeting_id/invitation'
81
+
82
+ # Support for meeting surveys
83
+ # https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingSurveyGet
84
+ get "meeting_survey", "/meetings/:meeting_id/survey"
85
+ delete "meeting_delete_survey", "/meetings/:meeting_id/survey"
86
+ patch "meeting_update_survey", "/meetings/:meeting_id/survey"
78
87
  end
79
88
  end
80
89
  end
@@ -15,6 +15,11 @@ module Zoom
15
15
 
16
16
  get 'meeting_recording_settings_get', '/meetings/:meeting_id/recordings/settings'
17
17
 
18
+ get 'meeting_recording_analytics_summary', '/meetings/:meeting_id/recordings/analytics_summary'
19
+
20
+ get 'meeting_recording_analytics_details', '/meetings/:meeting_id/recordings/analytics_details',
21
+ permit: %i[page_size next_page_token from to type]
22
+
18
23
  patch 'meeting_recording_settings_update', '/meetings/:meeting_id/recordings/settings',
19
24
  permit: RECORDING_SETTINGS_KEYS
20
25
 
@@ -11,10 +11,10 @@ module Zoom
11
11
  get 'meeting_details_report', '/report/meetings/:id'
12
12
 
13
13
  get 'meeting_participants_report', '/report/meetings/:id/participants',
14
- permit: %i[page_size next_page_token]
14
+ permit: %i[page_size next_page_token include_fields]
15
15
 
16
16
  get 'webinar_participants_report', '/report/webinars/:id/participants',
17
- permit: %i[page_size next_page_token]
17
+ permit: %i[page_size next_page_token include_fields]
18
18
 
19
19
  get 'webinar_details_report', '/report/webinars/:webinar_id'
20
20
  end
@@ -21,7 +21,7 @@ module Zoom
21
21
  permit: :login_type
22
22
 
23
23
  patch 'user_update', '/users/:id',
24
- permit: %i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id]
24
+ permit: %i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id custom_attributes]
25
25
 
26
26
  delete 'user_delete', '/users/:id',
27
27
  permit: %i[action transfer_email transfer_meeting transfer_webinar transfer_recording]
@@ -69,6 +69,8 @@ module Zoom
69
69
 
70
70
  patch 'user_status_update', '/users/:id/status',
71
71
  permit: :status
72
+
73
+ get 'user_zak', '/users/me/zak'
72
74
  end
73
75
  end
74
76
  end
data/lib/zoom/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zoom
4
- VERSION = '1.1.8'
4
+ VERSION = '1.1.10'
5
5
  end
@@ -0,0 +1,21 @@
1
+ {
2
+ "custom_survey": {
3
+ "title": "Feedback on your live lecture",
4
+ "anonymous": false,
5
+ "feedback": "Thank you so much for taking the time to complete the survey. Your feedback really makes a difference.",
6
+ "questions": [
7
+ {
8
+ "name": "How useful was this lecture?",
9
+ "type": "rating_scale",
10
+ "answer_required": true,
11
+ "rating_min_value": 1,
12
+ "rating_max_value": 5,
13
+ "rating_min_label": "There is room for improvement",
14
+ "rating_max_label": "Very useful, I feel I learned a lot"
15
+ }
16
+ ],
17
+ "numbered_questions": false,
18
+ "show_question_type": false
19
+ },
20
+ "show_in_the_browser": true
21
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "from":"2023-01-01",
3
+ "to":"2023-01-02",
4
+ "next_page_token":"",
5
+ "page_size":30,
6
+ "total_records":1,
7
+ "analytics_details": [
8
+ {
9
+ "name":"John Doe",
10
+ "email":"john.doe@example.com",
11
+ "duration":1234,
12
+ "date_time":"2023-01-01T11:25:01Z"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "from":"2023-01-01",
3
+ "to":"2023-01-02",
4
+ "analytics_summary": [
5
+ {
6
+ "date":"2023-01-01",
7
+ "views_total_count":8,
8
+ "downloads_total_count":0
9
+ },
10
+ {
11
+ "date":"2023-01-02",
12
+ "views_total_count": 13,
13
+ "downloads_total_count": 1
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "token": "eyJ0eXAiOiJKV1QiLCJzdiI6IjAwMDAwMSIsInptX3NrbSI6InptX28ybSIsImFsZyI6IkhTMjU2In0.eyJhdWQiOiJjb"
3
+ }
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Meeting do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 1, registrant_id: 'abcdef' } }
8
+
9
+ describe '#meeting_delete_registrant action' do
10
+ before :each do
11
+ stub_request(
12
+ :delete,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/registrants/#{args[:registrant_id]}")
14
+ ).to_return(status: 204, headers: { 'Content-Type' => 'application/json' })
15
+ end
16
+
17
+ it "requires a 'meeting_id' and 'registrant_id' argument" do
18
+ expect {
19
+ zc.meeting_delete_registrant(filter_key(args, :meeting_id))
20
+ }.to raise_error(Zoom::ParameterMissing)
21
+ expect {
22
+ zc.meeting_delete_registrant(filter_key(args, :registrant_id))
23
+ }.to raise_error(Zoom::ParameterMissing)
24
+ end
25
+
26
+ it 'returns a status code of 204' do
27
+ expect(zc.meeting_delete_registrant(args)).to eq(204)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Meeting do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 1 } }
8
+
9
+ describe '#meeting_survey action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/survey")
14
+ ).to_return(body: json_response('meeting', 'get_survey'), headers: { 'Content-Type' => 'application/json' })
15
+ end
16
+
17
+ it 'returns a hash' do
18
+ expect(zc.meeting_survey(args)).to be_kind_of(Hash)
19
+ end
20
+
21
+ it "returns survey properties" do
22
+ expect(zc.meeting_survey(args)['show_in_the_browser']).to eql(true)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Recording do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 91538056781 } }
8
+
9
+ describe '#meeting_recording_analytics_details action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/recordings/analytics_details")
14
+ ).to_return(
15
+ status: 200,
16
+ body: json_response('recording', 'analytics_details'),
17
+ headers: { 'Content-Type' => 'application/json' }
18
+ )
19
+ end
20
+
21
+ it "requires a 'meeting_id' argument" do
22
+ expect {
23
+ zc.meeting_recording_analytics_details(filter_key(args, :meeting_id))
24
+ }.to raise_error(Zoom::ParameterMissing)
25
+ end
26
+
27
+ it 'returns a hash' do
28
+ expect(zc.meeting_recording_analytics_details(args)).to be_kind_of(Hash)
29
+ end
30
+
31
+ it "returns 'from'" do
32
+ expect(zc.meeting_recording_analytics_details(args)['from']).to eq('2023-01-01')
33
+ end
34
+
35
+ it "returns 'to'" do
36
+ expect(zc.meeting_recording_analytics_details(args)['to']).to eq('2023-01-02')
37
+ end
38
+
39
+ it "returns 'next_page_token'" do
40
+ expect(zc.meeting_recording_analytics_details(args)['next_page_token']).to eq('')
41
+ end
42
+
43
+ it "returns 'page_size'" do
44
+ expect(zc.meeting_recording_analytics_details(args)['page_size']).to eq(30)
45
+ end
46
+
47
+ it "returns 'total_records'" do
48
+ expect(zc.meeting_recording_analytics_details(args)['total_records']).to eq(1)
49
+ end
50
+
51
+ it "returns 'analytics_details' Array" do
52
+ expect(zc.meeting_recording_analytics_details(args)['analytics_details']).to be_kind_of(Array)
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Recording do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 91538056781 } }
8
+
9
+ describe '#meeting_recording_analytics_summary action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/recordings/analytics_summary")
14
+ ).to_return(
15
+ status: 200,
16
+ body: json_response('recording', 'analytics_summary'),
17
+ headers: { 'Content-Type' => 'application/json' }
18
+ )
19
+ end
20
+
21
+ it "requires a 'meeting_id' argument" do
22
+ expect {
23
+ zc.meeting_recording_analytics_summary(filter_key(args, :meeting_id))
24
+ }.to raise_error(Zoom::ParameterMissing)
25
+ end
26
+
27
+ it 'returns a hash' do
28
+ expect(zc.meeting_recording_analytics_summary(args)).to be_kind_of(Hash)
29
+ end
30
+
31
+ it "returns 'from'" do
32
+ expect(zc.meeting_recording_analytics_summary(args)['from']).to eq('2023-01-01')
33
+ end
34
+
35
+ it "returns 'to'" do
36
+ expect(zc.meeting_recording_analytics_summary(args)['to']).to eq('2023-01-02')
37
+ end
38
+
39
+ it "returns 'analytics_summary' Array" do
40
+ expect(zc.meeting_recording_analytics_summary(args)['analytics_summary']).to be_kind_of(Array)
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::User do
6
+ let(:zc) { zoom_client }
7
+
8
+ describe '#user_zak action' do
9
+ context 'with a valid response' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/users/me/zak")
14
+ ).to_return(status: 200,
15
+ body: json_response('user', 'zak'),
16
+ headers: { 'Content-Type' => 'application/json' })
17
+ end
18
+
19
+ it 'returns a users zak token' do
20
+ res = zc.user_zak
21
+ expected_response = JSON.parse(json_response('user', 'zak'))
22
+ expect(res['token']).to eq(expected_response['token'])
23
+ end
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoom_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-10 00:00:00.000000000 Z
11
+ date: 2024-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -254,11 +254,14 @@ files:
254
254
  - spec/fixtures/meeting/add_registrant.json
255
255
  - spec/fixtures/meeting/create.json
256
256
  - spec/fixtures/meeting/get.json
257
+ - spec/fixtures/meeting/get_survey.json
257
258
  - spec/fixtures/meeting/instances.json
258
259
  - spec/fixtures/meeting/invitation.json
259
260
  - spec/fixtures/meeting/list.json
260
261
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
261
262
  - spec/fixtures/meeting/live_stream/errors/missing_field.json
263
+ - spec/fixtures/recording/analytics_details.json
264
+ - spec/fixtures/recording/analytics_summary.json
262
265
  - spec/fixtures/recording/get.json
263
266
  - spec/fixtures/recording/list.json
264
267
  - spec/fixtures/recording/settings/get.json
@@ -308,6 +311,7 @@ files:
308
311
  - spec/fixtures/user/update_password.json
309
312
  - spec/fixtures/user/update_status.json
310
313
  - spec/fixtures/user/vanity_name.json
314
+ - spec/fixtures/user/zak.json
311
315
  - spec/fixtures/webinar/create.json
312
316
  - spec/fixtures/webinar/delete.json
313
317
  - spec/fixtures/webinar/list.json
@@ -382,13 +386,17 @@ files:
382
386
  - spec/lib/zoom/actions/ma/account/plan/update_spec.rb
383
387
  - spec/lib/zoom/actions/meeting/add_registrant_spec.rb
384
388
  - spec/lib/zoom/actions/meeting/create_spec.rb
389
+ - spec/lib/zoom/actions/meeting/delete_registrant_spec.rb
385
390
  - spec/lib/zoom/actions/meeting/delete_spec.rb
386
391
  - spec/lib/zoom/actions/meeting/get_spec.rb
392
+ - spec/lib/zoom/actions/meeting/get_survey_spec.rb
387
393
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
388
394
  - spec/lib/zoom/actions/meeting/list_spec.rb
389
395
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
390
396
  - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
391
397
  - spec/lib/zoom/actions/meeting/update_spec.rb
398
+ - spec/lib/zoom/actions/recording/analytics_details_spec.rb
399
+ - spec/lib/zoom/actions/recording/analytics_summary_spec.rb
392
400
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
393
401
  - spec/lib/zoom/actions/recording/get_spec.rb
394
402
  - spec/lib/zoom/actions/recording/list_spec.rb
@@ -446,6 +454,7 @@ files:
446
454
  - spec/lib/zoom/actions/user/update_spec.rb
447
455
  - spec/lib/zoom/actions/user/update_status_spec.rb
448
456
  - spec/lib/zoom/actions/user/vanity_name_spec.rb
457
+ - spec/lib/zoom/actions/user/zak_spec.rb
449
458
  - spec/lib/zoom/actions/webinar/attendees_list_spec.rb
450
459
  - spec/lib/zoom/actions/webinar/create_spec.rb
451
460
  - spec/lib/zoom/actions/webinar/delete_spec.rb
@@ -482,7 +491,7 @@ homepage: https://github.com/hintmedia/zoom_rb
482
491
  licenses:
483
492
  - MIT
484
493
  metadata: {}
485
- post_install_message:
494
+ post_install_message:
486
495
  rdoc_options: []
487
496
  require_paths:
488
497
  - lib
@@ -497,8 +506,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
506
  - !ruby/object:Gem::Version
498
507
  version: '0'
499
508
  requirements: []
500
- rubygems_version: 3.4.10
501
- signing_key:
509
+ rubygems_version: 3.5.4
510
+ signing_key:
502
511
  specification_version: 4
503
512
  summary: zoom.us API wrapper
504
513
  test_files:
@@ -545,11 +554,14 @@ test_files:
545
554
  - spec/fixtures/meeting/add_registrant.json
546
555
  - spec/fixtures/meeting/create.json
547
556
  - spec/fixtures/meeting/get.json
557
+ - spec/fixtures/meeting/get_survey.json
548
558
  - spec/fixtures/meeting/instances.json
549
559
  - spec/fixtures/meeting/invitation.json
550
560
  - spec/fixtures/meeting/list.json
551
561
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
552
562
  - spec/fixtures/meeting/live_stream/errors/missing_field.json
563
+ - spec/fixtures/recording/analytics_details.json
564
+ - spec/fixtures/recording/analytics_summary.json
553
565
  - spec/fixtures/recording/get.json
554
566
  - spec/fixtures/recording/list.json
555
567
  - spec/fixtures/recording/settings/get.json
@@ -599,6 +611,7 @@ test_files:
599
611
  - spec/fixtures/user/update_password.json
600
612
  - spec/fixtures/user/update_status.json
601
613
  - spec/fixtures/user/vanity_name.json
614
+ - spec/fixtures/user/zak.json
602
615
  - spec/fixtures/webinar/create.json
603
616
  - spec/fixtures/webinar/delete.json
604
617
  - spec/fixtures/webinar/list.json
@@ -673,13 +686,17 @@ test_files:
673
686
  - spec/lib/zoom/actions/ma/account/plan/update_spec.rb
674
687
  - spec/lib/zoom/actions/meeting/add_registrant_spec.rb
675
688
  - spec/lib/zoom/actions/meeting/create_spec.rb
689
+ - spec/lib/zoom/actions/meeting/delete_registrant_spec.rb
676
690
  - spec/lib/zoom/actions/meeting/delete_spec.rb
677
691
  - spec/lib/zoom/actions/meeting/get_spec.rb
692
+ - spec/lib/zoom/actions/meeting/get_survey_spec.rb
678
693
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
679
694
  - spec/lib/zoom/actions/meeting/list_spec.rb
680
695
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
681
696
  - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
682
697
  - spec/lib/zoom/actions/meeting/update_spec.rb
698
+ - spec/lib/zoom/actions/recording/analytics_details_spec.rb
699
+ - spec/lib/zoom/actions/recording/analytics_summary_spec.rb
683
700
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
684
701
  - spec/lib/zoom/actions/recording/get_spec.rb
685
702
  - spec/lib/zoom/actions/recording/list_spec.rb
@@ -737,6 +754,7 @@ test_files:
737
754
  - spec/lib/zoom/actions/user/update_spec.rb
738
755
  - spec/lib/zoom/actions/user/update_status_spec.rb
739
756
  - spec/lib/zoom/actions/user/vanity_name_spec.rb
757
+ - spec/lib/zoom/actions/user/zak_spec.rb
740
758
  - spec/lib/zoom/actions/webinar/attendees_list_spec.rb
741
759
  - spec/lib/zoom/actions/webinar/create_spec.rb
742
760
  - spec/lib/zoom/actions/webinar/delete_spec.rb