morpho 0.3.0 → 0.3.1
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/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
|