solidus_api 3.4.6 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|