spree_api 4.2.3.1 → 4.3.0.rc2
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/Rakefile +14 -1
- data/app/controllers/concerns/spree/api/v2/caching.rb +33 -0
- data/app/controllers/concerns/spree/api/v2/product_list_includes.rb +23 -0
- data/app/controllers/spree/api/v1/classifications_controller.rb +4 -3
- data/app/controllers/spree/api/v1/orders_controller.rb +5 -1
- data/app/controllers/spree/api/v1/products_controller.rb +2 -2
- data/app/controllers/spree/api/v1/taxonomies_controller.rb +1 -1
- data/app/controllers/spree/api/v2/base_controller.rb +29 -6
- data/app/controllers/spree/api/v2/platform/addresses_controller.rb +19 -0
- data/app/controllers/spree/api/v2/platform/classifications_controller.rb +43 -0
- data/app/controllers/spree/api/v2/platform/cms_pages_controller.rb +15 -0
- data/app/controllers/spree/api/v2/platform/cms_sections_controller.rb +34 -0
- data/app/controllers/spree/api/v2/platform/countries_controller.rb +19 -0
- data/app/controllers/spree/api/v2/platform/menu_items_controller.rb +35 -0
- data/app/controllers/spree/api/v2/platform/menus_controller.rb +19 -0
- data/app/controllers/spree/api/v2/platform/option_types_controller.rb +15 -0
- data/app/controllers/spree/api/v2/platform/option_values_controller.rb +19 -0
- data/app/controllers/spree/api/v2/platform/products_controller.rb +33 -0
- data/app/controllers/spree/api/v2/platform/resource_controller.rb +112 -0
- data/app/controllers/spree/api/v2/platform/taxons_controller.rb +30 -0
- data/app/controllers/spree/api/v2/platform/users_controller.rb +28 -0
- data/app/controllers/spree/api/v2/resource_controller.rb +24 -7
- data/app/controllers/spree/api/v2/storefront/account/addresses_controller.rb +2 -14
- data/app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb +13 -11
- data/app/controllers/spree/api/v2/storefront/account/orders_controller.rb +6 -2
- data/app/controllers/spree/api/v2/storefront/account_controller.rb +32 -1
- data/app/controllers/spree/api/v2/storefront/cart_controller.rb +28 -6
- data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +2 -1
- data/app/controllers/spree/api/v2/storefront/cms_pages_controller.rb +41 -0
- data/app/controllers/spree/api/v2/storefront/countries_controller.rb +9 -14
- data/app/controllers/spree/api/v2/storefront/menus_controller.rb +35 -0
- data/app/controllers/spree/api/v2/storefront/order_status_controller.rb +1 -1
- data/app/controllers/spree/api/v2/storefront/products_controller.rb +10 -12
- data/app/controllers/spree/api/v2/storefront/stores_controller.rb +1 -1
- data/app/controllers/spree/api/v2/storefront/taxons_controller.rb +7 -8
- data/app/helpers/spree/api/v2/display_money_helper.rb +2 -2
- data/app/models/spree/api_configuration.rb +4 -1
- data/app/models/spree/api_dependencies.rb +20 -5
- data/app/serializers/concerns/spree/api/v2/resource_serializer_concern.rb +16 -0
- data/app/serializers/spree/api/v2/base_serializer.rb +32 -0
- data/app/serializers/spree/api/v2/platform/address_serializer.rb +15 -0
- data/app/serializers/spree/api/v2/platform/base_serializer.rb +10 -0
- data/app/serializers/spree/api/v2/platform/classification_serializer.rb +14 -0
- data/app/serializers/spree/api/v2/platform/cms_page_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/cms_section_serializer.rb +11 -0
- data/app/serializers/spree/api/v2/platform/country_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/image_serializer.rb +15 -0
- data/app/serializers/spree/api/v2/platform/menu_item_serializer.rb +27 -0
- data/app/serializers/spree/api/v2/platform/menu_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/option_type_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/option_value_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/product_property_serializer.rb +11 -0
- data/app/serializers/spree/api/v2/platform/product_serializer.rb +78 -0
- data/app/serializers/spree/api/v2/platform/state_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/stock_item_serializer.rb +20 -0
- data/app/serializers/spree/api/v2/platform/stock_location_serializer.rb +16 -0
- data/app/serializers/spree/api/v2/platform/store_serializer.rb +14 -0
- data/app/serializers/spree/api/v2/platform/tax_category_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/taxon_image_serializer.rb +13 -0
- data/app/serializers/spree/api/v2/platform/taxon_serializer.rb +38 -0
- data/app/serializers/spree/api/v2/platform/taxonomy_serializer.rb +14 -0
- data/app/serializers/spree/api/v2/platform/user_serializer.rb +37 -0
- data/app/serializers/spree/api/v2/platform/variant_serializer.rb +57 -0
- data/app/serializers/spree/v2/storefront/base_serializer.rb +3 -2
- data/app/serializers/spree/v2/storefront/cms_page_serializer.rb +14 -0
- data/app/serializers/spree/v2/storefront/cms_section_serializer.rb +28 -0
- data/app/serializers/spree/v2/storefront/country_serializer.rb +4 -4
- data/app/serializers/spree/v2/storefront/estimated_shipping_rate_serializer.rb +2 -0
- data/app/serializers/spree/v2/storefront/menu_item_serializer.rb +43 -0
- data/app/serializers/spree/v2/storefront/menu_serializer.rb +13 -0
- data/app/serializers/spree/v2/storefront/product_property_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/product_serializer.rb +20 -11
- data/app/serializers/spree/v2/storefront/store_serializer.rb +10 -0
- data/app/serializers/spree/v2/storefront/taxon_serializer.rb +6 -5
- data/config/initializers/doorkeeper.rb +8 -1
- data/config/initializers/rabl.rb +9 -0
- data/config/locales/en.yml +1 -1
- data/config/routes.rb +115 -3
- data/db/migrate/20210727102516_change_integer_id_columns_type.rb +9 -0
- data/docs/oauth/index.yml +4 -4
- data/docs/v2/platform/index.yaml +2505 -0
- data/docs/v2/storefront/index.yaml +3508 -1220
- data/lib/spree/api/engine.rb +6 -17
- data/lib/spree/api/testing_support/v2/base.rb +1 -1
- data/lib/spree/api/testing_support/v2/platform_contexts.rb +214 -0
- data/lib/spree/api/testing_support/v2/serializers_params.rb +14 -0
- data/lib/spree/api.rb +1 -0
- data/spree_api.gemspec +6 -3
- metadata +110 -13
- data/app/assets/javascripts/spree/api/main.js +0 -36
- data/app/assets/javascripts/spree/api/storefront/cart.js +0 -49
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Api
|
|
3
|
+
module V2
|
|
4
|
+
module Platform
|
|
5
|
+
class VariantSerializer < BaseSerializer
|
|
6
|
+
include ::Spree::Api::V2::ResourceSerializerConcern
|
|
7
|
+
include ::Spree::Api::V2::DisplayMoneyHelper
|
|
8
|
+
|
|
9
|
+
attributes :name, :options_text, :total_on_hand
|
|
10
|
+
|
|
11
|
+
attribute :purchasable do |product|
|
|
12
|
+
product.purchasable?
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
attribute :in_stock do |product|
|
|
16
|
+
product.in_stock?
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
attribute :backorderable do |product|
|
|
20
|
+
product.backorderable?
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
attribute :available do |product|
|
|
24
|
+
product.available?
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
attribute :currency do |_product, params|
|
|
28
|
+
params[:currency]
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
attribute :price do |object, params|
|
|
32
|
+
price(object, params[:currency])
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
attribute :display_price do |object, params|
|
|
36
|
+
display_price(object, params[:currency])
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
attribute :compare_at_price do |object, params|
|
|
40
|
+
compare_at_price(object, params[:currency])
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
attribute :display_compare_at_price do |object, params|
|
|
44
|
+
display_compare_at_price(object, params[:currency])
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
belongs_to :product
|
|
48
|
+
belongs_to :tax_category
|
|
49
|
+
has_many :images
|
|
50
|
+
has_many :option_values
|
|
51
|
+
has_many :stock_items
|
|
52
|
+
has_many :stock_locations
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
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::CmsSection::IMAGE_COUNT.each do |count|
|
|
10
|
+
Spree::CmsSection::IMAGE_SIZE.each do |size|
|
|
11
|
+
attribute "img_#{count}_#{size}".to_sym do |section|
|
|
12
|
+
if section.send("image_#{count}").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: true
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -7,16 +7,16 @@ module Spree
|
|
|
7
7
|
attributes :iso, :iso3, :iso_name, :name, :states_required,
|
|
8
8
|
:zipcode_required
|
|
9
9
|
|
|
10
|
-
attribute :default do |object|
|
|
11
|
-
object.default?
|
|
10
|
+
attribute :default do |object, params|
|
|
11
|
+
object.default?(params[:store])
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
has_many :states, if: proc { |_record, params| params && params[:include_states] }
|
|
15
15
|
|
|
16
16
|
has_many :checkout_zone_applicable_states,
|
|
17
17
|
serializer: ::Spree::V2::Storefront::StateSerializer,
|
|
18
|
-
if: proc { |_record, params| params && params[:
|
|
19
|
-
params[:
|
|
18
|
+
if: proc { |_record, params| params && params[:store].present? } do |object, params|
|
|
19
|
+
params[:store].states_available_for_checkout(object)
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
end
|
|
@@ -0,0 +1,43 @@
|
|
|
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, :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 :image,
|
|
26
|
+
object_method_name: :icon,
|
|
27
|
+
id_method_name: :icon_id,
|
|
28
|
+
record_type: :image,
|
|
29
|
+
serializer: :image
|
|
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
|
|
@@ -47,20 +47,29 @@ module Spree
|
|
|
47
47
|
has_many :variants
|
|
48
48
|
has_many :option_types
|
|
49
49
|
has_many :product_properties
|
|
50
|
-
|
|
50
|
+
|
|
51
|
+
has_many :taxons, serializer: :taxon, record_type: :taxon do |object, params|
|
|
52
|
+
object.taxons_for_store(params[:store])
|
|
53
|
+
end
|
|
51
54
|
|
|
52
55
|
# all images from all variants
|
|
53
56
|
has_many :images,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
has_one
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
object_method_name: :variant_images,
|
|
58
|
+
id_method_name: :variant_image_ids,
|
|
59
|
+
record_type: :image,
|
|
60
|
+
serializer: :image
|
|
61
|
+
|
|
62
|
+
has_one :default_variant,
|
|
63
|
+
object_method_name: :default_variant,
|
|
64
|
+
id_method_name: :default_variant_id,
|
|
65
|
+
record_type: :variant,
|
|
66
|
+
serializer: :variant
|
|
67
|
+
|
|
68
|
+
has_one :primary_variant,
|
|
69
|
+
object_method_name: :master,
|
|
70
|
+
id_method_name: :master_id,
|
|
71
|
+
record_type: :variant,
|
|
72
|
+
serializer: :variant
|
|
64
73
|
end
|
|
65
74
|
end
|
|
66
75
|
end
|
|
@@ -8,7 +8,17 @@ module Spree
|
|
|
8
8
|
:twitter, :instagram, :default_locale, :customer_support_email, :default_country_id, :description,
|
|
9
9
|
:address, :contact_phone, :supported_locales
|
|
10
10
|
|
|
11
|
+
has_many :menus
|
|
12
|
+
has_many :cms_pages
|
|
13
|
+
|
|
11
14
|
has_one :default_country, serializer: :country, record_type: :country, id_method_name: :default_country_id
|
|
15
|
+
|
|
16
|
+
attribute :favicon_path do |store|
|
|
17
|
+
if store.favicon_image.attached?
|
|
18
|
+
url_helpers = Rails.application.routes.url_helpers
|
|
19
|
+
url_helpers.rails_representation_path(store.favicon, only_path: true)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
12
22
|
end
|
|
13
23
|
end
|
|
14
24
|
end
|
|
@@ -23,13 +23,14 @@ module Spree
|
|
|
23
23
|
belongs_to :taxonomy, record_type: :taxonomy
|
|
24
24
|
|
|
25
25
|
has_many :children, record_type: :taxon, serializer: :taxon
|
|
26
|
-
has_many :products, record_type: :product
|
|
26
|
+
has_many :products, record_type: :product,
|
|
27
|
+
if: proc { |_taxon, params| params && params[:include_products] == true }
|
|
27
28
|
|
|
28
29
|
has_one :image,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
object_method_name: :icon,
|
|
31
|
+
id_method_name: :icon_id,
|
|
32
|
+
record_type: :taxon_image,
|
|
33
|
+
serializer: :taxon_image
|
|
33
34
|
end
|
|
34
35
|
end
|
|
35
36
|
end
|
|
@@ -2,6 +2,7 @@ Doorkeeper.configure do
|
|
|
2
2
|
orm :active_record
|
|
3
3
|
use_refresh_token
|
|
4
4
|
api_only
|
|
5
|
+
base_controller 'ActionController::API'
|
|
5
6
|
|
|
6
7
|
skip_client_authentication_for_password_grant { true } if defined?(skip_client_authentication_for_password_grant)
|
|
7
8
|
|
|
@@ -23,9 +24,15 @@ Doorkeeper.configure do
|
|
|
23
24
|
current_spree_user&.has_spree_role?('admin') || redirect_to(routes.root_url)
|
|
24
25
|
end
|
|
25
26
|
|
|
26
|
-
grant_flows %w
|
|
27
|
+
grant_flows %w[password client_credentials]
|
|
28
|
+
|
|
29
|
+
allow_blank_redirect_uri true
|
|
30
|
+
|
|
31
|
+
handle_auth_errors :raise
|
|
27
32
|
|
|
28
33
|
access_token_methods :from_bearer_authorization, :from_access_token_param
|
|
34
|
+
|
|
35
|
+
optional_scopes :admin, :write, :read
|
|
29
36
|
end
|
|
30
37
|
|
|
31
38
|
Doorkeeper::AccessGrant.class_eval do
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Rabl.configure do |config|
|
|
2
|
+
config.include_json_root = false
|
|
3
|
+
config.include_child_root = false
|
|
4
|
+
|
|
5
|
+
# Motivation here it make it call as_json when rendering timestamps
|
|
6
|
+
# and therefore display miliseconds. Otherwise it would fall to
|
|
7
|
+
# JSON.dump which doesn't display the miliseconds
|
|
8
|
+
config.json_engine = ActiveSupport::JSON
|
|
9
|
+
end
|
data/config/locales/en.yml
CHANGED
|
@@ -26,7 +26,7 @@ en:
|
|
|
26
26
|
cannot_ready: "Cannot ready shipment."
|
|
27
27
|
stock_location_required: "A stock_location_id parameter must be provided in order to retrieve stock movements."
|
|
28
28
|
invalid_taxonomy_id: "Invalid taxonomy id."
|
|
29
|
-
shipment_transfer_errors_occurred: "Following errors
|
|
29
|
+
shipment_transfer_errors_occurred: "Following errors occurred while attempting this action:"
|
|
30
30
|
negative_quantity: "quantity is negative"
|
|
31
31
|
wrong_shipment_target: "target shipment is the same as original shipment"
|
|
32
32
|
|
data/config/routes.rb
CHANGED
|
@@ -128,7 +128,7 @@ Spree::Core::Engine.add_routes do
|
|
|
128
128
|
|
|
129
129
|
namespace :v2 do
|
|
130
130
|
namespace :storefront do
|
|
131
|
-
resource :cart, controller: :cart, only: %i[show create] do
|
|
131
|
+
resource :cart, controller: :cart, only: %i[show create destroy] do
|
|
132
132
|
post :add_item
|
|
133
133
|
patch :empty
|
|
134
134
|
delete 'remove_line_item/:line_item_id', to: 'cart#remove_line_item', as: :cart_remove_line_item
|
|
@@ -149,11 +149,11 @@ Spree::Core::Engine.add_routes do
|
|
|
149
149
|
get :shipping_rates
|
|
150
150
|
end
|
|
151
151
|
|
|
152
|
-
resource :account, controller: :account, only: %i[show]
|
|
152
|
+
resource :account, controller: :account, only: %i[show create update]
|
|
153
153
|
|
|
154
154
|
namespace :account do
|
|
155
155
|
resources :addresses, controller: :addresses
|
|
156
|
-
resources :credit_cards, controller: :credit_cards, only: %i[index show]
|
|
156
|
+
resources :credit_cards, controller: :credit_cards, only: %i[index show destroy]
|
|
157
157
|
resources :orders, controller: :orders, only: %i[index show]
|
|
158
158
|
end
|
|
159
159
|
|
|
@@ -163,6 +163,118 @@ Spree::Core::Engine.add_routes do
|
|
|
163
163
|
resources :products, only: %i[index show]
|
|
164
164
|
resources :taxons, only: %i[index show], id: /.+/
|
|
165
165
|
get '/stores/:code', to: 'stores#show', as: :store
|
|
166
|
+
|
|
167
|
+
resources :menus, only: %i[index show]
|
|
168
|
+
resources :cms_pages, only: %i[index show]
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
namespace :platform do
|
|
172
|
+
# Promotions API
|
|
173
|
+
resources :promotions
|
|
174
|
+
|
|
175
|
+
# Returns API
|
|
176
|
+
resources :customer_returns
|
|
177
|
+
resources :reimbursements
|
|
178
|
+
resources :return_authorizations do
|
|
179
|
+
member do
|
|
180
|
+
put :add
|
|
181
|
+
put :cancel
|
|
182
|
+
put :receive
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Product Catalog API
|
|
187
|
+
resources :products
|
|
188
|
+
resources :taxonomies
|
|
189
|
+
resources :taxons
|
|
190
|
+
resources :classifications do
|
|
191
|
+
member do
|
|
192
|
+
put :reposition
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
resources :images
|
|
196
|
+
resources :variants
|
|
197
|
+
resources :properties
|
|
198
|
+
resources :product_properties
|
|
199
|
+
resources :option_types
|
|
200
|
+
resources :option_values
|
|
201
|
+
|
|
202
|
+
# Order API
|
|
203
|
+
resources :orders do
|
|
204
|
+
member do
|
|
205
|
+
put :next
|
|
206
|
+
put :advance
|
|
207
|
+
put :approve
|
|
208
|
+
put :cancel
|
|
209
|
+
put :empty
|
|
210
|
+
put :apply_coupon_code
|
|
211
|
+
put :remove_coupon_code
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
resources :line_items
|
|
215
|
+
resources :payments do
|
|
216
|
+
member do
|
|
217
|
+
put :authorize
|
|
218
|
+
put :capture
|
|
219
|
+
put :purchase
|
|
220
|
+
put :void
|
|
221
|
+
put :credit
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# Geo API
|
|
226
|
+
resources :zones
|
|
227
|
+
resources :countries, only: [:index, :show]
|
|
228
|
+
resources :states, only: [:index, :show]
|
|
229
|
+
|
|
230
|
+
# Shipment API
|
|
231
|
+
resources :shipments do
|
|
232
|
+
collection do
|
|
233
|
+
post 'transfer_to_location'
|
|
234
|
+
post 'transfer_to_shipment'
|
|
235
|
+
end
|
|
236
|
+
member do
|
|
237
|
+
put :ready
|
|
238
|
+
put :ship
|
|
239
|
+
put :add
|
|
240
|
+
put :remove
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Inventory API
|
|
245
|
+
resources :inventory_units
|
|
246
|
+
resources :stock_items
|
|
247
|
+
resources :stock_locations
|
|
248
|
+
resources :stock_movements
|
|
249
|
+
|
|
250
|
+
# User API
|
|
251
|
+
resources :users
|
|
252
|
+
resources :credit_cards
|
|
253
|
+
resources :addresses
|
|
254
|
+
|
|
255
|
+
# Menu API
|
|
256
|
+
resources :menus
|
|
257
|
+
resource :menu_items do
|
|
258
|
+
member do
|
|
259
|
+
patch :reposition
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
# CMS Pages API
|
|
264
|
+
resources :cms_pages do
|
|
265
|
+
member do
|
|
266
|
+
patch :toggle_visibility
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
resource :cms_sections do
|
|
271
|
+
member do
|
|
272
|
+
patch :reposition
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Store API
|
|
277
|
+
resources :stores
|
|
166
278
|
end
|
|
167
279
|
end
|
|
168
280
|
|