Я разрабатываю REST API Rails, используя JSONAPI::Resources. А некоторые ресурсы по умолчанию должны отправлять только записи, созданные в текущем году, но клиентское приложение также должно иметь возможность переопределить это поведение, чтобы получить более старые записи.
Я уже пытался добиться этого, создав этот пользовательский фильтр для ресурсов:
filter :current_year,
apply: ->(records, value, _options) {
if value[0] == 'true'
records.where("date_part('year', created_at) = date_part('year', CURRENT_DATE)")
else
records
end
}
Но с этим настраиваемым фильтром клиентское приложение всегда должно отправлять строку запроса filter[current_year]=true
при каждом запросе, а я не хочу, чтобы это происходило.
Короче говоря, API всегда должен фильтровать записи по текущему году, а клиентское приложение должно иметь возможность отправлять фильтр для получения более старых записей.
Как я могу это сделать?