stytch 0.1.7 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be9237c8c5508d86e48b380ecbc379bdc5eacde5409b6c656f9a110b159e7a26
4
- data.tar.gz: 6c3681406de7d46108658c5a39711d7e3a512839b9bdccb729c97e88dda120ef
3
+ metadata.gz: b8aa51bb45fcf007fecdcd610723bbabd7329fa67359a22c11d5f1bc34784a56
4
+ data.tar.gz: b00fed4171c89d4faae5fc149621bb2f432d353f77bcbafeb652c8ccf007ef0f
5
5
  SHA512:
6
- metadata.gz: 1f210e1218345e389d363cd7d92b7c8fac4c04a07e4058aa9d3d0196461e0b1ecc7e0d5694b6c52bf1a2e59b57981e191e8978f1617cfd8482434514a2cd0546
7
- data.tar.gz: 43ed7e6c709c94ea8d1f7aecf0b04b7cfdac245f977637618bea496e7b173435c19dae6887a11215aa5facec598d3227669cf26be87506b4d865118fdfa54d3c
6
+ metadata.gz: a0ad0f15846df9f982c377f51242d99c5de2fbccaa84c675cb3d4484755fd69b5108e30db93d08fb2a4d9f0aea2490ed3108289c75c92cd1c89637287996693f
7
+ data.tar.gz: 59174086cbbe257b1dd99f0aa26d9893a12905511ab7816e691c5957a0dd92724b757f6a2e193f5a1d3076b478cb664baf298f152f1fbfe262a42f137a6c48c2
@@ -1,11 +1,9 @@
1
1
  require_relative 'endpoints/user'
2
- require_relative 'endpoints/email'
3
2
  require_relative 'endpoints/magic'
4
3
 
5
4
  module Stytch
6
5
  class Client
7
6
  include Stytch::Endpoints::User
8
- include Stytch::Endpoints::Email
9
7
  include Stytch::Endpoints::Magic
10
8
 
11
9
  ENVIRONMENTS = %i[live test].freeze
@@ -72,4 +70,4 @@ module Stytch
72
70
  ).body
73
71
  end
74
72
  end
75
- end
73
+ end
@@ -8,7 +8,6 @@ module Stytch
8
8
  user_id:,
9
9
  magic_link_url:,
10
10
  expiration_minutes:,
11
- template_id: nil,
12
11
  attributes: {}
13
12
  )
14
13
  request = {
@@ -18,7 +17,6 @@ module Stytch
18
17
  expiration_minutes: expiration_minutes,
19
18
  }
20
19
 
21
- request[:template_id] = template_id if template_id != nil
22
20
  request[:attributes] = attributes if attributes != {}
23
21
 
24
22
  post("#{PATH}/send", request)
@@ -28,7 +26,6 @@ module Stytch
28
26
  email:,
29
27
  magic_link_url:,
30
28
  expiration_minutes:,
31
- template_id: nil,
32
29
  attributes: {}
33
30
  )
34
31
  request = {
@@ -37,12 +34,84 @@ module Stytch
37
34
  expiration_minutes: expiration_minutes,
38
35
  }
39
36
 
40
- request[:template_id] = template_id if template_id != nil
41
37
  request[:attributes] = attributes if attributes != {}
42
38
 
43
39
  post("#{PATH}/send_by_email", request)
44
40
  end
45
41
 
42
+ def login_or_create_user(
43
+ email:,
44
+ login_magic_link_url:,
45
+ signup_magic_link_url:,
46
+ login_expiration_minutes: nil,
47
+ signup_expiration_minutes: nil,
48
+ attributes: {}
49
+ )
50
+
51
+ request = {
52
+ email: email,
53
+ login_magic_link_url: login_magic_link_url,
54
+ signup_magic_link_url: signup_magic_link_url,
55
+ }
56
+
57
+ request[:login_expiration_minutes] = login_expiration_minutes if login_expiration_minutes != nil
58
+ request[:signup_expiration_minutes] = signup_expiration_minutes if signup_expiration_minutes != nil
59
+ request[:attributes] = attributes if attributes != {}
60
+
61
+ post("#{PATH}/login_or_create", request)
62
+ end
63
+
64
+ def login_or_invite_by_email(
65
+ email:,
66
+ login_magic_link_url:,
67
+ invite_magic_link_url:,
68
+ login_expiration_minutes: nil,
69
+ invite_expiration_minutes: nil,
70
+ attributes: {}
71
+ )
72
+
73
+ request = {
74
+ email: email,
75
+ login_magic_link_url: login_magic_link_url,
76
+ invite_magic_link_url: invite_magic_link_url,
77
+ }
78
+
79
+ request[:login_expiration_minutes] = login_expiration_minutes if login_expiration_minutes != nil
80
+ request[:invite_expiration_minutes] = invite_expiration_minutes if invite_expiration_minutes != nil
81
+ request[:attributes] = attributes if attributes != {}
82
+
83
+ post("#{PATH}/login_or_invite", request)
84
+ end
85
+
86
+ def invite_by_email(
87
+ email:,
88
+ magic_link_url:,
89
+ expiration_minutes: nil,
90
+ attributes: {}
91
+ )
92
+
93
+ request = {
94
+ email: email,
95
+ magic_link_url: magic_link_url,
96
+ }
97
+
98
+ request[:expiration_minutes] = expiration_minutes if expiration_minutes != nil
99
+ request[:attributes] = attributes if attributes != {}
100
+
101
+ post("#{PATH}/invite_by_email", request)
102
+ end
103
+
104
+ def revoke_invite_by_email(
105
+ email:
106
+ )
107
+
108
+ request = {
109
+ email: email,
110
+ }
111
+
112
+ post("#{PATH}/revoke_invite", request)
113
+ end
114
+
46
115
  def authenticate_magic(
47
116
  token:,
48
117
  attributes: {},
@@ -57,4 +126,4 @@ module Stytch
57
126
  end
58
127
  end
59
128
  end
60
- end
129
+ end
@@ -7,6 +7,10 @@ module Stytch
7
7
  get("#{PATH}/#{user_id}")
8
8
  end
9
9
 
10
+ def get_invited_users()
11
+ get("#{PATH}/invites")
12
+ end
13
+
10
14
  def create_user(
11
15
  email:,
12
16
  name: {},
@@ -24,15 +28,15 @@ module Stytch
24
28
 
25
29
  def update_user(
26
30
  user_id:,
27
- name: nil,
31
+ name: {},
28
32
  emails: [],
29
33
  attributes: {}
30
34
  )
31
35
  request = {
32
- name: name,
33
36
  emails: format_emails(emails),
34
37
  }
35
38
 
39
+ request[:name] = name if name != {}
36
40
  request[:attributes] = attributes if attributes != {}
37
41
 
38
42
  put("#{PATH}/#{user_id}", request)
@@ -42,6 +46,13 @@ module Stytch
42
46
  delete("#{PATH}/#{user_id}")
43
47
  end
44
48
 
49
+ def delete_user_email(
50
+ user_id:,
51
+ email:
52
+ )
53
+ delete("#{PATH}/#{user_id}/emails/#{email}")
54
+ end
55
+
45
56
  private
46
57
 
47
58
  def format_emails(emails)
@@ -51,4 +62,4 @@ module Stytch
51
62
  end
52
63
  end
53
64
  end
54
- end
65
+ end
@@ -13,4 +13,4 @@ module Stytch
13
13
 
14
14
  NETWORK_TIMEOUT = 300
15
15
  end
16
- end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module Stytch
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stytch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - alex-stytch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2020-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -57,7 +57,6 @@ files:
57
57
  - bin/setup
58
58
  - lib/stytch.rb
59
59
  - lib/stytch/client.rb
60
- - lib/stytch/endpoints/email.rb
61
60
  - lib/stytch/endpoints/magic.rb
62
61
  - lib/stytch/endpoints/user.rb
63
62
  - lib/stytch/middleware.rb
@@ -1,30 +0,0 @@
1
- module Stytch
2
- module Endpoints
3
- module Email
4
- PATH = "/v1/emails".freeze
5
-
6
- def send_email_verification(
7
- user_id:,
8
- email_id:,
9
- magic_link_url:,
10
- expiration_minutes:
11
- )
12
- request = {
13
- user_id: user_id,
14
- magic_link_url: magic_link_url,
15
- expiration_minutes: expiration_minutes
16
- }
17
-
18
- post("#{PATH}/#{email_id}/send_verification", request)
19
- end
20
-
21
- def verify_email(token:)
22
- post("#{PATH}/#{token}/verify", {})
23
- end
24
-
25
- def delete_email(user_id:, email_id:)
26
- delete("#{PATH}/#{email_id}/users/#{user_id}")
27
- end
28
- end
29
- end
30
- end