]> git.openstreetmap.org Git - rails.git/blobdiff - config/routes.rb
Use factory_bot to build new model objects
[rails.git] / config / routes.rb
index d214c070c22f4621e810a8f2b045d3fbdbe02e37..ade101821541f4b58ef63ab086e87b75ea5cacb7 100644 (file)
@@ -1,4 +1,10 @@
 OpenStreetMap::Application.routes.draw do
+  use_doorkeeper :scope => "oauth2" do
+    controllers :authorizations => "oauth2_authorizations",
+                :applications => "oauth2_applications",
+                :authorized_applications => "oauth2_authorized_applications"
+  end
+
   # API
   namespace :api do
     get "capabilities" => "capabilities#show" # Deprecated, remove when 0.6 support is removed
@@ -10,47 +16,47 @@ OpenStreetMap::Application.routes.draw do
     get "permissions" => "api/permissions#show"
 
     put "changeset/create" => "api/changesets#create"
-    post "changeset/:id/upload" => "api/changesets#upload", :id => /\d+/
+    post "changeset/:id/upload" => "api/changesets#upload", :as => :changeset_upload, :id => /\d+/
     get "changeset/:id/download" => "api/changesets#download", :as => :changeset_download, :id => /\d+/
     get "changeset/:id" => "api/changesets#show", :as => :changeset_show, :id => /\d+/
     post "changeset/:id/subscribe" => "api/changesets#subscribe", :as => :changeset_subscribe, :id => /\d+/
     post "changeset/:id/unsubscribe" => "api/changesets#unsubscribe", :as => :changeset_unsubscribe, :id => /\d+/
     put "changeset/:id" => "api/changesets#update", :id => /\d+/
-    put "changeset/:id/close" => "api/changesets#close", :id => /\d+/
+    put "changeset/:id/close" => "api/changesets#close", :as => :changeset_close, :id => /\d+/
     get "changesets" => "api/changesets#query"
     post "changeset/:id/comment" => "api/changeset_comments#create", :as => :changeset_comment, :id => /\d+/
     post "changeset/comment/:id/hide" => "api/changeset_comments#destroy", :as => :changeset_comment_hide, :id => /\d+/
     post "changeset/comment/:id/unhide" => "api/changeset_comments#restore", :as => :changeset_comment_unhide, :id => /\d+/
 
     put "node/create" => "api/nodes#create"
-    get "node/:id/ways" => "api/ways#ways_for_node", :id => /\d+/
-    get "node/:id/relations" => "api/relations#relations_for_node", :id => /\d+/
-    get "node/:id/history" => "api/old_nodes#history", :id => /\d+/
-    post "node/:id/:version/redact" => "api/old_nodes#redact", :version => /\d+/, :id => /\d+/
-    get "node/:id/:version" => "api/old_nodes#version", :id => /\d+/, :version => /\d+/
-    get "node/:id" => "api/nodes#show", :id => /\d+/
+    get "node/:id/ways" => "api/ways#ways_for_node", :as => :node_ways, :id => /\d+/
+    get "node/:id/relations" => "api/relations#relations_for_node", :as => :node_relations, :id => /\d+/
+    get "node/:id/history" => "api/old_nodes#history", :as => :api_node_history, :id => /\d+/
+    post "node/:id/:version/redact" => "api/old_nodes#redact", :as => :node_version_redact, :version => /\d+/, :id => /\d+/
+    get "node/:id/:version" => "api/old_nodes#version", :as => :node_version, :id => /\d+/, :version => /\d+/
+    get "node/:id" => "api/nodes#show", :as => :api_node, :id => /\d+/
     put "node/:id" => "api/nodes#update", :id => /\d+/
     delete "node/:id" => "api/nodes#delete", :id => /\d+/
     get "nodes" => "api/nodes#index"
 
     put "way/create" => "api/ways#create"
-    get "way/:id/history" => "api/old_ways#history", :id => /\d+/
-    get "way/:id/full" => "api/ways#full", :id => /\d+/
-    get "way/:id/relations" => "api/relations#relations_for_way", :id => /\d+/
-    post "way/:id/:version/redact" => "api/old_ways#redact", :version => /\d+/, :id => /\d+/
-    get "way/:id/:version" => "api/old_ways#version", :id => /\d+/, :version => /\d+/
-    get "way/:id" => "api/ways#show", :id => /\d+/
+    get "way/:id/history" => "api/old_ways#history", :as => :api_way_history, :id => /\d+/
+    get "way/:id/full" => "api/ways#full", :as => :way_full, :id => /\d+/
+    get "way/:id/relations" => "api/relations#relations_for_way", :as => :way_relations, :id => /\d+/
+    post "way/:id/:version/redact" => "api/old_ways#redact", :as => :way_version_redact, :version => /\d+/, :id => /\d+/
+    get "way/:id/:version" => "api/old_ways#version", :as => :way_version, :id => /\d+/, :version => /\d+/
+    get "way/:id" => "api/ways#show", :as => :api_way, :id => /\d+/
     put "way/:id" => "api/ways#update", :id => /\d+/
     delete "way/:id" => "api/ways#delete", :id => /\d+/
     get "ways" => "api/ways#index"
 
     put "relation/create" => "api/relations#create"
-    get "relation/:id/relations" => "api/relations#relations_for_relation", :id => /\d+/
-    get "relation/:id/history" => "api/old_relations#history", :id => /\d+/
-    get "relation/:id/full" => "api/relations#full", :id => /\d+/
-    post "relation/:id/:version/redact" => "api/old_relations#redact", :version => /\d+/, :id => /\d+/
-    get "relation/:id/:version" => "api/old_relations#version", :id => /\d+/, :version => /\d+/
-    get "relation/:id" => "api/relations#show", :id => /\d+/
+    get "relation/:id/relations" => "api/relations#relations_for_relation", :as => :relation_relations, :id => /\d+/
+    get "relation/:id/history" => "api/old_relations#history", :as => :api_relation_history, :id => /\d+/
+    get "relation/:id/full" => "api/relations#full", :as => :relation_full, :id => /\d+/
+    post "relation/:id/:version/redact" => "api/old_relations#redact", :as => :relation_version_redact, :version => /\d+/, :id => /\d+/
+    get "relation/:id/:version" => "api/old_relations#version", :as => :relation_version, :id => /\d+/, :version => /\d+/
+    get "relation/:id" => "api/relations#show", :as => :api_relation, :id => /\d+/
     put "relation/:id" => "api/relations#update", :id => /\d+/
     delete "relation/:id" => "api/relations#delete", :id => /\d+/
     get "relations" => "api/relations#index"
@@ -59,29 +65,23 @@ OpenStreetMap::Application.routes.draw do
 
     get "trackpoints" => "api/tracepoints#index"
 
-    get "changes" => "api/changes#index"
-
-    get "user/:id" => "api/users#show", :id => /\d+/
+    get "user/:id" => "api/users#show", :id => /\d+/, :as => :api_user
     get "user/details" => "api/users#details"
     get "user/gpx_files" => "api/users#gpx_files"
     get "users" => "api/users#index", :as => :api_users
 
-    get "user/preferences" => "api/user_preferences#index"
-    get "user/preferences/:preference_key" => "api/user_preferences#show"
-    put "user/preferences" => "api/user_preferences#update_all"
-    put "user/preferences/:preference_key" => "api/user_preferences#update"
-    delete "user/preferences/:preference_key" => "api/user_preferences#destroy"
+    resources :user_preferences, :except => [:new, :create, :edit], :param => :preference_key, :path => "user/preferences", :controller => "api/user_preferences" do
+      collection do
+        put "" => "api/user_preferences#update_all", :as => ""
+      end
+    end
 
     post "gpx/create" => "api/traces#create"
-    get "gpx/:id" => "api/traces#show", :id => /\d+/
+    get "gpx/:id" => "api/traces#show", :as => :api_trace, :id => /\d+/
     put "gpx/:id" => "api/traces#update", :id => /\d+/
     delete "gpx/:id" => "api/traces#destroy", :id => /\d+/
     get "gpx/:id/details" => "api/traces#show", :id => /\d+/
-    get "gpx/:id/data" => "api/traces#data"
-
-    # AMF (ActionScript) API
-    post "amf/read" => "api/amf#amf_read"
-    post "amf/write" => "api/amf#amf_write"
+    get "gpx/:id/data" => "api/traces#data", :as => :api_trace_data
 
     # Map notes API
     resources :notes, :except => [:new, :edit, :update], :constraints => { :id => /\d+/ }, :defaults => { :format => "xml" }, :controller => "api/notes" do
@@ -117,7 +117,7 @@ OpenStreetMap::Application.routes.draw do
   get "/note/new" => "browse#new_note"
   get "/user/:display_name/history" => "changesets#index"
   get "/user/:display_name/history/feed" => "changesets#feed", :defaults => { :format => :atom }
-  get "/user/:display_name/notes" => "notes#mine", :as => :my_notes
+  get "/user/:display_name/notes" => "notes#index", :as => :user_notes
   get "/history/friends" => "changesets#index", :friends => true, :as => "friend_changesets", :defaults => { :format => :html }
   get "/history/nearby" => "changesets#index", :nearby => true, :as => "nearby_changesets", :defaults => { :format => :html }
 
@@ -151,8 +151,9 @@ OpenStreetMap::Application.routes.draw do
   get "/history/feed" => "changesets#feed", :defaults => { :format => :atom }
   get "/history/comments/feed" => "changeset_comments#index", :as => :changesets_comments_feed, :defaults => { :format => "rss" }
   get "/export" => "site#export"
-  match "/login" => "users#login", :via => [:get, :post]
-  match "/logout" => "users#logout", :via => [:get, :post]
+  get "/login" => "sessions#new"
+  post "/login" => "sessions#create"
+  match "/logout" => "sessions#destroy", :via => [:get, :post]
   get "/offline" => "site#offline"
   get "/key" => "site#key"
   get "/id" => "site#id"
@@ -161,13 +162,13 @@ OpenStreetMap::Application.routes.draw do
   post "/user/new" => "users#create"
   get "/user/terms" => "users#terms"
   post "/user/save" => "users#save"
-  get "/user/:display_name/confirm/resend" => "users#confirm_resend"
-  match "/user/:display_name/confirm" => "users#confirm", :via => [:get, :post]
-  match "/user/confirm" => "users#confirm", :via => [:get, :post]
-  match "/user/confirm-email" => "users#confirm_email", :via => [:get, :post]
+  get "/user/:display_name/confirm/resend" => "confirmations#confirm_resend", :as => :user_confirm_resend
+  match "/user/:display_name/confirm" => "confirmations#confirm", :via => [:get, :post]
+  match "/user/confirm" => "confirmations#confirm", :via => [:get, :post]
+  match "/user/confirm-email" => "confirmations#confirm_email", :via => [:get, :post]
   post "/user/go_public" => "users#go_public"
-  match "/user/reset-password" => "users#reset_password", :via => [:get, :post]
-  match "/user/forgot-password" => "users#lost_password", :via => [:get, :post]
+  match "/user/reset-password" => "passwords#reset_password", :via => [:get, :post], :as => :user_reset_password
+  match "/user/forgot-password" => "passwords#lost_password", :via => [:get, :post], :as => :user_forgot_password
   get "/user/suspended" => "users#suspended"
 
   get "/index.html", :to => redirect(:path => "/")
@@ -177,7 +178,7 @@ OpenStreetMap::Application.routes.draw do
   # omniauth
   get "/auth/failure" => "users#auth_failure"
   match "/auth/:provider/callback" => "users#auth_success", :via => [:get, :post], :as => :auth_success
-  match "/auth/:provider" => "users#auth", :via => [:get, :post], :as => :auth
+  match "/auth/:provider" => "users#auth", :via => [:post, :patch], :as => :auth
 
   # permalink
   get "/go/:code" => "site#permalink", :code => /[a-zA-Z0-9_@~]+[=-]*/, :as => :permalink
@@ -193,9 +194,9 @@ OpenStreetMap::Application.routes.draw do
   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"
-  get "/user/:display_name/traces/:id/picture" => "traces#picture"
-  get "/user/:display_name/traces/:id/icon" => "traces#icon"
+  get "/user/:display_name/traces/:id" => "traces#show", :as => "show_trace"
+  get "/user/:display_name/traces/:id/picture" => "traces#picture", :as => "trace_picture"
+  get "/user/:display_name/traces/:id/icon" => "traces#icon", :as => "trace_icon"
   get "/traces/tag/:tag/page/:page" => "traces#index", :page => /[1-9][0-9]*/
   get "/traces/tag/:tag" => "traces#index"
   get "/traces/page/:page" => "traces#index", :page => /[1-9][0-9]*/
@@ -235,12 +236,18 @@ OpenStreetMap::Application.routes.draw do
   post "/user/:display_name/diary/:id/unsubscribe" => "diary_entries#unsubscribe", :as => :diary_entry_unsubscribe, :id => /\d+/
 
   # user pages
-  get "/user/:display_name" => "users#show", :as => "user"
-  match "/user/:display_name/make_friend" => "users#make_friend", :via => [:get, :post], :as => "make_friend"
-  match "/user/:display_name/remove_friend" => "users#remove_friend", :via => [:get, :post], :as => "remove_friend"
-  match "/user/:display_name/account" => "users#account", :via => [:get, :post]
-  get "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user
-  get "/user/:display_name/delete" => "users#delete", :as => :delete_user
+  resources :users, :path => "user", :param => :display_name, :only => [:show, :destroy]
+  get "/user/:display_name/account", :to => redirect(:path => "/account/edit")
+  post "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user
+
+  resource :account, :only => [:edit, :update]
+  resource :dashboard, :only => [:show]
+  resource :preferences, :only => [:show, :edit, :update]
+  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"
 
   # user lists
   match "/users" => "users#index", :via => [:get, :post]