dyte 0.6.0 → 0.7.1
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 +4 -4
- data/Gemfile +3 -4
- data/README.md +52 -1
- data/lib/dyte/client.rb +8 -0
- data/lib/dyte/object.rb +1 -1
- data/lib/dyte/objects/organization.rb +4 -0
- data/lib/dyte/objects/webhook.rb +4 -0
- data/lib/dyte/resources/meetings.rb +10 -0
- data/lib/dyte/resources/organizations.rb +15 -0
- data/lib/dyte/resources/participants.rb +2 -0
- data/lib/dyte/resources/webhooks.rb +12 -0
- data/lib/dyte/version.rb +1 -1
- data/lib/dyte.rb +4 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a0d44579e444900e0c0f1886e04bf4af3e75bf7c749cdc9ee01481f8842456b
|
4
|
+
data.tar.gz: b31f92d21fbb4f668abfc592d6972c5627077634994f401445ef2df732c7a68f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d56ca8fdd360ed979143a1c5b9ffe68c1d34a65317f46448ef68dd6834b06d0e83dcadae14884a90b55d937e83084454596982117269d9f8ced462ef619d2b0
|
7
|
+
data.tar.gz: b70f25b138db96cb8e4d88357394cd54da32a0061708031bfbbad5b3f7d3aac25a9bb0de4197ec1c1924c2f85af475161766c53f29c3d62c09221cf5d4f0b487
|
data/Gemfile
CHANGED
@@ -6,10 +6,9 @@ source "https://rubygems.org"
|
|
6
6
|
gemspec
|
7
7
|
|
8
8
|
group :development do
|
9
|
-
gem "rake", "~> 13.
|
9
|
+
gem "rake", "~> 13.1"
|
10
10
|
gem "standard"
|
11
|
-
gem "minitest", "~> 5.
|
12
|
-
gem "webmock", "~> 3.
|
13
|
-
gem "solargraph", "~> 0.48.0"
|
11
|
+
gem "minitest", "~> 5.21"
|
12
|
+
gem "webmock", "~> 3.19"
|
14
13
|
gem "debug"
|
15
14
|
end
|
data/README.md
CHANGED
@@ -52,6 +52,12 @@ client.meetings.fetch_participant_details(meeting_id: "id", participant_id: "id"
|
|
52
52
|
|
53
53
|
# Edits a participant for the given meeting and participant ID.
|
54
54
|
client.meetings.edit_participant_details(meeting_id: "id", participant_id: "id")
|
55
|
+
|
56
|
+
# Adds a participant to a meeting.
|
57
|
+
client.meetings.add_participant(meeting_id: "id", participant_id: "id")
|
58
|
+
|
59
|
+
# Replaces specified details for the given meeting ID.
|
60
|
+
client.meetings.replace( meeting_id: "id", {})
|
55
61
|
```
|
56
62
|
### Presets
|
57
63
|
|
@@ -70,11 +76,56 @@ client.sessions.fetch_participants(session_id: "id")
|
|
70
76
|
client.sessions.participant_details(session_id: "id", participant_id: "id")
|
71
77
|
client.sessions.chat_messages(session_id: "id")
|
72
78
|
```
|
79
|
+
### Organizations
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
# Creates a new organization. The authenticated user becomes the owner of the organization.
|
83
|
+
client.organizations.create(
|
84
|
+
{
|
85
|
+
"name": "Cool Org",
|
86
|
+
"contact": "778-330-2389",
|
87
|
+
"website": "https://www.dyte.io",
|
88
|
+
"feature_flags": [
|
89
|
+
"string"
|
90
|
+
],
|
91
|
+
"preferred_region": "ap-south-1"
|
92
|
+
}
|
93
|
+
)
|
94
|
+
|
95
|
+
# Updates organization details for the given organization ID. The user must be the organization's owner.
|
96
|
+
client.organizations.update(organization_id: "id",
|
97
|
+
{
|
98
|
+
"name": "A much better name",
|
99
|
+
"contact": "string",
|
100
|
+
"website": "https://www.dyte.io",
|
101
|
+
"feature_flags": [
|
102
|
+
"string"
|
103
|
+
],
|
104
|
+
"preferred_region": "ap-south-1"
|
105
|
+
}
|
106
|
+
)
|
107
|
+
```
|
108
|
+
### Webhooks
|
109
|
+
```ruby
|
110
|
+
# Returns the Webhook relating to the given ID
|
111
|
+
client.webhooks.fetch(webhook_id: "id")
|
112
|
+
|
113
|
+
# Returns all Webhooks for a given organization
|
114
|
+
client.webhooks.list
|
115
|
+
```
|
116
|
+
|
73
117
|
### Participants
|
74
118
|
|
75
119
|
## Development
|
120
|
+
### Setup
|
121
|
+
After checking out the repo run `bin/setup` to install dependencies. Then, run `rake test` to run the tests.
|
122
|
+
|
123
|
+
### Running Locally
|
124
|
+
It can be convenient to run the gem locally while developing, to test changes. To do so, follow these steps:
|
125
|
+
1) Run `bin/console` from the root directory
|
126
|
+
1) Instantiate the client (enter your Dyte credentials) `client = Client.new(organization_id: '1234', api_key: '1234')`
|
127
|
+
1) Run a test command, for example: `client.participants.list(session_id: 1)`
|
76
128
|
|
77
|
-
After checking out the repo run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
78
129
|
|
79
130
|
## Contributing
|
80
131
|
|
data/lib/dyte/client.rb
CHANGED
@@ -35,6 +35,14 @@ module Dyte
|
|
35
35
|
ActiveSessionsResource.new(self)
|
36
36
|
end
|
37
37
|
|
38
|
+
def organizations
|
39
|
+
OrganizationsResource.new(self)
|
40
|
+
end
|
41
|
+
|
42
|
+
def webhooks
|
43
|
+
WebhooksResource.new(self)
|
44
|
+
end
|
45
|
+
|
38
46
|
def connection
|
39
47
|
auth_token = Base64.strict_encode64("#{@organization_id}:#{@api_key}")
|
40
48
|
@connection ||= Faraday.new(BASE_URL) do |conn|
|
data/lib/dyte/object.rb
CHANGED
@@ -43,5 +43,15 @@ module Dyte
|
|
43
43
|
response = patch_request("meetings/#{meeting_id}/participants/#{participant_id}", body: attributes)
|
44
44
|
Participant.new response.body.dig("data")
|
45
45
|
end
|
46
|
+
|
47
|
+
def add_participant(meeting_id:, **attributes)
|
48
|
+
response = post_request("meetings/#{meeting_id}/participants", body: attributes)
|
49
|
+
Participant.new response.body.dig("data")
|
50
|
+
end
|
51
|
+
|
52
|
+
def replace(meeting_id:, **attributes)
|
53
|
+
response = put_request("meetings/#{meeting_id}", body: attributes)
|
54
|
+
Meeting.new response.body.dig("data")
|
55
|
+
end
|
46
56
|
end
|
47
57
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Dyte
|
2
|
+
class OrganizationsResource < Resource
|
3
|
+
def create(**attributes)
|
4
|
+
Organization.new post_request("orgs", body: attributes).body.dig("data")
|
5
|
+
end
|
6
|
+
|
7
|
+
def fetch(organization_id:)
|
8
|
+
Organization.new get_request("orgs/#{organization_id}").body.dig("data")
|
9
|
+
end
|
10
|
+
|
11
|
+
def update(organization_id:, **attributes)
|
12
|
+
Organization.new patch_request("orgs/#{organization_id}", body: attributes).body.dig("data")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# This module is deprecated in favour of adding participant actions to the meetings resource. This is for the purpose
|
2
|
+
# of better following how Dyte's API is structured. This module will be removed in a future release.
|
1
3
|
module Dyte
|
2
4
|
class ParticipantsResource < Resource
|
3
5
|
def list(session_id:, **params)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Dyte
|
2
|
+
class WebhooksResource < Resource
|
3
|
+
def fetch(webhook_id:)
|
4
|
+
Webhook.new get_request("webhooks/#{webhook_id}").body.dig("data")
|
5
|
+
end
|
6
|
+
|
7
|
+
def list
|
8
|
+
response = get_request("webhooks")
|
9
|
+
Collection.from_response(response, type: Webhook)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/dyte/version.rb
CHANGED
data/lib/dyte.rb
CHANGED
@@ -14,6 +14,8 @@ require "dyte/objects/participant"
|
|
14
14
|
require "dyte/objects/session"
|
15
15
|
require "dyte/objects/recording"
|
16
16
|
require "dyte/objects/active_session"
|
17
|
+
require "dyte/objects/organization"
|
18
|
+
require "dyte/objects/webhook"
|
17
19
|
|
18
20
|
# Resources
|
19
21
|
require "dyte/resources/meetings"
|
@@ -22,6 +24,8 @@ require "dyte/resources/participants"
|
|
22
24
|
require "dyte/resources/sessions"
|
23
25
|
require "dyte/resources/recordings"
|
24
26
|
require "dyte/resources/active_sessions"
|
27
|
+
require "dyte/resources/organizations"
|
28
|
+
require "dyte/resources/webhooks"
|
25
29
|
|
26
30
|
module Dyte
|
27
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dyte
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Warwick
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -52,17 +52,21 @@ files:
|
|
52
52
|
- lib/dyte/object.rb
|
53
53
|
- lib/dyte/objects/active_session.rb
|
54
54
|
- lib/dyte/objects/meeting.rb
|
55
|
+
- lib/dyte/objects/organization.rb
|
55
56
|
- lib/dyte/objects/participant.rb
|
56
57
|
- lib/dyte/objects/preset.rb
|
57
58
|
- lib/dyte/objects/recording.rb
|
58
59
|
- lib/dyte/objects/session.rb
|
60
|
+
- lib/dyte/objects/webhook.rb
|
59
61
|
- lib/dyte/resource.rb
|
60
62
|
- lib/dyte/resources/active_sessions.rb
|
61
63
|
- lib/dyte/resources/meetings.rb
|
64
|
+
- lib/dyte/resources/organizations.rb
|
62
65
|
- lib/dyte/resources/participants.rb
|
63
66
|
- lib/dyte/resources/presets.rb
|
64
67
|
- lib/dyte/resources/recordings.rb
|
65
68
|
- lib/dyte/resources/sessions.rb
|
69
|
+
- lib/dyte/resources/webhooks.rb
|
66
70
|
- lib/dyte/version.rb
|
67
71
|
- sig/dyte.rbs
|
68
72
|
homepage: https://github.com/nwarwick/dyte
|
@@ -87,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
91
|
- !ruby/object:Gem::Version
|
88
92
|
version: '0'
|
89
93
|
requirements: []
|
90
|
-
rubygems_version: 3.
|
94
|
+
rubygems_version: 3.5.3
|
91
95
|
signing_key:
|
92
96
|
specification_version: 4
|
93
97
|
summary: A simple wrapper for the Dyte API.
|