journalduhacker/config/routes.rb

173 lines
6.2 KiB
Ruby

Lobsters::Application.routes.draw do
scope :format => "html" do
root :to => "home#index",
:protocol => (Rails.application.config.force_ssl ? "https://" : "http://"),
:as => "root"
get "/404" => "home#four_oh_four", :via => :all
get "/rss" => "home#index", :format => "rss"
get "/hottest" => "home#index", :format => "json"
get "/page/:page" => "home#index"
get "/newest" => "home#newest", :format => /html|json|rss/
get "/newest/page/:page" => "home#newest"
get "/newest/:user" => "home#newest_by_user", :format => /html|json|rss/
get "/newest/:user/page/:page" => "home#newest_by_user"
get "/recent" => "home#recent"
get "/recent/page/:page" => "home#recent"
get "/hidden" => "home#hidden"
get "/hidden/page/:page" => "home#hidden"
get "/upvoted(.format)" => "home#upvoted"
get "/upvoted/page/:page" => "home#upvoted"
get "/top" => "home#top"
get "/top/page/:page" => "home#top"
get "/top/:length" => "home#top"
get "/top/:length/page/:page" => "home#top"
get "/threads" => "comments#threads"
get "/threads/:user" => "comments#threads"
get "/login" => "login#index"
post "/login" => "login#login", :format => /html|json/
post "/logout" => "login#logout"
get "/login/2fa" => "login#twofa"
post "/login/2fa_verify" => "login#twofa_verify", :as => "twofa_login"
get "/signup" => "signup#index"
post "/signup" => "signup#signup"
get "/signup/invite" => "signup#invite"
get "/login/forgot_password" => "login#forgot_password",
:as => "forgot_password"
post "/login/reset_password" => "login#reset_password",
:as => "reset_password"
match "/login/set_new_password" => "login#set_new_password",
:as => "set_new_password", :via => [:get, :post]
get "/t/:tag" => "home#tagged", :as => "tag", :format => /html|rss|json/
get "/t/:tag/page/:page" => "home#tagged"
get "/search" => "search#index"
get "/search/:q" => "search#index"
resources :stories do
post "upvote"
post "downvote"
post "unvote"
post "undelete"
post "hide"
post "unhide"
get "suggest"
post "suggest", :action => "submit_suggestions"
end
post "/stories/fetch_url_attributes", :format => "json"
post "/stories/preview" => "stories#preview"
resources :comments do
member do
get "reply"
post "upvote"
post "downvote"
post "unvote"
post "delete"
post "undelete"
post "dragon"
post "undragon"
end
end
get "/comments/page/:page" => "comments#index"
get "/comments" => "comments#index", :format => /html|rss/
get "/messages/sent" => "messages#sent"
post "/messages/batch_delete" => "messages#batch_delete",
:as => "batch_delete_messages"
resources :messages do
post "keep_as_new"
end
get "/c/:id" => "comments#redirect_from_short_id"
get "/c/:id.json" => "comments#show_short_id", :format => "json"
# deprecated
get "/s/:story_id/:title/comments/:id" => "comments#redirect_from_short_id"
get "/s/:id/(:title)" => "stories#show", :format => /html|json/
get "/u" => "users#tree"
get "/u/:username" => "users#show", :as => "user", :format => /html|json/
post "/users/:username/ban" => "users#ban", :as => "user_ban"
post "/users/:username/unban" => "users#unban", :as => "user_unban"
post "/users/:username/disable_invitation" => "users#disable_invitation", :as => "user_disable_invite"
post "/users/:username/enable_invitation" => "users#enable_invitation", :as => "user_enable_invite"
get "/settings" => "settings#index"
post "/settings" => "settings#update"
post "/settings/delete_account" => "settings#delete_account",
:as => "delete_account"
get "/settings/2fa" => "settings#twofa", :as => "twofa"
post "/settings/2fa_auth" => "settings#twofa_auth", :as => "twofa_auth"
get "/settings/2fa_enroll" => "settings#twofa_enroll",
:as => "twofa_enroll"
get "/settings/2fa_verify" => "settings#twofa_verify",
:as => "twofa_verify"
post "/settings/2fa_update" => "settings#twofa_update",
:as => "twofa_update"
post "/settings/pushover_auth" => "settings#pushover_auth"
get "/settings/pushover_callback" => "settings#pushover_callback"
get "/settings/github_auth" => "settings#github_auth"
get "/settings/github_callback" => "settings#github_callback"
post "/settings/github_disconnect" => "settings#github_disconnect"
get "/settings/twitter_auth" => "settings#twitter_auth"
get "/settings/twitter_callback" => "settings#twitter_callback"
post "/settings/twitter_disconnect" => "settings#twitter_disconnect"
get "/filters" => "filters#index"
post "/filters" => "filters#update"
get "/tags" => "tags#index"
get "/tags.json" => "tags#index", :format => "json"
post "/invitations" => "invitations#create"
get "/invitations" => "invitations#index"
get "/invitations/request" => "invitations#build"
post "/invitations/create_by_request" => "invitations#create_by_request",
:as => "create_invitation_by_request"
get "/invitations/confirm/:code" => "invitations#confirm_email"
post "/invitations/send_for_request" => "invitations#send_for_request",
:as => "send_invitation_for_request"
get "/invitations/:invitation_code" => "signup#invited"
post "/invitations/delete_request" => "invitations#delete_request",
:as => "delete_invitation_request"
get "/hats" => "hats#index"
get "/hats/build_request" => "hats#build_request",
:as => "request_hat"
post "/hats/create_request" => "hats#create_request",
:as => "create_hat_request"
get "/hats/requests" => "hats#requests_index"
post "/hats/approve_request/:id" => "hats#approve_request",
:as => "approve_hat_request"
post "/hats/reject_request/:id" => "hats#reject_request",
:as => "reject_hat_request"
get "/moderations" => "moderations#index"
get "/moderations/page/:page" => "moderations#index"
get "/privacy" => "home#privacy"
get "/about" => "home#about"
get "/chat" => "home#chat"
if defined?(BbsController) || Rails.env.development?
get "/bbs" => "bbs#index"
end
end
end