diff --git a/app/controllers/admin/api/base_controller.rb b/app/controllers/admin/api/base_controller.rb new file mode 100644 index 000000000..8e8cd4138 --- /dev/null +++ b/app/controllers/admin/api/base_controller.rb @@ -0,0 +1,3 @@ +class Admin::Api::BaseController < Admin::BaseController + protect_from_forgery with: :null_session +end diff --git a/app/controllers/api/stats_controller.rb b/app/controllers/admin/api/stats_controller.rb similarity index 89% rename from app/controllers/api/stats_controller.rb rename to app/controllers/admin/api/stats_controller.rb index fc0bf3563..dfedb1c54 100644 --- a/app/controllers/api/stats_controller.rb +++ b/app/controllers/admin/api/stats_controller.rb @@ -1,4 +1,4 @@ -class Api::StatsController < Api::ApiController +class Admin::Api::StatsController < Admin::Api::BaseController def show unless params[:events].present? || params[:visits].present? diff --git a/app/controllers/api/api_controller.rb b/app/controllers/api/api_controller.rb deleted file mode 100644 index a7d0c1ea7..000000000 --- a/app/controllers/api/api_controller.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Api::ApiController < ApplicationController - before_action :authenticate_user! - protect_from_forgery with: :null_session - - skip_authorization_check - before_action :verify_administrator - - private - - def verify_administrator - raise CanCan::AccessDenied unless current_user.try(:administrator?) - end -end diff --git a/app/helpers/stats_helper.rb b/app/helpers/stats_helper.rb index b852afe9c..5116b60dd 100644 --- a/app/helpers/stats_helper.rb +++ b/app/helpers/stats_helper.rb @@ -3,14 +3,14 @@ module StatsHelper def events_chart_tag(events, opt={}) events = events.join(',') if events.is_a? Array opt[:data] ||= {} - opt[:data][:graph] = api_stats_path(events: events) + opt[:data][:graph] = admin_api_stats_path(events: events) content_tag :div, "", opt end def visits_chart_tag(opt={}) events = events.join(',') if events.is_a? Array opt[:data] ||= {} - opt[:data][:graph] = api_stats_path(visits: true) + opt[:data][:graph] = admin_api_stats_path(visits: true) content_tag :div, "", opt end diff --git a/config/routes.rb b/config/routes.rb index 6d214f7d6..cad3050a9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -115,6 +115,10 @@ Rails.application.routes.draw do resource :activity, controller: :activity, only: :show resource :stats, only: :show + + namespace :api do + resource :stats, only: :show + end end namespace :moderation do @@ -155,9 +159,7 @@ Rails.application.routes.draw do end end - namespace :api do - resource :stats, only: [:show] - end + # Example of regular route: # get 'products/:id' => 'catalog#view' diff --git a/spec/controllers/api/stats_controller_spec.rb b/spec/controllers/admin/api/stats_controller_spec.rb similarity index 98% rename from spec/controllers/api/stats_controller_spec.rb rename to spec/controllers/admin/api/stats_controller_spec.rb index a2fcb36ad..e28bd3591 100644 --- a/spec/controllers/api/stats_controller_spec.rb +++ b/spec/controllers/admin/api/stats_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -describe Api::StatsController do +describe Admin::Api::StatsController do describe 'GET index' do let(:user) { create(:administrator).user }