Emi Matchu
ae2b62956a
I'm getting ready to add handling for "what if you don't *have* a current password*??", so it seems like the right way to do that is to just eject the controller and start customizing!
103 lines
No EOL
3.7 KiB
Ruby
103 lines
No EOL
3.7 KiB
Ruby
OpenneoImpressItems::Application.routes.draw do
|
|
root :to => 'outfits#new'
|
|
|
|
# Login and account management!
|
|
devise_for :auth_users, path: "users", skip: [:registrations]
|
|
resources :auth_users, only: [:new, :create, :update]
|
|
get '/users/edit', to: 'auth_users#edit', as: 'edit_auth_user'
|
|
|
|
# The outfit editor!
|
|
# TODO: It's a bit silly that outfits/new points to outfits#edit.
|
|
# Should we refactor the controller/view structure here?
|
|
get '/outfits/new', to: 'outfits#edit', as: :wardrobe
|
|
get '/wardrobe' => redirect('/outfits/new')
|
|
get '/start/:color_name/:species_name' => 'outfits#start'
|
|
|
|
# The outfits users have created!
|
|
resources :outfits, :only => [:show, :create, :update, :destroy]
|
|
get '/your-outfits', to: 'outfits#index', as: :current_user_outfits
|
|
get '/users/current-user/outfits', to: redirect('/your-outfits')
|
|
|
|
# Our customization data! Both the item pages, and JSON API endpoints.
|
|
resources :items, :only => [:index, :show] do
|
|
resources :trades, path: 'trades/:type', controller: 'item_trades',
|
|
only: [:index], constraints: {type: /offering|seeking/}
|
|
|
|
resources :appearances, controller: 'item_appearances', only: [:index]
|
|
|
|
collection do
|
|
get :needed
|
|
end
|
|
end
|
|
resources :species, only: [] do
|
|
resources :colors, only: [] do
|
|
get :pet_type, to: 'pet_types#show'
|
|
end
|
|
resources :alt_styles, path: 'alt-styles', only: [:index]
|
|
end
|
|
resources :alt_styles, path: 'alt-styles', only: [:index]
|
|
|
|
# Loading and modeling pets!
|
|
post '/pets/load' => 'pets#load', :as => :load_pet
|
|
get '/modeling' => 'pets#bulk', :as => :bulk_pets
|
|
|
|
# Contributions to our modeling database!
|
|
resources :contributions, :only => [:index]
|
|
get 'users/top-contributors' => 'users#top_contributors', :as => :top_contributors
|
|
get 'users/top_contributors' => redirect('/users/top-contributors')
|
|
|
|
# User resources, like their item lists!
|
|
resources :users, :path => 'user', :only => [:index, :update] do
|
|
resources :contributions, :only => [:index]
|
|
resources :closet_hangers, :only => [:index, :update, :destroy], :path => 'closet' do
|
|
collection do
|
|
get :petpage
|
|
put :update
|
|
delete :destroy
|
|
end
|
|
end
|
|
resources :closet_lists, :only => [:new, :create, :edit, :update, :destroy], :path => 'closet/lists'
|
|
|
|
resources :items, :only => [] do
|
|
resources :closet_hangers, :only => [:create] do
|
|
collection do
|
|
put :update_quantities
|
|
end
|
|
end
|
|
end
|
|
|
|
resources :neopets_connections, path: 'neopets-connections',
|
|
only: [:create, :destroy]
|
|
|
|
resource :neopass_connection, path: "neopass-connection", only: [:destroy]
|
|
end
|
|
get 'users/current-user/closet' => 'closet_hangers#index', :as => :your_items
|
|
|
|
# Importing users' owned items from Neopets.com!
|
|
scope 'import' do
|
|
resources :neopets_page_import_tasks, only: [:new, :create],
|
|
path: ':page_type/pages/:expected_index'
|
|
end
|
|
|
|
# Donation campaign stuff!
|
|
scope module: "fundraising", as: "fundraising" do
|
|
resources :donations, only: [:create, :show, :update] do
|
|
collection do
|
|
resources :donation_features, path: 'features', only: [:index]
|
|
end
|
|
end
|
|
resources :campaigns, only: [:show], path: '/donate/campaigns'
|
|
end
|
|
get '/donate' => 'fundraising/campaigns#current', as: :donate
|
|
|
|
# About pages!
|
|
get '/terms', to: "about#terms", as: :terms
|
|
get '/privacy',
|
|
to: redirect(Rails.configuration.impress_2020_origin + "/privacy")
|
|
get '/about/neopass', to: 'about#neopass'
|
|
|
|
# Other useful lil things!
|
|
get '/sitemap.xml' => 'sitemap#index', :as => :sitemap, :format => :xml
|
|
get '/robots.txt' => 'sitemap#robots', :as => :robots, :format => :text
|
|
post '/locales/choose' => 'locales#choose', :as => :choose_locale
|
|
end |