spree_api 3.7.9 → 3.7.14

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: f284475e9b95a045ca244239eed7abba9248ffd3fe8f717e1630ea720056b5f3
4
- data.tar.gz: 20041f45aedfad6120afdc4fab02e1d7e97460c2051e02dc8a22b0cfd4750988
3
+ metadata.gz: 6031bec6c997b390ca7096fb411a07198011536677687a7c5b61b60fe5538d19
4
+ data.tar.gz: c37818ea854581de7302f65192cfac609a8ff0ddbb019c663502cf40a1366e1d
5
5
  SHA512:
6
- metadata.gz: dab9077a7e7b3071905f40f3fcd497d844a3dcfe335c317bd4a31a649024e2083892efc8811a48c963ddb9b70425564322e56d8344cc90402ad5f564ba003cf8
7
- data.tar.gz: 37081d4e0d9d35350395cb5cc8d7cd6b08bbb37e377581e3dc2e55a42758bea6af7d6f3056c0d6abfbbf69fd62bf69d54fa6ce5df051f24df274d2feeeb83eaf
6
+ metadata.gz: 7b78338d29d9f2632491b0a06d8ea1d11c5a42b23faa256ec84c4f13634bb2190ef6eb6757ce706055a8071893c2002710b87a9a17ec6829a7700cd908660286
7
+ data.tar.gz: dad3b9c8d033a1c42b57b01e84f7c91ff196be47aff4aa50608c7d0ad1fa5c0a5854bc8ef55803dc367bb0ec9e861a57f9e84bb9fc91b76b6536daaa2634032f
@@ -13,6 +13,25 @@ module Spree
13
13
 
14
14
  private
15
15
 
16
+ def serialize_collection(collection)
17
+ collection_serializer.new(
18
+ collection,
19
+ collection_options(collection)
20
+ ).serializable_hash
21
+ end
22
+
23
+ def serialize_resource(resource)
24
+ resource_serializer.new(
25
+ resource,
26
+ include: resource_includes,
27
+ fields: sparse_fields
28
+ ).serializable_hash
29
+ end
30
+
31
+ def paginated_collection
32
+ collection_paginator.new(sorted_collection, params).call
33
+ end
34
+
16
35
  def collection_paginator
17
36
  Spree::Api::Dependencies.storefront_collection_paginator.constantize
18
37
  end
@@ -36,7 +55,12 @@ module Spree
36
55
  end
37
56
 
38
57
  def spree_current_user
39
- @spree_current_user ||= Spree.user_class.find_by(id: doorkeeper_token.resource_owner_id) if doorkeeper_token
58
+ return nil unless doorkeeper_token
59
+ return @spree_current_user if @spree_current_user
60
+
61
+ doorkeeper_authorize!
62
+
63
+ @spree_current_user ||= Spree.user_class.find_by(id: doorkeeper_token.resource_owner_id)
40
64
  end
41
65
 
42
66
  def spree_authorize!(action, subject, *args)
@@ -40,14 +40,6 @@ module Spree
40
40
  ).serializable_hash
41
41
  end
42
42
 
43
- def serialize_resource(resource)
44
- resource_serializer.new(
45
- resource,
46
- include: resource_includes,
47
- fields: sparse_fields
48
- ).serializable_hash
49
- end
50
-
51
43
  def scope
52
44
  spree_current_user.credit_cards.accessible_by(current_ability, :read)
53
45
  end
@@ -19,10 +19,6 @@ module Spree
19
19
 
20
20
  private
21
21
 
22
- def paginated_collection
23
- collection_paginator.new(sorted_collection, params).call
24
- end
25
-
26
22
  def sorted_collection
27
23
  collection_sorter.new(collection, params).call
28
24
  end
@@ -38,21 +34,6 @@ module Spree
38
34
  resource
39
35
  end
40
36
 
41
- def serialize_collection(collection)
42
- collection_serializer.new(
43
- collection,
44
- collection_options(collection)
45
- ).serializable_hash
46
- end
47
-
48
- def serialize_resource(resource)
49
- resource_serializer.new(
50
- resource,
51
- include: resource_includes,
52
- sparse_fields: sparse_fields
53
- ).serializable_hash
54
- end
55
-
56
37
  def collection_serializer
57
38
  Spree::Api::Dependencies.storefront_cart_serializer.constantize
58
39
  end
@@ -76,15 +57,6 @@ module Spree
76
57
  def collection_paginator
77
58
  Spree::Api::Dependencies.storefront_collection_paginator.constantize
78
59
  end
79
-
80
- def collection_options(collection)
81
- {
82
- links: collection_links(collection),
83
- meta: collection_meta(collection),
84
- include: resource_includes,
85
- sparse_fields: sparse_fields
86
- }
87
- end
88
60
  end
89
61
  end
90
62
  end
@@ -15,14 +15,6 @@ module Spree
15
15
  spree_current_user
16
16
  end
17
17
 
18
- def serialize_resource(resource)
19
- resource_serializer.new(
20
- resource,
21
- include: resource_includes,
22
- fields: sparse_fields
23
- ).serializable_hash
24
- end
25
-
26
18
  def resource_serializer
27
19
  Spree::Api::Dependencies.storefront_user_serializer.constantize
28
20
  end
@@ -5,6 +5,8 @@ module Spree
5
5
  class OrderStatusController < ::Spree::Api::V2::BaseController
6
6
  include Spree::Api::V2::Storefront::OrderConcern
7
7
 
8
+ before_action :ensure_order_token
9
+
8
10
  def show
9
11
  render_serialized_payload { serialize_resource(resource) }
10
12
  end
@@ -18,14 +20,6 @@ module Spree
18
20
  resource
19
21
  end
20
22
 
21
- def serialize_resource(resource)
22
- resource_serializer.new(
23
- resource,
24
- include: resource_includes,
25
- sparse_fields: sparse_fields
26
- ).serializable_hash
27
- end
28
-
29
23
  def resource_finder
30
24
  Spree::Api::Dependencies.storefront_completed_order_finder.constantize
31
25
  end
@@ -33,6 +27,10 @@ module Spree
33
27
  def resource_serializer
34
28
  Spree::Api::Dependencies.storefront_cart_serializer.constantize
35
29
  end
30
+
31
+ def ensure_order_token
32
+ raise ActiveRecord::RecordNotFound unless order_token.present?
33
+ end
36
34
  end
37
35
  end
38
36
  end
@@ -15,25 +15,6 @@ module Spree
15
15
 
16
16
  private
17
17
 
18
- def serialize_collection(collection)
19
- collection_serializer.new(
20
- collection,
21
- collection_options(collection)
22
- ).serializable_hash
23
- end
24
-
25
- def serialize_resource(resource)
26
- resource_serializer.new(
27
- resource,
28
- include: resource_includes,
29
- fields: sparse_fields
30
- ).serializable_hash
31
- end
32
-
33
- def paginated_collection
34
- collection_paginator.new(sorted_collection, params).call
35
- end
36
-
37
18
  def sorted_collection
38
19
  collection_sorter.new(collection, params, current_currency).call
39
20
  end
@@ -62,15 +43,6 @@ module Spree
62
43
  Spree::Api::Dependencies.storefront_product_serializer.constantize
63
44
  end
64
45
 
65
- def collection_options(collection)
66
- {
67
- links: collection_links(collection),
68
- meta: collection_meta(collection),
69
- include: resource_includes,
70
- fields: sparse_fields
71
- }
72
- end
73
-
74
46
  def scope
75
47
  Spree::Product.accessible_by(current_ability, :read).includes(scope_includes)
76
48
  end
@@ -15,21 +15,6 @@ module Spree
15
15
 
16
16
  private
17
17
 
18
- def serialize_collection(collection)
19
- collection_serializer.new(
20
- collection,
21
- collection_options(collection)
22
- ).serializable_hash
23
- end
24
-
25
- def serialize_resource(resource)
26
- resource_serializer.new(
27
- resource,
28
- include: resource_includes,
29
- fields: sparse_fields
30
- ).serializable_hash
31
- end
32
-
33
18
  def collection_serializer
34
19
  Spree::Api::Dependencies.storefront_taxon_serializer.constantize
35
20
  end
@@ -42,15 +27,6 @@ module Spree
42
27
  Spree::Api::Dependencies.storefront_taxon_finder.constantize
43
28
  end
44
29
 
45
- def collection_options(collection)
46
- {
47
- links: collection_links(collection),
48
- meta: collection_meta(collection),
49
- include: resource_includes,
50
- fields: sparse_fields
51
- }
52
- end
53
-
54
30
  def paginated_collection
55
31
  collection_paginator.new(collection, params).call
56
32
  end
@@ -31,6 +31,15 @@ module Spree
31
31
  def pagination_url(page)
32
32
  url_for(collection_permitted_params.merge(page: page))
33
33
  end
34
+
35
+ def collection_options(collection)
36
+ {
37
+ links: collection_links(collection),
38
+ meta: collection_meta(collection),
39
+ include: resource_includes,
40
+ fields: sparse_fields
41
+ }
42
+ end
34
43
  end
35
44
  end
36
45
  end
@@ -154,6 +154,8 @@ paths:
154
154
  - $ref: '#/components/parameters/OrderParam'
155
155
  - $ref: '#/components/parameters/CartIncludeParam'
156
156
  - $ref: '#/components/parameters/SparseFieldsParam'
157
+ security:
158
+ - orderToken: []
157
159
  '/cart':
158
160
  post:
159
161
  description: >-
@@ -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, 404, 403, 422].each do |status_code|
7
+ [200, 201, 400, 401, 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)
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: 3.7.9
4
+ version: 3.7.14
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: 2019-12-02 00:00:00.000000000 Z
11
+ date: 2021-03-04 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: 3.7.9
33
+ version: 3.7.14
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: 3.7.9
40
+ version: 3.7.14
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rabl
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -314,7 +314,7 @@ homepage: http://spreecommerce.org
314
314
  licenses:
315
315
  - BSD-3-Clause
316
316
  metadata: {}
317
- post_install_message:
317
+ post_install_message:
318
318
  rdoc_options: []
319
319
  require_paths:
320
320
  - lib
@@ -329,8 +329,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
329
329
  - !ruby/object:Gem::Version
330
330
  version: '0'
331
331
  requirements: []
332
- rubygems_version: 3.0.2
333
- signing_key:
332
+ rubygems_version: 3.1.4
333
+ signing_key:
334
334
  specification_version: 4
335
335
  summary: Spree's API
336
336
  test_files: []