mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
99 lines
2.5 KiB
Ruby
99 lines
2.5 KiB
Ruby
Openfoodnetwork::Application.routes.draw do
|
|
mount Rswag::Ui::Engine => '/api-docs'
|
|
mount Rswag::Api::Engine => '/api-docs'
|
|
|
|
namespace :api do
|
|
|
|
# Mount DFC API endpoints
|
|
#
|
|
# The DFC prototype is still pointing to the old URL though:
|
|
mount DfcProvider::Engine, at: '/dfc-v1.6/', as: :legacy_dfc_provider_engine
|
|
mount DfcProvider::Engine, at: '/dfc-v1.7/', as: :v1_7_dfc_provider_engine
|
|
|
|
# Latest implemented version:
|
|
mount DfcProvider::Engine, at: '/dfc/'
|
|
|
|
namespace :v0 do
|
|
resources :products do
|
|
collection do
|
|
get :bulk_products
|
|
get :overridable
|
|
end
|
|
post :clone
|
|
|
|
resources :variants
|
|
end
|
|
|
|
resources :variants, :only => [:index]
|
|
|
|
resources :orders, only: [:index, :show, :update] do
|
|
member do
|
|
put :capture
|
|
put :ship
|
|
end
|
|
|
|
resources :shipments, :only => [:create, :update] do
|
|
member do
|
|
put :ready
|
|
put :ship
|
|
put :add
|
|
put :remove
|
|
end
|
|
end
|
|
end
|
|
|
|
resources :enterprises do
|
|
post :update_image, on: :member
|
|
|
|
resource :logo, only: [:destroy]
|
|
resource :promo_image, only: [:destroy]
|
|
resource :terms_and_conditions, only: [:destroy]
|
|
end
|
|
|
|
resources :shops, only: [:show] do
|
|
collection do
|
|
get :closed_shops
|
|
end
|
|
end
|
|
|
|
resources :order_cycles do
|
|
get :products, on: :member
|
|
get :taxons, on: :member
|
|
get :properties, on: :member
|
|
get :producer_properties, on: :member
|
|
end
|
|
|
|
resources :exchanges, only: [:show], to: 'exchange_products#index' do
|
|
get :products, to: 'exchange_products#index'
|
|
end
|
|
|
|
resource :status do
|
|
get :job_queue
|
|
end
|
|
|
|
resources :customers, only: [:index, :update]
|
|
|
|
resources :enterprise_fees, only: [:destroy]
|
|
|
|
post '/product_images/:product_id', to: 'product_images#update_product_image'
|
|
|
|
resources :states, :only => [:index, :show]
|
|
|
|
resources :taxons, except: %i[show edit]
|
|
|
|
get '/reports/:report_type(/:report_subtype)', to: 'reports#show',
|
|
constraints: lambda { |_| OpenFoodNetwork::FeatureToggle.enabled?(:api_reports) }
|
|
end
|
|
|
|
namespace :v1 do
|
|
resources :customers
|
|
|
|
resources :enterprises do
|
|
resources :customers, only: :index
|
|
end
|
|
end
|
|
|
|
match '*path', to: redirect(path: "/api/v0/%{path}"), via: :all, constraints: { path: /(?!v[0-9]).+/ }
|
|
end
|
|
end
|