spree_cm_commissioner 1.8.4 → 1.8.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 +4 -4
- data/Gemfile.lock +1 -1
- data/app/controllers/spree/api/v2/tenant/cart_controller.rb +15 -0
- data/app/controllers/spree/api/v2/tenant/cart_payment_method_groups_controller.rb +33 -0
- data/app/controllers/spree/api/v2/tenant/checkout_controller.rb +14 -0
- data/app/models/spree_cm_commissioner/ability_decorator.rb +1 -1
- data/app/models/spree_cm_commissioner/order_decorator.rb +1 -1
- data/app/models/spree_cm_commissioner/taxon_decorator.rb +1 -0
- data/app/models/spree_cm_commissioner/tenant.rb +5 -1
- data/app/serializers/spree/v2/tenant/payment_method_group_serializer.rb +11 -0
- data/app/serializers/spree/v2/tenant/payment_method_serializer.rb +13 -0
- data/config/routes.rb +3 -0
- data/lib/spree_cm_commissioner/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53d7b7682c7178ee43a82fa1bed180bff277284eb4cc11790f7b9286d4aa2c98
|
4
|
+
data.tar.gz: e352ffca56db709ce091fd5d1900b0893ef86fc55a0c0254da1443cad454a49f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab207fab5a440fb505cb157f7d29070c3d0f53a89117854bcdfceb0141e9cea8cc497d73d80afae1b6921c79b566744b52e86e4783c747527fa36bfb19505e5a
|
7
|
+
data.tar.gz: 790e0b20a95d9a52c525b1e0528f6421479742d2713fd87fc325e3b69c09ab8c6804db3969fee36256d13e728ace25277a2a2f3e96aad496ff3e02fa0695d2ac
|
data/Gemfile.lock
CHANGED
@@ -53,6 +53,17 @@ module Spree
|
|
53
53
|
render_order(result)
|
54
54
|
end
|
55
55
|
|
56
|
+
def remove_line_item
|
57
|
+
spree_authorize! :update, spree_current_order, order_token
|
58
|
+
|
59
|
+
remove_line_item_service.call(
|
60
|
+
order: spree_current_order,
|
61
|
+
line_item: line_item
|
62
|
+
)
|
63
|
+
|
64
|
+
render_serialized_payload { serialized_current_order }
|
65
|
+
end
|
66
|
+
|
56
67
|
def destroy
|
57
68
|
spree_authorize! :update, spree_current_order, order_token
|
58
69
|
|
@@ -145,6 +156,10 @@ module Spree
|
|
145
156
|
Spree::Api::Dependencies.storefront_cart_add_item_service.constantize
|
146
157
|
end
|
147
158
|
|
159
|
+
def remove_line_item_service
|
160
|
+
Spree::Api::Dependencies.storefront_cart_remove_line_item_service.constantize
|
161
|
+
end
|
162
|
+
|
148
163
|
def destroy_cart_service
|
149
164
|
Spree::Api::Dependencies.storefront_cart_destroy_service.constantize
|
150
165
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Spree
|
2
|
+
module Api
|
3
|
+
module V2
|
4
|
+
module Tenant
|
5
|
+
class CartPaymentMethodGroupsController < BaseController
|
6
|
+
include Spree::Api::V2::Storefront::OrderConcern
|
7
|
+
|
8
|
+
before_action :ensure_order
|
9
|
+
|
10
|
+
# override
|
11
|
+
def index
|
12
|
+
render_serialized_payload do
|
13
|
+
collection_serializer.new(collection, { include: resource_includes }).serializable_hash
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# override
|
18
|
+
def collection
|
19
|
+
@collection ||= SpreeCmCommissioner::PaymentMethods::GroupByBank.new.execute(
|
20
|
+
payment_methods: spree_current_order.available_payment_methods,
|
21
|
+
preferred_payment_method_id: spree_current_user&.preferred_payment_method_id
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
# override
|
26
|
+
def collection_serializer
|
27
|
+
Spree::V2::Tenant::PaymentMethodGroupSerializer
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -47,6 +47,16 @@ module Spree
|
|
47
47
|
render_order(result)
|
48
48
|
end
|
49
49
|
|
50
|
+
def create_payment
|
51
|
+
result = create_payment_service.call(order: spree_current_order, params: params)
|
52
|
+
|
53
|
+
if result.success?
|
54
|
+
render_serialized_payload(201) { serialize_resource(spree_current_order.reload) }
|
55
|
+
else
|
56
|
+
render_error_payload(result.error)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
50
60
|
private
|
51
61
|
|
52
62
|
def wrap_with_multitenant_without(&block)
|
@@ -72,6 +82,10 @@ module Spree
|
|
72
82
|
def update_service
|
73
83
|
Spree::Api::Dependencies.storefront_checkout_update_service.constantize
|
74
84
|
end
|
85
|
+
|
86
|
+
def create_payment_service
|
87
|
+
Vpago::Payments::FindOrCreate
|
88
|
+
end
|
75
89
|
end
|
76
90
|
end
|
77
91
|
end
|
@@ -31,7 +31,7 @@ module SpreeCmCommissioner
|
|
31
31
|
base.has_one :invoice, dependent: :destroy, class_name: 'SpreeCmCommissioner::Invoice'
|
32
32
|
base.has_one :customer, class_name: 'SpreeCmCommissioner::Customer', through: :subscription
|
33
33
|
|
34
|
-
base.belongs_to :tenant, class_name: 'SpreeCmCommissioner::Tenant'
|
34
|
+
base.belongs_to :tenant, class_name: 'SpreeCmCommissioner::Tenant', optional: true
|
35
35
|
base.belongs_to :subscription, class_name: 'SpreeCmCommissioner::Subscription', optional: true
|
36
36
|
|
37
37
|
base.has_many :taxons, class_name: 'Spree::Taxon', through: :customer
|
@@ -7,6 +7,7 @@ module SpreeCmCommissioner
|
|
7
7
|
|
8
8
|
base.preference :background_color, :string
|
9
9
|
base.preference :foreground_color, :string
|
10
|
+
base.preference :reports, :array, default: []
|
10
11
|
|
11
12
|
base.has_many :taxon_vendors, class_name: 'SpreeCmCommissioner::TaxonVendor'
|
12
13
|
base.has_many :vendors, through: :taxon_vendors
|
@@ -3,7 +3,11 @@ module SpreeCmCommissioner
|
|
3
3
|
extend FriendlyId
|
4
4
|
friendly_id :name, use: :history
|
5
5
|
|
6
|
-
has_many :vendors, class_name: 'Spree::Vendor'
|
6
|
+
has_many :vendors, class_name: 'Spree::Vendor', inverse_of: :tenant
|
7
|
+
has_many :orders, class_name: 'Spree::Order', inverse_of: :tenant
|
8
|
+
has_many :tenant_payment_methods, class_name: 'Spree::PaymentMethod',
|
9
|
+
through: :vendors,
|
10
|
+
source: :payment_methods
|
7
11
|
|
8
12
|
enum state: { enabled: 0, disabled: 1 }
|
9
13
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Spree
|
2
|
+
module V2
|
3
|
+
module Tenant
|
4
|
+
class PaymentMethodSerializer < BaseSerializer
|
5
|
+
attributes :type, :name, :description, :public_metadata
|
6
|
+
|
7
|
+
attribute :preferences do |object|
|
8
|
+
object.public_preferences.as_json
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/config/routes.rb
CHANGED
@@ -466,6 +466,7 @@ Spree::Core::Engine.add_routes do
|
|
466
466
|
|
467
467
|
resource :cart, controller: :cart, only: %i[show create destroy] do
|
468
468
|
post :add_item
|
469
|
+
delete 'remove_line_item/:line_item_id', to: 'cart#remove_line_item', as: :cart_remove_line_item
|
469
470
|
patch :set_quantity
|
470
471
|
patch :apply_coupon_code
|
471
472
|
delete 'remove_coupon_code/:coupon_code', to: 'cart#remove_coupon_code', as: :cart_remove_coupon_code
|
@@ -479,6 +480,7 @@ Spree::Core::Engine.add_routes do
|
|
479
480
|
patch :next
|
480
481
|
patch :advance
|
481
482
|
patch :complete
|
483
|
+
post :create_payment
|
482
484
|
end
|
483
485
|
|
484
486
|
resources :customer_notifications, only: [:show]
|
@@ -492,6 +494,7 @@ Spree::Core::Engine.add_routes do
|
|
492
494
|
end
|
493
495
|
|
494
496
|
resources :user_account_linkages, only: %i[index create destroy]
|
497
|
+
resources :cart_payment_method_groups, only: %i[index]
|
495
498
|
resource :s3_signed_urls
|
496
499
|
resource :profile_images, only: %i[update destroy]
|
497
500
|
resources :line_items, only: %i[index show]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_cm_commissioner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- You
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-03-
|
11
|
+
date: 2025-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree
|
@@ -819,6 +819,7 @@ files:
|
|
819
819
|
- app/controllers/spree/api/v2/tenant/base_controller.rb
|
820
820
|
- app/controllers/spree/api/v2/tenant/cart_controller.rb
|
821
821
|
- app/controllers/spree/api/v2/tenant/cart_guests_controller.rb
|
822
|
+
- app/controllers/spree/api/v2/tenant/cart_payment_method_groups_controller.rb
|
822
823
|
- app/controllers/spree/api/v2/tenant/checkout_controller.rb
|
823
824
|
- app/controllers/spree/api/v2/tenant/customer_notifications_controller.rb
|
824
825
|
- app/controllers/spree/api/v2/tenant/guests_controller.rb
|
@@ -1462,6 +1463,8 @@ files:
|
|
1462
1463
|
- app/serializers/spree/v2/tenant/option_type_serializer.rb
|
1463
1464
|
- app/serializers/spree/v2/tenant/option_value_serializer.rb
|
1464
1465
|
- app/serializers/spree/v2/tenant/order_serializer.rb
|
1466
|
+
- app/serializers/spree/v2/tenant/payment_method_group_serializer.rb
|
1467
|
+
- app/serializers/spree/v2/tenant/payment_method_serializer.rb
|
1465
1468
|
- app/serializers/spree/v2/tenant/role_serializer.rb
|
1466
1469
|
- app/serializers/spree/v2/tenant/s3_signed_url_serializer.rb
|
1467
1470
|
- app/serializers/spree/v2/tenant/stock_item_serializer.rb
|