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 +4 -4
- data/app/controllers/spree/api/v2/base_controller.rb +3 -0
- 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/config/initializers/doorkeeper.rb +1 -1
- data/config/routes.rb +1 -1
- data/docs/v2/storefront/index.yaml +24 -7
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 398e606a4fa385f695dcae2d670fd962b8f89bf70ea3dee71d8f3c51ba570509
|
4
|
+
data.tar.gz: 63e8b6115082c93cf97a01517d4ccb87de04cb08a15139c64e10dab186505449
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
@@ -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
|
-
|
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
|
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.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-
|
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.
|
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.
|
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.
|
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.
|
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:
|