Newer
Older
# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
Daniel Vincent Grippi
a validé
Sidekiq::Web.set :sessions, false # disable rack session cookie
constraints ->(req) { req.env["warden"].authenticate?(scope: :user) &&
req.env['warden'].user.admin? } do
mount Sidekiq::Web => '/sidekiq', :as => 'sidekiq'
end
mount DiasporaFederation::Engine => "/"
get "/atom.xml" => redirect('http://blog.diasporafoundation.org/feed/atom') #too many stupid redirects :()
resource :participation, only: %i(create destroy)
resources :poll_participations, only: :create
resources :likes, only: %i(create destroy index)
resources :comments, only: %i(new create destroy index)
resources :reshares, only: :index
get 'p/:id' => 'posts#show', :as => 'short_post'
Maxwell Salzberg
a validé
# roll up likes into a nested resource above
resources :comments, :only => [:create, :destroy] do
resources :likes, :only => [:create, :destroy, :index]
end
get "activity" => "streams#activity", :as => "activity_stream"
get "stream" => "streams#multi", :as => "stream"
get "public" => "streams#public", :as => "public_stream"
get "followed_tags" => "streams#followed_tags", :as => "followed_tags_stream"
get "mentions" => "streams#mentioned", :as => "mentioned_stream"
get "liked" => "streams#liked", :as => "liked_stream"
get "commented" => "streams#commented", :as => "commented_stream"
get "aspects" => "streams#aspects", :as => "aspects_stream"
resources :aspects, except: %i(index new edit) do
collection do
put "order" => :update_order
end
get 'bookmarklet' => 'status_messages#bookmarklet'
#Search
get 'search' => "search#search"
resources :conversations, except: %i(edit update destroy) do
resources :messages, only: %i(create)
delete 'visibility' => 'conversation_visibilities#destroy'
resources :notifications, :only => [:index, :update] do
collection do
get :read_all
end
maxwell
a validé
end
maxwell
a validé
resources "tag_followings", only: %i(create destroy index) do
collection do
get :manage
end
end
Raphael Sofaer
a validé
danielvincent
a validé
resource :user, only: %i(edit destroy), shallow: true do
put :edit, action: :update
get :download_profile
get "public/:username" => :public, :as => :users_public
get "getting_started" => :getting_started, :as => :getting_started
get "confirm_email/:token" => :confirm_email, :as => :confirm_email
get "privacy" => :privacy_settings, :as => :privacy_settings
put "privacy" => :update_privacy_settings, :as => :update_privacy_settings
get "getting_started_completed" => :getting_started_completed
devise_for :users, controllers: {sessions: :sessions}, skip: :registration
devise_scope :user do
get "/users/sign_up" => "registrations#new", :as => :new_user_registration
post "/users" => "registrations#create", :as => :user_registration
end
get "users/invitations" => "invitations#new", :as => "new_user_invitation"
post "users/invitations" => "invitations#create", :as => "user_invitation"
# Admin backend routes
scope "admins", controller: :admins do
get :admin_inviter
get :weekly_user_stats
get :stats, as: "pod_stats"
get :dashboard, as: "admin_dashboard"
get "add_invites/:invite_code_id" => "admins#add_invites", :as => "add_invites"
namespace :admin do
resources :pods, only: :index do
post :recheck
end
post 'users/:id/close_account' => 'users#close_account', :as => 'close_account'
post 'users/:id/lock_account' => 'users#lock_account', :as => 'lock_account'
post 'users/:id/unlock_account' => 'users#unlock_account', :as => 'unlock_account'
resource :profile, :only => [:edit, :update]
resources :profiles, :only => [:show]
resources :aspect_memberships, :only => [:destroy, :create]
resources :share_visibilities, :only => [:update]
resources :blocks, :only => [:create, :destroy]
get 'i/:id' => 'invitation_codes#show', :as => 'invite_code'
get 'people/refresh_search' => "people#refresh_search"
resources :people, only: %i(show index) do
resources :status_messages, only: %i(new create)
resources :photos, except: %i(new update)
get :contacts
get :stream
collection do
post 'by_handle' => :retrieve_remote, :as => 'person_by_handle'
end
get '/u/:username' => 'people#show', :as => 'user_profile', :constraints => { :username => /[^\/]+/ }
# External
resources :services, :only => [:index, :destroy]
controller :services do
get ':provider/callback' => :create
get :failure
get 'community_spotlight' => "contacts#spotlight", :as => 'community_spotlight'
get 'mobile/toggle', :to => 'home#toggle_mobile', :as => 'toggle_mobile'
get 'help' => 'help#faq', :as => 'help'
Ilya Zhitomirskiy
a validé
#Protocol Url
get 'protocol' => redirect("http://wiki.diasporafoundation.org/Federation_Protocol_Overview")
# NodeInfo
get ".well-known/nodeinfo", to: "node_info#jrd"
get "nodeinfo/:version", to: "node_info#document", as: "node_info", constraints: {version: /\d+\.\d+/}
get "statistics", to: "node_info#statistics"
if AppConfig.settings.terms.enable? || Rails.env.test?
get 'terms' => 'terms#index'
end
# Relay
get ".well-known/x-social-relay" => "social_relay#well_known"
danielvincent
a validé
root :to => 'home#show'
get "podmin", to: "home#podmin"
namespace :api do
namespace :openid_connect do
resources :clients, only: :create
post "access_tokens", to: "token_endpoint#create"
# Authorization Servers MUST support the use of the HTTP GET and POST methods at the Authorization Endpoint
# See http://openid.net/specs/openid-connect-core-1_0.html#AuthResponseValidation
resources :authorizations, only: %i(new create destroy)
get "user_applications", to: "user_applications#index"
match "user_info", to: "user_info#show", via: %i(get post)
get ".well-known/webfinger", to: "api/openid_connect/discovery#webfinger"
get ".well-known/openid-configuration", to: "api/openid_connect/discovery#configuration"