streambird 1.0.3 → 1.0.4

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: 720b4f781b0838ba09196ec938b8a8ac7a2bb7c39e7b73108396106a1f31c11a
4
- data.tar.gz: a0b173ce3e09f2ea56df72b0e06809e5729759baa0b56e87d525ca31a9a6946b
3
+ metadata.gz: fa61092ff4d67dc8a847bd3853155cc4af1e2106fb48b606c7d69e4faf3a0e6c
4
+ data.tar.gz: 20f702acaaa95b4b0b195267bf967708244a5e2bc12ff073028e6a7747532060
5
5
  SHA512:
6
- metadata.gz: 5abcaa06bd46991fe141db259b699d40b74ddac2c32fe13e3bb9955f00c55bb62fafa93fd69405919b43a28d8c6779418e613984bc9aa8f03501d2415c6c2223
7
- data.tar.gz: ddfd888e267193a734801125437c41cf7369d3fce5d0f01f266fc92406fd724269cbbc727a5b9943365ebc7cf492e4f2b98cd52e7c5a59bd598c1ab8e7b51ffd
6
+ metadata.gz: a2a514f4b385197f8e6fd74e8d2da494007d64a518bacecd22964a70bc3f6b2da1a3b52ca3cd2f33324c689444e961e6e89509a322b6ae06597acea2bdbd5b39
7
+ data.tar.gz: '068bacf35840a0b82386c83a503417b2f9d4fd75b98cb371a7e1ed1282d834a258fd07fbafe5674ca8dfd40666cd13f232b90201309658f2d543d023c3edb6c0'
@@ -6,7 +6,7 @@ class Streambird
6
6
  @email ||= Streambird::Api::MagicLink::Email.new(client)
7
7
  end
8
8
 
9
- def create(user_id:)
9
+ def create(user_id)
10
10
  req = {
11
11
  'user_id': user_id,
12
12
  }
@@ -0,0 +1,61 @@
1
+ class Streambird
2
+ class Api
3
+ class OAuthConnection < Struct.new(:client)
4
+
5
+ def create(provider:,
6
+ client_id:,
7
+ client_secret: nil,
8
+ team_id: nil,
9
+ key_id: nil,
10
+ private_key: nil,
11
+ domain: nil
12
+ )
13
+ req = {
14
+ 'provider': provider,
15
+ 'client_id': client_id,
16
+ }
17
+
18
+ req['client_secret'] = client_secret if !client_secret.nil?
19
+ req['team_id'] = team_id if !team_id.nil?
20
+ req['key_id'] = key_id if !key_id.nil?
21
+ req['private_key'] = private_key if !private_key.nil?
22
+ req['domain'] = domain if !domain.nil?
23
+ response = client.post('auth/oauth_connections/create', req)
24
+ json_body = JSON.parse(response.body, symbolize_names: true)
25
+ return json_body
26
+ end
27
+
28
+ def update(oauth_connection_id:,
29
+ client_id: nil,
30
+ client_secret: nil,
31
+ team_id: nil,
32
+ key_id: nil,
33
+ private_key: nil,
34
+ domain: nil
35
+ )
36
+ req = {}
37
+ req['client_id'] = client_id if !client_id.nil?
38
+ req['client_secret'] = client_secret if !client_secret.nil?
39
+ req['team_id'] = team_id if !team_id.nil?
40
+ req['key_id'] = key_id if !key_id.nil?
41
+ req['private_key'] = private_key if !private_key.nil?
42
+ req['domain'] = domain if !domain.nil?
43
+ response = client.put("auth/oauth_connections/#{oauth_connection_id}/update", req)
44
+ json_body = JSON.parse(response.body, symbolize_names: true)
45
+ return json_body
46
+ end
47
+
48
+ def get(oauth_connection_id)
49
+ response = client.get("auth/oauth_connections/#{oauth_connection_id}")
50
+ json_body = JSON.parse(response.body, symbolize_names: true)
51
+ return json_body
52
+ end
53
+
54
+ def delete(oauth_connection_id)
55
+ response = client.delete("auth/oauth_connections/#{oauth_connection_id}/delete")
56
+ json_body = JSON.parse(response.body, symbolize_names: true)
57
+ return json_body
58
+ end
59
+ end
60
+ end
61
+ end
@@ -41,25 +41,25 @@ class Streambird
41
41
  return json_body
42
42
  end
43
43
 
44
- def get(user_id:)
44
+ def get(user_id)
45
45
  response = client.get("auth/users/#{user_id}")
46
46
  json_body = JSON.parse(response.body, symbolize_names: true)
47
47
  return json_body
48
48
  end
49
49
 
50
- def delete(user_id:)
50
+ def delete(user_id)
51
51
  response = client.delete("auth/users/#{user_id}/delete")
52
52
  json_body = JSON.parse(response.body, symbolize_names: true)
53
53
  return json_body
54
54
  end
55
55
 
56
- def delete_email(email_id:)
56
+ def delete_email(email_id)
57
57
  response = client.delete("auth/users/emails/#{email_id}/delete")
58
58
  json_body = JSON.parse(response.body, symbolize_names: true)
59
59
  return json_body
60
60
  end
61
61
 
62
- def delete_phone_number(phone_number_id:)
62
+ def delete_phone_number(phone_number_id)
63
63
  response = client.delete("auth/users/phone_numbers/#{phone_number_id}/delete")
64
64
  json_body = JSON.parse(response.body, symbolize_names: true)
65
65
  return json_body
@@ -53,9 +53,27 @@ class Streambird
53
53
  raise Streambird::Api::ConnectionError
54
54
  end
55
55
 
56
+ def put(url, body = {})
57
+ body = default_request_params.merge(body)
58
+ response = connection.put do |req|
59
+ req.url "#{STREAMBIRD_API_URL}#{url}"
60
+ req.headers['Content-Type'] = 'application/json'
61
+ req.body = body.to_json
62
+ req.headers['X-API-Client'] = "Ruby"
63
+ req.headers["X-API-Client-Version"] = STREAMBIRD_RUBY_CLIENT_VERSION
64
+ end
65
+
66
+ if response.status != 200 and response.status != 201
67
+ return handle_error(response)
68
+ end
69
+
70
+ response
71
+ rescue Faraday::Error::ConnectionFailed
72
+ raise Streambird::Api::ConnectionError
73
+ end
74
+
56
75
 
57
76
  def delete(url, body = {})
58
-
59
77
  body = default_request_params.merge(body)
60
78
  response = connection.delete do |req|
61
79
  req.url "#{STREAMBIRD_API_URL}#{url}"
data/lib/streambird.rb CHANGED
@@ -51,6 +51,10 @@ class Streambird
51
51
  @wallets ||= Streambird::Api::Wallet.new(client)
52
52
  end
53
53
 
54
+ def oauth_connections
55
+ @oauth_connections ||= Streambird::Api::OAuthConnection.new(client)
56
+ end
57
+
54
58
 
55
59
  alias_method :live, :live?
56
60
  alias_method :test, :test?
@@ -66,3 +70,4 @@ require 'streambird/api/user'
66
70
  require 'streambird/api/oauth'
67
71
  require 'streambird/api/session'
68
72
  require 'streambird/api/wallet'
73
+ require 'streambird/api/oauth_connection'
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "streambird"
7
- spec.version = "1.0.3"
7
+ spec.version = "1.0.4"
8
8
  spec.authors = ["streambird"]
9
9
  spec.email = ["hello@streambird.io"]
10
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: streambird
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - streambird
@@ -130,6 +130,7 @@ files:
130
130
  - lib/streambird/api/errors.rb
131
131
  - lib/streambird/api/magic_link.rb
132
132
  - lib/streambird/api/oauth.rb
133
+ - lib/streambird/api/oauth_connection.rb
133
134
  - lib/streambird/api/otp.rb
134
135
  - lib/streambird/api/session.rb
135
136
  - lib/streambird/api/user.rb