diff options
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/api_controller.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 6f83d89d6..8d7de3140 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -203,14 +203,28 @@ class ApiController < ApplicationController if since_date_str begin - since_date = Date.strptime(since_date_str, "%Y-%m-%d") + since_date = Date.strptime(since_date_str, "%Y-%m-%d") rescue ArgumentError + render :json => {"errors" => [ + "Parameter since_date must be in format yyyy-mm-dd (not '#{since_date_str}')" ] }, + :status => 500 + return + end + @events = @events.where("info_request_events.created_at >= ?", since_date) + end + + # We take a "since" parameter that allows the client + # to restrict to events more recent than a certain other event + if since_event_id + begin + event = InfoRequestEvent.find(since_event_id) + rescue ActiveRecord::RecordNotFound render :json => {"errors" => [ - "Parameter since_date must be in format yyyy-mm-dd (not '#{since_date_str}')" ] }, + "Event ID #{since_event_id} not found" ] }, :status => 500 return end - @events = @events.where("info_request_events.created_at >= ?", since_date) + @events = @events.where("info_request_events.created_at > ?", event.created_at) end # We take a "since" parameter that allows the client |