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
get "trackpoints" => "api/tracepoints#index"
- get "changes" => "api/changes#index"
-
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 "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
+ resources :notes, :except => [:new, :edit, :update], :constraints => { :id => /\d+/ }, :controller => "api/notes" do
collection do
get "search"
get "feed", :defaults => { :format => "rss" }
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"
post "/user/new" => "users#create"
get "/user/terms" => "users#terms"
post "/user/save" => "users#save"
- get "/user/:display_name/confirm/resend" => "users#confirm_resend", :as => :user_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 => "/")
# omniauth
get "/auth/failure" => "users#auth_failure"
match "/auth/:provider/callback" => "users#auth_success", :via => [:get, :post], :as => :auth_success
- post "/auth/:provider" => "users#auth", :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
# user pages
resources :users, :path => "user", :param => :display_name, :only => [:show, :destroy]
- match "/user/:display_name/account" => "users#account", :via => [:get, :post], :as => "user_account"
+ 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, :destroy]
+
+ namespace :account do
+ resource :deletion, :only => [:show]
+ end
+ 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"