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.
- checksums.yaml +4 -4
- data/app/controllers/spree/api/v2/base_controller.rb +12 -12
- data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +24 -1
- data/app/helpers/spree/api/v2/store_media_serializer_images_concern.rb +3 -7
- data/app/jobs/spree/products/queue_status_changed_webhook_job.rb +12 -0
- data/app/models/spree/oauth_access_grant.rb +1 -1
- data/app/models/spree/oauth_access_token.rb +1 -1
- data/app/models/spree/oauth_application.rb +1 -1
- data/app/models/spree/order/webhooks.rb +1 -1
- data/app/models/spree/payment/webhooks.rb +1 -1
- data/app/models/spree/product/webhooks.rb +1 -1
- data/app/models/spree/shipment/webhooks.rb +1 -1
- data/app/models/spree/stock_item/webhooks.rb +1 -1
- data/app/models/spree/stock_movement/webhooks.rb +1 -1
- data/app/models/spree/variant/webhooks.rb +1 -1
- data/app/models/spree/webhooks/base.rb +1 -1
- data/app/serializers/concerns/spree/api/v2/resource_serializer_concern.rb +1 -0
- data/app/serializers/spree/api/v2/platform/payment_source_serializer.rb +12 -0
- data/app/serializers/spree/api/v2/platform/reimbursement_serializer.rb +1 -0
- data/app/serializers/spree/api/v2/platform/store_serializer.rb +0 -1
- data/app/serializers/spree/api/v2/platform/taxon_serializer.rb +8 -0
- data/app/serializers/spree/v2/storefront/cart_serializer.rb +29 -1
- data/app/serializers/spree/v2/storefront/estimated_shipping_rate_serializer.rb +7 -1
- data/app/serializers/spree/v2/storefront/payment_serializer.rb +5 -2
- data/app/serializers/spree/v2/storefront/payment_source_serializer.rb +10 -0
- data/app/serializers/spree/v2/storefront/product_serializer.rb +3 -0
- data/app/serializers/spree/v2/storefront/shipping_rate_serializer.rb +11 -1
- data/app/serializers/spree/v2/storefront/store_serializer.rb +0 -3
- data/app/serializers/spree/v2/storefront/taxon_serializer.rb +13 -1
- data/app/serializers/spree/v2/storefront/user_serializer.rb +10 -8
- data/app/services/spree/products/queue_status_changed_webhook.rb +17 -0
- data/config/routes.rb +1 -8
- data/lib/spree/api/dependencies.rb +2 -4
- data/lib/spree/api/testing_support/v2/current_order.rb +10 -5
- metadata +10 -55
- data/.gitignore +0 -17
- data/Gemfile +0 -5
- data/app/controllers/spree/api/v2/platform/cms_pages_controller.rb +0 -19
- data/app/controllers/spree/api/v2/platform/cms_sections_controller.rb +0 -29
- data/app/controllers/spree/api/v2/platform/menu_items_controller.rb +0 -21
- data/app/controllers/spree/api/v2/platform/menus_controller.rb +0 -19
- data/app/controllers/spree/api/v2/storefront/cms_pages_controller.rb +0 -41
- data/app/controllers/spree/api/v2/storefront/menus_controller.rb +0 -35
- data/app/serializers/spree/api/v2/platform/cms_page_serializer.rb +0 -13
- data/app/serializers/spree/api/v2/platform/cms_section_image_one_serializer.rb +0 -9
- data/app/serializers/spree/api/v2/platform/cms_section_image_three_serializer.rb +0 -9
- data/app/serializers/spree/api/v2/platform/cms_section_image_two_serializer.rb +0 -9
- data/app/serializers/spree/api/v2/platform/cms_section_serializer.rb +0 -18
- data/app/serializers/spree/api/v2/platform/feature_page_serializer.rb +0 -11
- data/app/serializers/spree/api/v2/platform/hero_image_serializer.rb +0 -10
- data/app/serializers/spree/api/v2/platform/homepage_serializer.rb +0 -11
- data/app/serializers/spree/api/v2/platform/icon_serializer.rb +0 -16
- data/app/serializers/spree/api/v2/platform/image_gallery_serializer.rb +0 -10
- data/app/serializers/spree/api/v2/platform/menu_item_serializer.rb +0 -45
- data/app/serializers/spree/api/v2/platform/menu_serializer.rb +0 -13
- data/app/serializers/spree/api/v2/platform/side_by_side_image_serializer.rb +0 -10
- data/app/serializers/spree/api/v2/platform/standard_page_serializer.rb +0 -11
- data/app/serializers/spree/v2/storefront/cms_page_serializer.rb +0 -14
- data/app/serializers/spree/v2/storefront/cms_section_serializer.rb +0 -32
- data/app/serializers/spree/v2/storefront/icon_serializer.rb +0 -14
- data/app/serializers/spree/v2/storefront/menu_item_serializer.rb +0 -43
- data/app/serializers/spree/v2/storefront/menu_serializer.rb +0 -13
- data/app/services/spree/api/error_handler.rb +0 -41
- data/brakeman.ignore +0 -7
- data/lib/spree/api/testing_support/caching.rb +0 -10
- data/lib/spree/api/testing_support/jobs.rb +0 -18
- data/script/rails +0 -9
- data/spec/fixtures/files/icon_256x256.jpg +0 -0
- data/spec/fixtures/thinking-cat.jpg +0 -0
- 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
|
+
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:
|
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:
|
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:
|
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/
|
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/
|
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/
|
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
data/Gemfile
DELETED
@@ -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,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,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,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,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,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
|