Move common query time condition to mixin
This commit is contained in:
parent
989b110bfc
commit
500c1bddf2
4 changed files with 67 additions and 51 deletions
|
@ -32,7 +32,7 @@ module Api
|
|||
changesets = conditions_bbox(changesets, bbox)
|
||||
changesets = conditions_user(changesets, params["user"], params["display_name"])
|
||||
changesets = conditions_time(changesets, params["time"])
|
||||
changesets = conditions_from_to(changesets, params["from"], params["to"])
|
||||
changesets = query_conditions_time(changesets)
|
||||
changesets = conditions_open(changesets, params["open"])
|
||||
changesets = conditions_closed(changesets, params["closed"])
|
||||
changesets = conditions_ids(changesets, params["changesets"])
|
||||
|
@ -339,33 +339,6 @@ module Api
|
|||
raise OSM::APIBadUserInput, e.message.to_s
|
||||
end
|
||||
|
||||
##
|
||||
# restrict changesets to those opened during a particular time period
|
||||
# works similar to from..to of notes controller, including the requirement of 'from' when specifying 'to'
|
||||
def conditions_from_to(changesets, from, to)
|
||||
if from
|
||||
begin
|
||||
from = Time.parse(from).utc
|
||||
rescue ArgumentError
|
||||
raise OSM::APIBadUserInput, "Date #{from} is in a wrong format"
|
||||
end
|
||||
|
||||
begin
|
||||
to = if to
|
||||
Time.parse(to).utc
|
||||
else
|
||||
Time.now.utc
|
||||
end
|
||||
rescue ArgumentError
|
||||
raise OSM::APIBadUserInput, "Date #{to} is in a wrong format"
|
||||
end
|
||||
|
||||
changesets.where(:created_at => from..to)
|
||||
else
|
||||
changesets
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# return changesets which are open (haven't been closed yet)
|
||||
# we do this by seeing if the 'closed at' time is in the future. Also if we've
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue