adding some version reading for the nodes
This commit is contained in:
parent
56c972577b
commit
0ec26f14a0
2 changed files with 17 additions and 1 deletions
|
@ -43,6 +43,21 @@ class NodeController < ApplicationController
|
|||
render :nothing => true, :status => :not_found
|
||||
end
|
||||
end
|
||||
|
||||
# Dump a specific version of the node based on the given params[:id] and params[:version]
|
||||
def version
|
||||
begin
|
||||
node = Node.find(:first, :conditions => { :id => params[:id], :version => params[:version] } )
|
||||
if node.visible
|
||||
response.headers['Last-Modified'] = node.timestamp.rfc822
|
||||
render :text => node.to_xml.to_s, :content_type => "text/xml"
|
||||
else
|
||||
render :nothing => true, :status => :gone
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
end
|
||||
end
|
||||
|
||||
# Update a node from given XML
|
||||
def update
|
||||
|
|
|
@ -10,6 +10,7 @@ ActionController::Routing::Routes.draw do |map|
|
|||
map.connect "api/#{API_VERSION}/node/:id/ways", :controller => 'way', :action => 'ways_for_node', :id => /\d+/
|
||||
map.connect "api/#{API_VERSION}/node/:id/relations", :controller => 'relation', :action => 'relations_for_node', :id => /\d+/
|
||||
map.connect "api/#{API_VERSION}/node/:id/history", :controller => 'old_node', :action => 'history', :id => /\d+/
|
||||
map.connect "api/#{API_VERSION}/node/:id/:version", :controller => 'old_node', :action => 'version', :id => /\d+/, :version => /\d+/
|
||||
map.connect "api/#{API_VERSION}/node/:id", :controller => 'node', :action => 'read', :id => /\d+/, :conditions => { :method => :get }
|
||||
map.connect "api/#{API_VERSION}/node/:id", :controller => 'node', :action => 'update', :id => /\d+/, :conditions => { :method => :put }
|
||||
map.connect "api/#{API_VERSION}/node/:id", :controller => 'node', :action => 'delete', :id => /\d+/, :conditions => { :method => :delete }
|
||||
|
@ -59,7 +60,7 @@ ActionController::Routing::Routes.draw do |map|
|
|||
|
||||
# Potlatch API
|
||||
|
||||
map.connect "api/0.5/amf", :controller =>'amf', :action =>'talk'
|
||||
map.connect "api/#{API_VERSION}/amf", :controller =>'amf', :action =>'talk'
|
||||
map.connect "api/#{API_VERSION}/amf", :controller =>'amf', :action =>'talk'
|
||||
map.connect "api/#{API_VERSION}/swf/trackpoints", :controller =>'swf', :action =>'trackpoints'
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue