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
@@ -1,14 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class IconSerializer < BaseSerializer
5
- set_type :icon
6
-
7
- attribute :url do |icon|
8
- url_helpers = Rails.application.routes.url_helpers
9
- url_helpers.polymorphic_url(icon.attachment, only_path: true)
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,43 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class MenuItemSerializer < BaseSerializer
5
- set_type :menu_item
6
-
7
- attributes :code, :name, :subtitle, :link, :destination, :item_type, :new_window, :lft, :rgt, :depth
8
-
9
- attribute :is_container do |menu_item|
10
- menu_item.container?
11
- end
12
-
13
- attribute :is_root do |menu_item|
14
- menu_item.root?
15
- end
16
-
17
- attribute :is_child do |menu_item|
18
- menu_item.child?
19
- end
20
-
21
- attribute :is_leaf do |menu_item|
22
- menu_item.leaf?
23
- end
24
-
25
- has_one :icon,
26
- object_method_name: :icon,
27
- id_method_name: :icon_id,
28
- record_type: :icon,
29
- serializer: :icon
30
-
31
- belongs_to :menu, serializer: :menu
32
- belongs_to :parent, record_type: :menu_item, serializer: :menu_item
33
- belongs_to :linked_resource, polymorphic: {
34
- Spree::Cms::Pages::StandardPage => :cms_page,
35
- Spree::Cms::Pages::FeaturePage => :cms_page,
36
- Spree::Cms::Pages::Homepage => :cms_page
37
- }
38
-
39
- has_many :children, record_type: :menu_item, serializer: :menu_item
40
- end
41
- end
42
- end
43
- end
@@ -1,13 +0,0 @@
1
- module Spree
2
- module V2
3
- module Storefront
4
- class MenuSerializer < BaseSerializer
5
- set_type :menu
6
-
7
- attributes :name, :location, :locale
8
-
9
- has_many :menu_items
10
- end
11
- end
12
- end
13
- end
@@ -1,41 +0,0 @@
1
- module Spree
2
- module Api
3
- class ErrorHandler
4
- prepend ::Spree::ServiceModule::Base
5
-
6
- def call(exception:, opts: {})
7
- run :format_message
8
- run :log_error
9
- run :report_error
10
- end
11
-
12
- protected
13
-
14
- def format_message(exception:, opts:)
15
- message = if exception.respond_to?(:original_message)
16
- exception.original_message
17
- else
18
- exception.message
19
- end
20
-
21
- success(exception: exception, message: message, opts: opts)
22
- end
23
-
24
- def log_error(exception:, message:, opts:)
25
- Rails.logger.error message
26
- Rails.logger.error "User ID: #{opts[:user]&.id}" if opts[:user]
27
- Rails.logger.error exception.backtrace.join("\n")
28
-
29
- success(exception: exception, message: message, opts: opts)
30
- end
31
-
32
- def report_error(exception:, message:, opts:)
33
- # overwrite this method in your application to support different error handlers
34
- # eg. Sentry, Rollbar, etc
35
- Sentry.capture_exception(exception) if defined?(Sentry)
36
-
37
- success(exception: exception, message: message)
38
- end
39
- end
40
- end
41
- end
data/brakeman.ignore DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "ignored_warnings": [
3
-
4
- ],
5
- "updated": "2022-12-29 09:29:46 +0100",
6
- "brakeman_version": "5.4.0"
7
- }
@@ -1,10 +0,0 @@
1
- RSpec.configure do |config|
2
- config.before(:each, caching: true) do
3
- ActionController::Base.perform_caching = true
4
- end
5
-
6
- config.after(:each, caching: true) do
7
- ActionController::Base.perform_caching = false
8
- Rails.cache.clear
9
- end
10
- end
@@ -1,18 +0,0 @@
1
- RSpec.configure do |config|
2
- # Force jobs to be executed in a synchronous way (see http://archive.today/xcb1E)
3
- config.around do |example|
4
- (ActiveJob::Base.descendants << ActiveJob::Base).each(&:disable_test_adapter)
5
- ActiveJob::Base.queue_adapter = :inline
6
- example.run
7
- (ActiveJob::Base.descendants << ActiveJob::Base).each { |a| a.enable_test_adapter(ActiveJob::QueueAdapters::TestAdapter.new) }
8
- ActiveJob::Base.queue_adapter = :test
9
- end
10
-
11
- config.before(:each, :job) do
12
- ActiveJob::Base.queue_adapter = :test
13
- end
14
-
15
- config.after(:each, :job) do
16
- ActiveJob::Base.queue_adapter = :inline
17
- end
18
- end
data/script/rails DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
- ENGINE_PATH = File.expand_path('../../lib/spree/api/engine', __FILE__)
6
-
7
- require 'rails/all'
8
- require 'rails/engine/commands'
9
-
Binary file
Binary file
data/spree_api.gemspec DELETED
@@ -1,35 +0,0 @@
1
- require_relative '../core/lib/spree/core/version'
2
-
3
- Gem::Specification.new do |s|
4
- s.name = 'spree_api'
5
- s.version = Spree.version
6
- s.authors = ['Ryan Bigg', 'Spark Solutions Sp. z o.o.', 'Vendo Connect Inc.']
7
- s.email = ['hello@spreecommerce.org']
8
- s.summary = %q{Spree's API}
9
- s.description = %q{Spree's API}
10
- s.homepage = 'https://spreecommerce.org'
11
- s.licenses = ['AGPL-3.0-or-later', 'BSD-3-Clause']
12
-
13
- s.metadata = {
14
- 'bug_tracker_uri' => 'https://github.com/spree/spree/issues',
15
- 'changelog_uri' => "https://github.com/spree/spree/releases/tag/v#{s.version}",
16
- 'documentation_uri' => 'https://docs.spreecommerce.org/',
17
- 'source_code_uri' => "https://github.com/spree/spree/tree/v#{s.version}",
18
- }
19
-
20
- s.required_ruby_version = '>= 3.0'
21
-
22
- s.files = `git ls-files`.split($\).reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
23
- s.executables = s.files.grep(%r{^bin/}).map { |f| File.basename(f) }
24
- s.require_paths = ['lib']
25
-
26
- s.add_development_dependency 'i18n-tasks'
27
- s.add_development_dependency 'jsonapi-rspec'
28
- s.add_development_dependency 'multi_json'
29
- s.add_development_dependency 'rswag-specs'
30
-
31
- s.add_dependency 'bcrypt', '~> 3.1'
32
- s.add_dependency 'doorkeeper', '~> 5.3'
33
- s.add_dependency 'jsonapi-serializer', '~> 2.1'
34
- s.add_dependency 'spree_core', s.version
35
- end