aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/api_controller.rb20
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