From 80bbd5d51332f036dc2710804963427730a6dbbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Turbelin?= Date: Fri, 24 Apr 2020 12:12:00 +0200 Subject: [PATCH] Adjust namespace and scope for routes --- .../api}/products_controller.rb | 13 ++++++++++--- engines/dfc_provider/config/routes.rb | 2 +- engines/dfc_provider/dfc_provider.gemspec | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) rename engines/dfc_provider/app/controllers/{api/dfc_provider => dfc_provider/api}/products_controller.rb (69%) diff --git a/engines/dfc_provider/app/controllers/api/dfc_provider/products_controller.rb b/engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb similarity index 69% rename from engines/dfc_provider/app/controllers/api/dfc_provider/products_controller.rb rename to engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb index a3b9e2e399..f6fc6fcc3c 100644 --- a/engines/dfc_provider/app/controllers/api/dfc_provider/products_controller.rb +++ b/engines/dfc_provider/app/controllers/dfc_provider/api/products_controller.rb @@ -1,10 +1,13 @@ # frozen_string_literal: true # Controller used to provide the API products for the DFC application -module Api - module DfcProvider - class ProductsController < Api::BaseController +module DfcProvider + module Api + class ProductsController < ::Api::BaseController + skip_before_filter :authenticate_user before_filter :set_enterprise + before_filter :authenticate_user + skip_authorization_check def index products = @enterprise. @@ -20,6 +23,10 @@ module Api private + def authenticate_user + @current_api_user = @enterprise.owner + end + def set_enterprise @enterprise = ::Enterprise.find(params[:enterprise_id]) end diff --git a/engines/dfc_provider/config/routes.rb b/engines/dfc_provider/config/routes.rb index 1d7ab6b87f..d716c6100d 100644 --- a/engines/dfc_provider/config/routes.rb +++ b/engines/dfc_provider/config/routes.rb @@ -2,7 +2,7 @@ DfcProvider::Engine.routes.draw do namespace :api do - namespace :dfc_provider do + scope :dfc_provider, as: :dfc_provider, path: '/dfc_provider' do resources :enterprises, only: :none do resources :products, only: %i[index] end diff --git a/engines/dfc_provider/dfc_provider.gemspec b/engines/dfc_provider/dfc_provider.gemspec index 4bf510bed5..bd3804e257 100644 --- a/engines/dfc_provider/dfc_provider.gemspec +++ b/engines/dfc_provider/dfc_provider.gemspec @@ -13,6 +13,6 @@ Gem::Specification.new do |s| s.email = ['admin@openfoodfrance.org'] s.summary = 'Provides an API stack implementing DFC semantic specifications' - s.files = Dir["{app,config,db,lib}/**/*"] + ['MIT-LICENSE', 'Rakefile', 'README.rdoc'] + s.files = Dir["{app,config,db,lib}/**/*"] + ['README.rdoc'] s.test_files = Dir['test/**/*'] end