ecom_core 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4c2a4729011d5781ac6064808128d8893dbc513dfabb329aa4c4f3211f019d6
4
- data.tar.gz: 6412967987102831a1177ff8f0226347683544e12d47d6907b99d653c705f29a
3
+ metadata.gz: 2a0c28baf17d2c00ff282fba227a6cf7c10d4c6f11507e773214d3d82df2477e
4
+ data.tar.gz: 00e5b91dd8f598b92353923d80750deb193f627cec91e5563a85de6c770e25a5
5
5
  SHA512:
6
- metadata.gz: b9c39e336428e7b8ef6d723f6cc818dc07340d9b1f6a34427ce29b22589d394605dc53efb103aeefec54c95b033afdea960ca0575dd30956435ab6db5ceb022c
7
- data.tar.gz: 5b0f801e7f59fecde99b3e59818f35bc0967f3336154dcd8b35649b3bacbbf4b6b69c84ccff0bc42da20ea89cd497b60d8368348a0d2f1d30f9660956de05e12
6
+ metadata.gz: e7ea275f8bc129cc1490ca5f2b6a4f90d7e631dabb4d6fb0e9af31f625f1e8fa4538caa6362dac463cd86db86ee3e2304b29a0959e4471cc73578b207bf6f003
7
+ data.tar.gz: 39d5157a5bb77483d59124289439d52ac94f2a0d37f53c486727727da1f14b83380bdd0afbffa69fa640150fff80dadf805404fef87583c48a7ca39cb3f3a8f1
@@ -4,13 +4,20 @@ module Ecom
4
4
  skip_before_action :authenticate, only: [:login]
5
5
 
6
6
  def login
7
+ app_code = Rails.configuration.app_code
7
8
  user = User.find_by(email: auth_params[:email])
9
+
8
10
  if user
9
11
  if user.authenticate(auth_params[:password])
10
- roles = user.user_roles.each_with_object([]) do |role, result|
12
+ roles = user.roles_for_module(app_code).each_with_object([]) do |role, result|
11
13
  result << role.name
12
14
  end
13
15
 
16
+ if roles.count <= 0
17
+ render json: { error: 'User has no roles in this application.' }, status: :unprocessable_entity
18
+ return
19
+ end
20
+
14
21
  payload = { id: user.id, email: user.email, name: user.full_name, roles: roles }
15
22
  jwt = TokenAuthService.issue(payload)
16
23
  render json: { token: jwt, user: payload, error: nil }
@@ -15,6 +15,10 @@ module Ecom
15
15
  def full_name
16
16
  "#{first_name} #{last_name}"
17
17
  end
18
+
19
+ def roles_for_module(code)
20
+ user_roles.joins(:application_module).where('ecom_core_application_modules.code = ?', code)
21
+ end
18
22
  end
19
23
  end
20
24
  end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.1.0'.freeze
3
+ VERSION = '1.1.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecom_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.