spree_api 4.2.0.rc4 → 4.2.3
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/app/controllers/concerns/spree/api/v2/storefront/order_concern.rb +7 -7
- data/app/controllers/spree/api/base_controller.rb +2 -0
- data/app/controllers/spree/api/v1/taxons_controller.rb +1 -1
- data/app/controllers/spree/api/v2/base_controller.rb +45 -6
- data/app/controllers/spree/api/v2/resource_controller.rb +0 -23
- data/app/controllers/spree/api/v2/storefront/account/addresses_controller.rb +18 -0
- data/app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb +4 -0
- data/app/controllers/spree/api/v2/storefront/cart_controller.rb +1 -1
- data/app/helpers/spree/api/api_helpers.rb +1 -1
- data/app/helpers/spree/api/v2/display_money_helper.rb +43 -0
- data/app/models/spree/api_configuration.rb +1 -0
- data/app/models/spree/api_dependencies.rb +3 -1
- data/app/serializers/spree/v2/storefront/product_serializer.rb +23 -3
- data/app/serializers/spree/v2/storefront/store_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/variant_serializer.rb +23 -2
- data/app/services/spree/api/error_handler.rb +40 -0
- data/config/initializers/doorkeeper.rb +10 -1
- data/config/routes.rb +1 -1
- data/docs/v2/storefront/index.yaml +24 -7
- metadata +11 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 025ab26b6b25f6644f6acb3662cb7fcea7b215142234f49e06d425d20d0a14a5
|
4
|
+
data.tar.gz: b210a889a6e50e7de730a3c5241eeb8442b933394c1c4a7f637536d5771064c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 360cce541d207d3e27f436b4ebd54cde72f7f0f0e9af96e1bb529763d596496958a596abcf9fced6dd7453278a3e76f3981199deb293a67b16ae649265d65371
|
7
|
+
data.tar.gz: 8e0a5c058d275b8409541d3d4e8141b35806ffe8215828e0c511348d71b850fe4d8232562c6b4496579152e1ed3c4dfa82061efb622a04d4cd7b909fb45fb62c
|
@@ -34,16 +34,16 @@ module Spree
|
|
34
34
|
)
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
38
|
-
|
37
|
+
def serialized_current_order
|
38
|
+
serialize_resource(spree_current_order)
|
39
39
|
end
|
40
40
|
|
41
41
|
def serialize_order(order)
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
43
|
+
`OrderConcern#serialize_order` is deprecated and will be removed in Spree 5.0.
|
44
|
+
Please use `serializer_resource` method
|
45
|
+
DEPRECATION
|
46
|
+
serialize_resource(order)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -6,6 +6,8 @@ module Spree
|
|
6
6
|
include Spree::Api::ControllerSetup
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
include Spree::Core::ControllerHelpers::StrongParameters
|
9
|
+
include Spree::Core::ControllerHelpers::Locale
|
10
|
+
include Spree::Core::ControllerHelpers::Currency
|
9
11
|
|
10
12
|
attr_accessor :current_api_user
|
11
13
|
|
@@ -37,7 +37,7 @@ module Spree
|
|
37
37
|
invalid_resource!(@taxon) and return
|
38
38
|
end
|
39
39
|
|
40
|
-
@taxon.parent_id = taxonomy.
|
40
|
+
@taxon.parent_id = taxonomy.root_id unless params[:taxon][:parent_id]
|
41
41
|
|
42
42
|
if @taxon.save
|
43
43
|
respond_with(@taxon, status: 201, default_template: :show)
|
@@ -5,20 +5,49 @@ module Spree
|
|
5
5
|
include CanCan::ControllerAdditions
|
6
6
|
include Spree::Core::ControllerHelpers::StrongParameters
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
|
+
include Spree::Core::ControllerHelpers::Locale
|
9
|
+
include Spree::Core::ControllerHelpers::Currency
|
8
10
|
rescue_from ActiveRecord::RecordNotFound, with: :record_not_found
|
9
11
|
rescue_from CanCan::AccessDenied, with: :access_denied
|
10
12
|
rescue_from Spree::Core::GatewayError, with: :gateway_error
|
11
|
-
|
12
|
-
|
13
|
+
rescue_from ActionController::ParameterMissing, with: :error_during_processing
|
14
|
+
if defined?(JSONAPI::Serializer::UnsupportedIncludeError)
|
15
|
+
rescue_from JSONAPI::Serializer::UnsupportedIncludeError, with: :error_during_processing
|
16
|
+
end
|
17
|
+
rescue_from ArgumentError, with: :error_during_processing
|
13
18
|
|
14
19
|
def content_type
|
15
20
|
Spree::Api::Config[:api_v2_content_type]
|
16
21
|
end
|
17
22
|
|
23
|
+
protected
|
24
|
+
|
25
|
+
def serialize_collection(collection)
|
26
|
+
collection_serializer.new(
|
27
|
+
collection,
|
28
|
+
collection_options(collection).merge(params: serializer_params)
|
29
|
+
).serializable_hash
|
30
|
+
end
|
31
|
+
|
32
|
+
def serialize_resource(resource)
|
33
|
+
resource_serializer.new(
|
34
|
+
resource,
|
35
|
+
params: serializer_params,
|
36
|
+
include: resource_includes,
|
37
|
+
fields: sparse_fields
|
38
|
+
).serializable_hash
|
39
|
+
end
|
40
|
+
|
41
|
+
def paginated_collection
|
42
|
+
collection_paginator.new(sorted_collection, params).call
|
43
|
+
end
|
44
|
+
|
45
|
+
def collection_paginator
|
46
|
+
Spree::Api::Dependencies.storefront_collection_paginator.constantize
|
47
|
+
end
|
48
|
+
|
18
49
|
def render_serialized_payload(status = 200)
|
19
50
|
render json: yield, status: status, content_type: content_type
|
20
|
-
rescue ArgumentError => exception
|
21
|
-
render_error_payload(exception.message, 400)
|
22
51
|
end
|
23
52
|
|
24
53
|
def render_error_payload(error, status = 422)
|
@@ -84,6 +113,10 @@ module Spree
|
|
84
113
|
fields.presence
|
85
114
|
end
|
86
115
|
|
116
|
+
def serializer_params
|
117
|
+
{ currency: current_currency, store: current_store, user: spree_current_user }
|
118
|
+
end
|
119
|
+
|
87
120
|
def record_not_found
|
88
121
|
render_error_payload(I18n.t(:resource_not_found, scope: 'spree.api'), 404)
|
89
122
|
end
|
@@ -96,8 +129,14 @@ module Spree
|
|
96
129
|
render_error_payload(exception.message)
|
97
130
|
end
|
98
131
|
|
99
|
-
def
|
100
|
-
|
132
|
+
def error_during_processing(exception)
|
133
|
+
result = error_handler.call(exception: exception, opts: { user: spree_current_user })
|
134
|
+
|
135
|
+
render_error_payload(result.value[:message], 400)
|
136
|
+
end
|
137
|
+
|
138
|
+
def error_handler
|
139
|
+
Spree::Api::Dependencies.error_handler.constantize
|
101
140
|
end
|
102
141
|
end
|
103
142
|
end
|
@@ -14,29 +14,6 @@ module Spree
|
|
14
14
|
|
15
15
|
protected
|
16
16
|
|
17
|
-
def serialize_collection(collection)
|
18
|
-
collection_serializer.new(
|
19
|
-
collection,
|
20
|
-
collection_options(collection)
|
21
|
-
).serializable_hash
|
22
|
-
end
|
23
|
-
|
24
|
-
def serialize_resource(resource)
|
25
|
-
resource_serializer.new(
|
26
|
-
resource,
|
27
|
-
include: resource_includes,
|
28
|
-
fields: sparse_fields
|
29
|
-
).serializable_hash
|
30
|
-
end
|
31
|
-
|
32
|
-
def paginated_collection
|
33
|
-
collection_paginator.new(sorted_collection, params).call
|
34
|
-
end
|
35
|
-
|
36
|
-
def collection_paginator
|
37
|
-
Spree::Api::Dependencies.storefront_collection_paginator.constantize
|
38
|
-
end
|
39
|
-
|
40
17
|
def sorted_collection
|
41
18
|
collection_sorter.new(collection, params, allowed_sort_attributes).call
|
42
19
|
end
|
@@ -7,21 +7,39 @@ module Spree
|
|
7
7
|
before_action :require_spree_current_user
|
8
8
|
|
9
9
|
def create
|
10
|
+
spree_authorize! :create, model_class
|
11
|
+
|
10
12
|
result = create_service.call(user: spree_current_user, address_params: address_params)
|
11
13
|
render_result(result)
|
12
14
|
end
|
13
15
|
|
14
16
|
def update
|
17
|
+
spree_authorize! :update, resource
|
18
|
+
|
15
19
|
result = update_service.call(address: resource, address_params: address_params)
|
16
20
|
render_result(result)
|
17
21
|
end
|
18
22
|
|
23
|
+
def destroy
|
24
|
+
spree_authorize! :destroy, resource
|
25
|
+
|
26
|
+
if resource.destroy
|
27
|
+
head 204
|
28
|
+
else
|
29
|
+
render_error_payload(resource.errors)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
19
33
|
private
|
20
34
|
|
21
35
|
def collection
|
22
36
|
collection_finder.new(scope: scope, params: params).execute
|
23
37
|
end
|
24
38
|
|
39
|
+
def scope
|
40
|
+
super.not_deleted
|
41
|
+
end
|
42
|
+
|
25
43
|
def model_class
|
26
44
|
Spree::Address
|
27
45
|
end
|
@@ -19,7 +19,7 @@ module Spree
|
|
19
19
|
order = spree_current_order if spree_current_order.present?
|
20
20
|
order ||= create_service.call(order_params).value
|
21
21
|
|
22
|
-
render_serialized_payload(201) {
|
22
|
+
render_serialized_payload(201) { serialize_resource(order) }
|
23
23
|
end
|
24
24
|
|
25
25
|
def add_item
|
@@ -163,7 +163,7 @@ module Spree
|
|
163
163
|
:id, :name, :url, :meta_description, :meta_keywords, :seo_title,
|
164
164
|
:mail_from_address, :customer_support_email, :default_currency,
|
165
165
|
:code, :default, :facebook, :twitter, :instagram,
|
166
|
-
:supported_currencies
|
166
|
+
:supported_currencies, :default_locale, :supported_locales
|
167
167
|
]
|
168
168
|
|
169
169
|
@@tag_attributes = [:id, :name]
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Spree
|
2
|
+
module Api
|
3
|
+
module V2
|
4
|
+
module DisplayMoneyHelper
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
class_methods do
|
8
|
+
def find_price(product_or_variant, currency)
|
9
|
+
product_or_variant.price_in(currency)
|
10
|
+
end
|
11
|
+
|
12
|
+
def price(product_or_variant, currency)
|
13
|
+
price = find_price(product_or_variant, currency)
|
14
|
+
return nil if price.new_record?
|
15
|
+
|
16
|
+
format('%.2f', price.amount)
|
17
|
+
end
|
18
|
+
|
19
|
+
def display_price(product_or_variant, currency)
|
20
|
+
price = find_price(product_or_variant, currency)
|
21
|
+
return nil if price.new_record?
|
22
|
+
|
23
|
+
Spree::Money.new(price.amount, currency: currency).to_s
|
24
|
+
end
|
25
|
+
|
26
|
+
def compare_at_price(product_or_variant, currency)
|
27
|
+
price = find_price(product_or_variant, currency)
|
28
|
+
return nil if price.new_record? || price.compare_at_amount.blank?
|
29
|
+
|
30
|
+
format('%.2f', price.compare_at_amount)
|
31
|
+
end
|
32
|
+
|
33
|
+
def display_compare_at_price(product_or_variant, currency)
|
34
|
+
price = find_price(product_or_variant, currency)
|
35
|
+
return nil if price.new_record? || price.compare_at_amount.blank?
|
36
|
+
|
37
|
+
Spree::Money.new(price.compare_at_amount, currency: currency).to_s
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -2,5 +2,6 @@ module Spree
|
|
2
2
|
class ApiConfiguration < Preferences::Configuration
|
3
3
|
preference :requires_authentication, :boolean, default: true
|
4
4
|
preference :api_v2_content_type, :string, default: 'application/vnd.api+json'
|
5
|
+
preference :api_v2_per_page_limit, :integer, default: 100
|
5
6
|
end
|
6
7
|
end
|
@@ -16,7 +16,7 @@ module Spree
|
|
16
16
|
:storefront_cart_update_service, :storefront_cart_estimate_shipping_rates_service, :storefront_estimated_shipment_serializer,
|
17
17
|
:storefront_store_serializer, :storefront_address_serializer, :storefront_order_serializer,
|
18
18
|
:storefront_account_create_address_service, :storefront_account_update_address_service, :storefront_address_finder,
|
19
|
-
:storefront_collection_sorter
|
19
|
+
:storefront_collection_sorter, :error_handler
|
20
20
|
].freeze
|
21
21
|
|
22
22
|
attr_accessor *INJECTION_POINTS
|
@@ -86,6 +86,8 @@ module Spree
|
|
86
86
|
@storefront_find_by_variant_finder = Spree::Dependencies.line_item_by_variant_finder
|
87
87
|
@storefront_products_finder = Spree::Dependencies.products_finder
|
88
88
|
@storefront_taxon_finder = Spree::Dependencies.taxon_finder
|
89
|
+
|
90
|
+
@error_handler = 'Spree::Api::ErrorHandler'
|
89
91
|
end
|
90
92
|
end
|
91
93
|
end
|
@@ -2,11 +2,11 @@ module Spree
|
|
2
2
|
module V2
|
3
3
|
module Storefront
|
4
4
|
class ProductSerializer < BaseSerializer
|
5
|
+
include ::Spree::Api::V2::DisplayMoneyHelper
|
6
|
+
|
5
7
|
set_type :product
|
6
8
|
|
7
|
-
attributes :name, :description, :
|
8
|
-
:compare_at_price, :display_compare_at_price, :available_on,
|
9
|
-
:slug, :meta_description, :meta_keywords, :updated_at
|
9
|
+
attributes :name, :description, :available_on, :slug, :meta_description, :meta_keywords, :updated_at
|
10
10
|
|
11
11
|
attribute :purchasable do |product|
|
12
12
|
product.purchasable?
|
@@ -24,6 +24,26 @@ module Spree
|
|
24
24
|
product.available?
|
25
25
|
end
|
26
26
|
|
27
|
+
attribute :currency do |_product, params|
|
28
|
+
params[:currency]
|
29
|
+
end
|
30
|
+
|
31
|
+
attribute :price do |product, params|
|
32
|
+
price(product, params[:currency])
|
33
|
+
end
|
34
|
+
|
35
|
+
attribute :display_price do |product, params|
|
36
|
+
display_price(product, params[:currency])
|
37
|
+
end
|
38
|
+
|
39
|
+
attribute :compare_at_price do |product, params|
|
40
|
+
compare_at_price(product, params[:currency])
|
41
|
+
end
|
42
|
+
|
43
|
+
attribute :display_compare_at_price do |product, params|
|
44
|
+
display_compare_at_price(product, params[:currency])
|
45
|
+
end
|
46
|
+
|
27
47
|
has_many :variants
|
28
48
|
has_many :option_types
|
29
49
|
has_many :product_properties
|
@@ -6,7 +6,7 @@ module Spree
|
|
6
6
|
|
7
7
|
attributes :name, :url, :meta_description, :meta_keywords, :seo_title, :default_currency, :default, :supported_currencies, :facebook,
|
8
8
|
:twitter, :instagram, :default_locale, :customer_support_email, :default_country_id, :description,
|
9
|
-
:address, :contact_phone
|
9
|
+
:address, :contact_phone, :supported_locales
|
10
10
|
|
11
11
|
has_one :default_country, serializer: :country, record_type: :country, id_method_name: :default_country_id
|
12
12
|
end
|
@@ -2,10 +2,11 @@ module Spree
|
|
2
2
|
module V2
|
3
3
|
module Storefront
|
4
4
|
class VariantSerializer < BaseSerializer
|
5
|
+
include ::Spree::Api::V2::DisplayMoneyHelper
|
6
|
+
|
5
7
|
set_type :variant
|
6
8
|
|
7
|
-
attributes :sku, :
|
8
|
-
:width, :depth, :is_master, :options_text
|
9
|
+
attributes :sku, :weight, :height, :width, :depth, :is_master, :options_text
|
9
10
|
|
10
11
|
attribute :purchasable do |variant|
|
11
12
|
variant.purchasable?
|
@@ -19,6 +20,26 @@ module Spree
|
|
19
20
|
variant.backorderable?
|
20
21
|
end
|
21
22
|
|
23
|
+
attribute :currency do |_product, params|
|
24
|
+
params[:currency]
|
25
|
+
end
|
26
|
+
|
27
|
+
attribute :price do |product, params|
|
28
|
+
price(product, params[:currency])
|
29
|
+
end
|
30
|
+
|
31
|
+
attribute :display_price do |product, params|
|
32
|
+
display_price(product, params[:currency])
|
33
|
+
end
|
34
|
+
|
35
|
+
attribute :compare_at_price do |product, params|
|
36
|
+
compare_at_price(product, params[:currency])
|
37
|
+
end
|
38
|
+
|
39
|
+
attribute :display_compare_at_price do |product, params|
|
40
|
+
display_compare_at_price(product, params[:currency])
|
41
|
+
end
|
42
|
+
|
22
43
|
belongs_to :product
|
23
44
|
has_many :images
|
24
45
|
has_many :option_values
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Spree
|
2
|
+
module Api
|
3
|
+
class ErrorHandler
|
4
|
+
prepend ::Spree::ServiceModule::Base
|
5
|
+
|
6
|
+
def call(exception:, opts: {})
|
7
|
+
run :format_message
|
8
|
+
run :log_error
|
9
|
+
run :report_error
|
10
|
+
end
|
11
|
+
|
12
|
+
protected
|
13
|
+
|
14
|
+
def format_message(exception:, opts:)
|
15
|
+
message = if exception.respond_to?(:original_message)
|
16
|
+
exception.original_message
|
17
|
+
else
|
18
|
+
exception.message
|
19
|
+
end
|
20
|
+
|
21
|
+
success(exception: exception, message: message, opts: opts)
|
22
|
+
end
|
23
|
+
|
24
|
+
def log_error(exception:, message:, opts:)
|
25
|
+
Rails.logger.error message
|
26
|
+
Rails.logger.error "User ID: #{opts[:user]&.id}" if opts[:user]
|
27
|
+
Rails.logger.error exception.backtrace.join("\n")
|
28
|
+
|
29
|
+
success(exception: exception, message: message, opts: opts)
|
30
|
+
end
|
31
|
+
|
32
|
+
def report_error(exception:, message:, opts:)
|
33
|
+
# overwrite this method in your application to support different error handlers
|
34
|
+
# eg. Sentry, Rollbar, etc
|
35
|
+
|
36
|
+
success(exception: exception, message: message)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -3,11 +3,20 @@ Doorkeeper.configure do
|
|
3
3
|
use_refresh_token
|
4
4
|
api_only
|
5
5
|
|
6
|
+
skip_client_authentication_for_password_grant { true } if defined?(skip_client_authentication_for_password_grant)
|
7
|
+
|
6
8
|
resource_owner_authenticator { current_spree_user }
|
7
9
|
|
8
10
|
resource_owner_from_credentials do
|
9
11
|
user = Spree.user_class.find_for_database_authentication(email: params[:username])
|
10
|
-
|
12
|
+
|
13
|
+
next if user.nil?
|
14
|
+
|
15
|
+
if defined?(Spree::Auth::Config) && Spree::Auth::Config[:confirmable] == true
|
16
|
+
user if user.active_for_authentication? && user.valid_for_authentication? { user.valid_password?(params[:password]) }
|
17
|
+
elsif user&.valid_for_authentication? { user.valid_password?(params[:password]) }
|
18
|
+
user
|
19
|
+
end
|
11
20
|
end
|
12
21
|
|
13
22
|
admin_authenticator do |routes|
|
data/config/routes.rb
CHANGED
@@ -152,7 +152,7 @@ Spree::Core::Engine.add_routes do
|
|
152
152
|
resource :account, controller: :account, only: %i[show]
|
153
153
|
|
154
154
|
namespace :account do
|
155
|
-
resources :addresses, controller: :addresses
|
155
|
+
resources :addresses, controller: :addresses
|
156
156
|
resources :credit_cards, controller: :credit_cards, only: %i[index show]
|
157
157
|
resources :orders, controller: :orders, only: %i[index show]
|
158
158
|
end
|
@@ -239,6 +239,21 @@ paths:
|
|
239
239
|
security:
|
240
240
|
- bearerAuth: []
|
241
241
|
'/api/v2/storefront/account/addresses/{id}':
|
242
|
+
delete:
|
243
|
+
description: 'Removes selected Address for the signed in User. It uses soft-delete for addresses with shipments and orders.'
|
244
|
+
tags:
|
245
|
+
- Account
|
246
|
+
operationId: Remove Address
|
247
|
+
parameters:
|
248
|
+
- $ref: '#/components/parameters/AddressId'
|
249
|
+
responses:
|
250
|
+
'204':
|
251
|
+
description: Requested Address has been removed from the User Account
|
252
|
+
'404':
|
253
|
+
$ref: '#/components/responses/404NotFound'
|
254
|
+
security:
|
255
|
+
- bearerAuth: []
|
256
|
+
summary: Remove Address
|
242
257
|
patch:
|
243
258
|
description: >-
|
244
259
|
Update selected Address for the signed in User
|
@@ -247,13 +262,7 @@ paths:
|
|
247
262
|
- Account
|
248
263
|
operationId: 'Update Address'
|
249
264
|
parameters:
|
250
|
-
-
|
251
|
-
in: path
|
252
|
-
required: true
|
253
|
-
description: Selected Address for update
|
254
|
-
schema:
|
255
|
-
type: string
|
256
|
-
example: '1'
|
265
|
+
- $ref: '#/components/parameters/AddressId'
|
257
266
|
requestBody:
|
258
267
|
required: true
|
259
268
|
content:
|
@@ -5246,6 +5255,14 @@ components:
|
|
5246
5255
|
- state_name
|
5247
5256
|
- country_iso
|
5248
5257
|
parameters:
|
5258
|
+
AddressId:
|
5259
|
+
name: address_id
|
5260
|
+
in: path
|
5261
|
+
required: true
|
5262
|
+
description: Address ID
|
5263
|
+
schema:
|
5264
|
+
type: string
|
5265
|
+
example: '1'
|
5249
5266
|
CreditCardIncludeParam:
|
5250
5267
|
name: include
|
5251
5268
|
in: query
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Bigg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jsonapi-rspec
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 4.2.
|
33
|
+
version: 4.2.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 4.2.
|
40
|
+
version: 4.2.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rabl
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -147,6 +147,7 @@ files:
|
|
147
147
|
- app/controllers/spree/api/v2/storefront/taxons_controller.rb
|
148
148
|
- app/helpers/spree/api/api_helpers.rb
|
149
149
|
- app/helpers/spree/api/v2/collection_options_helpers.rb
|
150
|
+
- app/helpers/spree/api/v2/display_money_helper.rb
|
150
151
|
- app/models/concerns/spree/user_api_authentication.rb
|
151
152
|
- app/models/concerns/spree/user_api_methods.rb
|
152
153
|
- app/models/spree/api_configuration.rb
|
@@ -180,6 +181,7 @@ files:
|
|
180
181
|
- app/serializers/spree/v2/storefront/taxonomy_serializer.rb
|
181
182
|
- app/serializers/spree/v2/storefront/user_serializer.rb
|
182
183
|
- app/serializers/spree/v2/storefront/variant_serializer.rb
|
184
|
+
- app/services/spree/api/error_handler.rb
|
183
185
|
- app/views/spree/api/errors/gateway_error.rabl
|
184
186
|
- app/views/spree/api/errors/invalid_api_key.rabl
|
185
187
|
- app/views/spree/api/errors/invalid_resource.rabl
|
@@ -308,9 +310,9 @@ licenses:
|
|
308
310
|
- BSD-3-Clause
|
309
311
|
metadata:
|
310
312
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
311
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.
|
313
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.3
|
312
314
|
documentation_uri: https://guides.spreecommerce.org/
|
313
|
-
source_code_uri: https://github.com/spree/spree/tree/v4.2.
|
315
|
+
source_code_uri: https://github.com/spree/spree/tree/v4.2.3
|
314
316
|
post_install_message:
|
315
317
|
rdoc_options: []
|
316
318
|
require_paths:
|
@@ -322,11 +324,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
322
324
|
version: 2.5.0
|
323
325
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
324
326
|
requirements:
|
325
|
-
- - "
|
327
|
+
- - ">="
|
326
328
|
- !ruby/object:Gem::Version
|
327
|
-
version:
|
329
|
+
version: '0'
|
328
330
|
requirements: []
|
329
|
-
rubygems_version: 3.
|
331
|
+
rubygems_version: 3.2.3
|
330
332
|
signing_key:
|
331
333
|
specification_version: 4
|
332
334
|
summary: Spree's API
|