morpho 0.3.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/api/morpho/entities/authentication_token.rb +9 -0
  3. data/app/api/morpho/entities/credentials.rb +8 -0
  4. data/app/api/morpho/entities/external.rb +10 -0
  5. data/app/api/morpho/entities/message.rb +7 -0
  6. data/app/api/morpho/entities/refresh_token.rb +7 -0
  7. data/app/api/morpho/entities/user_email.rb +7 -0
  8. data/app/api/morpho/entities/user_sign_up.rb +3 -3
  9. data/app/api/morpho/helpers/http_responses.rb +54 -18
  10. data/app/api/morpho/helpers/jwt_utils.rb +16 -25
  11. data/app/api/morpho/resources/activations.rb +22 -11
  12. data/app/api/morpho/resources/externals.rb +15 -6
  13. data/app/api/morpho/resources/hello.rb +36 -0
  14. data/app/api/morpho/resources/passwords.rb +23 -8
  15. data/app/api/morpho/resources/tokens.rb +45 -10
  16. data/app/api/morpho/resources/unlocks.rb +22 -11
  17. data/app/api/morpho/resources/users.rb +19 -4
  18. data/app/concepts/morpho/user/contract/activate.rb +8 -0
  19. data/app/concepts/morpho/user/contract/external_sign_in.rb +14 -0
  20. data/app/concepts/morpho/user/contract/refresh_token.rb +8 -0
  21. data/app/concepts/morpho/user/contract/reset_password.rb +8 -0
  22. data/app/concepts/morpho/user/contract/sign_in.rb +10 -0
  23. data/app/concepts/morpho/user/contract/sign_up.rb +14 -0
  24. data/app/concepts/morpho/user/contract/unlock.rb +8 -0
  25. data/app/concepts/morpho/user/operation/activate.rb +45 -0
  26. data/app/concepts/morpho/user/operation/external_sign_in.rb +82 -0
  27. data/app/concepts/morpho/user/operation/refresh_token.rb +35 -0
  28. data/app/concepts/morpho/user/operation/reset_password.rb +49 -0
  29. data/app/concepts/morpho/user/operation/sign_in.rb +71 -0
  30. data/app/concepts/morpho/user/operation/sign_up.rb +36 -0
  31. data/app/concepts/morpho/user/operation/unlock.rb +45 -0
  32. data/app/models/morpho/user.rb +5 -3
  33. data/app/services/morpho/jwt/authentication_token.rb +11 -0
  34. data/app/services/morpho/jwt/decode.rb +11 -0
  35. data/app/services/morpho/jwt/encode.rb +11 -0
  36. data/app/services/morpho/jwt/payload.rb +11 -0
  37. data/app/services/morpho/jwt/token.rb +13 -0
  38. data/app/views/layouts/morpho/application.html.erb +1 -1
  39. data/config/initializers/grape_swagger.rb +1 -0
  40. data/config/locales/morpho.en.yml +2 -1
  41. data/config/locales/morpho.es.yml +2 -1
  42. data/lib/generators/morpho/install/install_generator.rb +1 -0
  43. data/lib/generators/morpho/install/templates/app/api/morpho/api.rb +1 -0
  44. data/lib/generators/morpho/install/templates/config/initializers/morpho.rb +4 -2
  45. data/lib/morpho/cipher.rb +2 -2
  46. data/lib/morpho/configurations/mailer.rb +2 -2
  47. data/lib/morpho/grape/data_parser.rb +35 -0
  48. data/lib/morpho/grape/data_wrapper.rb +25 -0
  49. data/lib/morpho/loader.rb +4 -1
  50. data/lib/morpho/version.rb +1 -1
  51. data/lib/morpho.rb +2 -0
  52. metadata +97 -38
  53. data/app/api/morpho/entities/sign_in/authentication_token.rb +0 -11
  54. data/app/api/morpho/entities/sign_in/credentials.rb +0 -10
  55. data/app/api/morpho/entities/sign_in/external.rb +0 -12
  56. data/app/api/morpho/entities/sign_in/refresh_token.rb +0 -9
  57. data/app/api/morpho/entities/sign_in/success.rb +0 -9
  58. data/app/api/morpho/helpers/user_activation.rb +0 -11
  59. data/app/api/morpho/helpers/user_external_login.rb +0 -53
  60. data/app/api/morpho/helpers/user_login.rb +0 -42
  61. data/app/api/morpho/helpers/user_password_reset.rb +0 -11
  62. data/app/api/morpho/helpers/user_refresh_authentication_token.rb +0 -24
  63. data/app/api/morpho/helpers/user_registration.rb +0 -17
  64. data/app/api/morpho/helpers/user_unlock.rb +0 -11
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: morpho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hugo Gilmar Erazo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-22 00:00:00.000000000 Z
11
+ date: 2018-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,168 +16,168 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.1
19
+ version: '5.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 5.2.1
26
+ version: '5.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: draper
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.1
33
+ version: '3.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.0.1
40
+ version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sorcery
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.12.0
47
+ version: '0.12'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.12.0
54
+ version: '0.12'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jwt
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.5.6
61
+ version: '1.5'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.5.6
68
+ version: '1.5'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: validates_email_format_of
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.6.3
75
+ version: '1.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.6.3
82
+ version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: flash_rails_messages
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.0.0
89
+ version: '1.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 1.0.0
96
+ version: '1.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simple_form
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 4.0.1
103
+ version: '4.0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 4.0.1
110
+ version: '4.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: grape
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.1.0
117
+ version: '1.1'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.1.0
124
+ version: '1.1'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: grape-entity
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.7.1
131
+ version: '0.7'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.7.1
138
+ version: '0.7'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: grape-swagger
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.31.0
145
+ version: '0.31'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.31.0
152
+ version: '0.31'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: grape-swagger-entity
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 0.3.0
159
+ version: '0.3'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 0.3.0
166
+ version: '0.3'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: grape-swagger-representable
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.2.2
173
+ version: '0.2'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.2.2
180
+ version: '0.2'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rails-i18n
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +192,48 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '5.1'
195
+ - !ruby/object:Gem::Dependency
196
+ name: reform
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2.2'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '2.2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: reform-rails
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '0.1'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0.1'
223
+ - !ruby/object:Gem::Dependency
224
+ name: trailblazer-operation
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '0.4'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '0.4'
195
237
  - !ruby/object:Gem::Dependency
196
238
  name: sqlite3
197
239
  requirement: !ruby/object:Gem::Requirement
@@ -244,26 +286,21 @@ files:
244
286
  - MIT-LICENSE
245
287
  - README.md
246
288
  - Rakefile
289
+ - app/api/morpho/entities/authentication_token.rb
247
290
  - app/api/morpho/entities/base.rb
291
+ - app/api/morpho/entities/credentials.rb
248
292
  - app/api/morpho/entities/error.rb
249
- - app/api/morpho/entities/sign_in/authentication_token.rb
250
- - app/api/morpho/entities/sign_in/credentials.rb
251
- - app/api/morpho/entities/sign_in/external.rb
252
- - app/api/morpho/entities/sign_in/refresh_token.rb
253
- - app/api/morpho/entities/sign_in/success.rb
293
+ - app/api/morpho/entities/external.rb
294
+ - app/api/morpho/entities/message.rb
295
+ - app/api/morpho/entities/refresh_token.rb
254
296
  - app/api/morpho/entities/user.rb
297
+ - app/api/morpho/entities/user_email.rb
255
298
  - app/api/morpho/entities/user_sign_up.rb
256
299
  - app/api/morpho/helpers/http_responses.rb
257
300
  - app/api/morpho/helpers/jwt_utils.rb
258
- - app/api/morpho/helpers/user_activation.rb
259
- - app/api/morpho/helpers/user_external_login.rb
260
- - app/api/morpho/helpers/user_login.rb
261
- - app/api/morpho/helpers/user_password_reset.rb
262
- - app/api/morpho/helpers/user_refresh_authentication_token.rb
263
- - app/api/morpho/helpers/user_registration.rb
264
- - app/api/morpho/helpers/user_unlock.rb
265
301
  - app/api/morpho/resources/activations.rb
266
302
  - app/api/morpho/resources/externals.rb
303
+ - app/api/morpho/resources/hello.rb
267
304
  - app/api/morpho/resources/passwords.rb
268
305
  - app/api/morpho/resources/tokens.rb
269
306
  - app/api/morpho/resources/unlocks.rb
@@ -273,6 +310,20 @@ files:
273
310
  - app/assets/images/morpho/morpho.svg
274
311
  - app/assets/javascripts/morpho/application.js
275
312
  - app/assets/stylesheets/morpho/application.css
313
+ - app/concepts/morpho/user/contract/activate.rb
314
+ - app/concepts/morpho/user/contract/external_sign_in.rb
315
+ - app/concepts/morpho/user/contract/refresh_token.rb
316
+ - app/concepts/morpho/user/contract/reset_password.rb
317
+ - app/concepts/morpho/user/contract/sign_in.rb
318
+ - app/concepts/morpho/user/contract/sign_up.rb
319
+ - app/concepts/morpho/user/contract/unlock.rb
320
+ - app/concepts/morpho/user/operation/activate.rb
321
+ - app/concepts/morpho/user/operation/external_sign_in.rb
322
+ - app/concepts/morpho/user/operation/refresh_token.rb
323
+ - app/concepts/morpho/user/operation/reset_password.rb
324
+ - app/concepts/morpho/user/operation/sign_in.rb
325
+ - app/concepts/morpho/user/operation/sign_up.rb
326
+ - app/concepts/morpho/user/operation/unlock.rb
276
327
  - app/controllers/morpho/activations_controller.rb
277
328
  - app/controllers/morpho/application_controller.rb
278
329
  - app/controllers/morpho/home_controller.rb
@@ -288,6 +339,11 @@ files:
288
339
  - app/models/morpho/application_record.rb
289
340
  - app/models/morpho/authentication.rb
290
341
  - app/models/morpho/user.rb
342
+ - app/services/morpho/jwt/authentication_token.rb
343
+ - app/services/morpho/jwt/decode.rb
344
+ - app/services/morpho/jwt/encode.rb
345
+ - app/services/morpho/jwt/payload.rb
346
+ - app/services/morpho/jwt/token.rb
291
347
  - app/views/layouts/morpho/application.html.erb
292
348
  - app/views/layouts/morpho/mailer.html.erb
293
349
  - app/views/layouts/morpho/mailer.text.erb
@@ -309,6 +365,7 @@ files:
309
365
  - app/views/morpho/user_mailer/unlock_token_email.text.erb
310
366
  - app/views/morpho/users/new.html.erb
311
367
  - config/initializers/flash_rails_messages_skeleton.rb
368
+ - config/initializers/grape_swagger.rb
312
369
  - config/initializers/simple_form.rb
313
370
  - config/initializers/sorcery.rb
314
371
  - config/locales/morpho.en.yml
@@ -336,6 +393,8 @@ files:
336
393
  - lib/morpho/configurations/jwt.rb
337
394
  - lib/morpho/configurations/mailer.rb
338
395
  - lib/morpho/engine.rb
396
+ - lib/morpho/grape/data_parser.rb
397
+ - lib/morpho/grape/data_wrapper.rb
339
398
  - lib/morpho/loader.rb
340
399
  - lib/morpho/validators/contain_number_validator.rb
341
400
  - lib/morpho/validators/contain_symbol_validator.rb
@@ -1,11 +0,0 @@
1
- module Morpho
2
- module Entities
3
- module SignIn
4
- class AuthenticationToken < ::Morpho::Entities::Base
5
- expose :authentication_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
- expose :refresh_token, documentation: { type: 'string', desc: 'User refresh token', required: true }
8
- end
9
- end
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- module Morpho
2
- module Entities
3
- module SignIn
4
- class Credentials < ::Morpho::Entities::Base
5
- expose :email, documentation: { type: 'string', desc: 'User email address' }
6
- expose :password, documentation: { type: 'string', desc: 'User password' }
7
- end
8
- end
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- module Morpho
2
- module Entities
3
- module SignIn
4
- class External < ::Morpho::Entities::Base
5
- expose :email, documentation: { type: 'string', desc: 'User email address' }
6
- expose :name, documentation: { type: 'string', desc: 'User name' }
7
- expose :provider, documentation: { type: 'string', desc: 'User authentication provider' }
8
- expose :uid, documentation: { type: 'string', desc: 'User provider uid' }
9
- end
10
- end
11
- end
12
- end
@@ -1,9 +0,0 @@
1
- module Morpho
2
- module Entities
3
- module SignIn
4
- class RefreshToken < ::Morpho::Entities::Base
5
- expose :refresh_token, documentation: { type: 'string', desc: 'User refresh token', required: true }
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Morpho
2
- module Entities
3
- module SignIn
4
- class Success < ::Morpho::Entities::Base
5
- expose :data, using: ::Morpho::Entities::SignIn::AuthenticationToken
6
- end
7
- end
8
- end
9
- end
@@ -1,11 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserActivation
4
- protected
5
-
6
- def current_user
7
- @current_user ||= Morpho::User.find_by(params[:user])
8
- end
9
- end
10
- end
11
- end
@@ -1,53 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserExternalLogin
4
- protected
5
-
6
- def login(user_params)
7
- provider = user_params[:provider].downcase
8
-
9
- if Morpho::Authentication.exists?(provider: provider, uid: user_params[:uid])
10
- authentication = Morpho::Authentication.find_by(provider: provider, uid: user_params[:uid])
11
-
12
- user = authentication.user
13
-
14
- user.activate! unless user.active?
15
- user.register_last_login_activity!(request.ip)
16
- user.generate_refresh_token!
17
- token = user_payload(user)
18
-
19
- present token, with: Morpho::Entities::SignIn::AuthenticationToken
20
- elsif Morpho::User.exists?(email: user_params[:email])
21
- user = Morpho::User.find_by(email: user_params[:email])
22
-
23
- if user.add_provider_to_user(provider, user_params[:uid])
24
- user.activate! unless user.active?
25
- user.register_last_login_activity!(request.ip)
26
- user.generate_refresh_token!
27
- token = user_payload(user)
28
-
29
- present token, with: Morpho::Entities::SignIn::AuthenticationToken
30
- else
31
- render_unprocessable_entity_detailed([I18n.t('morpho.api.messages.provider.unregistered')])
32
- end
33
- else
34
- user = Morpho::User.create_from_provider(provider, user_params[:uid], {
35
- email: user_params[:email],
36
- name: user_params[:name]
37
- })
38
-
39
- if user.persisted?
40
- user.activate!
41
- user.register_last_login_activity!(request.ip)
42
- user.generate_refresh_token!
43
- token = user_payload(user)
44
-
45
- present token, with: Morpho::Entities::SignIn::AuthenticationToken
46
- else
47
- render_unprocessable_entity_detailed([I18n.t('morpho.api.messages.provider.unregistered')])
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,42 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserLogin
4
- protected
5
-
6
- def logged_in?
7
- !!current_user
8
- end
9
-
10
- def require_login
11
- render_unauthorized unless logged_in?
12
- end
13
-
14
- def login(user_params)
15
- user = Morpho::User.find_by(email: user_params[:email])
16
-
17
- if user
18
- if user.active?
19
- if !user.login_locked?
20
- if user.valid_password?(user_params[:password])
21
- user.register_last_login_activity!(request.ip)
22
- user.generate_refresh_token!
23
- token = user_payload(user)
24
-
25
- present token, with: Morpho::Entities::SignIn::AuthenticationToken
26
- else
27
- user.register_failed_login!
28
- render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.bad_credentials')])
29
- end
30
- else
31
- render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.locked')])
32
- end
33
- else
34
- render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.unconfirmed')])
35
- end
36
- else
37
- render_unauthorized_detailed([I18n.t('morpho.api.messages.unauthorized_detailed.unexistent')])
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,11 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserPasswordReset
4
- protected
5
-
6
- def current_user
7
- @current_user ||= Morpho::User.find_by(params[:user])
8
- end
9
- end
10
- end
11
- end
@@ -1,24 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserRefreshAuthenticationToken
4
- protected
5
-
6
- def valid_refresh_token?(refresh_token_params)
7
- Morpho::User.exists?(refresh_token: refresh_token_params[:refresh_token])
8
- end
9
-
10
- def refresh_token(refresh_token_params)
11
- if self.valid_refresh_token?(refresh_token_params)
12
- user = Morpho::User.find_by(refresh_token: refresh_token_params[:refresh_token])
13
-
14
- user.generate_refresh_token!
15
- token = user_payload(user)
16
-
17
- present token, with: Morpho::Entities::SignIn::AuthenticationToken
18
- else
19
- render_unprocessable_entity_detailed([I18n.t('morpho.api.messages.refresh_token.invalid')])
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,17 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserRegistration
4
- protected
5
-
6
- def register(user_params)
7
- user = Morpho::User.new(user_params)
8
-
9
- if user.save
10
- present user, with: Morpho::Entities::User
11
- else
12
- render_unprocessable_entity_detailed(user.errors)
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,11 +0,0 @@
1
- module Morpho
2
- module Helpers
3
- module UserUnlock
4
- protected
5
-
6
- def current_user
7
- @current_user ||= Morpho::User.find_by(params[:user])
8
- end
9
- end
10
- end
11
- end