X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/283e7b975b5a80d3f3e8091ce83e8f89b33bb06c..3b0be171b9193c9939252f3e60a685dd1aa0af13:/config/routes.rb diff --git a/config/routes.rb b/config/routes.rb index 9cb3a63ed..0d6a51ad9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -30,18 +30,12 @@ OpenStreetMap::Application.routes.draw do post "changeset/comment/:id/hide" => "changeset_comments#destroy", :as => :changeset_comment_hide, :id => /\d+/ post "changeset/comment/:id/unhide" => "changeset_comments#restore", :as => :changeset_comment_unhide, :id => /\d+/ - put "node/create" => "nodes#create" get "node/:id/ways" => "ways#ways_for_node", :as => :node_ways, :id => /\d+/ get "node/:id/relations" => "relations#relations_for_node", :as => :node_relations, :id => /\d+/ get "node/:id/history" => "old_nodes#history", :as => :api_node_history, :id => /\d+/ post "node/:id/:version/redact" => "old_nodes#redact", :as => :node_version_redact, :version => /\d+/, :id => /\d+/ get "node/:id/:version" => "old_nodes#show", :as => :api_old_node, :id => /\d+/, :version => /\d+/ - get "node/:id" => "nodes#show", :as => :api_node, :id => /\d+/ - put "node/:id" => "nodes#update", :id => /\d+/ - delete "node/:id" => "nodes#delete", :id => /\d+/ - get "nodes" => "nodes#index" - put "way/create" => "ways#create" get "way/:id/history" => "old_ways#history", :as => :api_way_history, :id => /\d+/ get "way/:id/full" => "ways#full", :as => :way_full, :id => /\d+/ get "way/:id/relations" => "relations#relations_for_way", :as => :way_relations, :id => /\d+/ @@ -50,9 +44,7 @@ OpenStreetMap::Application.routes.draw do get "way/:id" => "ways#show", :as => :api_way, :id => /\d+/ put "way/:id" => "ways#update", :id => /\d+/ delete "way/:id" => "ways#delete", :id => /\d+/ - get "ways" => "ways#index" - put "relation/create" => "relations#create" get "relation/:id/relations" => "relations#relations_for_relation", :as => :relation_relations, :id => /\d+/ get "relation/:id/history" => "old_relations#history", :as => :api_relation_history, :id => /\d+/ get "relation/:id/full" => "relations#full", :as => :relation_full, :id => /\d+/ @@ -61,14 +53,23 @@ OpenStreetMap::Application.routes.draw do get "relation/:id" => "relations#show", :as => :api_relation, :id => /\d+/ put "relation/:id" => "relations#update", :id => /\d+/ delete "relation/:id" => "relations#delete", :id => /\d+/ - get "relations" => "relations#index" - - get "map" => "map#index" - - get "trackpoints" => "tracepoints#index" end namespace :api, :path => "api/0.6" do + resources :nodes, :only => [:index, :create] + resources :nodes, :path => "node", :id => /\d+/, :only => [:show, :update, :destroy] + put "node/create" => "nodes#create", :as => nil + + resources :ways, :only => [:index, :create] + put "way/create" => "ways#create", :as => nil + + resources :relations, :only => [:index, :create] + put "relation/create" => "relations#create", :as => nil + + resource :map, :only => :show + + resources :tracepoints, :path => "trackpoints", :only => :index + resources :users, :only => :index resources :users, :path => "user", :id => /\d+/, :only => :show resources :user_traces, :path => "user/gpx_files", :module => :users, :controller => :traces, :only => :index @@ -124,14 +125,16 @@ OpenStreetMap::Application.routes.draw do get "/relation/:id" => "relations#show", :id => /\d+/, :as => :relation get "/relation/:id/history" => "old_relations#index", :id => /\d+/, :as => :relation_history resources :old_relations, :path => "/relation/:id/history", :id => /\d+/, :version => /\d+/, :param => :version, :only => :show - resources :changesets, :path => "changeset", :id => /\d+/, :only => :show do - match :subscribe, :on => :member, :via => [:get, :post] - match :unsubscribe, :on => :member, :via => [:get, :post] + resources :changesets, :path => "changeset", :id => /\d+/, :only => :show do + resource :subscription, :controller => :changeset_subscriptions, :only => [:show, :create, :destroy] namespace :changeset_comments, :as => :comments, :path => :comments do resource :feed, :only => :show, :defaults => { :format => "rss" } end end + get "/changeset/:id/subscribe", :id => /\d+/, :to => redirect(:path => "/changeset/%{id}/subscription") + get "/changeset/:id/unsubscribe", :id => /\d+/, :to => redirect(:path => "/changeset/%{id}/subscription") + resources :notes, :path => "note", :id => /\d+/, :only => [:show, :new] get "/user/:display_name/history" => "changesets#index" @@ -211,30 +214,33 @@ OpenStreetMap::Application.routes.draw do post "/preview/:type" => "site#preview", :as => :preview # traces - resources :traces, :except => [:show] + resources :traces, :id => /\d+/, :except => [:show] do + resource :data, :module => :traces, :only => :show + end get "/user/:display_name/traces/tag/:tag/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/user/%{display_name}/traces/tag/%{tag}") get "/user/:display_name/traces/tag/:tag" => "traces#index" get "/user/:display_name/traces/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/user/%{display_name}/traces") get "/user/:display_name/traces" => "traces#index" - get "/user/:display_name/traces/tag/:tag/rss" => "traces#georss", :defaults => { :format => :rss } - get "/user/:display_name/traces/rss" => "traces#georss", :defaults => { :format => :rss } - get "/user/:display_name/traces/:id" => "traces#show", :as => "show_trace" - scope "/user/:display_name/traces/:trace_id", :module => :traces do + get "/user/:display_name/traces/:id" => "traces#show", :id => /\d+/, :as => "show_trace" + scope "/user/:display_name/traces/:trace_id", :module => :traces, :trace_id => /\d+/ do get "picture" => "pictures#show", :as => "trace_picture" get "icon" => "icons#show", :as => "trace_icon" end get "/traces/tag/:tag/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/traces/tag/%{tag}") get "/traces/tag/:tag" => "traces#index" get "/traces/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/traces") - get "/traces/tag/:tag/rss" => "traces#georss", :defaults => { :format => :rss } - get "/traces/rss" => "traces#georss", :defaults => { :format => :rss } get "/traces/mine/tag/:tag/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/traces/mine/tag/%{tag}") get "/traces/mine/tag/:tag" => "traces#mine" get "/traces/mine/page/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/traces/mine") get "/traces/mine" => "traces#mine" get "/trace/create", :to => redirect(:path => "/traces/new") - get "/trace/:id/data" => "traces#data", :id => /\d+/, :as => "trace_data" - get "/trace/:id/edit", :to => redirect(:path => "/traces/%{id}/edit") + get "/trace/:id/data", :format => false, :id => /\d+/, :to => redirect(:path => "/traces/%{id}/data") + get "/trace/:id/data.:format", :id => /\d+/, :to => redirect(:path => "/traces/%{id}/data.%{format}") + get "/trace/:id/edit", :id => /\d+/, :to => redirect(:path => "/traces/%{id}/edit") + + namespace :traces, :path => "" do + resource :feed, :path => "(/user/:display_name)/traces(/tag/:tag)/rss", :only => :show, :defaults => { :format => :rss } + end # diary pages resources :diary_entries, :path => "diary", :only => [:new, :create, :index] do @@ -246,8 +252,6 @@ OpenStreetMap::Application.routes.draw do get "/user/:display_name/diary/rss" => "diary_entries#rss", :defaults => { :format => :rss } get "/diary/:language/rss" => "diary_entries#rss", :defaults => { :format => :rss } get "/diary/rss" => "diary_entries#rss", :defaults => { :format => :rss } - get "/user/:display_name/diary/comments/:page", :page => /[1-9][0-9]*/, :to => redirect(:path => "/user/%{display_name}/diary/comments") - get "/user/:display_name/diary/comments" => "diary_comments#index", :as => :diary_comments get "/user/:display_name/diary" => "diary_entries#index" get "/diary/:language" => "diary_entries#index" scope "/user/:display_name" do @@ -266,15 +270,18 @@ OpenStreetMap::Application.routes.draw do # user pages get "/user/terms", :to => redirect(:path => "/account/terms") - resources :users, :path => "user", :param => :display_name, :only => [:new, :create, :show, :destroy] do + resources :users, :path => "user", :param => :display_name, :only => [:new, :create, :show] do resource :role, :controller => "user_roles", :path => "roles/:role", :only => [:create, :destroy] scope :module => :users do + resources :diary_comments, :only => :index + resources :changeset_comments, :only => :index resource :issued_blocks, :path => "blocks_by", :only => :show resource :received_blocks, :path => "blocks", :only => [:show, :edit, :destroy] + resource :status, :only => :update end end get "/user/:display_name/account", :to => redirect(:path => "/account/edit") - post "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user + get "/user/:display_name/diary/comments(/:page)", :page => /[1-9][0-9]*/, :to => redirect(:path => "/user/%{display_name}/diary_comments") resource :account, :only => [:edit, :update, :destroy] do scope :module => :accounts do @@ -289,8 +296,12 @@ OpenStreetMap::Application.routes.draw do resource :profile, :only => [:edit, :update] # friendships - match "/user/:display_name/make_friend" => "friendships#make_friend", :via => [:get, :post], :as => "make_friend" - match "/user/:display_name/remove_friend" => "friendships#remove_friend", :via => [:get, :post], :as => "remove_friend" + scope "/user/:display_name" do + resource :follow, :only => [:create, :destroy, :show], :path => "follow" + + get "make_friend", :to => redirect("/user/%{display_name}/follow") + get "remove_friend", :to => redirect("/user/%{display_name}/follow") + end # user lists namespace :users do @@ -312,10 +323,11 @@ OpenStreetMap::Application.routes.draw do # messages resources :messages, :path_names => { :new => "new/:display_name" }, :id => /\d+/, :only => [:new, :create, :show, :destroy] do - post :mark - patch :unmute - - resource :reply, :module => :messages, :path_names => { :new => "new" }, :only => :new + scope :module => :messages do + resource :reply, :path_names => { :new => "new" }, :only => :new + resource :read_mark, :only => [:create, :destroy] + resource :mute, :only => :destroy + end end namespace :messages, :path => "/messages" do resource :inbox, :only => :show