ecom_core 1.1.0 → 1.1.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 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.