sticapi_client 3.5.5 → 3.5.6
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 +4 -4
- data/lib/sticapi_client/intranet.rb +13 -0
- data/lib/sticapi_client/sticapi_devise_strategy.rb +56 -50
- data/lib/sticapi_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5d01f4c0f09a2fe358590af1e3bec375dc57e23bfeb3d052149bb659129ad3af
|
|
4
|
+
data.tar.gz: 7912158fdde1c57cedeb64fe7c71c73b12628f34f362d498bd3beea841316d3d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48c7000ae94121aeae196d1358ce4144130b20c032251df7ffa72625e43c07b43910870fb96ed4acdb7860016a872352e153b6dbf9e584e70af8cf0934a2c32b
|
|
7
|
+
data.tar.gz: 8b226be5e34d41f0fca102cc38d4fcb1e014731fb440b6fe5231c2919a371569600c298e7097759d387de65cda8826e4922c46ad551585aa21b70875fdddc597
|
|
@@ -174,6 +174,19 @@ module SticapiClient
|
|
|
174
174
|
end
|
|
175
175
|
end
|
|
176
176
|
|
|
177
|
+
# Registro de Frequência da pessoa por período no Intranet
|
|
178
|
+
# Parâmetro username [String] Nome de usuário da pessoa
|
|
179
|
+
# Parâmetro inicio [Date] Início do período requerido (padrao = início do mês atual)
|
|
180
|
+
# Parâmetro fim [Date] Fim do período requerido (padrao = fim do mês atual)
|
|
181
|
+
# Retorno [JSON] Frequência das pessoas no intranet
|
|
182
|
+
def self.frequencia(options = {})
|
|
183
|
+
if options[:username].present?
|
|
184
|
+
Sticapi::SticapiClient.instance.sticapi_request("/intranet/frequencia", options)
|
|
185
|
+
else
|
|
186
|
+
[]
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
177
190
|
# Direitos de pessoas do Intranet por competencia
|
|
178
191
|
# Parâmetro ano [Integer] ano da competencia
|
|
179
192
|
# Parâmetro inicio [Date] Início do período requerido
|
|
@@ -5,65 +5,71 @@ require 'net/http'
|
|
|
5
5
|
module Devise
|
|
6
6
|
module Strategies
|
|
7
7
|
class SticapiAuthenticatable < Authenticatable
|
|
8
|
+
def valid?
|
|
9
|
+
params[:user].present? && (
|
|
10
|
+
params[:user][:username].present? ||
|
|
11
|
+
params[:user][:email].present? ||
|
|
12
|
+
params[:user][:login].present?
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
|
|
8
16
|
def authenticate!
|
|
9
|
-
|
|
10
|
-
if params[:user].has_key?(:username) || params[:user].has_key?(:login) || params[:user].has_key?(:email)
|
|
11
|
-
field = params[:user][:username]
|
|
12
|
-
field ||= params[:user][:email]
|
|
13
|
-
field ||= params[:user][:login]
|
|
14
|
-
if field.include?('@') || /^[0-9]*$/.match(field)
|
|
15
|
-
resource = password.present? && mapping.to.find_for_database_authentication(authentication_hash)
|
|
16
|
-
hashed = false
|
|
17
|
+
return pass unless valid?
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
if params[:user].has_key?(:username) || params[:user].has_key?(:login) || params[:user].has_key?(:email)
|
|
20
|
+
field = params[:user][:username]
|
|
21
|
+
field ||= params[:user][:email]
|
|
22
|
+
field ||= params[:user][:login]
|
|
23
|
+
if field.include?('@') || /^[0-9]*$/.match(field)
|
|
24
|
+
resource = password.present? && mapping.to.find_for_database_authentication(authentication_hash)
|
|
25
|
+
hashed = false
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
secret = Sticapi::SticapiClient.instance.access_token
|
|
32
|
-
payload = {
|
|
33
|
-
user: field,
|
|
34
|
-
password: params[:user][:password]
|
|
35
|
-
}
|
|
36
|
-
token = JWT.encode payload, secret, 'HS256'
|
|
27
|
+
if validate(resource){ hashed = true; resource.valid_password?(password) }
|
|
28
|
+
remember_me(resource)
|
|
29
|
+
resource.after_database_authentication
|
|
30
|
+
success!(resource)
|
|
31
|
+
return
|
|
32
|
+
end
|
|
37
33
|
|
|
38
|
-
|
|
34
|
+
mapping.to.new.password = password if !hashed && Devise.paranoid
|
|
35
|
+
unless resource
|
|
36
|
+
Devise.paranoid ? fail(:invalid) : fail(:not_found_in_database)
|
|
37
|
+
end
|
|
38
|
+
else
|
|
39
|
+
Sticapi::SticapiClient.instance.get_token
|
|
40
|
+
secret = Sticapi::SticapiClient.instance.access_token
|
|
41
|
+
payload = {
|
|
42
|
+
user: field,
|
|
43
|
+
password: params[:user][:password]
|
|
44
|
+
}
|
|
45
|
+
token = JWT.encode payload, secret, 'HS256'
|
|
46
|
+
|
|
47
|
+
data = Sticapi::SticapiClient.instance.sticapi_request("/users/log_in", data: token)
|
|
39
48
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
user.password = params[:user][:password] if user.respond_to? :password
|
|
49
|
-
user.password_confirmation = params[:user][:password] if user.respond_to? :password_confirmation
|
|
50
|
-
user.unities = data['user']['unities'] if user.respond_to? :unities
|
|
51
|
-
user.skip_confirmation! if user.respond_to? 'skip_confirmation!'
|
|
52
|
-
user.save
|
|
53
|
-
success!(user)
|
|
54
|
-
return
|
|
55
|
-
else
|
|
56
|
-
Sticapi::SticapiClient.instance.expiry_now
|
|
57
|
-
return fail(:invalid)
|
|
49
|
+
if data && data['user']
|
|
50
|
+
unless user = User.find_by(username: data['user']['username'])
|
|
51
|
+
user = User.new
|
|
52
|
+
user.name = data['user']['name'] if user.respond_to? :name
|
|
53
|
+
user.username = data['user']['username'] if user.respond_to? :username
|
|
54
|
+
user.email = data['user']['email']
|
|
55
|
+
user.cpf = data['user']['cpf'] if user.respond_to? :cpf
|
|
58
56
|
end
|
|
57
|
+
user.password = params[:user][:password] if user.respond_to? :password
|
|
58
|
+
user.password_confirmation = params[:user][:password] if user.respond_to? :password_confirmation
|
|
59
|
+
user.unities = data['user']['unities'] if user.respond_to? :unities
|
|
60
|
+
user.skip_confirmation! if user.respond_to? 'skip_confirmation!'
|
|
61
|
+
user.save
|
|
62
|
+
success!(user)
|
|
63
|
+
return
|
|
64
|
+
else
|
|
65
|
+
Sticapi::SticapiClient.instance.expiry_now
|
|
66
|
+
return fail(:invalid)
|
|
59
67
|
end
|
|
60
|
-
else
|
|
61
|
-
Sticapi::SticapiClient.instance.expiry_now
|
|
62
|
-
return fail(:invalid)
|
|
63
68
|
end
|
|
69
|
+
else
|
|
70
|
+
Sticapi::SticapiClient.instance.expiry_now
|
|
71
|
+
return fail(:invalid)
|
|
64
72
|
end
|
|
65
|
-
Sticapi::SticapiClient.instance.expiry_now
|
|
66
|
-
return fail(:invalid)
|
|
67
73
|
end
|
|
68
74
|
end
|
|
69
75
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sticapi_client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.5.
|
|
4
|
+
version: 3.5.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ricardo Viana
|
|
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '0'
|
|
140
140
|
requirements: []
|
|
141
|
-
rubygems_version: 3.
|
|
141
|
+
rubygems_version: 3.6.9
|
|
142
142
|
specification_version: 4
|
|
143
143
|
summary: Client to use TJPI sticapi services
|
|
144
144
|
test_files: []
|