spree_api 3.6.6 → 3.7.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/api/main.js +36 -0
  3. data/app/assets/javascripts/spree/api/storefront/cart.js +49 -0
  4. data/app/controllers/concerns/spree/api/v2/storefront/order_concern.rb +48 -0
  5. data/app/controllers/spree/api/errors_controller.rb +9 -0
  6. data/app/controllers/spree/api/v1/checkouts_controller.rb +12 -0
  7. data/app/controllers/spree/api/v1/customer_returns_controller.rb +1 -0
  8. data/app/controllers/spree/api/v1/line_items_controller.rb +11 -10
  9. data/app/controllers/spree/api/v1/orders_controller.rb +6 -6
  10. data/app/controllers/spree/api/v1/product_properties_controller.rb +1 -0
  11. data/app/controllers/spree/api/v1/products_controller.rb +6 -6
  12. data/app/controllers/spree/api/v1/promotions_controller.rb +1 -0
  13. data/app/controllers/spree/api/v1/reimbursements_controller.rb +1 -0
  14. data/app/controllers/spree/api/v1/shipments_controller.rb +12 -3
  15. data/app/controllers/spree/api/v1/variants_controller.rb +5 -3
  16. data/app/controllers/spree/api/v2/base_controller.rb +94 -0
  17. data/app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb +55 -0
  18. data/app/controllers/spree/api/v2/storefront/account_controller.rb +33 -0
  19. data/app/controllers/spree/api/v2/storefront/cart_controller.rb +124 -0
  20. data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +108 -0
  21. data/app/controllers/spree/api/v2/storefront/countries_controller.rb +57 -0
  22. data/app/controllers/spree/api/v2/storefront/products_controller.rb +87 -0
  23. data/app/controllers/spree/api/v2/storefront/taxons_controller.rb +82 -0
  24. data/app/helpers/spree/api/api_helpers.rb +1 -1
  25. data/app/helpers/spree/api/v2/collection_options_helpers.rb +37 -0
  26. data/app/models/doorkeeper/access_grant_decorator.rb +3 -0
  27. data/app/models/doorkeeper/access_token_decorator.rb +3 -0
  28. data/app/models/doorkeeper/application_decorator.rb +3 -0
  29. data/app/serializers/spree/v2/storefront/account/credit_card_serializer.rb +16 -0
  30. data/app/serializers/spree/v2/storefront/account_serializer.rb +29 -0
  31. data/app/serializers/spree/v2/storefront/address_serializer.rb +14 -0
  32. data/app/serializers/spree/v2/storefront/base_serializer.rb +9 -0
  33. data/app/serializers/spree/v2/storefront/cart_serializer.rb +40 -0
  34. data/app/serializers/spree/v2/storefront/country_serializer.rb +18 -0
  35. data/app/serializers/spree/v2/storefront/image_serializer.rb +11 -0
  36. data/app/serializers/spree/v2/storefront/line_item_serializer.rb +17 -0
  37. data/app/serializers/spree/v2/storefront/option_type_serializer.rb +13 -0
  38. data/app/serializers/spree/v2/storefront/option_value_serializer.rb +11 -0
  39. data/app/serializers/spree/v2/storefront/payment_method_serializer.rb +11 -0
  40. data/app/serializers/spree/v2/storefront/payment_serializer.rb +12 -0
  41. data/app/serializers/spree/v2/storefront/product_property_serializer.rb +14 -0
  42. data/app/serializers/spree/v2/storefront/product_serializer.rb +35 -0
  43. data/app/serializers/spree/v2/storefront/promotion_serializer.rb +12 -0
  44. data/app/serializers/spree/v2/storefront/shipment_serializer.rb +16 -0
  45. data/app/serializers/spree/v2/storefront/shipping_rate_serializer.rb +14 -0
  46. data/app/serializers/spree/v2/storefront/state_serializer.rb +11 -0
  47. data/app/serializers/spree/v2/storefront/taxon_image_serializer.rb +11 -0
  48. data/app/serializers/spree/v2/storefront/taxon_serializer.rb +28 -0
  49. data/app/serializers/spree/v2/storefront/taxonomy_serializer.rb +11 -0
  50. data/app/serializers/spree/v2/storefront/user_serializer.rb +11 -0
  51. data/app/serializers/spree/v2/storefront/variant_serializer.rb +21 -0
  52. data/app/views/spree/api/v1/orders/order.v1.rabl +1 -1
  53. data/config/initializers/doorkeeper.rb +20 -0
  54. data/config/locales/en.yml +4 -0
  55. data/config/routes.rb +51 -3
  56. data/db/migrate/20180320110726_create_doorkeeper_tables.rb +69 -0
  57. data/docs/oauth/index.yml +77 -0
  58. data/docs/v2/storefront/index.yaml +2444 -0
  59. data/lib/spree/api/engine.rb +9 -2
  60. data/lib/spree_api.rb +2 -0
  61. data/spree_api.gemspec +5 -1
  62. metadata +92 -7
@@ -20,7 +20,7 @@ module Spree
20
20
  initializer 'spree.api.versioncake' do |_app|
21
21
  VersionCake.setup do |config|
22
22
  config.resources do |r|
23
- r.resource %r{.*}, [], [], [1]
23
+ r.resource %r{.*}, [], [], [1, 2]
24
24
  end
25
25
 
26
26
  config.missing_version = 1
@@ -28,6 +28,13 @@ module Spree
28
28
  end
29
29
  end
30
30
 
31
+ # sets the manifests / assets to be precompiled, even when initialize_on_precompile is false
32
+ initializer 'spree.assets.precompile', group: :all do |app|
33
+ app.config.assets.precompile += %w[
34
+ spree/api/all*
35
+ ]
36
+ end
37
+
31
38
  initializer 'spree.api.environment', before: :load_config_initializers do |_app|
32
39
  Spree::Api::Config = Spree::ApiConfiguration.new
33
40
  end
@@ -40,7 +47,7 @@ module Spree
40
47
  config.to_prepare &method(:activate).to_proc
41
48
 
42
49
  def self.root
43
- @root ||= Pathname.new(File.expand_path('../../../../', __FILE__))
50
+ @root ||= Pathname.new(File.expand_path('../../..', __dir__))
44
51
  end
45
52
  end
46
53
  end
data/lib/spree_api.rb CHANGED
@@ -1,3 +1,5 @@
1
1
  require 'spree/api'
2
2
  require 'spree/api/responders'
3
3
  require 'versioncake'
4
+ require 'fast_jsonapi'
5
+ require 'doorkeeper'
data/spree_api.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.homepage = 'http://spreecommerce.org'
10
10
  s.license = 'BSD-3-Clause'
11
11
 
12
- s.required_ruby_version = '>= 2.2.7'
12
+ s.required_ruby_version = '>= 2.3.0'
13
13
 
14
14
  s.files = `git ls-files`.split($\).reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
15
15
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -17,7 +17,11 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ["lib"]
18
18
  s.version = Spree.version
19
19
 
20
+ s.add_development_dependency 'jsonapi-rspec'
21
+
20
22
  s.add_dependency 'spree_core', s.version
21
23
  s.add_dependency 'rabl', '~> 0.13.1'
22
24
  s.add_dependency 'versioncake', '~> 3.4.0'
25
+ s.add_dependency 'fast_jsonapi', '~> 1.5'
26
+ s.add_dependency 'doorkeeper', '~> 5.0'
23
27
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.6
4
+ version: 3.7.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-06 00:00:00.000000000 Z
11
+ date: 2019-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jsonapi-rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: spree_core
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - '='
18
32
  - !ruby/object:Gem::Version
19
- version: 3.6.6
33
+ version: 3.7.0.rc1
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - '='
25
39
  - !ruby/object:Gem::Version
26
- version: 3.6.6
40
+ version: 3.7.0.rc1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rabl
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,34 @@ dependencies:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: 3.4.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: fast_jsonapi
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.5'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.5'
83
+ - !ruby/object:Gem::Dependency
84
+ name: doorkeeper
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5.0'
55
97
  description: Spree's API
56
98
  email:
57
99
  - ryan@spreecommerce.com
@@ -63,7 +105,11 @@ files:
63
105
  - Gemfile
64
106
  - LICENSE
65
107
  - Rakefile
108
+ - app/assets/javascripts/spree/api/main.js
109
+ - app/assets/javascripts/spree/api/storefront/cart.js
110
+ - app/controllers/concerns/spree/api/v2/storefront/order_concern.rb
66
111
  - app/controllers/spree/api/base_controller.rb
112
+ - app/controllers/spree/api/errors_controller.rb
67
113
  - app/controllers/spree/api/v1/addresses_controller.rb
68
114
  - app/controllers/spree/api/v1/checkouts_controller.rb
69
115
  - app/controllers/spree/api/v1/classifications_controller.rb
@@ -95,10 +141,45 @@ files:
95
141
  - app/controllers/spree/api/v1/users_controller.rb
96
142
  - app/controllers/spree/api/v1/variants_controller.rb
97
143
  - app/controllers/spree/api/v1/zones_controller.rb
144
+ - app/controllers/spree/api/v2/base_controller.rb
145
+ - app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
146
+ - app/controllers/spree/api/v2/storefront/account_controller.rb
147
+ - app/controllers/spree/api/v2/storefront/cart_controller.rb
148
+ - app/controllers/spree/api/v2/storefront/checkout_controller.rb
149
+ - app/controllers/spree/api/v2/storefront/countries_controller.rb
150
+ - app/controllers/spree/api/v2/storefront/products_controller.rb
151
+ - app/controllers/spree/api/v2/storefront/taxons_controller.rb
98
152
  - app/helpers/spree/api/api_helpers.rb
153
+ - app/helpers/spree/api/v2/collection_options_helpers.rb
99
154
  - app/models/concerns/spree/user_api_authentication.rb
100
155
  - app/models/concerns/spree/user_api_methods.rb
156
+ - app/models/doorkeeper/access_grant_decorator.rb
157
+ - app/models/doorkeeper/access_token_decorator.rb
158
+ - app/models/doorkeeper/application_decorator.rb
101
159
  - app/models/spree/api_configuration.rb
160
+ - app/serializers/spree/v2/storefront/account/credit_card_serializer.rb
161
+ - app/serializers/spree/v2/storefront/account_serializer.rb
162
+ - app/serializers/spree/v2/storefront/address_serializer.rb
163
+ - app/serializers/spree/v2/storefront/base_serializer.rb
164
+ - app/serializers/spree/v2/storefront/cart_serializer.rb
165
+ - app/serializers/spree/v2/storefront/country_serializer.rb
166
+ - app/serializers/spree/v2/storefront/image_serializer.rb
167
+ - app/serializers/spree/v2/storefront/line_item_serializer.rb
168
+ - app/serializers/spree/v2/storefront/option_type_serializer.rb
169
+ - app/serializers/spree/v2/storefront/option_value_serializer.rb
170
+ - app/serializers/spree/v2/storefront/payment_method_serializer.rb
171
+ - app/serializers/spree/v2/storefront/payment_serializer.rb
172
+ - app/serializers/spree/v2/storefront/product_property_serializer.rb
173
+ - app/serializers/spree/v2/storefront/product_serializer.rb
174
+ - app/serializers/spree/v2/storefront/promotion_serializer.rb
175
+ - app/serializers/spree/v2/storefront/shipment_serializer.rb
176
+ - app/serializers/spree/v2/storefront/shipping_rate_serializer.rb
177
+ - app/serializers/spree/v2/storefront/state_serializer.rb
178
+ - app/serializers/spree/v2/storefront/taxon_image_serializer.rb
179
+ - app/serializers/spree/v2/storefront/taxon_serializer.rb
180
+ - app/serializers/spree/v2/storefront/taxonomy_serializer.rb
181
+ - app/serializers/spree/v2/storefront/user_serializer.rb
182
+ - app/serializers/spree/v2/storefront/variant_serializer.rb
102
183
  - app/views/spree/api/errors/gateway_error.v1.rabl
103
184
  - app/views/spree/api/errors/invalid_api_key.v1.rabl
104
185
  - app/views/spree/api/errors/invalid_resource.v1.rabl
@@ -196,6 +277,7 @@ files:
196
277
  - app/views/spree/api/v1/variants/small.v1.rabl
197
278
  - app/views/spree/api/v1/zones/index.v1.rabl
198
279
  - app/views/spree/api/v1/zones/show.v1.rabl
280
+ - config/initializers/doorkeeper.rb
199
281
  - config/initializers/metal_load_paths.rb
200
282
  - config/initializers/user_class_extensions.rb
201
283
  - config/locales/en.yml
@@ -204,6 +286,9 @@ files:
204
286
  - db/migrate/20120411123334_resize_api_key_field.rb
205
287
  - db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb
206
288
  - db/migrate/20131017162334_add_index_to_user_spree_api_key.rb
289
+ - db/migrate/20180320110726_create_doorkeeper_tables.rb
290
+ - docs/oauth/index.yml
291
+ - docs/v2/storefront/index.yaml
207
292
  - lib/spree/api.rb
208
293
  - lib/spree/api/controller_setup.rb
209
294
  - lib/spree/api/engine.rb
@@ -228,12 +313,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
228
313
  requirements:
229
314
  - - ">="
230
315
  - !ruby/object:Gem::Version
231
- version: 2.2.7
316
+ version: 2.3.0
232
317
  required_rubygems_version: !ruby/object:Gem::Requirement
233
318
  requirements:
234
- - - ">="
319
+ - - ">"
235
320
  - !ruby/object:Gem::Version
236
- version: '0'
321
+ version: 1.3.1
237
322
  requirements: []
238
323
  rubyforge_project:
239
324
  rubygems_version: 2.7.6