22 行
767 B
Ruby
22 行
767 B
Ruby
class CountsTablesController < ApplicationController
|
|
def definition
|
|
resolve_locale!
|
|
definition = CountsResourceDefinition.new(params[:resource])
|
|
render json: { fields: definition.metadata,
|
|
axes: { latest: definition.axes(false), history: definition.axes(true) },
|
|
grains: CountsAxes::GRAINS }
|
|
rescue ArgumentError
|
|
head :bad_request
|
|
end
|
|
|
|
def index
|
|
resolve_locale!
|
|
render json: CountsTableQuery.new(request.query_parameters).call
|
|
rescue CountsTableQuery::TooManyColumns
|
|
render json: { error: 'too_many_columns', max_columns: CountsTableQuery::MAX_COLUMNS },
|
|
status: :unprocessable_entity
|
|
rescue ArgumentError, TypeError, KeyError, JSON::ParserError
|
|
head :bad_request
|
|
end
|
|
end
|