zaig 1.0.6 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zaig/connection.rb +17 -5
- data/lib/zaig/registration.rb +4 -8
- data/lib/zaig/registration_payload.rb +14 -15
- data/lib/zaig/version.rb +1 -1
- data/lib/zaig.rb +15 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92825d985fa1be6233fa33065769e7ebf8c32fc175d10cf850cc50100977c0de
|
4
|
+
data.tar.gz: 7ab76c837269a34c050b756734ee93ffdb9641fdc389a20c8906acadfbfcc1be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26010f68ed6e2ab3d0f2d35e3083eefabe4c95c7aee950f948cc2e02f5cc8fd9f9294e1994413adad77f2e135c4cf0216f7cce09a05dd4e9587415538ef173f9
|
7
|
+
data.tar.gz: ffeda0495121d32edcd1905273b5c190c2cebec78ba0dea58550e6c5766bff83b95f5814fde0e80551d90bf82a232f82e0df428354c875a916f17257c41c5aca
|
data/lib/zaig/connection.rb
CHANGED
@@ -3,18 +3,30 @@
|
|
3
3
|
module Zaig
|
4
4
|
# Class to instance a authenticated connection object.
|
5
5
|
class Connection < Flash::Integration::Connection
|
6
|
-
def initialize(request_class: Faraday, base_url: Zaig.configuration.base_url
|
7
|
-
@
|
6
|
+
def initialize(request_class: Faraday, base_url: Zaig.configuration.base_url)
|
7
|
+
@jwt_algorithm = Zaig.configuration.jwt_algorithm
|
8
|
+
@jwt_exp_time = Zaig.configuration.jwt_exp_time
|
9
|
+
@jwt_secret = Zaig.configuration.jwt_secret
|
10
|
+
@jwt_user = Zaig.configuration.jwt_user
|
8
11
|
|
9
12
|
super(request_class: request_class, base_url: base_url)
|
10
13
|
end
|
11
14
|
|
12
15
|
def default_headers
|
13
|
-
{
|
16
|
+
headers = {
|
14
17
|
"Content-Type": "application/json",
|
15
|
-
Accept: "application/json"
|
16
|
-
"x-api-key": @access_token
|
18
|
+
Accept: "application/json"
|
17
19
|
}
|
20
|
+
|
21
|
+
return headers if @jwt_secret.nil? || @jwt_secret&.empty?
|
22
|
+
|
23
|
+
headers[:Authorization] = "Bearer #{access_token}"
|
24
|
+
headers
|
18
25
|
end
|
26
|
+
|
27
|
+
private
|
28
|
+
def access_token
|
29
|
+
JWT.encode({ exp: @jwt_exp_time, user: @jwt_user }, @jwt_secret, @jwt_algorithm)
|
30
|
+
end
|
19
31
|
end
|
20
32
|
end
|
data/lib/zaig/registration.rb
CHANGED
@@ -5,11 +5,9 @@ module Zaig
|
|
5
5
|
class Registration
|
6
6
|
attr_reader :connection
|
7
7
|
|
8
|
-
include Singleton
|
9
|
-
|
10
8
|
ENDPOINT = "zaig/consulta_de_credito"
|
11
9
|
|
12
|
-
def initialize(connection: Zaig::Connection.new, registration_payload: Zaig::RegistrationPayload.
|
10
|
+
def initialize(connection: Zaig::Connection.new, registration_payload: Zaig::RegistrationPayload.new)
|
13
11
|
@connection = connection
|
14
12
|
@registration_payload = registration_payload
|
15
13
|
end
|
@@ -17,9 +15,7 @@ module Zaig
|
|
17
15
|
def call(obj)
|
18
16
|
payload = @registration_payload.call(obj)
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
res = @connection.post(url: (req_endpoint.nil? ? ENDPOINT : req_endpoint), body: payload.to_json)
|
18
|
+
res = @connection.post(url: Zaig.configuration.registration_endpoint, body: payload.to_json)
|
23
19
|
|
24
20
|
verify_response(res)
|
25
21
|
|
@@ -50,8 +46,8 @@ module Zaig
|
|
50
46
|
unless parsed_res.key?(:resposta_zaig)
|
51
47
|
detail = JSON.parse(res.body, symbolize_names: true)[:detail]
|
52
48
|
|
53
|
-
error = ::Zaig::FieldValidationError.new I18n.t("zaig.errors.validation_error"
|
54
|
-
error.detail =
|
49
|
+
error = ::Zaig::FieldValidationError.new I18n.t("zaig.errors.validation_error")
|
50
|
+
error.detail = detail
|
55
51
|
|
56
52
|
raise error
|
57
53
|
end
|
@@ -3,30 +3,28 @@
|
|
3
3
|
module Zaig
|
4
4
|
# Service class to build a registration payload request.
|
5
5
|
class RegistrationPayload
|
6
|
-
include Singleton
|
7
|
-
|
8
6
|
def call(obj)
|
9
7
|
payload = {
|
10
|
-
address: build_address(obj[:address]),
|
11
8
|
client_category: obj[:client_category],
|
12
|
-
constitution_date: obj[:constitution_date],
|
13
|
-
constitution_type: obj[:constitution_type],
|
14
9
|
credit_request_date: obj[:credit_request_date],
|
15
10
|
credit_type: obj[:credit_type] || "clean",
|
16
11
|
document_number: CNPJ.new(obj[:document_number]).formatted,
|
17
|
-
email: obj[:email],
|
18
12
|
id: obj[:id],
|
19
13
|
legal_name: obj[:legal_name],
|
20
14
|
monthly_revenue: format_money(obj[:monthly_revenue], require_positive: true),
|
21
|
-
phones: build_phones(obj[:phones]),
|
22
|
-
shareholders: build_shareholders(obj[:shareholders]),
|
23
15
|
trading_name: obj[:trading_name]
|
24
16
|
}
|
25
|
-
payload[:
|
26
|
-
payload[:
|
27
|
-
payload[:
|
28
|
-
payload[:
|
29
|
-
payload[:
|
17
|
+
payload[:address] = build_address(obj[:address]) if obj[:address]
|
18
|
+
payload[:constitution_date] = obj[:constitution_date] if obj[:constitution_date]
|
19
|
+
payload[:constitution_type] = obj[:constitution_type] if obj[:constitution_type]
|
20
|
+
payload[:email] = obj[:email] if obj[:email]
|
21
|
+
payload[:financial] = build_financial(obj[:financial]) if obj[:financial]
|
22
|
+
payload[:guarantors] = build_shareholders(obj[:guarantors]) if obj[:guarantors]
|
23
|
+
payload[:phones] = build_phones(obj[:phones]) if obj[:phones]
|
24
|
+
payload[:scr_parameters] = build_scr_parameters(obj[:scr_parameters]) if obj[:scr_parameters]
|
25
|
+
payload[:shareholders] = build_shareholders(obj[:shareholders]) if obj[:shareholders]
|
26
|
+
payload[:source] = build_source(obj[:source]) if obj[:source]
|
27
|
+
payload[:warrants] = build_warrants(obj[:warrants]) if obj[:warrants]
|
30
28
|
payload
|
31
29
|
end
|
32
30
|
|
@@ -36,9 +34,8 @@ module Zaig
|
|
36
34
|
end
|
37
35
|
|
38
36
|
def build_address(obj_address)
|
39
|
-
{
|
37
|
+
address = {
|
40
38
|
city: obj_address[:city],
|
41
|
-
complement: obj_address[:complement] || "",
|
42
39
|
country: obj_address[:country] || "BRA",
|
43
40
|
neighborhood: obj_address[:neighborhood],
|
44
41
|
number: obj_address[:number],
|
@@ -46,6 +43,8 @@ module Zaig
|
|
46
43
|
street: obj_address[:street],
|
47
44
|
uf: obj_address[:uf]
|
48
45
|
}
|
46
|
+
address[:complement] = obj_address[:complement] if !obj_address[:complement].nil? || !obj_address[:complement]&.empty?
|
47
|
+
address
|
49
48
|
end
|
50
49
|
|
51
50
|
def build_phone(obj)
|
data/lib/zaig/version.rb
CHANGED
@@ -8,5 +8,5 @@ module Zaig
|
|
8
8
|
# Major - Incremented for incompatible changes with previous release (or big enough new features)
|
9
9
|
# Minor - Incremented for new backwards-compatible features + deprecations
|
10
10
|
# Patch - Incremented for backwards-compatible bug fixes
|
11
|
-
VERSION = "1.0.
|
11
|
+
VERSION = "1.0.9"
|
12
12
|
end
|
data/lib/zaig.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require "cpf_cnpj"
|
4
4
|
require "flash_integration"
|
5
5
|
require "i18n"
|
6
|
-
require "
|
6
|
+
require "jwt"
|
7
7
|
|
8
8
|
require "zaig/base_error"
|
9
9
|
require "zaig/already_exists_error"
|
@@ -48,6 +48,19 @@ module Zaig
|
|
48
48
|
|
49
49
|
# Basic configuration settings
|
50
50
|
class Configuration
|
51
|
-
attr_accessor :
|
51
|
+
attr_accessor :base_url, :jwt_secret, :jwt_user
|
52
|
+
attr_writer :jwt_algorithm, :jwt_exp_time, :registration_endpoint
|
53
|
+
|
54
|
+
def jwt_algorithm
|
55
|
+
@jwt_algorithm ||= "HS256"
|
56
|
+
end
|
57
|
+
|
58
|
+
def jwt_exp_time
|
59
|
+
@jwt_exp_time ||= 1800
|
60
|
+
end
|
61
|
+
|
62
|
+
def registration_endpoint
|
63
|
+
@registration_endpoint ||= "zaig/consulta_de_credito"
|
64
|
+
end
|
52
65
|
end
|
53
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zaig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danilo Carolino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cpf_cnpj
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: jwt
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|