spree_api 4.0.9 → 4.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree_api might be problematic. Click here for more details.

Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/spree/api/v2/storefront/order_concern.rb +1 -1
  3. data/app/controllers/spree/api/v1/checkouts_controller.rb +0 -6
  4. data/app/controllers/spree/api/v2/base_controller.rb +2 -19
  5. data/app/controllers/spree/api/v2/storefront/account/orders_controller.rb +2 -2
  6. data/app/controllers/spree/api/v2/storefront/cart_controller.rb +1 -1
  7. data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +3 -6
  8. data/app/controllers/spree/api/v2/storefront/order_status_controller.rb +1 -1
  9. data/app/helpers/spree/api/api_helpers.rb +2 -1
  10. data/app/models/spree/api_dependencies.rb +1 -11
  11. data/app/serializers/spree/v2/storefront/cart_serializer.rb +5 -9
  12. data/app/serializers/spree/v2/storefront/line_item_serializer.rb +1 -2
  13. data/app/serializers/spree/v2/storefront/payment_serializer.rb +1 -1
  14. data/app/serializers/spree/v2/storefront/shipment_serializer.rb +1 -3
  15. data/app/serializers/spree/v2/storefront/store_credit_serializer.rb +1 -1
  16. data/app/serializers/spree/v2/storefront/taxon_serializer.rb +1 -1
  17. data/config/initializers/doorkeeper.rb +0 -2
  18. data/config/routes.rb +1 -3
  19. data/docs/v2/storefront/index.yaml +0 -26
  20. data/lib/spree/api/testing_support/v2/base.rb +1 -1
  21. data/lib/spree/api/testing_support/v2/current_order.rb +0 -6
  22. data/spree_api.gemspec +3 -10
  23. metadata +11 -20
  24. data/app/controllers/spree/api/v2/storefront/account/addresses_controller.rb +0 -77
  25. data/app/controllers/spree/api/v2/storefront/stores_controller.rb +0 -27
  26. data/app/serializers/spree/v2/storefront/stock_location_serializer.rb +0 -11
  27. data/app/serializers/spree/v2/storefront/store_credit_category_serializer.rb +0 -11
  28. data/app/serializers/spree/v2/storefront/store_serializer.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf0c71a51855189fb413aa7e26fb2e0b09cae7b8822ab9b8923efbe791419af4
4
- data.tar.gz: f604b54b0625f9f84f3ba94d7372ac5bfb5907eea13e8a83e2f6469bf2d9ea11
3
+ metadata.gz: 778714449abf4f277278f0bc8f878d98241965f805f733cb0b909ec2013ff521
4
+ data.tar.gz: e655b291e623b62e931745d3dfafc3ea27d885a36f7e1d5797065fe02f789610
5
5
  SHA512:
6
- metadata.gz: 37634de9b2e390958e79b2f1657928bd36378aed88d04805c3e15de54fdf9f0f9dbd7b260125b10cddc7b0acdea64335bbc9463bedb346b73e94039541170ecd
7
- data.tar.gz: 0be0b834339977bfb2f1b9d4b8afb9f5b8e55aacd080dd91c9ec73b48e6a2523ee04f2b20387e48cd9c1a0f4c2169b4e031c87f337ca1b1c613ba96381a2bb52
6
+ metadata.gz: dfa5ee6b7d215c1a96b573f6b775295b136e930d018bdd5e8f7bd8746bbbf35aae824aa91ddd427718050a7190fa2cebbddaeb1b0afcf34c568b2b66b6766932
7
+ data.tar.gz: 29395a003c49523a5ce4daaa5d8c2a0025d88005682b6f3cea62cf450e2e1a4e021952f6f6996609276e9a657d7a45c3027df6b3c84b7646af39986189285cd6
@@ -27,7 +27,7 @@ module Spree
27
27
 
28
28
  def find_spree_current_order
29
29
  Spree::Api::Dependencies.storefront_current_order_finder.constantize.new.execute(
30
- store: spree_current_store,
30
+ store: current_store,
31
31
  user: spree_current_user,
32
32
  token: order_token,
33
33
  currency: current_currency
@@ -2,14 +2,8 @@ module Spree
2
2
  module Api
3
3
  module V1
4
4
  class CheckoutsController < Spree::Api::BaseController
5
- before_action :associate_user, only: :update
6
5
  before_action :load_order_with_lock, only: [:next, :advance, :update]
7
6
 
8
- include Spree::Core::ControllerHelpers::Auth
9
- include Spree::Core::ControllerHelpers::Order
10
- # This before_action comes from Spree::Core::ControllerHelpers::Order
11
- skip_before_action :set_current_order
12
-
13
7
  def next
14
8
  authorize! :update, @order, order_token
15
9
  @order.next!
@@ -4,9 +4,9 @@ module Spree
4
4
  class BaseController < ActionController::API
5
5
  include CanCan::ControllerAdditions
6
6
  include Spree::Core::ControllerHelpers::StrongParameters
7
+ include Spree::Core::ControllerHelpers::Store
7
8
  rescue_from ActiveRecord::RecordNotFound, with: :record_not_found
8
9
  rescue_from CanCan::AccessDenied, with: :access_denied
9
- rescue_from Spree::Core::GatewayError, with: :gateway_error
10
10
 
11
11
  def content_type
12
12
  Spree::Api::Config[:api_v2_content_type]
@@ -51,17 +51,8 @@ module Spree
51
51
  end
52
52
  end
53
53
 
54
- def spree_current_store
55
- @spree_current_store ||= Spree::Store.current(request.env['SERVER_NAME'])
56
- end
57
-
58
54
  def spree_current_user
59
- return nil unless doorkeeper_token
60
- return @spree_current_user if @spree_current_user
61
-
62
- doorkeeper_authorize!
63
-
64
- @spree_current_user ||= Spree.user_class.find_by(id: doorkeeper_token.resource_owner_id)
55
+ @spree_current_user ||= Spree.user_class.find_by(id: doorkeeper_token.resource_owner_id) if doorkeeper_token
65
56
  end
66
57
 
67
58
  def spree_authorize!(action, subject, *args)
@@ -110,10 +101,6 @@ module Spree
110
101
  fields.presence
111
102
  end
112
103
 
113
- def current_currency
114
- spree_current_store.default_currency || Spree::Config[:currency]
115
- end
116
-
117
104
  def record_not_found
118
105
  render_error_payload(I18n.t(:resource_not_found, scope: 'spree.api'), 404)
119
106
  end
@@ -121,10 +108,6 @@ module Spree
121
108
  def access_denied(exception)
122
109
  render_error_payload(exception.message, 403)
123
110
  end
124
-
125
- def gateway_error(exception)
126
- render_error_payload(exception.message)
127
- end
128
111
  end
129
112
  end
130
113
  end
@@ -35,11 +35,11 @@ module Spree
35
35
  end
36
36
 
37
37
  def collection_serializer
38
- Spree::Api::Dependencies.storefront_order_serializer.constantize
38
+ Spree::Api::Dependencies.storefront_cart_serializer.constantize
39
39
  end
40
40
 
41
41
  def resource_serializer
42
- Spree::Api::Dependencies.storefront_order_serializer.constantize
42
+ Spree::Api::Dependencies.storefront_cart_serializer.constantize
43
43
  end
44
44
 
45
45
  def collection_finder
@@ -11,7 +11,7 @@ module Spree
11
11
 
12
12
  order_params = {
13
13
  user: spree_current_user,
14
- store: spree_current_store,
14
+ store: current_store,
15
15
  currency: current_currency
16
16
  }
17
17
 
@@ -65,11 +65,7 @@ module Spree
65
65
  def shipping_rates
66
66
  result = shipping_rates_service.call(order: spree_current_order)
67
67
 
68
- if result.success?
69
- render_serialized_payload { serialize_shipping_rates(result.value) }
70
- else
71
- render_error_payload(result.error)
72
- end
68
+ render_serialized_payload { serialize_shipping_rates(result.value) }
73
69
  end
74
70
 
75
71
  def payment_methods
@@ -125,7 +121,8 @@ module Spree
125
121
  def serialize_shipping_rates(shipments)
126
122
  shipping_rates_serializer.new(
127
123
  shipments,
128
- include: [:shipping_rates, :stock_location]
124
+ include: [:shipping_rates],
125
+ params: { show_rates: true }
129
126
  ).serializable_hash
130
127
  end
131
128
  end
@@ -29,7 +29,7 @@ module Spree
29
29
  end
30
30
 
31
31
  def ensure_order_token
32
- raise ActiveRecord::RecordNotFound unless order_token.present?
32
+ raise ActiveRecord::RecordNotFound unless order_token
33
33
  end
34
34
  end
35
35
  end
@@ -161,7 +161,8 @@ module Spree
161
161
 
162
162
  @@store_attributes = [
163
163
  :id, :name, :url, :meta_description, :meta_keywords, :seo_title,
164
- :mail_from_address, :default_currency, :code, :default
164
+ :mail_from_address, :default_currency, :code, :default,
165
+ :facebook, :twitter, :instagram
165
166
  ]
166
167
 
167
168
  @@tag_attributes = [:id, :name]
@@ -13,9 +13,7 @@ module Spree
13
13
  :storefront_country_serializer, :storefront_current_order_finder, :storefront_completed_order_finder, :storefront_order_sorter,
14
14
  :storefront_collection_paginator, :storefront_user_serializer, :storefront_products_sorter, :storefront_products_finder,
15
15
  :storefront_product_serializer, :storefront_taxon_serializer, :storefront_taxon_finder, :storefront_find_by_variant_finder,
16
- :storefront_cart_update_service, :storefront_cart_estimate_shipping_rates_service, :storefront_estimated_shipment_serializer,
17
- :storefront_store_serializer, :storefront_address_serializer, :storefront_order_serializer,
18
- :storefront_account_create_address_service, :storefront_account_update_address_service, :storefront_address_finder
16
+ :storefront_cart_update_service, :storefront_cart_estimate_shipping_rates_service, :storefront_estimated_shipment_serializer
19
17
  ].freeze
20
18
 
21
19
  attr_accessor *INJECTION_POINTS
@@ -50,12 +48,7 @@ module Spree
50
48
  @storefront_checkout_remove_store_credit_service = Spree::Dependencies.checkout_remove_store_credit_service
51
49
  @storefront_checkout_get_shipping_rates_service = Spree::Dependencies.checkout_get_shipping_rates_service
52
50
 
53
- # account services
54
- @storefront_account_create_address_service = Spree::Dependencies.account_create_address_service
55
- @storefront_account_update_address_service = Spree::Dependencies.account_update_address_service
56
-
57
51
  # serializers
58
- @storefront_address_serializer = 'Spree::V2::Storefront::AddressSerializer'
59
52
  @storefront_cart_serializer = 'Spree::V2::Storefront::CartSerializer'
60
53
  @storefront_credit_card_serializer = 'Spree::V2::Storefront::CreditCardSerializer'
61
54
  @storefront_country_serializer = 'Spree::V2::Storefront::CountrySerializer'
@@ -65,8 +58,6 @@ module Spree
65
58
  @storefront_payment_method_serializer = 'Spree::V2::Storefront::PaymentMethodSerializer'
66
59
  @storefront_product_serializer = 'Spree::V2::Storefront::ProductSerializer'
67
60
  @storefront_estimated_shipment_serializer = 'Spree::V2::Storefront::EstimatedShippingRateSerializer'
68
- @storefront_store_serializer = 'Spree::V2::Storefront::StoreSerializer'
69
- @storefront_order_serializer = 'Spree::V2::Storefront::CartSerializer'
70
61
 
71
62
  # sorters
72
63
  @storefront_order_sorter = Spree::Dependencies.order_sorter
@@ -76,7 +67,6 @@ module Spree
76
67
  @storefront_collection_paginator = Spree::Dependencies.collection_paginator
77
68
 
78
69
  # finders
79
- @storefront_address_finder = Spree::Dependencies.address_finder
80
70
  @storefront_country_finder = Spree::Dependencies.country_finder
81
71
  @storefront_current_order_finder = Spree::Dependencies.current_order_finder
82
72
  @storefront_completed_order_finder = Spree::Dependencies.completed_order_finder
@@ -8,9 +8,7 @@ module Spree
8
8
  :updated_at, :completed_at, :included_tax_total, :additional_tax_total, :display_additional_tax_total,
9
9
  :display_included_tax_total, :tax_total, :currency, :state, :token, :email,
10
10
  :display_item_total, :display_ship_total, :display_adjustment_total, :display_tax_total,
11
- :promo_total, :display_promo_total, :item_count, :special_instructions, :display_total,
12
- :pre_tax_item_amount, :display_pre_tax_item_amount, :pre_tax_total, :display_pre_tax_total,
13
- :shipment_state, :payment_state
11
+ :promo_total, :display_promo_total, :item_count, :special_instructions, :display_total
14
12
 
15
13
  has_many :line_items
16
14
  has_many :variants
@@ -22,14 +20,12 @@ module Spree
22
20
 
23
21
  belongs_to :user
24
22
  belongs_to :billing_address,
25
- id_method_name: :bill_address_id,
26
- serializer: :address,
27
- record_type: :address
23
+ id_method_name: :bill_address_id,
24
+ serializer: :address
28
25
 
29
26
  belongs_to :shipping_address,
30
- id_method_name: :ship_address_id,
31
- serializer: :address,
32
- record_type: :address
27
+ id_method_name: :ship_address_id,
28
+ serializer: :address
33
29
  end
34
30
  end
35
31
  end
@@ -9,8 +9,7 @@ module Spree
9
9
  :display_adjustment_total, :additional_tax_total,
10
10
  :discounted_amount, :display_discounted_amount,
11
11
  :display_additional_tax_total, :promo_total, :display_promo_total,
12
- :included_tax_total, :display_included_tax_total,
13
- :pre_tax_amount, :display_pre_tax_amount
12
+ :included_tax_total, :display_included_tax_total
14
13
 
15
14
  belongs_to :variant
16
15
  end
@@ -8,7 +8,7 @@ module Spree
8
8
  has_one :payment_method
9
9
 
10
10
  attributes :amount, :response_code, :number, :cvv_response_code, :cvv_response_message,
11
- :payment_method_id, :payment_method_name, :state
11
+ :payment_method_id, :payment_method_name
12
12
  end
13
13
  end
14
14
  end
@@ -9,9 +9,7 @@ module Spree
9
9
 
10
10
  attribute :free, &:free?
11
11
 
12
- has_many :shipping_rates
13
-
14
- belongs_to :stock_location
12
+ has_many :shipping_rates, if: proc { |_record, params| params&.dig(:show_rates) }
15
13
  end
16
14
  end
17
15
  end
@@ -4,7 +4,7 @@ module Spree
4
4
  class StoreCreditSerializer < BaseSerializer
5
5
  set_type :store_credit
6
6
 
7
- belongs_to :category, serializer: :store_credit_category
7
+ belongs_to :category
8
8
  has_many :store_credit_events
9
9
  belongs_to :credit_type,
10
10
  id_method_name: :type_id,
@@ -4,7 +4,7 @@ module Spree
4
4
  class TaxonSerializer < BaseSerializer
5
5
  set_type :taxon
6
6
 
7
- attributes :name, :pretty_name, :permalink, :seo_title, :description, :meta_title, :meta_description,
7
+ attributes :name, :pretty_name, :permalink, :seo_title, :meta_title, :meta_description,
8
8
  :meta_keywords, :left, :right, :position, :depth, :updated_at
9
9
 
10
10
  attribute :is_root, &:root?
@@ -3,8 +3,6 @@ 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
-
8
6
  resource_owner_authenticator { current_spree_user }
9
7
 
10
8
  resource_owner_from_credentials do
data/config/routes.rb CHANGED
@@ -152,7 +152,6 @@ 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, only: %i[index create update]
156
155
  resources :credit_cards, controller: :credit_cards, only: %i[index show]
157
156
  resources :orders, controller: :orders, only: %i[index show]
158
157
  end
@@ -161,8 +160,7 @@ Spree::Core::Engine.add_routes do
161
160
  get '/countries/:iso', to: 'countries#show', as: :country
162
161
  get '/order_status/:number', to: 'order_status#show', as: :order_status
163
162
  resources :products, only: %i[index show]
164
- resources :taxons, only: %i[index show], id: /.+/
165
- get '/stores/:code', to: 'stores#show', as: :store
163
+ resources :taxons, only: %i[index show]
166
164
  end
167
165
  end
168
166
 
@@ -1123,14 +1123,6 @@ components:
1123
1123
  company:
1124
1124
  type: string
1125
1125
  example: 'Google Inc.'
1126
- AddressList:
1127
- required:
1128
- - data
1129
- properties:
1130
- data:
1131
- type: array
1132
- items:
1133
- $ref: '#/components/schemas/Address'
1134
1126
  Cart:
1135
1127
  required:
1136
1128
  - data
@@ -1297,18 +1289,6 @@ components:
1297
1289
  display_tax_total:
1298
1290
  type: string
1299
1291
  example: '$10.00'
1300
- pre_tax_item_amount:
1301
- type: string
1302
- example: '17.00'
1303
- display_pre_tax_item_amount:
1304
- type: string
1305
- example: '$17.00'
1306
- pre_tax_total:
1307
- type: string
1308
- example: '20.00'
1309
- display_pre_tax_total:
1310
- type: string
1311
- example: '$20.00'
1312
1292
  item_count:
1313
1293
  type: number
1314
1294
  example: 2
@@ -1521,12 +1501,6 @@ components:
1521
1501
  display_discounted_amount:
1522
1502
  type: string
1523
1503
  example: '$125.00'
1524
- pre_tax_amount:
1525
- type: string
1526
- example: '125.0'
1527
- display_pre_tax_amount:
1528
- type: string
1529
- example: '$125.00'
1530
1504
  promo_total:
1531
1505
  type: string
1532
1506
  example: '-5.0'
@@ -4,7 +4,7 @@ shared_context 'API v2 tokens' do
4
4
  let(:headers_order_token) { { 'X-Spree-Order-Token' => order.token } }
5
5
  end
6
6
 
7
- [200, 201, 400, 401, 404, 403, 422].each do |status_code|
7
+ [200, 201, 400, 404, 403, 422].each do |status_code|
8
8
  shared_examples "returns #{status_code} HTTP status" do
9
9
  it "returns #{status_code}" do
10
10
  expect(response.status).to eq(status_code)
@@ -27,8 +27,6 @@ shared_examples 'returns valid cart JSON' do
27
27
  expect(json_response['data']).to have_type('cart')
28
28
  expect(json_response['data']).to have_attribute(:number).with_value(order.number)
29
29
  expect(json_response['data']).to have_attribute(:state).with_value(order.state)
30
- expect(json_response['data']).to have_attribute(:payment_state).with_value(order.payment_state)
31
- expect(json_response['data']).to have_attribute(:shipment_state).with_value(order.shipment_state)
32
30
  expect(json_response['data']).to have_attribute(:token).with_value(order.token)
33
31
  expect(json_response['data']).to have_attribute(:total).with_value(order.total.to_s)
34
32
  expect(json_response['data']).to have_attribute(:item_total).with_value(order.item_total.to_s)
@@ -50,10 +48,6 @@ shared_examples 'returns valid cart JSON' do
50
48
  expect(json_response['data']).to have_attribute(:promo_total).with_value(order.promo_total.to_s)
51
49
  expect(json_response['data']).to have_attribute(:display_promo_total).with_value(order.display_promo_total.to_s)
52
50
  expect(json_response['data']).to have_attribute(:display_total).with_value(order.display_total.to_s)
53
- expect(json_response['data']).to have_attribute(:pre_tax_item_amount).with_value(order.pre_tax_item_amount.to_s)
54
- expect(json_response['data']).to have_attribute(:display_pre_tax_item_amount).with_value(order.display_pre_tax_item_amount.to_s)
55
- expect(json_response['data']).to have_attribute(:pre_tax_total).with_value(order.pre_tax_total.to_s)
56
- expect(json_response['data']).to have_attribute(:display_pre_tax_total).with_value(order.display_pre_tax_total.to_s)
57
51
  expect(json_response['data']).to have_relationships(:user, :line_items, :variants, :billing_address, :shipping_address, :payments, :shipments, :promotions)
58
52
  end
59
53
  end
data/spree_api.gemspec CHANGED
@@ -2,27 +2,20 @@
2
2
  require_relative '../core/lib/spree/core/version.rb'
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "spree_api"
6
- s.version = Spree.version
7
5
  s.authors = ["Ryan Bigg"]
8
6
  s.email = ["ryan@spreecommerce.com"]
9
- s.summary = %q{Spree's API}
10
7
  s.description = %q{Spree's API}
8
+ s.summary = %q{Spree's API}
11
9
  s.homepage = 'http://spreecommerce.org'
12
10
  s.license = 'BSD-3-Clause'
13
11
 
14
- s.metadata = {
15
- "bug_tracker_uri" => "https://github.com/spree/spree/issues",
16
- "changelog_uri" => "https://github.com/spree/spree/releases/tag/v#{s.version}",
17
- "documentation_uri" => "https://guides.spreecommerce.org/",
18
- "source_code_uri" => "https://github.com/spree/spree/tree/v#{s.version}",
19
- }
20
-
21
12
  s.required_ruby_version = '>= 2.5.0'
22
13
 
23
14
  s.files = `git ls-files`.split($\).reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
24
15
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
+ s.name = "spree_api"
25
17
  s.require_paths = ["lib"]
18
+ s.version = Spree.version
26
19
 
27
20
  s.add_development_dependency 'jsonapi-rspec'
28
21
 
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.0.9
4
+ version: 4.1.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-21 00:00:00.000000000 Z
11
+ date: 2020-01-31 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.0.9
33
+ version: 4.1.0.rc1
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.0.9
40
+ version: 4.1.0.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rabl
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -133,7 +133,6 @@ files:
133
133
  - app/controllers/spree/api/v1/variants_controller.rb
134
134
  - app/controllers/spree/api/v1/zones_controller.rb
135
135
  - app/controllers/spree/api/v2/base_controller.rb
136
- - app/controllers/spree/api/v2/storefront/account/addresses_controller.rb
137
136
  - app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
138
137
  - app/controllers/spree/api/v2/storefront/account/orders_controller.rb
139
138
  - app/controllers/spree/api/v2/storefront/account_controller.rb
@@ -142,7 +141,6 @@ files:
142
141
  - app/controllers/spree/api/v2/storefront/countries_controller.rb
143
142
  - app/controllers/spree/api/v2/storefront/order_status_controller.rb
144
143
  - app/controllers/spree/api/v2/storefront/products_controller.rb
145
- - app/controllers/spree/api/v2/storefront/stores_controller.rb
146
144
  - app/controllers/spree/api/v2/storefront/taxons_controller.rb
147
145
  - app/helpers/spree/api/api_helpers.rb
148
146
  - app/helpers/spree/api/v2/collection_options_helpers.rb
@@ -168,12 +166,9 @@ files:
168
166
  - app/serializers/spree/v2/storefront/shipment_serializer.rb
169
167
  - app/serializers/spree/v2/storefront/shipping_rate_serializer.rb
170
168
  - app/serializers/spree/v2/storefront/state_serializer.rb
171
- - app/serializers/spree/v2/storefront/stock_location_serializer.rb
172
- - app/serializers/spree/v2/storefront/store_credit_category_serializer.rb
173
169
  - app/serializers/spree/v2/storefront/store_credit_event_serializer.rb
174
170
  - app/serializers/spree/v2/storefront/store_credit_serializer.rb
175
171
  - app/serializers/spree/v2/storefront/store_credit_type_serializer.rb
176
- - app/serializers/spree/v2/storefront/store_serializer.rb
177
172
  - app/serializers/spree/v2/storefront/taxon_image_serializer.rb
178
173
  - app/serializers/spree/v2/storefront/taxon_serializer.rb
179
174
  - app/serializers/spree/v2/storefront/taxonomy_serializer.rb
@@ -305,12 +300,8 @@ files:
305
300
  homepage: http://spreecommerce.org
306
301
  licenses:
307
302
  - BSD-3-Clause
308
- metadata:
309
- bug_tracker_uri: https://github.com/spree/spree/issues
310
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.0.9
311
- documentation_uri: https://guides.spreecommerce.org/
312
- source_code_uri: https://github.com/spree/spree/tree/v4.0.9
313
- post_install_message:
303
+ metadata: {}
304
+ post_install_message:
314
305
  rdoc_options: []
315
306
  require_paths:
316
307
  - lib
@@ -321,12 +312,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
321
312
  version: 2.5.0
322
313
  required_rubygems_version: !ruby/object:Gem::Requirement
323
314
  requirements:
324
- - - ">="
315
+ - - ">"
325
316
  - !ruby/object:Gem::Version
326
- version: '0'
317
+ version: 1.3.1
327
318
  requirements: []
328
- rubygems_version: 3.2.22
329
- signing_key:
319
+ rubygems_version: 3.0.3
320
+ signing_key:
330
321
  specification_version: 4
331
322
  summary: Spree's API
332
323
  test_files: []
@@ -1,77 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Storefront
5
- module Account
6
- class AddressesController < ::Spree::Api::V2::BaseController
7
- before_action :require_spree_current_user
8
-
9
- def index
10
- render_serialized_payload { serialize_collection(collection) }
11
- end
12
-
13
- def create
14
- result = create_service.call(user: spree_current_user, address_params: address_params)
15
- render_result(result)
16
- end
17
-
18
- def update
19
- result = update_service.call(address: resource, address_params: address_params)
20
- render_result(result)
21
- end
22
-
23
- private
24
-
25
- def collection
26
- collection_finder.new(scope: scope, params: params).execute
27
- end
28
-
29
- def resource
30
- @resource ||= scope.find(params[:id])
31
- end
32
-
33
- def scope
34
- spree_current_user.addresses
35
- end
36
-
37
- def collection_finder
38
- Spree::Api::Dependencies.storefront_address_finder.constantize
39
- end
40
-
41
- def collection_serializer
42
- Spree::Api::Dependencies.storefront_address_serializer.constantize
43
- end
44
-
45
- def resource_serializer
46
- Spree::Api::Dependencies.storefront_address_serializer.constantize
47
- end
48
-
49
- def serialize_collection(collection)
50
- collection_serializer.new(collection).serializable_hash
51
- end
52
-
53
- def create_service
54
- Spree::Api::Dependencies.storefront_account_create_address_service.constantize
55
- end
56
-
57
- def update_service
58
- Spree::Api::Dependencies.storefront_account_update_address_service.constantize
59
- end
60
-
61
- def address_params
62
- params.require(:address).permit(permitted_address_attributes)
63
- end
64
-
65
- def render_result(result)
66
- if result.success?
67
- render_serialized_payload { serialize_resource(result.value) }
68
- else
69
- render_error_payload(result.error)
70
- end
71
- end
72
- end
73
- end
74
- end
75
- end
76
- end
77
- end
@@ -1,27 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Storefront
5
- class StoresController < ::Spree::Api::V2::BaseController
6
- def show
7
- render_serialized_payload { serialize_resource(resource) }
8
- end
9
-
10
- private
11
-
12
- def scope
13
- Spree::Store
14
- end
15
-
16
- def resource
17
- scope.find_by!(code: params[:code])
18
- end
19
-
20
- def resource_serializer
21
- Spree::Api::Dependencies.storefront_store_serializer.constantize
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,11 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class StockLocationSerializer < BaseSerializer
5
- set_type :stock_location
6
-
7
- attributes :name
8
- end
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class StoreCreditCategorySerializer < BaseSerializer
5
- set_type :store_credit_category
6
-
7
- attributes :name
8
- end
9
- end
10
- end
11
- end
@@ -1,13 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class StoreSerializer < BaseSerializer
5
- set_type :store
6
-
7
- attributes :name, :url, :meta_description, :meta_keywords, :seo_title, :default_currency, :default, :supported_currencies, :facebook,
8
- :twitter, :instagram, :default_locale, :customer_support_email, :default_country_id, :description,
9
- :address, :contact_phone, :contact_email
10
- end
11
- end
12
- end
13
- end