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
|
@ -44,6 +44,21 @@ class NodeController < ApplicationController
|
||||||
end
|
end
|
||||||
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
|
# Update a node from given XML
|
||||||
def update
|
def update
|
||||||
begin
|
begin
|
||||||
|
|
|
@ -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/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/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/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 => '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 => 'update', :id => /\d+/, :conditions => { :method => :put }
|
||||||
map.connect "api/#{API_VERSION}/node/:id", :controller => 'node', :action => 'delete', :id => /\d+/, :conditions => { :method => :delete }
|
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
|
# 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}/amf", :controller =>'amf', :action =>'talk'
|
||||||
map.connect "api/#{API_VERSION}/swf/trackpoints", :controller =>'swf', :action =>'trackpoints'
|
map.connect "api/#{API_VERSION}/swf/trackpoints", :controller =>'swf', :action =>'trackpoints'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue