spree_api 4.2.0 → 4.2.4

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