mekari_sso 0.0.1.6 → 0.0.1.9

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: 9be084567d981280cebabaee82018bbf4a69ec4cdfdb6bbd400bccc585deade2
4
- data.tar.gz: e67b2617867bdbb62ce1d0a7f007311c47ae10f8979d3155b20d8b7303fc1106
3
+ metadata.gz: 696d5ede92dc631c5fed3ac10c792d7e8359efade168e43e17c090057bbe5c46
4
+ data.tar.gz: 844cd99ac778cab4f8b86804ff431a6c70dc58921e37d88e57c87657daa588a0
5
5
  SHA512:
6
- metadata.gz: 845a9f57796761788bdb6bbe8c2759838f78bd8fd8d8af875c1c1d95cec3e3949ae5650173869953b70f1032e8f658bad2a83f5072b24f24b18a60395b6b9ac6
7
- data.tar.gz: 4dcbe05224c0edc21fb4b594c3274542f6e6e9cab110c3b0545b437ebb01f7cde636ff8488115562bdbeba4dc095e323fb5f58e903bf6e5652cecef450fca652
6
+ metadata.gz: f13d7bb783d51260144a19fed0639b4fb6f23499a34574fc9edf24c42f3d77dadd9b10482ef68d4d87709dc16a4ff1143463528edc385f53ff9fa1f054049626
7
+ data.tar.gz: 9b40735138815b69923606aba73e79715531187291e8ca50962ae54a79c759c48b416efd8772912bb0ff437ea05ce1e01300e2b755bb149ab171407f8c74227d
data/lib/mekari_sso.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'config'
4
4
  require 'requests/add_user_to_company'
5
+ require 'requests/check_user_existence'
5
6
  require 'requests/cities'
6
7
  require 'requests/companies'
7
8
  require 'requests/company_member'
@@ -22,6 +23,7 @@ require 'requests/remove_user_from_company'
22
23
  require 'requests/update_user'
23
24
  require 'requests/update_avatar'
24
25
  require 'requests/verify_email_user'
26
+ require 'requests/validate_password'
25
27
 
26
28
  require 'params/add_user_company'
27
29
  require 'params/city'
@@ -32,9 +34,11 @@ require 'params/company'
32
34
  require 'params/province'
33
35
  require 'params/remove_user_company'
34
36
  require 'params/list'
37
+ require 'params/user_existence'
35
38
  require 'params/user_update'
36
39
  require 'params/user_avatar'
37
40
  require 'params/user_verify_email'
41
+ require 'params/validate_user_password'
38
42
 
39
43
 
40
44
  require 'active_support'
@@ -187,5 +191,21 @@ module MekariSso
187
191
  sender = MekariSso::Sender.new
188
192
  sender >> MekariSso::VerifyEmailUser.new(@options, user)
189
193
  end
194
+
195
+ def existence_user(params)
196
+ user = MekariSso::UserExistence.new(params)
197
+ user.validate_required!
198
+
199
+ sender = MekariSso::Sender.new
200
+ sender >> MekariSso::CheckUserExistence.new(@options, user)
201
+ end
202
+
203
+ def validate_password(params)
204
+ password = MekariSso::ValidateUserPassword.new(params)
205
+ password.validate_required!
206
+
207
+ sender = MekariSso::Sender.new
208
+ sender >> MekariSso::ValidatePassword.new(@options, password)
209
+ end
190
210
  end
191
211
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class UserExistence < MekariSso::Config
7
+ attr_accessor :key, :value, :access_token
8
+
9
+ def initialize(options = nil)
10
+ apply(options) if options
11
+ end
12
+
13
+ def available_keys
14
+ %i[key value access_token]
15
+ end
16
+
17
+ def validate_required!
18
+ unless @key.present?
19
+ raise ArgumentError, "Params key is required options"
20
+ end
21
+
22
+ unless @value.present?
23
+ raise ArgumentError, "Params value is required options"
24
+ end
25
+
26
+ unless @access_token.present?
27
+ raise ArgumentError, "Params access_token is required options"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+ require_relative 'user_register'
5
+
6
+ module MekariSso
7
+ class ValidateUserPassword < MekariSso::Config
8
+ attr_accessor :password, :access_token, :user_id
9
+
10
+ def initialize(options = nil)
11
+ apply(options) if options
12
+ end
13
+
14
+ def available_keys
15
+ %i[user_id access_token password]
16
+ end
17
+
18
+ def validate_required!
19
+ unless @access_token.present?
20
+ raise ArgumentError, "Params access_token is required options"
21
+ end
22
+
23
+ unless @user_id.present?
24
+ raise ArgumentError, "Params user_id is required options"
25
+ end
26
+
27
+ unless @password.present?
28
+ raise ArgumentError, "Params password is required options"
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require 'cgi'
5
+ require 'uri'
6
+ require_relative 'http_request'
7
+
8
+ module MekariSso
9
+ class CheckUserExistence < MekariSso::HttpRequest
10
+
11
+ attr_reader :config, :params
12
+
13
+ def initialize(config, params)
14
+ @config = config
15
+ @params = params
16
+ end
17
+
18
+ def params
19
+ {
20
+ attr_key: @params.key,
21
+ attr_value: @params.value,
22
+ }
23
+ end
24
+
25
+ def headers_request
26
+ headers.merge({
27
+ authorization: "Bearer #{@params.access_token}"
28
+ })
29
+ end
30
+
31
+ def send
32
+ # url = URI("#{@config.base_url}/v1/users/check?attr_key=#{@params.key}&attr_value=#{CGI.escape(@params.value)}")
33
+ url = URI("#{@config.base_url}/v1/users/check")
34
+ url.query = URI.encode_www_form(params)
35
+
36
+ RestClient.get url.to_s, headers_request
37
+ end
38
+ end
39
+
40
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class ValidatePassword < MekariSso::HttpRequest
8
+
9
+ attr_reader :config, :params
10
+
11
+ def initialize(config, params)
12
+ @config = config
13
+ @params = params
14
+ end
15
+
16
+ def params
17
+ {
18
+ id: @params.user_id,
19
+ password: @params.password
20
+ }
21
+ end
22
+
23
+ def headers_request
24
+ headers.merge({
25
+ authorization: "Bearer #{@params.access_token}"
26
+ })
27
+ end
28
+
29
+ def send
30
+ RestClient.post "#{@config.base_url}/v1.1/users/authenticate", params, headers_request
31
+ end
32
+ end
33
+
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mekari_sso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.6
4
+ version: 0.0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - WSPDV
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 2.6.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: uri
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: rspec
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -75,10 +89,13 @@ files:
75
89
  - lib/params/province.rb
76
90
  - lib/params/remove_user_company.rb
77
91
  - lib/params/user_avatar.rb
92
+ - lib/params/user_existence.rb
78
93
  - lib/params/user_register.rb
79
94
  - lib/params/user_update.rb
80
95
  - lib/params/user_verify_email.rb
96
+ - lib/params/validate_user_password.rb
81
97
  - lib/requests/add_user_to_company.rb
98
+ - lib/requests/check_user_existence.rb
82
99
  - lib/requests/cities.rb
83
100
  - lib/requests/companies.rb
84
101
  - lib/requests/company_member.rb
@@ -99,6 +116,7 @@ files:
99
116
  - lib/requests/sender.rb
100
117
  - lib/requests/update_avatar.rb
101
118
  - lib/requests/update_user.rb
119
+ - lib/requests/validate_password.rb
102
120
  - lib/requests/verify_email_user.rb
103
121
  homepage: https://gitlab.com/dwiheruwaspodo/mekari_sso
104
122
  licenses: