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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0dd3eb13aa3830b54c36344e1cf486f8c1f6b81e2b9e1e5217fead5d3c198b6
4
- data.tar.gz: 314bfbbffd6a42dbc84b8c646e874bb78a31198dbac1e3df70813cb02ff2d6a9
3
+ metadata.gz: 5d01f4c0f09a2fe358590af1e3bec375dc57e23bfeb3d052149bb659129ad3af
4
+ data.tar.gz: 7912158fdde1c57cedeb64fe7c71c73b12628f34f362d498bd3beea841316d3d
5
5
  SHA512:
6
- metadata.gz: dfcd9cabefff5ef0db7e0efe58de8109a4da014b201e781254fbefdd2e55c8e31fb1a8558ef8e3370324871cc6508eabae8547203825ed3391fbd073b0e7f54e
7
- data.tar.gz: edc8c7b92948e5bf20b04672255db0292ce5a3c520feb32ca6ce0b0529fb8c02c5a5a36c402996598a93d94fc0998992ca7dc28e11ea3491a2924a58dd337265
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
- if params[:user]
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
- if validate(resource){ hashed = true; resource.valid_password?(password) }
19
- remember_me(resource)
20
- resource.after_database_authentication
21
- success!(resource)
22
- return
23
- end
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
- mapping.to.new.password = password if !hashed && Devise.paranoid
26
- unless resource
27
- Devise.paranoid ? fail(:invalid) : fail(:not_found_in_database)
28
- end
29
- else
30
- Sticapi::SticapiClient.instance.get_token
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
- data = Sticapi::SticapiClient.instance.sticapi_request("/users/log_in", data: token)
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
- if data && data['user']
41
- unless user = User.find_by(username: data['user']['username'])
42
- user = User.new
43
- user.name = data['user']['name'] if user.respond_to? :name
44
- user.username = data['user']['username'] if user.respond_to? :username
45
- user.email = data['user']['email']
46
- user.cpf = data['user']['cpf'] if user.respond_to? :cpf
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
@@ -1,3 +1,3 @@
1
1
  module SticapiClient
2
- VERSION = "3.5.5"
2
+ VERSION = "3.5.6"
3
3
  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.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.7.2
141
+ rubygems_version: 3.6.9
142
142
  specification_version: 4
143
143
  summary: Client to use TJPI sticapi services
144
144
  test_files: []