spree_api 4.10.1 → 5.0.0.rc1

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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spree/api/v2/base_controller.rb +12 -12
  3. data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +24 -1
  4. data/app/helpers/spree/api/v2/store_media_serializer_images_concern.rb +3 -7
  5. data/app/jobs/spree/products/queue_status_changed_webhook_job.rb +12 -0
  6. data/app/models/spree/oauth_access_grant.rb +1 -1
  7. data/app/models/spree/oauth_access_token.rb +1 -1
  8. data/app/models/spree/oauth_application.rb +1 -1
  9. data/app/models/spree/order/webhooks.rb +1 -1
  10. data/app/models/spree/payment/webhooks.rb +1 -1
  11. data/app/models/spree/product/webhooks.rb +1 -1
  12. data/app/models/spree/shipment/webhooks.rb +1 -1
  13. data/app/models/spree/stock_item/webhooks.rb +1 -1
  14. data/app/models/spree/stock_movement/webhooks.rb +1 -1
  15. data/app/models/spree/variant/webhooks.rb +1 -1
  16. data/app/models/spree/webhooks/base.rb +1 -1
  17. data/app/serializers/concerns/spree/api/v2/resource_serializer_concern.rb +1 -0
  18. data/app/serializers/spree/api/v2/platform/payment_source_serializer.rb +12 -0
  19. data/app/serializers/spree/api/v2/platform/reimbursement_serializer.rb +1 -0
  20. data/app/serializers/spree/api/v2/platform/store_serializer.rb +0 -1
  21. data/app/serializers/spree/api/v2/platform/taxon_serializer.rb +8 -0
  22. data/app/serializers/spree/v2/storefront/cart_serializer.rb +29 -1
  23. data/app/serializers/spree/v2/storefront/estimated_shipping_rate_serializer.rb +7 -1
  24. data/app/serializers/spree/v2/storefront/payment_serializer.rb +5 -2
  25. data/app/serializers/spree/v2/storefront/payment_source_serializer.rb +10 -0
  26. data/app/serializers/spree/v2/storefront/product_serializer.rb +3 -0
  27. data/app/serializers/spree/v2/storefront/shipping_rate_serializer.rb +11 -1
  28. data/app/serializers/spree/v2/storefront/store_serializer.rb +0 -3
  29. data/app/serializers/spree/v2/storefront/taxon_serializer.rb +13 -1
  30. data/app/serializers/spree/v2/storefront/user_serializer.rb +10 -8
  31. data/app/services/spree/products/queue_status_changed_webhook.rb +17 -0
  32. data/config/routes.rb +1 -8
  33. data/lib/spree/api/dependencies.rb +2 -4
  34. data/lib/spree/api/testing_support/v2/current_order.rb +10 -5
  35. metadata +10 -55
  36. data/.gitignore +0 -17
  37. data/Gemfile +0 -5
  38. data/app/controllers/spree/api/v2/platform/cms_pages_controller.rb +0 -19
  39. data/app/controllers/spree/api/v2/platform/cms_sections_controller.rb +0 -29
  40. data/app/controllers/spree/api/v2/platform/menu_items_controller.rb +0 -21
  41. data/app/controllers/spree/api/v2/platform/menus_controller.rb +0 -19
  42. data/app/controllers/spree/api/v2/storefront/cms_pages_controller.rb +0 -41
  43. data/app/controllers/spree/api/v2/storefront/menus_controller.rb +0 -35
  44. data/app/serializers/spree/api/v2/platform/cms_page_serializer.rb +0 -13
  45. data/app/serializers/spree/api/v2/platform/cms_section_image_one_serializer.rb +0 -9
  46. data/app/serializers/spree/api/v2/platform/cms_section_image_three_serializer.rb +0 -9
  47. data/app/serializers/spree/api/v2/platform/cms_section_image_two_serializer.rb +0 -9
  48. data/app/serializers/spree/api/v2/platform/cms_section_serializer.rb +0 -18
  49. data/app/serializers/spree/api/v2/platform/feature_page_serializer.rb +0 -11
  50. data/app/serializers/spree/api/v2/platform/hero_image_serializer.rb +0 -10
  51. data/app/serializers/spree/api/v2/platform/homepage_serializer.rb +0 -11
  52. data/app/serializers/spree/api/v2/platform/icon_serializer.rb +0 -16
  53. data/app/serializers/spree/api/v2/platform/image_gallery_serializer.rb +0 -10
  54. data/app/serializers/spree/api/v2/platform/menu_item_serializer.rb +0 -45
  55. data/app/serializers/spree/api/v2/platform/menu_serializer.rb +0 -13
  56. data/app/serializers/spree/api/v2/platform/side_by_side_image_serializer.rb +0 -10
  57. data/app/serializers/spree/api/v2/platform/standard_page_serializer.rb +0 -11
  58. data/app/serializers/spree/v2/storefront/cms_page_serializer.rb +0 -14
  59. data/app/serializers/spree/v2/storefront/cms_section_serializer.rb +0 -32
  60. data/app/serializers/spree/v2/storefront/icon_serializer.rb +0 -14
  61. data/app/serializers/spree/v2/storefront/menu_item_serializer.rb +0 -43
  62. data/app/serializers/spree/v2/storefront/menu_serializer.rb +0 -13
  63. data/app/services/spree/api/error_handler.rb +0 -41
  64. data/brakeman.ignore +0 -7
  65. data/lib/spree/api/testing_support/caching.rb +0 -10
  66. data/lib/spree/api/testing_support/jobs.rb +0 -18
  67. data/script/rails +0 -9
  68. data/spec/fixtures/files/icon_256x256.jpg +0 -0
  69. data/spec/fixtures/thinking-cat.jpg +0 -0
  70. data/spree_api.gemspec +0 -35
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.10.1
4
+ version: 5.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
@@ -10,22 +10,8 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-09-06 00:00:00.000000000 Z
13
+ date: 2025-04-01 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: i18n-tasks
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: '0'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: jsonapi-rspec
31
17
  requirement: !ruby/object:Gem::Requirement
@@ -116,14 +102,14 @@ dependencies:
116
102
  requirements:
117
103
  - - '='
118
104
  - !ruby/object:Gem::Version
119
- version: 4.10.1
105
+ version: 5.0.0.rc1
120
106
  type: :runtime
121
107
  prerelease: false
122
108
  version_requirements: !ruby/object:Gem::Requirement
123
109
  requirements:
124
110
  - - '='
125
111
  - !ruby/object:Gem::Version
126
- version: 4.10.1
112
+ version: 5.0.0.rc1
127
113
  description: Spree's API
128
114
  email:
129
115
  - hello@spreecommerce.org
@@ -131,8 +117,6 @@ executables: []
131
117
  extensions: []
132
118
  extra_rdoc_files: []
133
119
  files:
134
- - ".gitignore"
135
- - Gemfile
136
120
  - LICENSE.md
137
121
  - Rakefile
138
122
  - app/controllers/concerns/spree/api/v2/caching.rb
@@ -149,15 +133,11 @@ files:
149
133
  - app/controllers/spree/api/v2/platform/addresses_controller.rb
150
134
  - app/controllers/spree/api/v2/platform/adjustments_controller.rb
151
135
  - app/controllers/spree/api/v2/platform/classifications_controller.rb
152
- - app/controllers/spree/api/v2/platform/cms_pages_controller.rb
153
- - app/controllers/spree/api/v2/platform/cms_sections_controller.rb
154
136
  - app/controllers/spree/api/v2/platform/countries_controller.rb
155
137
  - app/controllers/spree/api/v2/platform/data_feeds_controller.rb
156
138
  - app/controllers/spree/api/v2/platform/digital_links_controller.rb
157
139
  - app/controllers/spree/api/v2/platform/digitals_controller.rb
158
140
  - app/controllers/spree/api/v2/platform/line_items_controller.rb
159
- - app/controllers/spree/api/v2/platform/menu_items_controller.rb
160
- - app/controllers/spree/api/v2/platform/menus_controller.rb
161
141
  - app/controllers/spree/api/v2/platform/option_types_controller.rb
162
142
  - app/controllers/spree/api/v2/platform/option_values_controller.rb
163
143
  - app/controllers/spree/api/v2/platform/orders_controller.rb
@@ -197,10 +177,8 @@ files:
197
177
  - app/controllers/spree/api/v2/storefront/account_controller.rb
198
178
  - app/controllers/spree/api/v2/storefront/cart_controller.rb
199
179
  - app/controllers/spree/api/v2/storefront/checkout_controller.rb
200
- - app/controllers/spree/api/v2/storefront/cms_pages_controller.rb
201
180
  - app/controllers/spree/api/v2/storefront/countries_controller.rb
202
181
  - app/controllers/spree/api/v2/storefront/digitals_controller.rb
203
- - app/controllers/spree/api/v2/storefront/menus_controller.rb
204
182
  - app/controllers/spree/api/v2/storefront/order_status_controller.rb
205
183
  - app/controllers/spree/api/v2/storefront/products_controller.rb
206
184
  - app/controllers/spree/api/v2/storefront/stores_controller.rb
@@ -210,6 +188,7 @@ files:
210
188
  - app/helpers/spree/api/v2/collection_options_helpers.rb
211
189
  - app/helpers/spree/api/v2/display_money_helper.rb
212
190
  - app/helpers/spree/api/v2/store_media_serializer_images_concern.rb
191
+ - app/jobs/spree/products/queue_status_changed_webhook_job.rb
213
192
  - app/jobs/spree/webhooks/subscribers/make_request_job.rb
214
193
  - app/models/concerns/spree/user_api_authentication.rb
215
194
  - app/models/concerns/spree/user_api_methods.rb
@@ -240,28 +219,16 @@ files:
240
219
  - app/serializers/spree/api/v2/platform/base_serializer.rb
241
220
  - app/serializers/spree/api/v2/platform/calculator_serializer.rb
242
221
  - app/serializers/spree/api/v2/platform/classification_serializer.rb
243
- - app/serializers/spree/api/v2/platform/cms_page_serializer.rb
244
- - app/serializers/spree/api/v2/platform/cms_section_image_one_serializer.rb
245
- - app/serializers/spree/api/v2/platform/cms_section_image_three_serializer.rb
246
- - app/serializers/spree/api/v2/platform/cms_section_image_two_serializer.rb
247
- - app/serializers/spree/api/v2/platform/cms_section_serializer.rb
248
222
  - app/serializers/spree/api/v2/platform/country_serializer.rb
249
223
  - app/serializers/spree/api/v2/platform/credit_card_serializer.rb
250
224
  - app/serializers/spree/api/v2/platform/customer_return_serializer.rb
251
225
  - app/serializers/spree/api/v2/platform/data_feed_serializer.rb
252
226
  - app/serializers/spree/api/v2/platform/digital_link_serializer.rb
253
227
  - app/serializers/spree/api/v2/platform/digital_serializer.rb
254
- - app/serializers/spree/api/v2/platform/feature_page_serializer.rb
255
- - app/serializers/spree/api/v2/platform/hero_image_serializer.rb
256
- - app/serializers/spree/api/v2/platform/homepage_serializer.rb
257
- - app/serializers/spree/api/v2/platform/icon_serializer.rb
258
- - app/serializers/spree/api/v2/platform/image_gallery_serializer.rb
259
228
  - app/serializers/spree/api/v2/platform/image_serializer.rb
260
229
  - app/serializers/spree/api/v2/platform/inventory_unit_serializer.rb
261
230
  - app/serializers/spree/api/v2/platform/line_item_serializer.rb
262
231
  - app/serializers/spree/api/v2/platform/log_entry_serializer.rb
263
- - app/serializers/spree/api/v2/platform/menu_item_serializer.rb
264
- - app/serializers/spree/api/v2/platform/menu_serializer.rb
265
232
  - app/serializers/spree/api/v2/platform/option_type_serializer.rb
266
233
  - app/serializers/spree/api/v2/platform/option_value_serializer.rb
267
234
  - app/serializers/spree/api/v2/platform/order_promotion_serializer.rb
@@ -269,6 +236,7 @@ files:
269
236
  - app/serializers/spree/api/v2/platform/payment_capture_event_serializer.rb
270
237
  - app/serializers/spree/api/v2/platform/payment_method_serializer.rb
271
238
  - app/serializers/spree/api/v2/platform/payment_serializer.rb
239
+ - app/serializers/spree/api/v2/platform/payment_source_serializer.rb
272
240
  - app/serializers/spree/api/v2/platform/price_serializer.rb
273
241
  - app/serializers/spree/api/v2/platform/product_property_serializer.rb
274
242
  - app/serializers/spree/api/v2/platform/product_serializer.rb
@@ -292,8 +260,6 @@ files:
292
260
  - app/serializers/spree/api/v2/platform/shipping_category_serializer.rb
293
261
  - app/serializers/spree/api/v2/platform/shipping_method_serializer.rb
294
262
  - app/serializers/spree/api/v2/platform/shipping_rate_serializer.rb
295
- - app/serializers/spree/api/v2/platform/side_by_side_image_serializer.rb
296
- - app/serializers/spree/api/v2/platform/standard_page_serializer.rb
297
263
  - app/serializers/spree/api/v2/platform/state_change_serializer.rb
298
264
  - app/serializers/spree/api/v2/platform/state_serializer.rb
299
265
  - app/serializers/spree/api/v2/platform/stock_item_serializer.rb
@@ -321,22 +287,18 @@ files:
321
287
  - app/serializers/spree/v2/storefront/address_serializer.rb
322
288
  - app/serializers/spree/v2/storefront/base_serializer.rb
323
289
  - app/serializers/spree/v2/storefront/cart_serializer.rb
324
- - app/serializers/spree/v2/storefront/cms_page_serializer.rb
325
- - app/serializers/spree/v2/storefront/cms_section_serializer.rb
326
290
  - app/serializers/spree/v2/storefront/country_serializer.rb
327
291
  - app/serializers/spree/v2/storefront/credit_card_serializer.rb
328
292
  - app/serializers/spree/v2/storefront/digital_link_serializer.rb
329
293
  - app/serializers/spree/v2/storefront/estimated_shipping_rate_serializer.rb
330
- - app/serializers/spree/v2/storefront/icon_serializer.rb
331
294
  - app/serializers/spree/v2/storefront/image_serializer.rb
332
295
  - app/serializers/spree/v2/storefront/line_item_serializer.rb
333
- - app/serializers/spree/v2/storefront/menu_item_serializer.rb
334
- - app/serializers/spree/v2/storefront/menu_serializer.rb
335
296
  - app/serializers/spree/v2/storefront/option_type_serializer.rb
336
297
  - app/serializers/spree/v2/storefront/option_value_serializer.rb
337
298
  - app/serializers/spree/v2/storefront/order_serializer.rb
338
299
  - app/serializers/spree/v2/storefront/payment_method_serializer.rb
339
300
  - app/serializers/spree/v2/storefront/payment_serializer.rb
301
+ - app/serializers/spree/v2/storefront/payment_source_serializer.rb
340
302
  - app/serializers/spree/v2/storefront/product_property_serializer.rb
341
303
  - app/serializers/spree/v2/storefront/product_serializer.rb
342
304
  - app/serializers/spree/v2/storefront/promotion_serializer.rb
@@ -358,11 +320,10 @@ files:
358
320
  - app/serializers/spree/v2/storefront/variant_serializer.rb
359
321
  - app/serializers/spree/v2/storefront/wished_item_serializer.rb
360
322
  - app/serializers/spree/v2/storefront/wishlist_serializer.rb
361
- - app/services/spree/api/error_handler.rb
323
+ - app/services/spree/products/queue_status_changed_webhook.rb
362
324
  - app/services/spree/webhooks/subscribers/handle_request.rb
363
325
  - app/services/spree/webhooks/subscribers/make_request.rb
364
326
  - app/services/spree/webhooks/subscribers/queue_requests.rb
365
- - brakeman.ignore
366
327
  - config/i18n-tasks.yml
367
328
  - config/initializers/doorkeeper.rb
368
329
  - config/initializers/json_api_mime_types.rb
@@ -385,12 +346,10 @@ files:
385
346
  - lib/spree/api/configuration.rb
386
347
  - lib/spree/api/dependencies.rb
387
348
  - lib/spree/api/engine.rb
388
- - lib/spree/api/testing_support/caching.rb
389
349
  - lib/spree/api/testing_support/factories.rb
390
350
  - lib/spree/api/testing_support/factories/oauth_application_factory.rb
391
351
  - lib/spree/api/testing_support/factories/webhook_event_factory.rb
392
352
  - lib/spree/api/testing_support/factories/webhook_subscriber_factory.rb
393
- - lib/spree/api/testing_support/jobs.rb
394
353
  - lib/spree/api/testing_support/matchers/webhooks.rb
395
354
  - lib/spree/api/testing_support/serializers.rb
396
355
  - lib/spree/api/testing_support/spree_webhooks.rb
@@ -399,19 +358,15 @@ files:
399
358
  - lib/spree/api/testing_support/v2/platform_contexts.rb
400
359
  - lib/spree/api/testing_support/v2/serializers_params.rb
401
360
  - lib/spree_api.rb
402
- - script/rails
403
- - spec/fixtures/files/icon_256x256.jpg
404
- - spec/fixtures/thinking-cat.jpg
405
- - spree_api.gemspec
406
361
  homepage: https://spreecommerce.org
407
362
  licenses:
408
363
  - AGPL-3.0-or-later
409
364
  - BSD-3-Clause
410
365
  metadata:
411
366
  bug_tracker_uri: https://github.com/spree/spree/issues
412
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.10.1
367
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.0.0.rc1
413
368
  documentation_uri: https://docs.spreecommerce.org/
414
- source_code_uri: https://github.com/spree/spree/tree/v4.10.1
369
+ source_code_uri: https://github.com/spree/spree/tree/v5.0.0.rc1
415
370
  post_install_message:
416
371
  rdoc_options: []
417
372
  require_paths:
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- eval_gemfile('../common_spree_dependencies.rb')
2
-
3
- gem 'spree_core', path: '../core'
4
-
5
- gemspec
@@ -1,19 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsPagesController < ResourceController
6
- private
7
-
8
- def model_class
9
- Spree::CmsPage
10
- end
11
-
12
- def scope_includes
13
- [:cms_sections]
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,29 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsSectionsController < ResourceController
6
- private
7
-
8
- def model_class
9
- Spree::CmsSection
10
- end
11
-
12
- def spree_permitted_attributes
13
- stored_attributes = []
14
-
15
- Spree::CmsSection::TYPES.each do |type|
16
- type.constantize.stored_attributes.each do |_name, values|
17
- values.each do |value|
18
- stored_attributes << value
19
- end
20
- end
21
- end
22
-
23
- super + stored_attributes.compact.uniq!
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,21 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class MenuItemsController < ResourceController
6
- include ::Spree::Api::V2::Platform::NestedSetRepositionConcern
7
-
8
- private
9
-
10
- def model_class
11
- Spree::MenuItem
12
- end
13
-
14
- def spree_permitted_attributes
15
- super + [:new_parent_id, :new_position_idx]
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,19 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class MenusController < ResourceController
6
- private
7
-
8
- def model_class
9
- Spree::Menu
10
- end
11
-
12
- def scope_includes
13
- [:menu_items]
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,41 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Storefront
5
- class CmsPagesController < ::Spree::Api::V2::ResourceController
6
- private
7
-
8
- def model_class
9
- Spree::CmsPage
10
- end
11
-
12
- def resource
13
- @resource ||= scope.find_by(slug: params[:id]) || scope.find(params[:id])
14
- end
15
-
16
- def resource_serializer
17
- Spree::Api::Dependencies.storefront_cms_page_serializer.constantize
18
- end
19
-
20
- def collection_serializer
21
- Spree::Api::Dependencies.storefront_cms_page_serializer.constantize
22
- end
23
-
24
- def collection_finder
25
- Spree::Api::Dependencies.storefront_cms_page_finder.constantize
26
- end
27
-
28
- def scope
29
- super.by_locale(I18n.locale)
30
- end
31
-
32
- def scope_includes
33
- {
34
- cms_sections: :linked_resource
35
- }
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,35 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Storefront
5
- class MenusController < ::Spree::Api::V2::ResourceController
6
- private
7
-
8
- def resource_serializer
9
- Spree::Api::Dependencies.storefront_menu_serializer.constantize
10
- end
11
-
12
- def collection_serializer
13
- Spree::Api::Dependencies.storefront_menu_serializer.constantize
14
- end
15
-
16
- def collection_finder
17
- Spree::Api::Dependencies.storefront_menu_finder.constantize
18
- end
19
-
20
- def model_class
21
- Spree::Menu
22
- end
23
-
24
- def scope
25
- super.by_locale(I18n.locale)
26
- end
27
-
28
- def scope_includes
29
- { menu_items: [:children, :parent, :icon] }
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,13 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsPageSerializer < BaseSerializer
6
- include ResourceSerializerConcern
7
-
8
- has_many :cms_sections, serializer: :cms_section
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,9 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsSectionImageOneSerializer < AssetSerializer; end
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsSectionImageThreeSerializer < AssetSerializer; end
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsSectionImageTwoSerializer < AssetSerializer; end
6
- end
7
- end
8
- end
9
- end
@@ -1,18 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class CmsSectionSerializer < BaseSerializer
6
- include ResourceSerializerConcern
7
-
8
- belongs_to :cms_page, serializer: :cms_page
9
- belongs_to :linked_resource, polymorphic: {
10
- Spree::Cms::Pages::StandardPage => :cms_page,
11
- Spree::Cms::Pages::FeaturePage => :cms_page,
12
- Spree::Cms::Pages::Homepage => :cms_page
13
- }
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,11 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class FeaturePageSerializer < CmsPageSerializer
6
- # Place holder serializer for Webhooks.
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class HeroImageSerializer < CmsSectionSerializer
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class HomepageSerializer < CmsPageSerializer
6
- # Place holder serializer for Webhooks.
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,16 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class IconSerializer < BaseSerializer
6
- set_type :icon
7
-
8
- attribute :url do |icon|
9
- url_helpers = Rails.application.routes.url_helpers
10
- url_helpers.polymorphic_url(icon.attachment, only_path: true)
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,10 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class ImageGallerySerializer < CmsSectionSerializer
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,45 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class MenuItemSerializer < BaseSerializer
6
- include ResourceSerializerConcern
7
-
8
- attributes :link
9
-
10
- attribute :is_container do |menu_item|
11
- menu_item.container?
12
- end
13
-
14
- attribute :is_root do |menu_item|
15
- menu_item.root?
16
- end
17
-
18
- attribute :is_child do |menu_item|
19
- menu_item.child?
20
- end
21
-
22
- attribute :is_leaf do |menu_item|
23
- menu_item.leaf?
24
- end
25
-
26
- has_one :icon,
27
- object_method_name: :icon,
28
- id_method_name: :icon_id,
29
- record_type: :icon,
30
- serializer: :icon
31
-
32
- belongs_to :menu, serializer: :menu
33
- belongs_to :parent, record_type: :menu_item, serializer: :menu_item
34
- belongs_to :linked_resource, polymorphic: {
35
- Spree::Cms::Pages::StandardPage => :cms_page,
36
- Spree::Cms::Pages::FeaturePage => :cms_page,
37
- Spree::Cms::Pages::Homepage => :cms_page
38
- }
39
-
40
- has_many :children, record_type: :menu_item, serializer: :menu_item
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,13 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class MenuSerializer < BaseSerializer
6
- include ResourceSerializerConcern
7
-
8
- has_many :menu_items
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,10 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class SideBySideImageSerializer < CmsSectionSerializer
6
- end
7
- end
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Platform
5
- class StandardPageSerializer < CmsPageSerializer
6
- # Place holder serializer for Webhooks.
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,14 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class CmsPageSerializer < BaseSerializer
5
- set_type :cms_page
6
-
7
- attributes :title, :content, :locale, :meta_description, :meta_title,
8
- :slug, :type
9
-
10
- has_many :cms_sections, serializer: :cms_section
11
- end
12
- end
13
- end
14
- end
@@ -1,32 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class CmsSectionSerializer < BaseSerializer
5
- set_type :cms_section
6
-
7
- attributes :name, :content, :settings, :link, :fit, :type, :position
8
-
9
- Spree::CmsSectionImage::IMAGE_COUNT.each do |count|
10
- Spree::CmsSectionImage::IMAGE_SIZE.each do |size|
11
- attribute "img_#{count}_#{size}".to_sym do |section|
12
- if section.send("image_#{count}")&.attachment&.attached? && section.send("img_#{count}_#{size}").present?
13
- url_helpers = Rails.application.routes.url_helpers
14
- url_helpers.rails_representation_path(section.send("img_#{count}_#{size}"), only_path: true)
15
- end
16
- end
17
- end
18
- end
19
-
20
- attribute :is_fullscreen do |section|
21
- section.fullscreen?
22
- end
23
-
24
- belongs_to :linked_resource, polymorphic: {
25
- Spree::Cms::Pages::StandardPage => :cms_page,
26
- Spree::Cms::Pages::FeaturePage => :cms_page,
27
- Spree::Cms::Pages::Homepage => :cms_page
28
- }
29
- end
30
- end
31
- end
32
- end