morpho 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/api/concerns/morpho/grape/http_responses.rb +16 -8
- data/app/api/concerns/morpho/grape/jwt_authentication.rb +5 -5
- data/app/api/concerns/morpho/grape/user_registration.rb +1 -1
- data/app/api/morpho/entities/sign_in/authentication_token.rb +10 -0
- data/app/api/morpho/entities/sign_in/success.rb +9 -0
- data/app/api/morpho/resources/tokens.rb +6 -3
- data/config/locales/morpho.en.yml +5 -0
- data/config/locales/morpho.es.yml +6 -1
- data/lib/morpho/version.rb +1 -1
- metadata +3 -2
- data/app/api/morpho/entities/authentication_token.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5e58a85aef299825d478036742e688fc13a9ddc8233387bd5e708fdf8fc3c59
|
4
|
+
data.tar.gz: 899df45d8f131d02d9899a9624abd22ff3eb4138a971954cca56d63f0ea919c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffc548ba4bf67699b99e377e6590dec5afc2e234f7c6bd20ea27d721cc08e489b5482eedc4b74c1404c9f5dcc79319c644cf9396f71e2069d213621116abba09
|
7
|
+
data.tar.gz: 99d6701412b6ccda6cae2c34812d0c67a739b7f70f113163380f2af766f57f1861dfa6facf6776107d010f0f303ffa016dddc2c2673689c4a4c5a9184c45ccef
|
@@ -6,31 +6,39 @@ module Morpho
|
|
6
6
|
protected
|
7
7
|
|
8
8
|
def render_bad_request
|
9
|
-
error!({ message: I18n.t('morpho.api.messages.bad_request') }, 400)
|
9
|
+
error!({ message: I18n.t('morpho.api.messages.bad_request'), with: Morpho::Entities::Error }, 400)
|
10
10
|
end
|
11
11
|
|
12
12
|
def render_unauthorized
|
13
|
-
error!({ message: I18n.t('morpho.api.messages.unauthorized') }, 401)
|
13
|
+
error!({ message: I18n.t('morpho.api.messages.unauthorized'), with: Morpho::Entities::Error }, 401)
|
14
|
+
end
|
15
|
+
|
16
|
+
def render_unauthorized_detailed(errors)
|
17
|
+
error!({ message: I18n.t('morpho.api.messages.unauthorized'), errors: errors, with: Morpho::Entities::Error }, 401)
|
14
18
|
end
|
15
19
|
|
16
20
|
def render_payment_required
|
17
|
-
error!({ message: I18n.t('morpho.api.messages.payment_required') }, 402)
|
21
|
+
error!({ message: I18n.t('morpho.api.messages.payment_required'), with: Morpho::Entities::Error }, 402)
|
18
22
|
end
|
19
23
|
|
20
24
|
def render_forbidden
|
21
|
-
error!({ message: I18n.t('morpho.api.messages.forbidden') }, 403)
|
25
|
+
error!({ message: I18n.t('morpho.api.messages.forbidden'), with: Morpho::Entities::Error }, 403)
|
22
26
|
end
|
23
27
|
|
24
28
|
def render_not_found
|
25
|
-
error!({ message: I18n.t('morpho.api.messages.not_found') }, 404)
|
29
|
+
error!({ message: I18n.t('morpho.api.messages.not_found'), with: Morpho::Entities::Error }, 404)
|
26
30
|
end
|
27
31
|
|
28
32
|
def render_method_not_allowed
|
29
|
-
error!({ message: I18n.t('morpho.api.messages.method_not_allowed') }, 405)
|
33
|
+
error!({ message: I18n.t('morpho.api.messages.method_not_allowed'), with: Morpho::Entities::Error }, 405)
|
34
|
+
end
|
35
|
+
|
36
|
+
def render_unprocessable_entity
|
37
|
+
error!({ message: I18n.t('morpho.api.messages.unprocessable_entity'), with: Morpho::Entities::Error }, 422)
|
30
38
|
end
|
31
39
|
|
32
|
-
def
|
33
|
-
error!({ message: I18n.t('morpho.api.messages.unprocessable_entity'), errors: errors }, 422)
|
40
|
+
def render_unprocessable_entity_detailed(errors)
|
41
|
+
error!({ message: I18n.t('morpho.api.messages.unprocessable_entity'), errors: errors, with: Morpho::Entities::Error }, 422)
|
34
42
|
end
|
35
43
|
|
36
44
|
def render_no_content
|
@@ -22,19 +22,19 @@ module Morpho
|
|
22
22
|
if user.valid_password?(user_params[:password])
|
23
23
|
token = user_payload(user)
|
24
24
|
|
25
|
-
present token, with: Morpho::Entities::AuthenticationToken
|
25
|
+
present token, with: Morpho::Entities::SignIn::AuthenticationToken
|
26
26
|
else
|
27
27
|
user.register_failed_login!
|
28
|
-
|
28
|
+
render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.bad_credentials')])
|
29
29
|
end
|
30
30
|
else
|
31
|
-
|
31
|
+
render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.locked')])
|
32
32
|
end
|
33
33
|
else
|
34
|
-
|
34
|
+
render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.unconfirmed')])
|
35
35
|
end
|
36
36
|
else
|
37
|
-
|
37
|
+
render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.unexistent')])
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Morpho
|
2
|
+
module Entities
|
3
|
+
module SignIn
|
4
|
+
class AuthenticationToken < ::Morpho::Entities::Base
|
5
|
+
expose :token, documentation: { type: 'string', desc: 'User authentication token', required: true }
|
6
|
+
expose :expires_at, documentation: { type: 'string', desc: 'Authentication token expiration date in millis', required: true }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -5,13 +5,16 @@ module Morpho
|
|
5
5
|
|
6
6
|
namespace :tokens do
|
7
7
|
desc 'Request user authentication token' do
|
8
|
-
success Morpho::Entities::
|
8
|
+
success Morpho::Entities::SignIn::Success
|
9
|
+
failure [
|
10
|
+
[ 401, I18n.t('morpho.api.messages.unauthorized'), Morpho::Entities::Error ]
|
11
|
+
]
|
9
12
|
end
|
10
13
|
params do
|
11
|
-
requires :
|
14
|
+
requires :data, type: Morpho::Entities::UserSignIn
|
12
15
|
end
|
13
16
|
post do
|
14
|
-
login(params[:
|
17
|
+
login(params[:data])
|
15
18
|
end
|
16
19
|
end
|
17
20
|
end
|
@@ -137,6 +137,11 @@ en:
|
|
137
137
|
not_found: 'Not found'
|
138
138
|
method_not_allowed: 'Method not allowed'
|
139
139
|
unprocessable_entity: 'Unprocessable entity'
|
140
|
+
unauthorized_detailed:
|
141
|
+
unexistent: 'Email address does not belongs to a registered account'
|
142
|
+
bad_credentials: 'User email and/or password is incorrect'
|
143
|
+
unconfirmed: 'User account has not been confirmed'
|
144
|
+
locked: 'User account has been locked'
|
140
145
|
simple_form:
|
141
146
|
'yes': 'Yes'
|
142
147
|
'no': 'No'
|
@@ -137,6 +137,11 @@ es:
|
|
137
137
|
not_found: 'No encontrado'
|
138
138
|
method_not_allowed: 'Método no permitido'
|
139
139
|
unprocessable_entity: 'Entidad no procesable'
|
140
|
+
unauthorized_detailed:
|
141
|
+
unexistent: 'Correo electrónico no pertenece a un usuario registrado'
|
142
|
+
bad_credentials: 'Correo electrónico y/o contraseña es incorrecto(a)'
|
143
|
+
unconfirmed: 'Cuenta de usuario no ha sido confirmada'
|
144
|
+
locked: 'Cuenta de usuario ha sido bloqueada'
|
140
145
|
simple_form:
|
141
146
|
'yes': 'Si'
|
142
147
|
'no': 'No'
|
@@ -150,4 +155,4 @@ es:
|
|
150
155
|
email: 'Correo electrónico'
|
151
156
|
password: 'Contraseña'
|
152
157
|
password_confirmation: 'Confirmar la contraseña'
|
153
|
-
remember_me: 'Recuérdame'
|
158
|
+
remember_me: 'Recuérdame'
|
data/lib/morpho/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morpho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hugo Gilmar Erazo
|
@@ -250,9 +250,10 @@ files:
|
|
250
250
|
- app/api/concerns/morpho/grape/user_password_reset.rb
|
251
251
|
- app/api/concerns/morpho/grape/user_registration.rb
|
252
252
|
- app/api/concerns/morpho/grape/user_unlock.rb
|
253
|
-
- app/api/morpho/entities/authentication_token.rb
|
254
253
|
- app/api/morpho/entities/base.rb
|
255
254
|
- app/api/morpho/entities/error.rb
|
255
|
+
- app/api/morpho/entities/sign_in/authentication_token.rb
|
256
|
+
- app/api/morpho/entities/sign_in/success.rb
|
256
257
|
- app/api/morpho/entities/user.rb
|
257
258
|
- app/api/morpho/entities/user_sign_in.rb
|
258
259
|
- app/api/morpho/entities/user_sign_up.rb
|
@@ -1,8 +0,0 @@
|
|
1
|
-
module Morpho
|
2
|
-
module Entities
|
3
|
-
class AuthenticationToken < ::Morpho::Entities::Base
|
4
|
-
expose :token, documentation: { type: 'string', desc: 'User authentication token', required: true }
|
5
|
-
expose :expires_at, documentation: { type: 'string', desc: 'Authentication token expiration date in millis', required: true }
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|