spree_api 4.2.0 → 4.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa0ba5ffcc873cf68159260e0b7f52879f39f54f7140887a438c73f1257293d2
4
- data.tar.gz: 1f05304db222d36a1f31d563ea5a071a01cfe7eb80fa4c13a002b6a4dd6775f8
3
+ metadata.gz: 398e606a4fa385f695dcae2d670fd962b8f89bf70ea3dee71d8f3c51ba570509
4
+ data.tar.gz: 63e8b6115082c93cf97a01517d4ccb87de04cb08a15139c64e10dab186505449
5
5
  SHA512:
6
- metadata.gz: 0d83abd3762d05c58b37e8290d0fddc8ead28edc15ad3dd1267915ed2abb234399a36071a8250d4d7a3e08a0871e5e438acff6a28a67d2512460ec718c1785dd
7
- data.tar.gz: 41eee02e45c3491b25333eecda173b23a520e0595ba39ef4c38ad1eb7d356d4c206ee7f16d19fd927f5e291475e3a40f6a785a634f0c1055f29cf60ad1e82ea8
6
+ metadata.gz: 6cb3deff3d9592281640ed605a85bf33e47ecf992db9d78d54a242d4ab8fc081d7fcc7b98f2705317f8b22b9b36182609e8f046db46e7787b01c3bf8eeb3e07b
7
+ data.tar.gz: f6a6b2e292107eb33c8d0eabcd6cea61eb3f1b9f92785e5540f31e92d06bcc17d66520213f17465303cc6071d73facd7af28e29a1a7c13e0c705e945ba27c633
@@ -11,6 +11,9 @@ module Spree
11
11
  rescue_from CanCan::AccessDenied, with: :access_denied
12
12
  rescue_from Spree::Core::GatewayError, with: :gateway_error
13
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
14
17
  rescue_from ArgumentError, with: :error_during_processing
15
18
 
16
19
  def content_type
@@ -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
@@ -12,6 +12,10 @@ module Spree
12
12
  Spree::CreditCard
13
13
  end
14
14
 
15
+ def scope
16
+ super.where(user: spree_current_user)
17
+ end
18
+
15
19
  def collection_serializer
16
20
  Spree::Api::Dependencies.storefront_credit_card_serializer.constantize
17
21
  end
@@ -10,7 +10,7 @@ Doorkeeper.configure do
10
10
  resource_owner_from_credentials do
11
11
  user = Spree.user_class.find_for_database_authentication(email: params[:username])
12
12
 
13
- return nil if user.nil?
13
+ next if user.nil?
14
14
 
15
15
  if defined?(Spree::Auth::Config) && Spree::Auth::Config[:confirmable] == true
16
16
  user if user.active_for_authentication? && user.valid_for_authentication? { user.valid_password?(params[:password]) }
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, only: %i[index create update]
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
- - name: id
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.0
4
+ version: 4.2.4
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-02-25 00:00:00.000000000 Z
11
+ date: 2021-05-17 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.0
33
+ version: 4.2.4
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.0
40
+ version: 4.2.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rabl
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -310,9 +310,9 @@ licenses:
310
310
  - BSD-3-Clause
311
311
  metadata:
312
312
  bug_tracker_uri: https://github.com/spree/spree/issues
313
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0
313
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.4
314
314
  documentation_uri: https://guides.spreecommerce.org/
315
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0
315
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.4
316
316
  post_install_message:
317
317
  rdoc_options: []
318
318
  require_paths: