# Helper methods for checking consistency
include ConsistencyValidations
- DEFAULT_QUERY_LIMIT = 100
- MAX_QUERY_LIMIT = 100
-
##
# Return XML giving the basic info about the changeset. Does not
# return anything about the nodes, ways and relations in the changeset.
# Get the maximum number of results to return
def result_limit
if params[:limit]
- if params[:limit].to_i.positive? && params[:limit].to_i <= MAX_QUERY_LIMIT
+ if params[:limit].to_i.positive? && params[:limit].to_i <= Settings.max_changeset_query_limit
params[:limit].to_i
else
- raise OSM::APIBadUserInput, "Changeset limit must be between 1 and #{MAX_QUERY_LIMIT}"
+ raise OSM::APIBadUserInput, "Changeset limit must be between 1 and #{Settings.max_changeset_query_limit}"
end
else
- DEFAULT_QUERY_LIMIT
+ Settings.default_changeset_query_limit
end
end
end
api.tracepoints(:per_page => Settings.tracepoints_per_page)
api.waynodes(:maximum => Settings.max_number_of_way_nodes)
api.relationmembers(:maximum => Settings.max_number_of_relation_members)
- api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS)
+ api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS,
+ :default_query_limit => Settings.default_changeset_query_limit,
+ :maximum_query_limit => Settings.max_changeset_query_limit)
api.timeout(:seconds => Settings.api_timeout)
api.status(:database => @database_status,
:api => @api_status,
max_request_area: 0.25
# Number of GPS trace/trackpoints returned per-page
tracepoints_per_page: 5000
+# Default limit on the number of changesets returned by the changeset query api method
+default_changeset_query_limit: 100
+# Maximum limit on the number of changesets returned by the changeset query api method
+max_changeset_query_limit: 100
# Maximum number of nodes that will be returned by the api in a map request
max_number_of_nodes: 50000
# Maximum number of nodes that can be in a way (checked on save)
get changesets_path(:limit => "0")
assert_response :bad_request
- get changesets_path(:limit => "101")
+ get changesets_path(:limit => Settings.max_changeset_query_limit)
+ assert_response :success
+ assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1]
+
+ get changesets_path(:limit => Settings.max_changeset_query_limit + 1)
assert_response :bad_request
end