zoom_rb 1.1.4 → 1.1.6

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: 7c6da2eeba5f955c575c3c727711115b78cbcd1d37b0baa8781fb49d111dc8a8
4
- data.tar.gz: b199c01cfa6ede2a269e6350c358b90f3f630ba0b7eab9fe752a31680cf88f28
3
+ metadata.gz: e99bc06bfde1afda39add7d423f4114e8d0d62e7d582b18e32f9878c56be99a9
4
+ data.tar.gz: ce77dd9991a10004967382a9dbc8a10e450fba32f02da7de735a3f11c535af8a
5
5
  SHA512:
6
- metadata.gz: 8cbc44242ca16594d10bb513a520163df99fa050043e197d6341b5c7249d5f811a26bd3920fca7c1226880302649e19933b379a2dcfe5814ba5399e5a1de20c0
7
- data.tar.gz: f5417945d43116b4b104746ea0c5351943418bd9cc7ad3f539d636cebf36982daf6a0c4b3a1e4bf1f7c4d38ad051b5a986913b4a50831f406c2d91c131bde130
6
+ metadata.gz: b1131215c10a10ebcfa0b1840ecd619adce953908dc5293b9dc1dc4b84b5c526ec40ac5826447c8dae4609d6abaec573b0bc29eb2730efed26c07c5082361e38
7
+ data.tar.gz: e79fca64061d0394b9b1bb082300cb14da883a10ff436b8926b2bdaa441cb8ac4900d7772ad587fdde68cc93e5aef0fcd7a28cc5aa125708fd6628ddfe41efc6
data/.circleci/config.yml CHANGED
@@ -9,7 +9,7 @@ jobs:
9
9
  CC_TEST_REPORTER_ID: c6c77975186cfe10e41d9548e9b4a4648f87b56cdbb70bd3896a5a58abf08421
10
10
  docker:
11
11
  # specify the version you desire here
12
- - image: circleci/ruby:2.7-node-browsers
12
+ - image: circleci/ruby:3.0-node-browsers
13
13
 
14
14
  # Specify service dependencies here if necessary
15
15
  # CircleCI maintains a library of pre-built images
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zoom_rb (1.1.4)
4
+ zoom_rb (1.1.6)
5
5
  httparty (>= 0.13)
6
6
  json (>= 1.8)
7
7
  jwt
@@ -36,7 +36,7 @@ GEM
36
36
  i18n (1.10.0)
37
37
  concurrent-ruby (~> 1.0)
38
38
  json (2.6.2)
39
- jwt (2.4.1)
39
+ jwt (2.5.0)
40
40
  method_source (1.0.0)
41
41
  mime-types (3.4.1)
42
42
  mime-types-data (~> 3.2015)
@@ -35,21 +35,37 @@ module Zoom
35
35
  put 'meeting_update_status', '/meetings/:meeting_id/status',
36
36
  permit: :action
37
37
 
38
+ # Update registrant's status
39
+ put 'meeting_registrants_status_update', '/meetings/:meeting_id/registrants/status',
40
+ require: :action,
41
+ permit: [ :occurrence_id, registrants: [] ]
42
+
38
43
  # Register for a meeting.
39
44
  post 'meeting_add_registrant', '/meetings/:meeting_id/registrants',
40
45
  require: %i[email first_name],
41
46
  permit: %i[
42
47
  last_name address city country zip state phone industry org job_title
43
48
  purchasing_time_frame role_in_purchase_process no_of_employees comments custom_questions
44
- language occurrence_ids
49
+ language occurrence_ids auto_approve
45
50
  ]
46
51
 
52
+ # Register up to 30 registrants at once for a meeting that requires registration.
53
+ post 'batch_registrants', '/meetings/:meeting_id/batch_registrants',
54
+ permit: %i[registrants auto_approve registrants_confirmation_email]
55
+
47
56
  # Register for a meeting.
48
57
  patch 'meeting_registrant_questions', '/meeting/:meeting_id/registrants/questions'
49
58
 
59
+ # List users that have registered for a meeting.
60
+ get 'list_meeting_registrants', '/meetings/:meeting_id/registrants',
61
+ permit: %i[occurrence_id status page_size next_page_token]
62
+
50
63
  # Retrieve ended meeting details
51
64
  get 'past_meeting_details', '/past_meetings/:meeting_uuid'
52
65
 
66
+ # Retrieve past meeting instances
67
+ get 'past_meeting_instances', '/past_meetings/:meeting_id/instances'
68
+
53
69
  # Retrieve ended meeting participants
54
70
  get 'past_meeting_participants', '/past_meetings/:meeting_uuid/participants'
55
71
 
@@ -27,7 +27,10 @@ module Zoom
27
27
  question_and_answer: %i[
28
28
  allow_anonymous_questions answer_questions attendees_can_comment
29
29
  attendees_can_upvote enable
30
- ]
30
+ ],
31
+ attendees_and_panelists_reminder_email_notification: %i[enable type],
32
+ follow_up_absentees_email_notification: %i[enable type],
33
+ follow_up_attendees_email_notification: %i[enable type]
31
34
  }
32
35
  ].freeze
33
36
 
@@ -78,6 +81,14 @@ module Zoom
78
81
 
79
82
  get 'webinar_panelist_list', '/webinars/:webinar_id/panelists'
80
83
 
84
+ post 'webinar_panelist_add', '/webinars/:webinar_id/panelists',
85
+ require: :panelists,
86
+ permit: [ panelists: [] ]
87
+
88
+ delete 'webinar_panelist_delete', '/webinars/:webinar_id/panelists/:panelist_id'
89
+
90
+ delete 'webinar_panelists_delete_all', '/webinars/:webinar_id/panelists'
91
+
81
92
  get 'past_webinars_absentees', '/past_webinars/:webinar_uuid/absentees',
82
93
  permit: %i[occurrence_id page_size next_page_token]
83
94
  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.4'
4
+ VERSION = '1.1.6'
5
5
  end
@@ -0,0 +1,8 @@
1
+ {
2
+ "meetings": [
3
+ {
4
+ "start_time": "2022-03-26T05:37:59Z",
5
+ "uuid": "Vg8IdgluR5WDeWIkpJlElQ=="
6
+ }
7
+ ]
8
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": "567456745674",
3
+ "updated_at": "2022-03-26T07:30:16Z"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": "123456789",
3
+ "deleted_at": "2012-11-25T12:00:00Z"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": "123456789",
3
+ "deleted_at": "2012-11-25T12:00:00Z"
4
+ }
@@ -46,4 +46,24 @@ describe Zoom::Actions::Meeting do
46
46
  }.to raise_error(NoMethodError)
47
47
  end
48
48
  end
49
+
50
+ describe '#past_meeting_instances' do
51
+ before :each do
52
+ stub_request(
53
+ :get,
54
+ zoom_url("/past_meetings/#{args[:meeting_id]}/instances")
55
+ ).to_return(
56
+ status: 200,
57
+ body: json_response('meeting','instances'){},
58
+ headers: { 'Content-Type' => 'application/json' }
59
+ )
60
+ end
61
+
62
+ it 'returns meeting instances' do
63
+ res = zc.past_meeting_instances(args)
64
+
65
+ expect(res['meetings'][0]['start_time']).to eq('2022-03-26T05:37:59Z')
66
+ expect(res['meetings'][0]['uuid']).to eq('Vg8IdgluR5WDeWIkpJlElQ==')
67
+ end
68
+ end
49
69
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 1, action: 'approve' } }
8
+
9
+ describe '#webinar_registrants_status_update' do
10
+ context 'with a valid response' do
11
+ before :each do
12
+ stub_request(
13
+ :put,
14
+ zoom_url("/meetingss/#{args[:meeting_id]}/registrants/status")
15
+ ).to_return(status: 204)
16
+ end
17
+
18
+ it "requires a 'meeting_id' argument" do
19
+ expect { zc.meeting_registrants_status_update(filter_key(args, :meeting_id)) }.to raise_error(Zoom::ParameterMissing, [:meeting_id].to_s)
20
+ end
21
+
22
+ it "requires a 'action' argument" do
23
+ expect { zc.meeting_registrants_status_update(filter_key(args, :action)) }.to raise_error(Zoom::ParameterMissing, [:action].to_s)
24
+ end
25
+ end
26
+
27
+ context 'with a 4xx response' do
28
+ before :each do
29
+ stub_request(
30
+ :put,
31
+ zoom_url("/meetings/#{args[:meeting_id]}/registrants/status")
32
+ ).to_return(status: 404,
33
+ body: json_response('error', 'validation'),
34
+ headers: { 'Content-Type' => 'application/json' })
35
+ end
36
+
37
+ it 'raises Zoom::Error exception' do
38
+ expect { zc.meeting_registrants_status_update(args) }.to raise_error(Zoom::Error)
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { webinar_id: '123456789',
8
+ panelists: [{email: "foo@bar.com", name: "Foo Bar"}] } }
9
+
10
+ describe '#webinar_panelist_add' do
11
+ context 'with a valid response' do
12
+ before :each do
13
+ stub_request(
14
+ :post,
15
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists")
16
+ ).to_return(status: 201,
17
+ body: json_response('webinar', 'panelist_add'),
18
+ headers: { 'Content-Type' => 'application/json' })
19
+ end
20
+
21
+ it "requires a 'webinar id' argument" do
22
+ expect { zc.webinar_panelist_add(filter_key(args, :webinar_id)) }.to raise_error(Zoom::ParameterMissing, [:webinar_id].to_s)
23
+ end
24
+
25
+ it "requires a 'panelists' argument" do
26
+ expect { zc.webinar_panelist_add(filter_key(args, :panelists)) }.to raise_error(Zoom::ParameterMissing, [:panelists].to_s)
27
+ end
28
+
29
+ it 'returns an Hash' do
30
+ expect(zc.webinar_panelist_add(args)).to be_kind_of(Hash)
31
+ end
32
+
33
+ it 'returns an "id"' do
34
+ res = zc.webinar_panelist_add(args)
35
+ expect(res['id']).not_to be nil
36
+ end
37
+ end
38
+
39
+ context 'with a 4xx response' do
40
+ before :each do
41
+ stub_request(
42
+ :post,
43
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists")
44
+ ).to_return(status: 404,
45
+ body: json_response('error', 'validation'),
46
+ headers: { 'Content-Type' => 'application/json' })
47
+ end
48
+
49
+ it 'raises Zoom::Error exception' do
50
+ expect { zc.webinar_panelist_add(args) }.to raise_error(Zoom::Error)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { webinar_id: '123456789',
8
+ panelist_id: '12345' } }
9
+
10
+ describe '#webinar_panelist_delete' do
11
+ context 'with a valid response' do
12
+ before :each do
13
+ stub_request(
14
+ :delete,
15
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists/#{args[:panelist_id]}")
16
+ ).to_return(status: 204,
17
+ body: json_response('webinar', 'panelist_delete'),
18
+ headers: { 'Content-Type' => 'application/json' })
19
+ end
20
+
21
+ it "requires a 'webinar id' argument" do
22
+ expect { zc.webinar_panelist_delete(filter_key(args, :webinar_id)) }.to raise_error(Zoom::ParameterMissing, [:webinar_id].to_s)
23
+ end
24
+
25
+ it "requires a 'panelist id' argument" do
26
+ expect { zc.webinar_panelist_delete(filter_key(args, :panelist_id)) }.to raise_error(Zoom::ParameterMissing, [:panelist_id].to_s)
27
+ end
28
+
29
+ it 'returns the http status code as a number' do
30
+ expect(zc.webinar_panelist_delete(args)).to eql(204)
31
+ end
32
+
33
+ end
34
+
35
+ context 'with a 4xx response' do
36
+ before :each do
37
+ stub_request(
38
+ :delete,
39
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists/#{args[:panelist_id]}")
40
+ ).to_return(status: 404,
41
+ body: json_response('error', 'validation'),
42
+ headers: { 'Content-Type' => 'application/json' })
43
+ end
44
+
45
+ it 'raises Zoom::Error exception' do
46
+ expect { zc.webinar_panelist_delete(args) }.to raise_error(Zoom::Error)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { webinar_id: '123456789' } }
8
+
9
+ describe '#webinar_panelists_delete_all' do
10
+ context 'with a valid response' do
11
+ before :each do
12
+ stub_request(
13
+ :delete,
14
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists")
15
+ ).to_return(status: 204,
16
+ body: json_response('webinar', 'panelist_delete_all'),
17
+ headers: { 'Content-Type' => 'application/json' })
18
+ end
19
+
20
+ it "requires a 'webinar id' argument" do
21
+ expect { zc.webinar_panelists_delete_all(filter_key(args, :webinar_id)) }.to raise_error(Zoom::ParameterMissing, [:webinar_id].to_s)
22
+ end
23
+
24
+ it 'returns the http status code as a number' do
25
+ expect(zc.webinar_panelists_delete_all(args)).to eql(204)
26
+ end
27
+
28
+ end
29
+
30
+ context 'with a 4xx response' do
31
+ before :each do
32
+ stub_request(
33
+ :delete,
34
+ zoom_url("/webinars/#{args[:webinar_id]}/panelists")
35
+ ).to_return(status: 404,
36
+ body: json_response('error', 'validation'),
37
+ headers: { 'Content-Type' => 'application/json' })
38
+ end
39
+
40
+ it 'raises Zoom::Error exception' do
41
+ expect { zc.webinar_panelist_delete(args) }.to raise_error(Zoom::Error)
42
+ end
43
+ end
44
+ end
45
+ 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.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-10 00:00:00.000000000 Z
11
+ date: 2022-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -240,6 +240,7 @@ files:
240
240
  - spec/fixtures/meeting/add_registrant.json
241
241
  - spec/fixtures/meeting/create.json
242
242
  - spec/fixtures/meeting/get.json
243
+ - spec/fixtures/meeting/instances.json
243
244
  - spec/fixtures/meeting/invitation.json
244
245
  - spec/fixtures/meeting/list.json
245
246
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
@@ -296,6 +297,9 @@ files:
296
297
  - spec/fixtures/webinar/create.json
297
298
  - spec/fixtures/webinar/delete.json
298
299
  - spec/fixtures/webinar/list.json
300
+ - spec/fixtures/webinar/panelist_add.json
301
+ - spec/fixtures/webinar/panelist_delete.json
302
+ - spec/fixtures/webinar/panelist_delete_all.json
299
303
  - spec/fixtures/webinar/panelist_list.json
300
304
  - spec/fixtures/webinar/past_webinar_list.json
301
305
  - spec/fixtures/webinar/past_webinars_absentees.json
@@ -369,6 +373,7 @@ files:
369
373
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
370
374
  - spec/lib/zoom/actions/meeting/list_spec.rb
371
375
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
376
+ - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
372
377
  - spec/lib/zoom/actions/meeting/update_spec.rb
373
378
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
374
379
  - spec/lib/zoom/actions/recording/get_spec.rb
@@ -434,7 +439,10 @@ files:
434
439
  - spec/lib/zoom/actions/webinar/get_spec.rb
435
440
  - spec/lib/zoom/actions/webinar/list_registration_spec.rb
436
441
  - spec/lib/zoom/actions/webinar/list_spec.rb
442
+ - spec/lib/zoom/actions/webinar/panelist_add_spec.rb
443
+ - spec/lib/zoom/actions/webinar/panelist_delete_spec.rb
437
444
  - spec/lib/zoom/actions/webinar/panelist_list_spec.rb
445
+ - spec/lib/zoom/actions/webinar/panelists_delete_all_spec.rb
438
446
  - spec/lib/zoom/actions/webinar/past_webinar_absentees_spec.rb
439
447
  - spec/lib/zoom/actions/webinar/past_webinar_list_spec.rb
440
448
  - spec/lib/zoom/actions/webinar/poll_get_spec.rb
@@ -523,6 +531,7 @@ test_files:
523
531
  - spec/fixtures/meeting/add_registrant.json
524
532
  - spec/fixtures/meeting/create.json
525
533
  - spec/fixtures/meeting/get.json
534
+ - spec/fixtures/meeting/instances.json
526
535
  - spec/fixtures/meeting/invitation.json
527
536
  - spec/fixtures/meeting/list.json
528
537
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
@@ -579,6 +588,9 @@ test_files:
579
588
  - spec/fixtures/webinar/create.json
580
589
  - spec/fixtures/webinar/delete.json
581
590
  - spec/fixtures/webinar/list.json
591
+ - spec/fixtures/webinar/panelist_add.json
592
+ - spec/fixtures/webinar/panelist_delete.json
593
+ - spec/fixtures/webinar/panelist_delete_all.json
582
594
  - spec/fixtures/webinar/panelist_list.json
583
595
  - spec/fixtures/webinar/past_webinar_list.json
584
596
  - spec/fixtures/webinar/past_webinars_absentees.json
@@ -652,6 +664,7 @@ test_files:
652
664
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
653
665
  - spec/lib/zoom/actions/meeting/list_spec.rb
654
666
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
667
+ - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
655
668
  - spec/lib/zoom/actions/meeting/update_spec.rb
656
669
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
657
670
  - spec/lib/zoom/actions/recording/get_spec.rb
@@ -717,7 +730,10 @@ test_files:
717
730
  - spec/lib/zoom/actions/webinar/get_spec.rb
718
731
  - spec/lib/zoom/actions/webinar/list_registration_spec.rb
719
732
  - spec/lib/zoom/actions/webinar/list_spec.rb
733
+ - spec/lib/zoom/actions/webinar/panelist_add_spec.rb
734
+ - spec/lib/zoom/actions/webinar/panelist_delete_spec.rb
720
735
  - spec/lib/zoom/actions/webinar/panelist_list_spec.rb
736
+ - spec/lib/zoom/actions/webinar/panelists_delete_all_spec.rb
721
737
  - spec/lib/zoom/actions/webinar/past_webinar_absentees_spec.rb
722
738
  - spec/lib/zoom/actions/webinar/past_webinar_list_spec.rb
723
739
  - spec/lib/zoom/actions/webinar/poll_get_spec.rb