mekari_sso 0.0.1.2 → 0.0.1.3

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