bscf-core 0.4.8 → 0.4.9

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: f9091179ddd6b5467cb508e9e13113862634c6998a37e2ab21c2c3f8996e0dab
4
- data.tar.gz: ca42d422f4010c9d7b33224473d51a851278279d0d3ee187953ff006cd574408
3
+ metadata.gz: c14a03202265c747f95062f12f60fc41e2e5bebc1caa9946bf985b99d7abab7e
4
+ data.tar.gz: 116fb2ffdbd99d4bb5f83b1c93d9bf7bf9c24a08c37810a9136daf9d45d49ee8
5
5
  SHA512:
6
- metadata.gz: 0b4984aaf8346536cd327b7634f155fe9e662617d305a81834757244135401c2828058dbb2efa90a1f1170763e221709dab06f7872e7d5d3205af21cd71fda25
7
- data.tar.gz: eee5c0f1a25803c43d22fb150de511e31196118cfb859b25c5593144e464ea70a9308b50b12c47104c6c82504482dc6a932ee56dc886306023a49dbd1e098fc5
6
+ metadata.gz: fd3edce59b7a9601f74161fc59ae5c7b0b557be5c5091663194fee7fec6ac95bcd61b107dfcb985c36d676e7bf57bb4df52b2858c60e0cd819da30ae709c1432
7
+ data.tar.gz: fddfacc1d22e9fcec199d9b65c159952b966a878d14068e4630c3d631e284df8e2d3d42dc7c701d4246bdb1b505f6f68caecea8753425e6f060bbd49e13639f7
@@ -0,0 +1,39 @@
1
+ module Bscf
2
+ module Core
3
+ module Authenticable
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ before_action :is_authenticated
8
+ end
9
+
10
+ private
11
+
12
+ def is_authenticated
13
+ render json: { error: "Not authenticated" }, status: :unauthorized unless current_user
14
+ end
15
+
16
+ def current_user
17
+ return @current_user if defined?(@current_user)
18
+
19
+ return unless auth_token
20
+
21
+ begin
22
+ payload = TokenService.new.decode(auth_token)
23
+ @current_user = User.find_by(id: payload["user"]["id"])
24
+ rescue JWT::DecodeError => e
25
+ Rails.logger.warn "Token decode error: #{e.message}"
26
+ nil
27
+ rescue ActiveRecord::RecordNotFound => e
28
+ Rails.logger.warn "User not found: #{e.message}"
29
+ nil
30
+ end
31
+ end
32
+
33
+ def auth_token
34
+ auth_header = request.headers["Authorization"]
35
+ auth_header&.split(" ")&.last
36
+ end
37
+ end
38
+ end
39
+ end
@@ -37,10 +37,10 @@ module Bscf
37
37
  return nil unless pickup_address&.coordinates.present?
38
38
 
39
39
  # Get all delivery order items with dropoff addresses
40
- items_with_dropoffs = delivery_order_items.includes(:dropoff_address)
41
- .where.not(dropoff_address: nil)
40
+ items_with_dropoffs = orders.includes(:drop_off_address)
41
+ .where.not(drop_off_address: nil)
42
42
 
43
- dropoff_addresses = items_with_dropoffs.map(&:dropoff_address).compact.uniq
43
+ dropoff_addresses = items_with_dropoffs.map(&:drop_off_address).compact.uniq
44
44
  return nil if dropoff_addresses.empty?
45
45
 
46
46
  # Check if all dropoff addresses have coordinates
@@ -51,7 +51,7 @@ module Bscf
51
51
  route_data = gebeta_service.optimize_route(pickup_address, dropoff_addresses)
52
52
 
53
53
  # Return nil if route_data is empty or doesn't have waypoints
54
- return nil if route_data.blank? || !route_data.key?("waypoints")
54
+ return nil if route_data.blank? || !route_data.key?("directions")
55
55
 
56
56
  # Cache the result if needed
57
57
  # Rails.cache.write("delivery_order_route_#{id}", route_data, expires_in: 1.hour)
@@ -0,0 +1,8 @@
1
+ if defined?(Bullet)
2
+ Bullet.enable = true
3
+ Bullet.alert = true
4
+ Bullet.bullet_logger = true
5
+ Bullet.console = true
6
+ Bullet.rails_logger = true
7
+ Bullet.add_footer = true
8
+ end
@@ -1,5 +1,5 @@
1
1
  module Bscf
2
2
  module Core
3
- VERSION = "0.4.8"
3
+ VERSION = "0.4.9"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bscf-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
@@ -284,6 +284,7 @@ files:
284
284
  - README.md
285
285
  - Rakefile
286
286
  - app/controllers/bscf/core/application_controller.rb
287
+ - app/controllers/concerns/bscf/core/authenticable.rb
287
288
  - app/jobs/bscf/core/application_job.rb
288
289
  - app/mailers/bscf/core/application_mailer.rb
289
290
  - app/models/bscf/core/address.rb
@@ -317,6 +318,7 @@ files:
317
318
  - app/services/bscf/core/token_service.rb
318
319
  - app/services/bscf/core/transaction_service.rb
319
320
  - config/database.yml
321
+ - config/initializers/bullet.rb
320
322
  - config/routes.rb
321
323
  - db/migrate/20250326065606_create_bscf_core_users.rb
322
324
  - db/migrate/20250326075111_create_bscf_core_roles.rb