class API::StatisticsController < API::ApiController
  before_action :authenticate_user!

  def index
    authorize :statistic, :index?
    @statistics = StatisticIndex.all
  end

  %w(account event machine project subscription training user).each do |path|
    class_eval %{
      def #{path}
        authorize :statistic, :#{path}?
        query = MultiJson.load(request.body.read)
        results = Stats::#{path.classify}.search(query, request.query_parameters.symbolize_keys).response
        render json: results
      end
    }
  end
end