solidus_api 3.4.6 → 4.0.0
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/Rakefile +0 -1
- data/app/controllers/spree/api/customer_returns_controller.rb +0 -8
- data/app/controllers/spree/api/option_values_controller.rb +0 -21
- data/app/controllers/spree/api/shipments_controller.rb +0 -26
- data/app/controllers/spree/api/variants_controller.rb +0 -20
- data/app/helpers/spree/api/api_helpers.rb +0 -5
- data/config/routes.rb +2 -5
- data/lib/spree/api_configuration.rb +1 -1
- data/openapi/solidus-api.oas.yml +0 -311
- data/solidus_api.gemspec +1 -1
- metadata +9 -10
- data/app/controllers/spree/api/resource_controller.rb +0 -102
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 889a03ceedfdc041802ee129c1be2a2aba750d8d6501757f09ecc5cf26da2662
|
4
|
+
data.tar.gz: 912510a11207bda356602e8bf5d98780b95aaf88b556bfad714c1393392f3ada
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66890843cd4957ff345aec5ff633b28c5f7224d9171ec027062943ac0cdf2df43db1be12d861c73c5b5a6399330b62b5b70706791f097a09c0046e6ea99c3761
|
7
|
+
data.tar.gz: 9fd9b5e9c7d8e774f31637e62177662c9fb1c597e1a085ce7192c2b0d52001486a83ce63050fbc9ecb24b71fe2f6a68d6bd440501b8d970f345388e8ef76b484
|
data/Rakefile
CHANGED
@@ -69,14 +69,6 @@ module Spree
|
|
69
69
|
return_items_params = customer_return_attributes.
|
70
70
|
delete(:return_items_attributes)
|
71
71
|
|
72
|
-
if return_items_params.is_a? ActionController::Parameters
|
73
|
-
return_items_params = return_items_params.values
|
74
|
-
Spree::Deprecation.warn(
|
75
|
-
"Passing `return_items_attributes` as a hash of hashes is \
|
76
|
-
deprecated and will be removed in future versions of Solidus."
|
77
|
-
)
|
78
|
-
end
|
79
|
-
|
80
72
|
@customer_return = CustomerReturn.new(customer_return_attributes)
|
81
73
|
|
82
74
|
@customer_return.return_items = return_items_params.map do |item_params|
|
@@ -13,20 +13,11 @@ module Spree
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def show
|
16
|
-
warn_if_nested_member_route
|
17
|
-
|
18
16
|
@option_value = scope.find(params[:id])
|
19
17
|
respond_with(@option_value)
|
20
18
|
end
|
21
19
|
|
22
20
|
def create
|
23
|
-
Spree::Deprecation.warn <<~MSG unless request.path.include?('/option_types/')
|
24
|
-
This route is deprecated, as it'll be no longer possible to create an
|
25
|
-
option_value without an associated option_type. Please, use instead:
|
26
|
-
|
27
|
-
POST api/option_types/{option_type_id}/option_values
|
28
|
-
MSG
|
29
|
-
|
30
21
|
authorize! :create, Spree::OptionValue
|
31
22
|
@option_value = scope.new(option_value_params)
|
32
23
|
if @option_value.save
|
@@ -37,8 +28,6 @@ module Spree
|
|
37
28
|
end
|
38
29
|
|
39
30
|
def update
|
40
|
-
warn_if_nested_member_route
|
41
|
-
|
42
31
|
@option_value = scope.accessible_by(current_ability, :update).find(params[:id])
|
43
32
|
if @option_value.update(option_value_params)
|
44
33
|
render :show
|
@@ -48,8 +37,6 @@ module Spree
|
|
48
37
|
end
|
49
38
|
|
50
39
|
def destroy
|
51
|
-
warn_if_nested_member_route
|
52
|
-
|
53
40
|
@option_value = scope.accessible_by(current_ability, :destroy).find(params[:id])
|
54
41
|
@option_value.destroy
|
55
42
|
render plain: nil, status: 204
|
@@ -68,14 +55,6 @@ module Spree
|
|
68
55
|
def option_value_params
|
69
56
|
params.require(:option_value).permit(permitted_option_value_attributes)
|
70
57
|
end
|
71
|
-
|
72
|
-
def warn_if_nested_member_route
|
73
|
-
Spree::Deprecation.warn <<~MSG if request.path.include?('/option_types/')
|
74
|
-
This route is deprecated. Use shallow version instead:
|
75
|
-
|
76
|
-
#{request.method.upcase} api/option_values/:id
|
77
|
-
MSG
|
78
|
-
end
|
79
58
|
end
|
80
59
|
end
|
81
60
|
end
|
@@ -40,30 +40,8 @@ module Spree
|
|
40
40
|
|
41
41
|
def create
|
42
42
|
authorize! :create, Shipment
|
43
|
-
|
44
43
|
@shipment = @order.shipments.create(stock_location_id: params.fetch(:stock_location_id))
|
45
44
|
|
46
|
-
if passing_deprecated_params_on_create?
|
47
|
-
Spree::Deprecation.warn <<~MSG
|
48
|
-
Passing `quantity` or `variant_id` to
|
49
|
-
|
50
|
-
POST /api/shipments
|
51
|
-
|
52
|
-
is deprecated and won't be allowed anymore starting from Solidus 4.0.
|
53
|
-
Instead, create an empty shipment and add items to it subsequently using
|
54
|
-
the dedicated endpoint:
|
55
|
-
|
56
|
-
PUT /api/shipments/{shipment_number}/add
|
57
|
-
|
58
|
-
MSG
|
59
|
-
|
60
|
-
quantity = params[:quantity].to_i
|
61
|
-
variant = Spree::Variant.unscoped.find(params[:variant_id])
|
62
|
-
@order.contents.add(variant, quantity, { shipment: @shipment })
|
63
|
-
@shipment.save!
|
64
|
-
@shipment.reload
|
65
|
-
end
|
66
|
-
|
67
45
|
respond_with(@shipment, default_template: :show)
|
68
46
|
end
|
69
47
|
|
@@ -149,10 +127,6 @@ module Spree
|
|
149
127
|
authorize! :create, Shipment
|
150
128
|
end
|
151
129
|
|
152
|
-
def passing_deprecated_params_on_create?
|
153
|
-
params[:variant_id] || params[:quantity]
|
154
|
-
end
|
155
|
-
|
156
130
|
def find_order_on_create
|
157
131
|
@order = Spree::Order.find_by!(number: params[:shipment][:order_id])
|
158
132
|
authorize! :show, @order
|
@@ -6,12 +6,6 @@ module Spree
|
|
6
6
|
before_action :product
|
7
7
|
|
8
8
|
def create
|
9
|
-
Spree::Deprecation.warn <<~MSG unless request.path.include?('/products/')
|
10
|
-
This route is deprecated. Use the route nested within the product resource:
|
11
|
-
|
12
|
-
POST api/products/{product_id}/variants
|
13
|
-
MSG
|
14
|
-
|
15
9
|
authorize! :create, Variant
|
16
10
|
@variant = scope.new(variant_params)
|
17
11
|
if @variant.save
|
@@ -22,8 +16,6 @@ module Spree
|
|
22
16
|
end
|
23
17
|
|
24
18
|
def destroy
|
25
|
-
warn_if_nested_member_route
|
26
|
-
|
27
19
|
@variant = scope.accessible_by(current_ability, :destroy).find(params[:id])
|
28
20
|
@variant.discard
|
29
21
|
respond_with(@variant, status: 204)
|
@@ -50,16 +42,12 @@ module Spree
|
|
50
42
|
end
|
51
43
|
|
52
44
|
def show
|
53
|
-
warn_if_nested_member_route
|
54
|
-
|
55
45
|
@variant = scope.includes(include_list)
|
56
46
|
.find(params[:id])
|
57
47
|
respond_with(@variant)
|
58
48
|
end
|
59
49
|
|
60
50
|
def update
|
61
|
-
warn_if_nested_member_route
|
62
|
-
|
63
51
|
@variant = scope.accessible_by(current_ability, :update).find(params[:id])
|
64
52
|
if @variant.update(variant_params)
|
65
53
|
respond_with(@variant, status: 200, default_template: :show)
|
@@ -70,14 +58,6 @@ module Spree
|
|
70
58
|
|
71
59
|
private
|
72
60
|
|
73
|
-
def warn_if_nested_member_route
|
74
|
-
Spree::Deprecation.warn <<~MSG if request.path.include?('/products/')
|
75
|
-
This route is deprecated. Use shallow version instead:
|
76
|
-
|
77
|
-
#{request.method.upcase} api/variants/:id
|
78
|
-
MSG
|
79
|
-
end
|
80
|
-
|
81
61
|
def product
|
82
62
|
@product ||= Spree::Product.accessible_by(current_ability, :show).friendly.find(params[:product_id]) if params[:product_id]
|
83
63
|
end
|
@@ -41,11 +41,6 @@ module Spree
|
|
41
41
|
define_method attribute do
|
42
42
|
Spree::Api::Config.send(attribute)
|
43
43
|
end
|
44
|
-
|
45
|
-
define_singleton_method attribute do
|
46
|
-
Spree::Deprecation.warn("Please use Spree::Api::Config::#{attribute} instead.")
|
47
|
-
Spree::Api::Config.send(attribute)
|
48
|
-
end
|
49
44
|
end
|
50
45
|
|
51
46
|
def required_fields_for(model)
|
data/config/routes.rb
CHANGED
@@ -54,12 +54,9 @@ Spree::Core::Engine.routes.draw do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
resources :option_types do
|
57
|
-
|
58
|
-
resources :option_values
|
57
|
+
resources :option_values, shallow: true
|
59
58
|
end
|
60
|
-
|
61
|
-
# within option_types
|
62
|
-
resources :option_values
|
59
|
+
resources :option_values, only: :index
|
63
60
|
|
64
61
|
get '/orders/mine', to: 'orders#mine', as: 'my_orders'
|
65
62
|
get "/orders/current", to: "orders#current", as: "current_order"
|
@@ -114,7 +114,7 @@ module Spree
|
|
114
114
|
|
115
115
|
preference :promotion_attributes, :array, default: [
|
116
116
|
:id, :name, :description, :expires_at, :starts_at, :type, :usage_limit,
|
117
|
-
:
|
117
|
+
:advertise, :path
|
118
118
|
]
|
119
119
|
|
120
120
|
preference :store_attributes, :array, default: [
|
data/openapi/solidus-api.oas.yml
CHANGED
@@ -667,121 +667,6 @@ paths:
|
|
667
667
|
properties:
|
668
668
|
image:
|
669
669
|
$ref: '#/components/schemas/image-input'
|
670
|
-
'/products/{product_id}/variants/{id}':
|
671
|
-
get:
|
672
|
-
responses:
|
673
|
-
'200':
|
674
|
-
description: ''
|
675
|
-
content:
|
676
|
-
application/json:
|
677
|
-
schema:
|
678
|
-
$ref: '#/components/schemas/variant'
|
679
|
-
'401':
|
680
|
-
$ref: '#/components/responses/invalid-api-key'
|
681
|
-
'404':
|
682
|
-
$ref: '#/components/responses/not-found'
|
683
|
-
summary: Get product variant
|
684
|
-
description: |-
|
685
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/87df124706c5f-get-variant) instead
|
686
|
-
|
687
|
-
Retrieves a product's variant.
|
688
|
-
operationId: get-product-variant
|
689
|
-
tags:
|
690
|
-
- Variants
|
691
|
-
security:
|
692
|
-
- api-key: []
|
693
|
-
parameters:
|
694
|
-
- name: product_id
|
695
|
-
in: path
|
696
|
-
required: true
|
697
|
-
schema:
|
698
|
-
type: string
|
699
|
-
- name: id
|
700
|
-
in: path
|
701
|
-
required: true
|
702
|
-
schema:
|
703
|
-
type: string
|
704
|
-
delete:
|
705
|
-
responses:
|
706
|
-
'204':
|
707
|
-
description: ''
|
708
|
-
content:
|
709
|
-
application/json:
|
710
|
-
schema:
|
711
|
-
$ref: '#/components/schemas/variant'
|
712
|
-
'401':
|
713
|
-
$ref: '#/components/responses/invalid-api-key'
|
714
|
-
'404':
|
715
|
-
$ref: '#/components/responses/not-found'
|
716
|
-
'422':
|
717
|
-
$ref: '#/components/responses/delete-restriction'
|
718
|
-
summary: Delete product variant
|
719
|
-
description: |-
|
720
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/82ccaada99139-delete-variant) instead
|
721
|
-
|
722
|
-
Deletes a product's variant.
|
723
|
-
operationId: delete-product-variant
|
724
|
-
tags:
|
725
|
-
- Variants
|
726
|
-
security:
|
727
|
-
- api-key: []
|
728
|
-
put:
|
729
|
-
responses:
|
730
|
-
'200':
|
731
|
-
description: ''
|
732
|
-
content:
|
733
|
-
application/json:
|
734
|
-
schema:
|
735
|
-
$ref: '#/components/schemas/variant'
|
736
|
-
'401':
|
737
|
-
$ref: '#/components/responses/invalid-api-key'
|
738
|
-
'404':
|
739
|
-
$ref: '#/components/responses/not-found'
|
740
|
-
'422':
|
741
|
-
$ref: '#/components/responses/unprocessable-entity'
|
742
|
-
summary: Update product variant
|
743
|
-
description: |-
|
744
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/ce338b5f3b940-update-variant) instead
|
745
|
-
|
746
|
-
Updates a product's variant.
|
747
|
-
operationId: update-product-variant
|
748
|
-
tags:
|
749
|
-
- Variants
|
750
|
-
security:
|
751
|
-
- api-key: []
|
752
|
-
requestBody:
|
753
|
-
content:
|
754
|
-
application/json:
|
755
|
-
schema:
|
756
|
-
type: object
|
757
|
-
properties:
|
758
|
-
variant:
|
759
|
-
$ref: '#/components/schemas/variant-input'
|
760
|
-
examples:
|
761
|
-
Example with Option Value Ids:
|
762
|
-
value:
|
763
|
-
variant:
|
764
|
-
price: '11.22'
|
765
|
-
cost_price: '9'
|
766
|
-
position: 1
|
767
|
-
track_inventory: true
|
768
|
-
sku: AWSOME-1122
|
769
|
-
cost_currency: USD
|
770
|
-
option_value_ids:
|
771
|
-
- 1
|
772
|
-
- 2
|
773
|
-
Example with Option Value Text:
|
774
|
-
value:
|
775
|
-
variant:
|
776
|
-
price: '11.22'
|
777
|
-
cost_price: '9'
|
778
|
-
position: 1
|
779
|
-
track_inventory: true
|
780
|
-
sku: AWSOME-1122
|
781
|
-
cost_currency: USD
|
782
|
-
options:
|
783
|
-
name: Color
|
784
|
-
value: White
|
785
670
|
/states:
|
786
671
|
get:
|
787
672
|
responses:
|
@@ -852,65 +737,6 @@ paths:
|
|
852
737
|
- $ref: '#/components/parameters/q'
|
853
738
|
security:
|
854
739
|
- api-key: []
|
855
|
-
post:
|
856
|
-
responses:
|
857
|
-
'200':
|
858
|
-
description: ''
|
859
|
-
content:
|
860
|
-
application/json:
|
861
|
-
schema:
|
862
|
-
$ref: '#/components/schemas/variant'
|
863
|
-
'401':
|
864
|
-
$ref: '#/components/responses/invalid-api-key'
|
865
|
-
'422':
|
866
|
-
$ref: '#/components/responses/unprocessable-entity'
|
867
|
-
summary: Create variant
|
868
|
-
description: |-
|
869
|
-
**Deprecation Warning**: Use [nested version](/docs/solidus/681aa6cb75b1e-create-product-variant) instead
|
870
|
-
|
871
|
-
Creates a variant. Only users with `can :create, Variant` permissions can perform this action.
|
872
|
-
operationId: create-variant
|
873
|
-
tags:
|
874
|
-
- Variants
|
875
|
-
security:
|
876
|
-
- api-key: []
|
877
|
-
requestBody:
|
878
|
-
content:
|
879
|
-
application/json:
|
880
|
-
schema:
|
881
|
-
type: object
|
882
|
-
properties:
|
883
|
-
product_id:
|
884
|
-
type: integer
|
885
|
-
variant:
|
886
|
-
$ref: '#/components/schemas/variant-input'
|
887
|
-
examples:
|
888
|
-
Example with Option Value Ids:
|
889
|
-
value:
|
890
|
-
product_id: 1
|
891
|
-
variant:
|
892
|
-
price: '11.22'
|
893
|
-
cost_price: '9'
|
894
|
-
position: 1
|
895
|
-
track_inventory: true
|
896
|
-
sku: AWSOME-1122
|
897
|
-
cost_currency: USD
|
898
|
-
option_value_ids:
|
899
|
-
- 1
|
900
|
-
- 2
|
901
|
-
Example with Option Value Text:
|
902
|
-
value:
|
903
|
-
product_id: 1
|
904
|
-
variant:
|
905
|
-
price: '11.22'
|
906
|
-
cost_price: '9'
|
907
|
-
position: 1
|
908
|
-
track_inventory: true
|
909
|
-
sku: AWSOME-1122
|
910
|
-
cost_currency: USD
|
911
|
-
options:
|
912
|
-
name: Color
|
913
|
-
value: White
|
914
740
|
'/variants/{id}':
|
915
741
|
get:
|
916
742
|
responses:
|
@@ -2541,38 +2367,6 @@ paths:
|
|
2541
2367
|
- Option values
|
2542
2368
|
security:
|
2543
2369
|
- api-key: []
|
2544
|
-
post:
|
2545
|
-
responses:
|
2546
|
-
'200':
|
2547
|
-
description: ''
|
2548
|
-
content:
|
2549
|
-
application/json:
|
2550
|
-
schema:
|
2551
|
-
$ref: '#/components/schemas/option-value'
|
2552
|
-
'401':
|
2553
|
-
$ref: '#/components/responses/invalid-api-key'
|
2554
|
-
'422':
|
2555
|
-
$ref: '#/components/responses/unprocessable-entity'
|
2556
|
-
summary: Create option value
|
2557
|
-
description: |-
|
2558
|
-
**Deprecation Warning**: Use [nested version](/docs/solidus/810154673c613-create-option-type-value) instead
|
2559
|
-
|
2560
|
-
Creates an option value.
|
2561
|
-
|
2562
|
-
Only users with the `create` permission on `Spree::OptionValue` can perform this action.
|
2563
|
-
operationId: create-option-value
|
2564
|
-
tags:
|
2565
|
-
- Option values
|
2566
|
-
security:
|
2567
|
-
- api-key: []
|
2568
|
-
requestBody:
|
2569
|
-
content:
|
2570
|
-
application/json:
|
2571
|
-
schema:
|
2572
|
-
type: object
|
2573
|
-
properties:
|
2574
|
-
option_value:
|
2575
|
-
$ref: '#/components/schemas/option-value-input'
|
2576
2370
|
'/option_values/{id}':
|
2577
2371
|
get:
|
2578
2372
|
responses:
|
@@ -2715,99 +2509,6 @@ paths:
|
|
2715
2509
|
properties:
|
2716
2510
|
option_value:
|
2717
2511
|
$ref: '#/components/schemas/option-value-input'
|
2718
|
-
'/option_types/{option_type_id}/option_values/{id}':
|
2719
|
-
get:
|
2720
|
-
responses:
|
2721
|
-
'200':
|
2722
|
-
description: ''
|
2723
|
-
content:
|
2724
|
-
application/json:
|
2725
|
-
schema: {}
|
2726
|
-
'401':
|
2727
|
-
$ref: '#/components/responses/invalid-api-key'
|
2728
|
-
'404':
|
2729
|
-
$ref: '#/components/responses/not-found'
|
2730
|
-
summary: Get option type value
|
2731
|
-
description: |-
|
2732
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/cbbc403ed08a3-get-option-value) instead
|
2733
|
-
|
2734
|
-
Retrieves an option type's value.
|
2735
|
-
operationId: get-option-type-value
|
2736
|
-
tags:
|
2737
|
-
- Option values
|
2738
|
-
security:
|
2739
|
-
- api-key: []
|
2740
|
-
parameters:
|
2741
|
-
- name: option_type_id
|
2742
|
-
in: path
|
2743
|
-
required: true
|
2744
|
-
schema:
|
2745
|
-
type: string
|
2746
|
-
description: 'The ID of the Spree::OptionType'
|
2747
|
-
- name: id
|
2748
|
-
in: path
|
2749
|
-
required: true
|
2750
|
-
schema:
|
2751
|
-
type: string
|
2752
|
-
description: The ID of the OptionValue
|
2753
|
-
delete:
|
2754
|
-
responses:
|
2755
|
-
'204':
|
2756
|
-
description: ''
|
2757
|
-
content:
|
2758
|
-
application/json:
|
2759
|
-
schema:
|
2760
|
-
$ref: '#/components/schemas/option-value'
|
2761
|
-
'401':
|
2762
|
-
$ref: '#/components/responses/invalid-api-key'
|
2763
|
-
'404':
|
2764
|
-
$ref: '#/components/responses/not-found'
|
2765
|
-
'422':
|
2766
|
-
$ref: '#/components/responses/delete-restriction'
|
2767
|
-
summary: Delete option type value
|
2768
|
-
description: |-
|
2769
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/0742e63219b1f-delete-option-value) instead
|
2770
|
-
|
2771
|
-
Deletes an option type's value.
|
2772
|
-
operationId: delete-option-type-value
|
2773
|
-
tags:
|
2774
|
-
- Option values
|
2775
|
-
security:
|
2776
|
-
- api-key: []
|
2777
|
-
patch:
|
2778
|
-
responses:
|
2779
|
-
'200':
|
2780
|
-
description: ''
|
2781
|
-
content:
|
2782
|
-
application/json:
|
2783
|
-
schema:
|
2784
|
-
$ref: '#/components/schemas/option-value'
|
2785
|
-
'401':
|
2786
|
-
$ref: '#/components/responses/invalid-api-key'
|
2787
|
-
'404':
|
2788
|
-
$ref: '#/components/responses/not-found'
|
2789
|
-
'422':
|
2790
|
-
$ref: '#/components/responses/unprocessable-entity'
|
2791
|
-
summary: Update option type value
|
2792
|
-
description: |-
|
2793
|
-
**Deprecation Warning**: Use [shallow version](/docs/solidus/b43f889175ebb-update-option-value) instead
|
2794
|
-
|
2795
|
-
Updates an option type's value.
|
2796
|
-
|
2797
|
-
Only users with the `update` permission on the option value can perform this action.
|
2798
|
-
operationId: update-option-type-value
|
2799
|
-
tags:
|
2800
|
-
- Option values
|
2801
|
-
security:
|
2802
|
-
- api-key: []
|
2803
|
-
requestBody:
|
2804
|
-
content:
|
2805
|
-
application/json:
|
2806
|
-
schema:
|
2807
|
-
type: object
|
2808
|
-
properties:
|
2809
|
-
option_value:
|
2810
|
-
$ref: '#/components/schemas/option-value-input'
|
2811
2512
|
'/products/{product_id}/product_properties':
|
2812
2513
|
get:
|
2813
2514
|
responses:
|
@@ -5589,10 +5290,6 @@ paths:
|
|
5589
5290
|
Creates a shipment.
|
5590
5291
|
|
5591
5292
|
Please note that this request can be only performed by users with the `create` permission on the shipment.
|
5592
|
-
|
5593
|
-
**Deprecation Warning**: Adding items to the shipment via this endpoint
|
5594
|
-
is deprecated. Instead, create an empty shipment and populate it with
|
5595
|
-
the dedicated endpoint [to add items to the shipment](/docs/solidus/7078dbcf415ac-add-shipment-item).
|
5596
5293
|
operationId: create-shipment
|
5597
5294
|
tags:
|
5598
5295
|
- Shipments
|
@@ -5606,18 +5303,10 @@ paths:
|
|
5606
5303
|
properties:
|
5607
5304
|
stock_location_id:
|
5608
5305
|
type: integer
|
5609
|
-
variant_id:
|
5610
|
-
type: integer
|
5611
|
-
deprecated: true
|
5612
|
-
quantity:
|
5613
|
-
type: integer
|
5614
|
-
deprecated: true
|
5615
5306
|
examples:
|
5616
5307
|
Example:
|
5617
5308
|
value:
|
5618
5309
|
stock_location_id: 0
|
5619
|
-
variant_id: 0
|
5620
|
-
quantity: 0
|
5621
5310
|
/shipments/transfer_to_location:
|
5622
5311
|
post:
|
5623
5312
|
responses:
|
data/solidus_api.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jbuilder
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 4.0.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 4.0.0
|
69
69
|
description: REST API for the Solidus e-commerce framework.
|
70
70
|
email: contact@solidus.io
|
71
71
|
executables: []
|
@@ -97,7 +97,6 @@ files:
|
|
97
97
|
- app/controllers/spree/api/products_controller.rb
|
98
98
|
- app/controllers/spree/api/promotions_controller.rb
|
99
99
|
- app/controllers/spree/api/properties_controller.rb
|
100
|
-
- app/controllers/spree/api/resource_controller.rb
|
101
100
|
- app/controllers/spree/api/return_authorizations_controller.rb
|
102
101
|
- app/controllers/spree/api/shipments_controller.rb
|
103
102
|
- app/controllers/spree/api/states_controller.rb
|
@@ -258,7 +257,7 @@ licenses:
|
|
258
257
|
- BSD-3-Clause
|
259
258
|
metadata:
|
260
259
|
rubygems_mfa_required: 'true'
|
261
|
-
post_install_message:
|
260
|
+
post_install_message:
|
262
261
|
rdoc_options: []
|
263
262
|
require_paths:
|
264
263
|
- lib
|
@@ -266,15 +265,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
266
265
|
requirements:
|
267
266
|
- - ">="
|
268
267
|
- !ruby/object:Gem::Version
|
269
|
-
version:
|
268
|
+
version: 3.0.0
|
270
269
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
270
|
requirements:
|
272
271
|
- - ">="
|
273
272
|
- !ruby/object:Gem::Version
|
274
273
|
version: 1.8.23
|
275
274
|
requirements: []
|
276
|
-
rubygems_version: 3.4.
|
277
|
-
signing_key:
|
275
|
+
rubygems_version: 3.4.9
|
276
|
+
signing_key:
|
278
277
|
specification_version: 4
|
279
278
|
summary: REST API for the Solidus e-commerce framework.
|
280
279
|
test_files: []
|
@@ -1,102 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# @deprecated Inherit directly from Spree::Api::BaseController
|
4
|
-
class Spree::Api::ResourceController < Spree::Api::BaseController
|
5
|
-
before_action :load_resource, only: [:show, :update, :destroy]
|
6
|
-
|
7
|
-
def self.inherited(klass)
|
8
|
-
Spree::Deprecation.warn <<~MSG
|
9
|
-
Spree::Api::ResourceController is deprecated. Please, copy any logic you
|
10
|
-
need and inherit directly from Spree::Api::BaseController.
|
11
|
-
MSG
|
12
|
-
super
|
13
|
-
end
|
14
|
-
|
15
|
-
def index
|
16
|
-
collection_scope = model_class.accessible_by(current_ability)
|
17
|
-
if params[:ids]
|
18
|
-
ids = params[:ids].split(",").flatten
|
19
|
-
collection_scope = collection_scope.where(id: ids)
|
20
|
-
else
|
21
|
-
collection_scope = collection_scope.ransack(params[:q]).result
|
22
|
-
end
|
23
|
-
|
24
|
-
@collection = paginate(collection_scope)
|
25
|
-
instance_variable_set("@#{controller_name}", @collection)
|
26
|
-
|
27
|
-
respond_with(@collection)
|
28
|
-
end
|
29
|
-
|
30
|
-
def show
|
31
|
-
respond_with(@object)
|
32
|
-
end
|
33
|
-
|
34
|
-
def new
|
35
|
-
authorize! :new, model_class
|
36
|
-
respond_with(model_class.new)
|
37
|
-
end
|
38
|
-
|
39
|
-
def create
|
40
|
-
authorize! :create, model_class
|
41
|
-
|
42
|
-
@object = model_class.new(permitted_resource_params)
|
43
|
-
instance_variable_set("@#{object_name}", @object)
|
44
|
-
|
45
|
-
if @object.save
|
46
|
-
respond_with(@object, status: 201, default_template: :show)
|
47
|
-
else
|
48
|
-
invalid_resource!(@object)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def update
|
53
|
-
authorize! :update, @object
|
54
|
-
|
55
|
-
if @object.update(permitted_resource_params)
|
56
|
-
respond_with(@object, status: 200, default_template: :show)
|
57
|
-
else
|
58
|
-
invalid_resource!(@object)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def destroy
|
63
|
-
authorize! :destroy, @object
|
64
|
-
|
65
|
-
destroy_result = if @object.respond_to?(:discard)
|
66
|
-
@object.discard
|
67
|
-
else
|
68
|
-
@object.destroy
|
69
|
-
end
|
70
|
-
|
71
|
-
if destroy_result
|
72
|
-
respond_with(@object, status: 204)
|
73
|
-
else
|
74
|
-
invalid_resource!(@object)
|
75
|
-
end
|
76
|
-
rescue ActiveRecord::DeleteRestrictionError
|
77
|
-
render "spree/api/errors/delete_restriction", status: 422
|
78
|
-
end
|
79
|
-
|
80
|
-
protected
|
81
|
-
|
82
|
-
def load_resource
|
83
|
-
@object = model_class.accessible_by(current_ability, :show).find(params[:id])
|
84
|
-
instance_variable_set("@#{object_name}", @object)
|
85
|
-
end
|
86
|
-
|
87
|
-
def permitted_resource_params
|
88
|
-
params.require(object_name).permit(permitted_resource_attributes)
|
89
|
-
end
|
90
|
-
|
91
|
-
def permitted_resource_attributes
|
92
|
-
send("permitted_#{object_name}_attributes")
|
93
|
-
end
|
94
|
-
|
95
|
-
def model_class
|
96
|
-
"Spree::#{controller_name.classify}".constantize
|
97
|
-
end
|
98
|
-
|
99
|
-
def object_name
|
100
|
-
controller_name.singularize
|
101
|
-
end
|
102
|
-
end
|