bscf-core 0.4.98 → 0.4.99

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: e21ece92c538dd2de05e92798fdbcdb484515fb2b4d51579a49a7743cd845908
4
- data.tar.gz: 323646d95a5005ddf6ba62a24b5b3d0184ab70d2e570cb969104be978e1f378a
3
+ metadata.gz: b0455d1f4a5bcc686f33479c012b2bc9ec78ed743de0d101134a0c7a814011d1
4
+ data.tar.gz: b5082962af2d1679daf511986d30c6c6f9d3e25c818615c7674b63f64dfae2d8
5
5
  SHA512:
6
- metadata.gz: 19e9f2eb4f89d4849965264b20c08cff31570de7f4c67bd595900475a550986a44b8d803f93e3b82b44db1740ed4ad1c66e3c4f61c10b4e8d8dcf78a82264c88
7
- data.tar.gz: 72ab3727d5ef514d63f5f8219e7635ec0c5446c6cc2993bd67e0f03084602c9bee6fdf67fe195f612aa5ca37621936efa43ee1e511d2971ba59e80fa9a676555
6
+ metadata.gz: c64b3a1a1d4e87ac64919c8948f5f9acf7c97b2cd0fb0410ef894f13e887ca71490e9bd7f5f7e9978ab55b46316bc701f4a37dcf30d2e47f8eb60e39a2603399
7
+ data.tar.gz: ad4848e51ba7b6220417f52f57172df8187bd1a3a70af91a64cb47617c932e771dab61844633bb1fc70dba950adf51126e27332977aaf0261a7d135772e81ee9
@@ -1,18 +1,14 @@
1
1
  module Bscf
2
2
  module Core
3
3
  class ApplicationController < ActionController::API
4
+ include Pundit::Authorization
5
+
4
6
  private
5
7
 
6
8
  def is_authenticated
7
9
  render json: { error: "Not authenticated" }, status: :unauthorized unless current_user
8
10
  end
9
11
 
10
- def is_allowed
11
- user_role = UserRole.find_by(user: current_user)
12
- role = Role.find(user_role.role_id)
13
- render json: { error: "Not authorized" }, status: :ok unless role.name == "User" || role.name == "Admin"
14
- end
15
-
16
12
  def current_user
17
13
  return @current_user if defined?(@current_user)
18
14
 
@@ -0,0 +1,22 @@
1
+ class ApplicationPolicy
2
+ attr_reader :user, :record
3
+
4
+ def initialize(user, record)
5
+ @user = user
6
+ @record = record
7
+ end
8
+
9
+ private
10
+
11
+ def admin?
12
+ user.user_roles.any? { |ur| ur.role.name == "Admin" }
13
+ end
14
+
15
+ def driver?
16
+ user.user_roles.any? { |ur| ur.role.name == "Driver" }
17
+ end
18
+
19
+ def user_role?
20
+ user.user_roles.any? { |ur| ur.role.name == "User" }
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  module Bscf
2
2
  module Core
3
- VERSION = "0.4.98"
3
+ VERSION = "0.4.99"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bscf-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.98
4
+ version: 0.4.99
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2025-07-23 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: active_model_serializers
@@ -147,6 +147,20 @@ dependencies:
147
147
  - - ">="
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
+ - !ruby/object:Gem::Dependency
151
+ name: pundit
152
+ requirement: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ type: :runtime
158
+ prerelease: false
159
+ version_requirements: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
150
164
  - !ruby/object:Gem::Dependency
151
165
  name: database_cleaner-active_record
152
166
  requirement: !ruby/object:Gem::Requirement
@@ -316,6 +330,7 @@ files:
316
330
  - app/models/bscf/core/virtual_account_transaction.rb
317
331
  - app/models/bscf/core/voucher.rb
318
332
  - app/models/bscf/core/wholesaler_product.rb
333
+ - app/policies/application_policy.rb
319
334
  - app/services/bscf/core/gebeta_maps_service.rb
320
335
  - app/services/bscf/core/token_service.rb
321
336
  - app/services/bscf/core/transaction_service.rb
@@ -425,7 +440,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
425
440
  - !ruby/object:Gem::Version
426
441
  version: '0'
427
442
  requirements: []
428
- rubygems_version: 3.6.9
443
+ rubygems_version: 3.6.2
429
444
  specification_version: 4
430
445
  summary: An Engine for Supply Chain Financing
431
446
  test_files: []