docusign_dtr 0.2.0 → 0.3.0

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: 13d3250540c09372453765cfcdf03f65c96f6086669281bc5533c9796372c0e0
4
- data.tar.gz: ad80189d0f717a1026c8c5fb285db5aca8ab3b38f886009667957aa2640b4ef2
3
+ metadata.gz: 8c5f83df660258f5c39a90f7b23e4cfa937a869cf10c9db39030fb023f9c0380
4
+ data.tar.gz: b9691c055defa5a9da0fe5871f592656c72833f310a2c2479fb7edfdedf3e760
5
5
  SHA512:
6
- metadata.gz: 3dcc6ecd775e27f5a1b6923a7fd7d18612a6908a230f1bbd9b265b9ef31ef48dab765938a7aa1e3294b2986713eef40524a61bb48d84dba74691099d670968eb
7
- data.tar.gz: 92061dcb875c9980a5d1787ea25fd03c7bf0a42fdb1ae1f4047f280cec06f4c4bbde5cbe7de6858d798ab3a86dc230e442ff26df3b39283f8fa42701d75a2a66
6
+ metadata.gz: 9cb747c0768230787d213ceb840d937b3317146a2bf2ac49ecda143372f5dc6fd27c9ec16123eadceedc1c071b40de4a923f6720dddc18ade2f5ceedac1e2b20
7
+ data.tar.gz: 05f6fac97b13d07ebe6f11acf4e7b78f7c1480a8025a2fdd7b8f9dd580a18459cec489590d7f3007025369df814618b5375957ea2a519bb3e1e17ab7e95ecd2b
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/docusign_dtr.rb CHANGED
@@ -74,6 +74,7 @@ require 'docusign_dtr/models/task_list'
74
74
  require 'docusign_dtr/models/title'
75
75
  require 'docusign_dtr/models/profile'
76
76
  require 'docusign_dtr/models/user'
77
+ require 'docusign_dtr/models/userinfo'
77
78
  require 'docusign_dtr/models/activity'
78
79
  require 'docusign_dtr/models/room'
79
80
 
@@ -2,6 +2,7 @@ require 'securerandom'
2
2
  module DocusignDtr
3
3
  module Auth
4
4
  class Code < Base
5
+ attr_accessor :userinfo
5
6
  def initialize(integrator_key:,
6
7
  secret_key:,
7
8
  redirect_uri:,
@@ -18,7 +19,7 @@ module DocusignDtr
18
19
  end
19
20
 
20
21
  def request_token(code:, state: nil)
21
- raise 'State does ont match. Possible CSRF!' if state && state != @config.state
22
+ raise 'State does not match. Possible CSRF!' if state && state != @config.state
22
23
 
23
24
  params = { grant_type: :authorization_code, code: code }
24
25
  response = self.class.post(auth_uri, query: params, headers: headers, timeout: 60)
@@ -27,19 +28,31 @@ module DocusignDtr
27
28
  end
28
29
 
29
30
  def refresh_token
30
- raise 'No token to refresh' unless @token_response&.access_token
31
+ raise 'No token to refresh' unless @token_response&.refresh_token
31
32
 
32
- params = { grant_type: :refresh_token, refresh_token: @token_response.access_token }
33
+ params = { grant_type: :refresh_token, refresh_token: @token_response.refresh_token }
33
34
  response = self.class.post("#{base_uri}oauth/token", query: params, headers: headers, timeout: 60)
34
35
  handle_error(response.code) if response.code != 200
35
36
  @token_response = DocusignDtr::Models::AuthTokenResponse.new(response.parsed_response)
36
37
  end
37
38
 
39
+ def user_info
40
+ raise 'No token to obtain userinfo' unless @token_response&.access_token
41
+
42
+ response = self.class.get("#{base_uri}oauth/userinfo", headers: user_info_headers, timeout: 60)
43
+ handle_error(response.code) if response.code != 200
44
+ @userinfo = DocusignDtr::Models::Userinfo.new(response.parsed_response)
45
+ end
46
+
38
47
  private
39
48
 
40
49
  def headers
41
50
  base_headers.merge('Authorization': "Basic #{encoded_integrator_key}")
42
51
  end
52
+
53
+ def user_info_headers
54
+ base_headers.merge('Authorization': "Bearer #{@token_response.access_token}")
55
+ end
43
56
  end
44
57
  end
45
58
  end
@@ -157,7 +157,7 @@ module DocusignDtr
157
157
  end
158
158
 
159
159
  def base_uri
160
- @base_uri ||= @test_mode ? 'https://stage.cartavi.com/restapi/v1' : 'https://cartavi.com/restapi/v1'
160
+ @base_uri ||= @test_mode ? 'https://stage.cartavi.com/restapi/v1' : 'https://realestate.docusign.com/restapi/v1'
161
161
  end
162
162
 
163
163
  private
@@ -0,0 +1,13 @@
1
+ module DocusignDtr
2
+ module Models
3
+ class Userinfo
4
+ include Virtus.model
5
+ attribute :accounts
6
+ attribute :email
7
+ attribute :family_name
8
+ attribute :given_name
9
+ attribute :name
10
+ attribute :sub
11
+ end
12
+ end
13
+ end
@@ -115,7 +115,7 @@ module DocusignDtr
115
115
  end
116
116
 
117
117
  def to_date(value, key)
118
- DateTime.parse(value)
118
+ Time.parse(value)
119
119
  value
120
120
  rescue ArgumentError
121
121
  raise DocusignDtr::InvalidParameter.new("#{value} is not a valid #{key}")
@@ -1,3 +1,3 @@
1
1
  module DocusignDtr
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docusign_dtr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loft47
@@ -34,7 +34,7 @@ cert_chain:
34
34
  WPTyTwBv5qAL48mT3OBIV99mY13XurTi2s2OCJAgkQZIQlGsFzmT/4IDYivCoABO
35
35
  QVWtuf6LfMkXYW5shBsTlpiGbXeVlm0QW2Av3w==
36
36
  -----END CERTIFICATE-----
37
- date: 2018-10-10 00:00:00.000000000 Z
37
+ date: 2018-10-22 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: coveralls
@@ -301,6 +301,7 @@ files:
301
301
  - lib/docusign_dtr/models/task_list.rb
302
302
  - lib/docusign_dtr/models/title.rb
303
303
  - lib/docusign_dtr/models/user.rb
304
+ - lib/docusign_dtr/models/userinfo.rb
304
305
  - lib/docusign_dtr/office.rb
305
306
  - lib/docusign_dtr/profile.rb
306
307
  - lib/docusign_dtr/query_param_helper.rb
metadata.gz.sig CHANGED
Binary file