thecore_backend_commons 3.1.3 → 3.1.5

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: cb20c15ff661ae29da36dd49e741a06f2fcebfe66d6d396ab8d13e56bc19cfaf
4
- data.tar.gz: 0eb50b593ab125d7ea382429cd8c5239bff1bdcbecf374684696afe07decc2b4
3
+ metadata.gz: 97741971ca6bd986ce48c1237ce588165731d323c11aa445db719d54bfc456b8
4
+ data.tar.gz: f2ca229b0010a509c2f1519588625f4a5873f7f949a732c701fe91a156667628
5
5
  SHA512:
6
- metadata.gz: 11f14abba150e961335fc6ba119606c2e4fed084294fbc0896f31069441eced1310dfa1c243e1638375b7afe8c38e75ddf1e0b5036df2378f51ab5c5e7e9a176
7
- data.tar.gz: 546044d1eef76e68c3542cc4fc23692259e527e5e3dc544912f1d95e12bee58bbcca58eea668fe22491ce74da6e4d8e29bfbe89afda71c053ee0b764a382d758
6
+ metadata.gz: 4a3e601c21af2052e7c5399a8a3ce07c20e4e1b02b3163a81f91aa92c196288a619627e13ac9d4b2a1762283472e78fa1ae7334e168dae12eb3360e7d7b0a94d
7
+ data.tar.gz: '0709885ccaf4e4347f314e6599ca42f8da0ad982e9bb229c3d44dae3d4d29bc066ec4a3f4f190ce4c965e9906fbc93a0acf6d6dee95b37059edd57368e0c354f'
@@ -1,3 +1,3 @@
1
1
  Rails.application.config.active_storage.configure :Disk, root: Rails.root.join("storage")
2
2
  Rails.application.config.action_mailer.delivery_method = :smtp
3
- Rails.application.config.action_cable.allowed_request_origins = [ ENV["FRONTEND_URL"].presence || /http:\/\/*/, ENV["BACKEND_URL"].presence || /http:\/\/*/ ].uniq
3
+ Rails.application.config.action_cable.allowed_request_origins = [ ENV["FRONTEND_URL"].presence || /http:\/\/*/, ENV["BACKEND_URL"].presence || /http:\/\/*/, "https://localhost:8100" ].uniq
@@ -10,15 +10,23 @@ module ApplicationRecordConcern
10
10
  after_rollback :message_ko
11
11
 
12
12
  def validation_ko
13
- ActionCable.server.broadcast("messages", { topic: :record, action: detect_action, success: false, valid: false, errors: self.errors.full_messages.uniq, record: self}) if self.errors.any?
13
+ ActionCable.server.broadcast("messages", build_message(false, false, self.errors.full_messages.uniq)) if self.errors.any? && !is_model_forbidden
14
14
  end
15
15
 
16
16
  def message_ok
17
- ActionCable.server.broadcast("messages", { topic: :record, action: detect_action, success: true, valid: true, errors: [], record: self})
17
+ ActionCable.server.broadcast("messages", build_message(true, true, [])) unless is_model_forbidden
18
18
  end
19
19
 
20
20
  def message_ko
21
- ActionCable.server.broadcast("messages", { topic: :record, action: detect_action, success: false, valid: true, errors: [], record: self})
21
+ ActionCable.server.broadcast("messages", build_message(false, true, [])) unless is_model_forbidden
22
+ end
23
+
24
+ def is_model_forbidden
25
+ [ 'User', 'Role' ].include?(self.class.name)
26
+ end
27
+
28
+ def build_message success, valid, errors
29
+ { topic: :record, action: detect_action, class: self.class.name, success: success, valid: valid, errors: errors, record: self}
22
30
  end
23
31
 
24
32
  def detect_action
@@ -12,7 +12,10 @@ module CableConnectionConcern
12
12
  protected
13
13
 
14
14
  def find_verified_user # this checks whether a user is authenticated with devise
15
- if verified_user = env['warden'].user
15
+ m = request.query_parameters["token"]
16
+
17
+ body = ::HashWithIndifferentAccess.new(::JWT.decode(m, ::Rails.application.credentials.dig(:secret_key_base).presence||ENV["SECRET_KEY_BASE"], false)[0]) rescue nil
18
+ if verified_user = (env['warden'].user.presence || User.find_by(id: body[:user_id]))
16
19
  verified_user
17
20
  else
18
21
  reject_unauthorized_connection
@@ -1,3 +1,3 @@
1
1
  module ThecoreBackendCommons
2
- VERSION = "#{`git describe --tags $(git rev-list --tags --max-count=1)`.chomp}"
2
+ VERSION = "3.1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thecore_backend_commons
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.3
4
+ version: 3.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriele Tassoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-05 00:00:00.000000000 Z
11
+ date: 2023-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thecore_auth_commons
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  requirements: []
191
- rubygems_version: 3.3.26
191
+ rubygems_version: 3.4.10
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: Thecore 3 foundations for the Web UI Backend.