mekari_sso 0.0.1.2 → 0.0.1.3

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: f33247db096802659c274da652372c7497ad5f2d37a909e0809438d829ff92e1
4
- data.tar.gz: 16c05aeda1d56fbe59e810ec95751553ee21bdb12ee9d3aee2e29623b477da88
3
+ metadata.gz: 5ccdc7f92ab2c77dd2215d7a43a4fb795e5527f8e2a9657ea05ff5833d26bf96
4
+ data.tar.gz: edf21cc70356ed60a847b675f78a2b6a547d7a255ca43e0903fb1afb6350ebcb
5
5
  SHA512:
6
- metadata.gz: d284d8c15d544eeb522f149ed7e2546d1284b17939f766b86f73c2625a94bf3085663cb27409b7f08a43a86c15352019785922524f34756055d6269517c33490
7
- data.tar.gz: 6d5c1839006f0d06c0437662e201712983a938640043d73236edaabc797e9abe236ba184e4eb2f855faaba9718dc2ee23b94dab396d87f2848af6dff190b84b5
6
+ metadata.gz: 8e5068e7aba8884888d64aa4046c110dbbbd6ecb33b31de2bba76fd292c21e0377e5b36153cc714fa13635ddd170cda315144c07ef64977400975e5415b5bede
7
+ data.tar.gz: 716fbb176a43be688c1faa8ea30021afc30d51b2a2b6b396361c80b910993b6246452bb63592610c49e4c7315cc290a6e3e5acb346f8b32bdc64d3a9ea23d259
data/lib/mekari_sso.rb CHANGED
@@ -1,19 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'config'
4
+ require 'requests/add_user_to_company'
5
+ require 'requests/cities'
6
+ require 'requests/companies'
7
+ require 'requests/company_member'
4
8
  require 'requests/current_user'
5
9
  require 'requests/generate_credential_client'
6
10
  require 'requests/generate_credential_code'
7
11
  require 'requests/industries'
12
+ require 'requests/postal_codes'
13
+ require 'requests/provincies'
8
14
  require 'requests/refresh'
9
15
  require 'requests/revoke'
10
16
  require 'requests/sender'
11
17
  require 'requests/register_company'
12
18
  require 'requests/register_user'
13
19
  require 'requests/remove_company'
20
+ require 'requests/remove_user_from_company'
21
+
22
+ require 'params/add_user_company'
23
+ require 'params/city'
14
24
  require 'params/user_register'
15
25
  require 'params/company_register'
16
26
  require 'params/company_remove'
27
+ require 'params/company'
28
+ require 'params/province'
29
+ require 'params/remove_user_company'
30
+ require 'params/list'
17
31
 
18
32
  require 'active_support'
19
33
  require 'active_support/core_ext'
@@ -80,5 +94,61 @@ module MekariSso
80
94
  sender = MekariSso::Sender.new
81
95
  sender >> MekariSso::RemoveCompany.new(@options, company)
82
96
  end
97
+
98
+ def companies(params)
99
+ company = MekariSso::List.new(params)
100
+ company.validate_required!
101
+
102
+ sender = MekariSso::Sender.new
103
+ sender >> MekariSso::Companies.new(@options, company)
104
+ end
105
+
106
+ def provincies(params)
107
+ prov = MekariSso::List.new(params)
108
+ prov.validate_required!
109
+
110
+ sender = MekariSso::Sender.new
111
+ sender >> MekariSso::Provincies.new(@options, prov)
112
+ end
113
+
114
+ def cities(params)
115
+ cities = MekariSso::Province.new(params)
116
+ cities.validate_required!
117
+
118
+ sender = MekariSso::Sender.new
119
+ sender >> MekariSso::Cities.new(@options, cities)
120
+ end
121
+
122
+ def postal_codes(params)
123
+ postal_code = MekariSso::City.new(params)
124
+ postal_code.validate_required!
125
+
126
+ sender = MekariSso::Sender.new
127
+ sender >> MekariSso::PostalCodes.new(@options, postal_code)
128
+ end
129
+
130
+ def add_user_to_company(params)
131
+ user = MekariSso::AddUserCompany.new(params)
132
+ user.validate_required!
133
+
134
+ sender = MekariSso::Sender.new
135
+ sender >> MekariSso::AddUserToCompany.new(@options, user)
136
+ end
137
+
138
+ def remove_user_from_company(params)
139
+ user = MekariSso::RemoveUserCompany.new(params)
140
+ user.validate_required!
141
+
142
+ sender = MekariSso::Sender.new
143
+ sender >> MekariSso::RemoveUserFromCompany.new(@options, user)
144
+ end
145
+
146
+ def company_member(params)
147
+ user = MekariSso::Company.new(params)
148
+ user.validate_required!
149
+
150
+ sender = MekariSso::Sender.new
151
+ sender >> MekariSso::CompanyMember.new(@options, user)
152
+ end
83
153
  end
84
154
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class AddUserCompany < MekariSso::Config
7
+ attr_accessor :company_id, :user_id, :access_token
8
+
9
+ def initialize(options = nil)
10
+ apply(options) if options
11
+ end
12
+
13
+ def available_keys
14
+ %i[company_id user_id access_token]
15
+ end
16
+
17
+ def validate_required!
18
+ unless @company_id.present?
19
+ raise ArgumentError, "Params company_id is required options"
20
+ end
21
+
22
+ unless @user_id.present?
23
+ raise ArgumentError, "Params user_id 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,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class City < MekariSso::Config
7
+ attr_accessor :city_id
8
+
9
+ def initialize(options = nil)
10
+ apply(options) if options
11
+ end
12
+
13
+ def available_keys
14
+ %i[city_id access_token]
15
+ end
16
+
17
+ def validate_required!
18
+ unless @city_id.present?
19
+ raise ArgumentError, "Params city_id is required options"
20
+ end
21
+
22
+ unless @access_token.present?
23
+ raise ArgumentError, "Params access_token is required options"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class Company < MekariSso::Config
7
+ attr_accessor :access_token, :page, :company_id
8
+
9
+ def initialize(options = nil)
10
+ apply(options) if options
11
+ end
12
+
13
+ def available_keys
14
+ %i[access_token company_id]
15
+ end
16
+
17
+ def validate_required!
18
+ unless @access_token.present?
19
+ raise ArgumentError, "Params access_token is required options"
20
+ end
21
+
22
+ unless @company_id.present?
23
+ raise ArgumentError, "Params company_id is required options"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class List < MekariSso::Config
7
+ attr_accessor :access_token, :page
8
+
9
+ def initialize(options = nil)
10
+ apply(options) if options
11
+ end
12
+
13
+ def available_keys
14
+ %i[access_token page]
15
+ end
16
+
17
+ def validate_required!
18
+ unless @access_token.present?
19
+ raise ArgumentError, "Params access_token is required options"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+ require_relative 'list'
5
+
6
+ module MekariSso
7
+ class Province < MekariSso::List
8
+ attr_accessor :province_id
9
+
10
+ def initialize(options = nil)
11
+ apply(options) if options
12
+ end
13
+
14
+ def available_keys
15
+ super + %i[province_id]
16
+ end
17
+
18
+ def validate_required!
19
+ unless @province_id.present?
20
+ raise ArgumentError, "Params province_id is required options"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'config'
4
+
5
+ module MekariSso
6
+ class RemoveUserCompany < MekariSso::AddUserCompany
7
+ end
8
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class AddUserToCompany < 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
+ user_id: @params.user_id
19
+ }
20
+ end
21
+
22
+ def headers_request
23
+ headers.merge({
24
+ authorization: "Bearer #{@params.access_token}"
25
+ })
26
+ end
27
+
28
+ def send
29
+ RestClient.post "#{@config.base_url}/v1/companies/#{@params.company_id}/users", params, headers_request
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class Cities < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def page
23
+ @params.page.present? ? @params.page : 1
24
+ end
25
+
26
+ def send
27
+ RestClient.get "#{@config.base_url}/v1.1/provinces/#{@params.province_id}/cities?page=#{page}", headers_request
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class Companies < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def page
23
+ @params.page.present? ? @params.page : 1
24
+ end
25
+
26
+ def send
27
+ RestClient.get "#{@config.base_url}/v1.1/companies?page=#{page}", headers_request
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class CompanyMember < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def page
23
+ @params.page.present? ? @params.page : 1
24
+ end
25
+
26
+ def send
27
+ RestClient.get "#{@config.base_url}/v1.1/companies/#{params.company_id}/users?page=#{page}", headers_request
28
+ end
29
+ end
30
+
31
+ end
@@ -16,16 +16,13 @@ module MekariSso
16
16
  end
17
17
 
18
18
  def after_success(data)
19
- {
20
- response: data
21
- }
19
+ result = Struct.new(:response)
20
+ result.new(data)
22
21
  end
23
22
 
24
23
  def after_error(data, error)
25
- {
26
- response: data,
27
- error: error
28
- }
24
+ result = Struct.new(:response, :error)
25
+ result.new(data, error)
29
26
  end
30
27
 
31
28
  def original_response
@@ -36,8 +33,7 @@ module MekariSso
36
33
  def handle_response(response)
37
34
  if @with_original_response
38
35
  begin
39
- result = Struct.new
40
- return result.new(JSON.parse(response.body))
36
+ return JSON.parse(response.body)
41
37
  rescue StandardError
42
38
  return response.body
43
39
  end
@@ -46,6 +42,8 @@ module MekariSso
46
42
  result = JSON.parse(response)
47
43
 
48
44
  after_success(result)
45
+ rescue
46
+ response
49
47
  end
50
48
 
51
49
  def handle_error(response, error)
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class PostalCodes < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def send
23
+ RestClient.get "#{@config.base_url}/v1.1/cities/#{@params.city_id}/postal_codes", headers_request
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class Provincies < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def page
23
+ @params.page.present? ? @params.page : 1
24
+ end
25
+
26
+ def send
27
+ RestClient.get "#{@config.base_url}/v1.1/provinces?page=#{page}", headers_request
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rest-client'
4
+ require_relative 'http_request'
5
+
6
+ module MekariSso
7
+ class RemoveUserFromCompany < 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 headers_request
17
+ headers.merge({
18
+ authorization: "Bearer #{@params.access_token}"
19
+ })
20
+ end
21
+
22
+ def send
23
+ RestClient.delete "#{@config.base_url}/v1/companies/#{@params.company_id}/users/#{@params.user_id}", headers_request
24
+ end
25
+ end
26
+
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mekari_sso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2
4
+ version: 0.0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - WSPDV
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-09 00:00:00.000000000 Z
11
+ date: 2022-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -66,18 +66,31 @@ extra_rdoc_files: []
66
66
  files:
67
67
  - lib/config.rb
68
68
  - lib/mekari_sso.rb
69
+ - lib/params/add_user_company.rb
70
+ - lib/params/city.rb
71
+ - lib/params/company.rb
69
72
  - lib/params/company_register.rb
70
73
  - lib/params/company_remove.rb
74
+ - lib/params/list.rb
75
+ - lib/params/province.rb
76
+ - lib/params/remove_user_company.rb
71
77
  - lib/params/user_register.rb
78
+ - lib/requests/add_user_to_company.rb
79
+ - lib/requests/cities.rb
80
+ - lib/requests/companies.rb
81
+ - lib/requests/company_member.rb
72
82
  - lib/requests/current_user.rb
73
83
  - lib/requests/generate_credential_client.rb
74
84
  - lib/requests/generate_credential_code.rb
75
85
  - lib/requests/http_request.rb
76
86
  - lib/requests/industries.rb
87
+ - lib/requests/postal_codes.rb
88
+ - lib/requests/provincies.rb
77
89
  - lib/requests/refresh.rb
78
90
  - lib/requests/register_company.rb
79
91
  - lib/requests/register_user.rb
80
92
  - lib/requests/remove_company.rb
93
+ - lib/requests/remove_user_from_company.rb
81
94
  - lib/requests/revoke.rb
82
95
  - lib/requests/sender.rb
83
96
  homepage: https://gitlab.com/dwiheruwaspodo/mekari_sso