ファイル
btrc-hub/backend/app/controllers/counts_tables_controller.rb
T
2026-10-28 00:28:29 +09:00

32 行
1.2 KiB
Ruby

class CountsTablesController < ApplicationController
def definition
resolve_locale!
definition = CountsResourceDefinition.new(params[:resource])
render json: { fields: definition.metadata,
output_fields: definition.output_fields,
filter_fields: definition.filter_metadata,
axes: { latest: definition.axes(false), history: definition.axes(true) },
grains: CountsAxes::GRAINS, defaults: CountsDefaults.metadata(params[:resource]) }
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
def candidates
resolve_locale!
render json: CountsCandidates.new(request.query_parameters.merge(
'resource' => request.path_parameters[:resource])).call
rescue ArgumentError, TypeError, KeyError
head :bad_request
end
end