mekari_sso 0.0.1.6 → 0.0.1.9

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: 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: