From f4743c08ac8a80fb7e20f5540fa405ce5efb7ff6 Mon Sep 17 00:00:00 2001 From: Steve Coast Date: Fri, 1 Dec 2006 09:51:18 +0000 Subject: [PATCH] nodes and segments plural API calls --- app/controllers/node_controller.rb | 14 ++++++++++++++ app/controllers/segment_controller.rb | 15 +++++++++++++++ config/routes.rb | 6 ++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app/controllers/node_controller.rb b/app/controllers/node_controller.rb index 5370306f3..5e5784e68 100644 --- a/app/controllers/node_controller.rb +++ b/app/controllers/node_controller.rb @@ -87,4 +87,18 @@ class NodeController < ApplicationController end + def nodes + response.headers["Content-Type"] = 'application/xml' + ids = params['nodes'].split(',').collect {|n| n.to_i } + if ids.length > 0 + nodelist = Node.find(ids) + doc = get_xml_doc + nodelist.each do |node| + doc.root << node.to_xml_node + end + render :text => doc.to_s + else + render :nothing => true, :status => 400 + end + end end diff --git a/app/controllers/segment_controller.rb b/app/controllers/segment_controller.rb index 9315bce77..048e599c3 100644 --- a/app/controllers/segment_controller.rb +++ b/app/controllers/segment_controller.rb @@ -80,4 +80,19 @@ class SegmentController < ApplicationController end + def segments + response.headers["Content-Type"] = 'application/xml' + ids = params['segments'].split(',').collect {|s| s.to_i } + if ids.length > 0 + segmentlist = Segment.find(ids) + doc = get_xml_doc + segmentlist.each do |segment| + doc.root << segment.to_xml_node + end + render :text => doc.to_s + else + render :nothing => true, :status => 400 + end + end + end diff --git a/config/routes.rb b/config/routes.rb index 33a6dc13a..e8cf82559 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,11 +5,13 @@ ActionController::Routing::Routes.draw do |map| map.connect "api/#{API_VERSION}/node/create", :controller => 'node', :action => 'create' map.connect "api/#{API_VERSION}/node/:id/history", :controller => 'old_node', :action => 'history', :id => nil map.connect "api/#{API_VERSION}/node/:id", :controller => 'node', :action => 'rest', :id => nil - + map.connect "api/#{API_VERSION}/nodes", :controller => 'node', :action => 'nodes', :id => nil + map.connect "api/#{API_VERSION}/segment/create", :controller => 'segment', :action => 'create' map.connect "api/#{API_VERSION}/segment/:id/history", :controller => 'old_segment', :action => 'history' map.connect "api/#{API_VERSION}/segment/:id", :controller => 'segment', :action => 'rest' - + map.connect "api/#{API_VERSION}/segments", :controller => 'segment', :action => 'segments', :id => nil + map.connect "api/#{API_VERSION}/way/create", :controller => 'way', :action => 'create' map.connect "api/#{API_VERSION}/way/:id/history", :controller => 'old_way', :action => 'history', :id => nil map.connect "api/#{API_VERSION}/way/:id", :controller => 'way', :action => 'rest', :id => nil -- 2.43.2