jam-cloud/web/config/routes.rb

547 lines
30 KiB
Ruby

SampleApp::Application.routes.draw do
scope :as => 'jam_ruby' do
resources :users
resources :music_sessions
end
resources :users
resources :sessions, only: [:new, :create, :destroy]
root to: 'users#welcome'
# signup, and signup completed, related pages
match '/signup', to: 'users#new', :via => 'get'
match '/signup', to: 'users#create', :via => 'post'
match '/congratulations_musician', to: 'users#congratulations_musician'
match '/congratulations_fan', to: 'users#congratulations_fan'
match '/downloads', to: 'users#downloads'
match '/signin', to: 'sessions#signin', via: :get
match '/signin', to: 'sessions#create', via: :post
match '/signout', to: 'sessions#destroy', via: :delete
# landing pages
match '/landing/wb', to: 'landings#watch_bands', via: :get, as: 'landing_wb'
match '/landing/wo', to: 'landings#watch_overview', via: :get, as: 'landing_wo'
match '/landing/wbt', to: 'landings#watch_bands_tight', via: :get, as: 'landing_wbt'
match '/landing/wot', to: 'landings#watch_overview_tight', via: :get, as: 'landing_wot'
match '/landing/kick', to: 'landings#watch_overview_kick', via: :get, as: 'landing_kick'
match '/landing/kick2', to: 'landings#watch_overview_kick2', via: :get, as: 'landing_kick2'
match '/landing/kick3', to: 'landings#watch_overview_kick3', via: :get, as: 'landing_kick3'
match '/landing/kick4', to: 'landings#watch_overview_kick4', via: :get, as: 'landing_kick4'
# oauth
match '/auth/:provider/callback', :to => 'sessions#oauth_callback'
match '/auth/failure', :to => 'sessions#failure'
match '/auth/has_google_auth', :to => 'sessions#has_google_auth'
# session info page
match '/sessions/:id/details' => 'music_sessions#session_info', :via => :get, :as => 'music_scheduled_session_detail'
# session / recording landing pages
match '/sessions/:id' => 'music_sessions#show', :via => :get, :as => 'music_session_detail'
match '/recordings/:id' => 'recordings#show', :via => :get, :as => 'recording_detail'
match '/isp', :to => 'users#isp'
match '/isp/ping.jar', :to => redirect('/ping.jar')
match '/isp/ping:isp', :to => 'users#jnlp', :constraints => {:format => :jnlp}, :as => 'isp_ping'
match '/client', to: 'clients#index'
match '/latency_tester', to: 'clients#latency_tester'
match '/confirm/:signup_token', to: 'users#signup_confirm', as: 'signup_confirm'
match '/client/authed/:authed/:data', to: 'clients#auth_action', :as => :auth_action
# ping test
match '/ping', to: 'ping#index'
match '/ping/pingat.jnlp', to: 'ping#at'
match '/ping/pingcc.jnlp', to: 'ping#cc'
match '/ping/pingno.jnlp', to: 'ping#no'
match '/ping/pingtw.jnlp', to: 'ping#tw'
match '/ping/pingvz.jnlp', to: 'ping#vz'
match '/ping/icon.jpg', to:'ping#icon', :as => 'ping_icon'
# share tokens
match '/s/:id', to: 'share_tokens#shareable_resolver', :as => 'share_token'
# password reset
match '/request_reset_password' => 'users#request_reset_password', :via => :get
match '/reset_password' => 'users#reset_password', :via => :post
match '/reset_password_token' => 'users#reset_password_token', :via => :get
match '/reset_password_complete' => 'users#reset_password_complete', :via => :post
# email update
match '/confirm_email' => 'users#finalize_update_email', :as => 'confirm_email' # NOTE: if you change this, you break outstanding email changes because links in user inboxes are broken
match '/gmail_contacts', to: 'gmail#gmail_contacts'
match '/events/:slug', to: 'events#show', :via => :get, :as => 'event'
match '/endorse/:id/:service', to: 'users#endorse', :as => 'endorse'
# embed resque-web if this is development mode
if Rails.env == "development" || Rails.application.config.allow_spikes
require 'resque/server'
require 'resque-retry'
require 'resque-retry/server'
mount Resque::Server.new, :at => "/resque" if Rails.env == "development"
# route to spike controller (proof-of-concepts)
match '/listen_in', to: 'spikes#listen_in'
match '/facebook_invite', to: 'spikes#facebook_invite'
match '/launch_app', to: 'spikes#launch_app'
match '/websocket', to: 'spikes#websocket'
match '/test_subscription', to: 'spikes#subscription'
match '/widgets/download_jam_track', to: 'spikes#download_jam_track'
match '/site_validate', to: 'spikes#site_validate'
match '/recording_source', to: 'spikes#recording_source'
# junk pages
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
match '/faders', to: 'static_pages#faders'
end
if Rails.env == "test"
match '/test_connection', to: 'sessions#connection_state', :as => :connection_state
# vanilla forums 'fake methods'
match '/forums', to: 'vanilla_forums#fake_root'
match '/forums/entry/jsconnect', to: 'vanilla_forums#fake_jsconnect'
end
# vanilla forums sso
match '/forums/sso', to: 'vanilla_forums#authenticate'
# admin-only page to control settings
match '/extras/settings', to: 'extras#settings'
scope '/corp' do
# about routes
match '/about', to: 'corps#about', as: 'corp_about'
# news routes
match '/news', to: 'corps#news', as: 'corp_news'
# media center routes
match '/media_center', to: 'corps#media_center', as: 'corp_media_center'
match '/overview', to: 'corps#overview', as: 'corp_overview'
match '/features', to: 'corps#features', as: 'corp_features'
match '/faqs', to: 'corps#faqs', as: 'corp_faqs'
match '/screenshots', to: 'corps#screenshots', as: 'corp_screenshots'
match '/photos', to: 'corps#photos', as: 'corp_photos'
match '/logos', to: 'corps#logos', as: 'corp_logos'
match '/testimonials', to: 'corps#testimonials', as: 'corp_testimonials'
match '/audio', to: 'corps#audio', as: 'corp_audio'
match '/videos', to: 'corps#videos', as: 'corp_videos'
# contact routes
match '/contact', to: 'corps#contact', as: 'corp_contact'
# privacy routes
match '/privacy', to: 'corps#privacy', as: 'corp_privacy'
# terms routes
match '/terms', to: 'corps#terms', as: 'corp_terms'
# help routes
match '/help', to: 'corps#help', as: 'corp_help'
match '/cookies_policy',to: 'corps#cookie_policy', as: 'corp_cookie_policy'
match '/premium_accounts',to: 'corps#premium_accounts', as: 'corp_premium_accounts'
end
scope '/api' do
match '/auths/login' => 'api_auths#login', :via => :post
# music sessions
match '/sessions/:id/participants/legacy' => 'api_music_sessions#participant_create_legacy', :via => :post # can be removed when new Create Session comes in
match '/sessions/:id/participants' => 'api_music_sessions#participant_create', :via => :post
match '/participants/:id' => 'api_music_sessions#participant_show', :via => :get, :as => 'api_session_participant_detail'
match '/participants/:id' => 'api_music_sessions#participant_delete', :via => :delete
match '/sessions/scheduled' => 'api_music_sessions#scheduled', :via => :get
match '/sessions/scheduled_rsvp' => 'api_music_sessions#scheduled_rsvp', :via => :get
match '/sessions/legacy' => 'api_music_sessions#create_legacy', :via => :post
match '/sessions/active' => 'api_music_sessions#ams_index', :via => :get
match '/sessions/inactive' => 'api_music_sessions#sms_index', :via => :get
match '/sessions/:id' => 'api_music_sessions#show', :via => :get, :as => 'api_session_detail'
match '/sessions/:id' => 'api_music_sessions#update', :via => :put
match '/sessions/:id' => 'api_music_sessions#session_update', :via => :post
match '/sessions/:id' => 'api_music_sessions#destroy', :via => :delete
match '/sessions' => 'api_music_sessions#index', :via => :get
match '/sessions' => 'api_music_sessions#create', :via => :post
match '/sessions/nindex/:client_id' => 'api_music_sessions#nindex', :via => :get
match '/sessions/:id/perf' => 'api_music_sessions#perf_upload', :via => :put
match '/sessions/:id/comments' => 'api_music_sessions#add_comment', :via => :post
match '/sessions/:id/likes' => 'api_music_sessions#add_like', :via => :post
match '/sessions/:id/history' => 'api_music_sessions#show_history', :via => :get, :as => 'api_session_history_detail'
match '/sessions/:id/details/comments' => 'api_music_sessions#add_session_info_comment', :via => :post
match '/sessions/:id/jam_tracks/:jam_track_id/open' => 'api_music_sessions#jam_track_open', :via => :post
match '/sessions/:id/jam_tracks/close' => 'api_music_sessions#jam_track_close', :via => :post
match '/sessions/:id/backing_tracks/open' => 'api_music_sessions#backing_track_open', :via => :post
match '/sessions/:id/backing_tracks/close' => 'api_music_sessions#backing_track_close', :via => :post
match '/sessions/:id/metronome/open' => 'api_music_sessions#metronome_open', :via => :post
match '/sessions/:id/metronome/close' => 'api_music_sessions#metronome_close', :via => :post
# music session tracks
match '/sessions/:id/tracks' => 'api_music_sessions#track_create', :via => :post
match '/sessions/:id/tracks' => 'api_music_sessions#track_sync', :via => :put
match '/sessions/:id/tracks' => 'api_music_sessions#track_index', :via => :get
match '/sessions/:id/tracks/:track_id' => 'api_music_sessions#track_update', :via => :post
match '/sessions/:id/tracks/:track_id' => 'api_music_sessions#track_show', :via => :get, :as => 'api_session_track_detail'
match '/sessions/:id/tracks/:track_id' => 'api_music_sessions#track_destroy', :via => :delete
# Music notations
match '/music_notations' => 'api_music_notations#create', :via => :post
match '/music_notations/:id' => 'api_music_notations#download', :via => :get, :as => :download_music_notation
# Backing track_show
match '/backing_tracks' => 'api_backing_tracks#index', :via => :get, :as => 'api_backing_tracks_list'
# Jamtracks
match '/jamtracks' => 'api_jam_tracks#index', :via => :get, :as => 'api_jam_tracks_list'
match '/jamtracks/purchased' => 'api_jam_tracks#purchased', :via => :get, :as => 'api_jam_tracks_purchased'
match '/jamtracks/download/:id' => 'api_jam_tracks#download', :via => :get, :as => 'api_jam_tracks_download'
match '/jamtracks/played/:id' => 'api_jam_tracks#played', :via => :post, :as => 'api_jam_tracks_played'
match '/jamtracks/enqueue/:id' => 'api_jam_tracks#enqueue', :via => :post, :as => 'api_jam_tracks_enqueue'
match '/jamtracks/rights/:id' => 'api_jam_tracks#show_jam_track_right', :via => :get, :as => 'api_jam_tracks_show_right'
match '/jamtracks/keys' => 'api_jam_tracks#keys', :via => :post, :as => 'api_jam_tracks_keys'
# Shopping carts
match '/shopping_carts/add_jamtrack' => 'api_shopping_carts#add_jamtrack', :via => :post
match '/shopping_carts' => 'api_shopping_carts#index', :via => :get
match '/shopping_carts' => 'api_shopping_carts#remove_cart', :via => :delete
match '/shopping_carts/clear_all' => 'api_shopping_carts#clear_all', :via => :delete
# RSVP requests
match '/rsvp_requests' => 'api_rsvp_requests#index', :via => :get
match '/rsvp_requests' => 'api_rsvp_requests#create', :via => :post
match '/rsvp_requests/:id' => 'api_rsvp_requests#update', :via => :post
match '/rsvp_requests/:id' => 'api_rsvp_requests#show', :via => :get, :as => 'api_rsvp_request_detail'
match '/rsvp_requests/:id' => 'api_rsvp_requests#destroy', :via => :delete
# RSVP slots
match '/rsvp_slots' => 'api_rsvp_slots#index', :via => :get
match '/rsvp_slots/:id' => 'api_rsvp_slots#show', :via => :get, :as => 'api_rsvp_slot_detail'
# music session playback recording state
match '/sessions/:id/claimed_recording/:claimed_recording_id/start' => 'api_music_sessions#claimed_recording_start', :via => :post
match '/sessions/:id/claimed_recording/:claimed_recording_id/stop' => 'api_music_sessions#claimed_recording_stop', :via => :post
match '/participant_histories/:client_id/rating' => 'api_music_sessions#participant_rating', :via => :post
match '/participant_histories/:client_id' => 'api_music_sessions#participant_rating', :via => :get
# genres
match '/genres' => 'api_genres#index', :via => :get
# users
match '/users/isp_scoring' => 'api_users#isp_scoring', :via => :post , :as => 'isp_scoring'
# validation
match '/data_validation' => 'api_users#validate_data', :via => :get
match '/users' => 'api_users#index', :via => :get
match '/users/:id' => 'api_users#show', :via => :get, :as => 'api_user_detail'
#match '/users' => 'api_users#create', :via => :post
match '/users/:id' => 'api_users#update', :via => :post
match '/users/:id' => 'api_users#delete', :via => :delete
match '/users/confirm/:signup_token' => 'api_users#signup_confirm', :via => :post, :as => 'api_signup_confirmation'
match '/users/complete/:signup_token' => 'api_users#complete', as: 'complete', via: 'post'
match '/users/:id/set_password' => 'api_users#set_password', :via => :post
# recurly
match '/recurly/create_account' => 'api_recurly#create_account', :via => :post
match '/recurly/delete_account' => 'api_recurly#delete_account', :via => :delete
match '/recurly/get_account' => 'api_recurly#get_account', :via => :get
#match '/recurly/get_subscription' => 'api_recurly#get_subscription', :via => :get
match '/recurly/update_account' => 'api_recurly#update_account', :via => :put
match '/recurly/billing_info' => 'api_recurly#billing_info', :via => :get
match '/recurly/update_billing_info' => 'api_recurly#update_billing_info', :via => :put
match '/recurly/place_order' => 'api_recurly#place_order', :via => :post
# login/logout
match '/auth_session' => 'api_users#auth_session_create', :via => :post
match '/auth_session' => 'api_users#auth_session_delete', :via => :delete
# session settings
match '/users/:id/session_settings' => 'api_users#session_settings_show', :via => :get
# session history
match '/users/:id/session_history' => 'api_users#session_history_index', :via => :get
match '/users/:id/session_history/:session_id/users' => 'api_users#session_user_history_index', :via => :get
# user bands
match '/users/:id/bands' => 'api_users#band_index', :via => :get
# user likers
match '/users/:id/likers' => 'api_users#liker_index', :via => :get
# user likes
match '/users/:id/likings' => 'api_users#liking_index', :via => :get, :as => 'api_user_liking_index'
match '/users/:id/likings' => 'api_users#liking_create', :via => :post
match '/users/:id/likings/:likable_id' => 'api_users#liking_destroy', :via => :delete
# user followers
match '/users/:id/followers' => 'api_users#follower_index', :via => :get, :as => 'api_user_follower_index'
# user followings
match '/users/:id/followings' => 'api_users#following_index', :via => :get, :as => 'api_user_following_index'
match '/users/:id/followings' => 'api_users#following_create', :via => :post
match '/users/:id/followings/:followable_id' => 'api_users#following_destroy', :via => :delete
# favorites
match '/users/:id/favorites' => 'api_users#favorite_index', :via => :get, :as => 'api_favorite_index'
match '/users/:id/favorites' => 'api_users#favorite_create', :via => :post
match '/users/:id/favorites/:recording_id' => 'api_users#favorite_destroy', :via => :delete
# friend requests
match '/users/:id/friend_requests' => 'api_users#friend_request_index', :via => :get
match '/users/:id/friend_requests/:friend_request_id' => 'api_users#friend_request_show', :via => :get, :as => 'api_friend_request_detail'
match '/users/:id/friend_requests' => 'api_users#friend_request_create', :via => :post
match '/users/:id/friend_requests/:friend_request_id' => 'api_users#friend_request_update', :via => :post
# friends
match '/users/:id/friends' => 'api_users#friend_index', :via => :get
match '/users/:id/friends/:friend_id' => 'api_users#friend_show', :via => :get, :as => 'api_friend_detail'
match '/users/:id/friends/:friend_id' => 'api_users#friend_destroy', :via => :delete
# text messages
match '/text_messages' => 'api_text_messages#index', :via => :get
match '/text_messages' => 'api_text_messages#create', :via => :post
# notifications
match '/users/:id/notifications' => 'api_users#notification_index', :via => :get
match '/users/:id/notifications/:notification_id' => 'api_users#notification_destroy', :via => :delete
match '/users/:id/notifications' => 'api_users#notification_create', :via => :post
# user band invitations
match '/users/:id/band_invitations' => 'api_users#band_invitation_index', :via => :get
match '/users/:id/band_invitations/:invitation_id' => 'api_users#band_invitation_show', :via => :get, :as => 'api_user_band_invitation_detail'
match '/users/:id/band_invitations/:invitation_id' => 'api_users#band_invitation_update', :via => :post
# user account settings
match '/users/:id/update_email' => 'api_users#begin_update_email', :via => :post, :as => 'begin_update_email'
match '/users/update_email/:token' => 'api_users#finalize_update_email', :via => :post, :as => 'finalize_update_email'
# user profile
match '/users/:id/avatar' => 'api_users#update_avatar', :via => :post
match '/users/:id/avatar' => 'api_users#delete_avatar', :via => :delete
match '/users/:id/filepicker_policy' => 'api_users#generate_filepicker_policy', :via => :get
# user progression
match '/users/progression/downloaded_client' => 'api_users#downloaded_client', :via => :post
match '/users/progression/certified_gear' => 'api_users#qualified_gear', :via => :post
match '/users/progression/social_promoted' => 'api_users#social_promoted', :via => :post
# audio latency
match '/users/:id/audio_latency' => 'api_users#audio_latency', :via => :post
# udp reachable (can stun?)
match '/users/:id/udp_reachable' => 'api_users#udp_reachable', :via => :post
match '/users/:id/is_network_testing' => 'api_users#is_network_testing', :via => :post
# social
match '/users/:id/share/session/:provider' => 'api_users#share_session', :via => :get
match '/users/:id/share/recording/:provider' => 'api_users#share_recording', :via => :get
# session chat
match '/chat' => 'api_chats#create', :via => :post
match '/sessions/:music_session/chats' => 'api_chats#index', :via => :get
# user recordings
# match '/users/:id/recordings' => 'api_users#recording_index', :via => :get
# match '/users/:id/recordings/:recording_id' => 'api_users#recording_show', :via => :get, :as => 'api_recording_detail'
# match '/users/:id/recordings' => 'api_users#recording_create', :via => :post
# match '/users/:id/recordings/:recording_id' => 'api_users#recording_update', :via => :post
# match '/users/:id/recordings/:recording_id' => 'api_users#recording_destroy', :via => :delete
match '/users/:id/plays' => 'api_users#add_play', :via => :post, :as => 'api_users_add_play'
match '/users/:id/affiliate' => 'api_users#affiliate_report', :via => :get, :as => 'api_users_affiliate'
# downloads/uploads
match '/users/:id/syncs' => 'api_user_syncs#index', :via => :get
match '/users/:id/syncs/:user_sync_id' => 'api_user_syncs#show', :via => :get
match '/users/:id/syncs/deletables' => 'api_user_syncs#deletables', :via => :post
# bands
match '/bands' => 'api_bands#index', :via => :get
match '/bands/validate' => 'api_bands#validate', :via => :post
match '/bands/:id' => 'api_bands#show', :via => :get, :as => 'api_band_detail'
match '/bands' => 'api_bands#create', :via => :post
match '/bands/:id' => 'api_bands#update', :via => :post
match '/bands/:id' => 'api_bands#delete', :via => :delete
# photo
match '/bands/:id/photo' => 'api_bands#update_photo', :via => :post
match '/bands/:id/photo' => 'api_bands#delete_photo', :via => :delete
match '/bands/:id/filepicker_policy' => 'api_bands#generate_filepicker_policy', :via => :get
# band members
match '/bands/:id/musicians' => 'api_bands#musician_index', :via => :get
match '/bands/:id/musicians' => 'api_bands#musician_create', :via => :post
match '/bands/:id/musicians/:user_id' => 'api_bands#musician_destroy', :via => :delete
# band likers
match '/bands/:id/likers' => 'api_bands#liker_index', :via => :get
# band followers
match '/bands/:id/followers' => 'api_bands#follower_index', :via => :get
# band recordings
match '/bands/:id/recordings' => 'api_bands#recording_index', :via => :get
match '/bands/:id/recordings/:recording_id' => 'api_bands#recording_show', :via => :get, :as => 'api_band_recording_detail'
match '/bands/:id/recordings' => 'api_bands#recording_create', :via => :post
match '/bands/:id/recordings/:recording_id' => 'api_bands#recording_update', :via => :post
match '/bands/:id/recordings/:recording_id' => 'api_bands#recording_destroy', :via => :delete
# band invitations
match '/bands/:id/invitations' => 'api_bands#invitation_index', :via => :get
match '/bands/:id/invitations/:invitation_id' => 'api_bands#invitation_show', :via => :get, :as => 'api_band_invitation_detail'
match '/bands/:id/invitations' => 'api_bands#invitation_create', :via => :post
match '/bands/:id/invitations/:invitation_id' => 'api_bands#invitation_update', :via => :post
match '/bands/:id/invitations/:invitation_id' => 'api_bands#invitation_destroy', :via => :delete
# invitations
match '/invitations/:id' => 'api_invitations#show', :via => :get, :as => 'api_invitation_detail'
match '/invitations/:id' => 'api_invitations#delete', :via => :delete
match '/invitations' => 'api_invitations#index', :via => :get
match '/invitations' => 'api_invitations#create', :via => :post
# invited users
match '/invited_users/:id' => 'api_invited_users#show', :via => :get, :as => 'api_invited_user_detail'
match '/invited_users' => 'api_invited_users#index', :via => :get
match '/invited_users' => 'api_invited_users#create', :via => :post
# instruments
match '/instruments/:id' => 'api_instruments#show', :via => :get, :as => 'api_instrument_detail'
match '/instruments' => 'api_instruments#index', :via => :get
# search
match '/search' => 'api_search#index', :via => :get
# join requests
match '/join_requests/:id' => 'api_join_requests#show', :via => :get, :as => 'api_join_request_detail'
match '/join_requests/:id' => 'api_join_requests#delete', :via => :delete
match '/join_requests' => 'api_join_requests#create', :via => :post
match '/join_requests/:id' => 'api_join_requests#update', :via => :put
match '/join_requests' => 'api_join_requests#index', :via => :get
# Location lookups
match '/countries' => 'api_maxmind_requests#countries', :via => :get
match '/regions' => 'api_maxmind_requests#regions', :via => :get
match '/cities' => 'api_maxmind_requests#cities', :via => :get
match '/resolved_location' => 'api_maxmind_requests#resolved_location', :via => :get
# Recordings
match '/recordings/uploads' => 'api_recordings#list_uploads', :via => :get, :as => 'api_recordings_list_uploads'
match '/recordings/downloads' => 'api_recordings#list_downloads', :via => :get, :as => 'api_recordings_list_downloads'
match '/recordings/start' => 'api_recordings#start', :via => :post, :as => 'api_recordings_start'
match '/recordings/:id' => 'api_recordings#show', :via => :get, :as => 'api_recordings_detail'
match '/recordings/:id/stop' => 'api_recordings#stop', :via => :post, :as => 'api_recordings_stop'
match '/recordings/:id/claim' => 'api_recordings#claim', :via => :post, :as => 'api_recordings_claim'
match '/recordings/:id/claim' => 'api_recordings#delete_claim', :via => :delete, :as => 'api_recordings_delete_claim'
match '/recordings/:id/comments' => 'api_recordings#add_comment', :via => :post, :as => 'api_recordings_add_comment'
match '/recordings/:id/likes' => 'api_recordings#add_like', :via => :post, :as => 'api_recordings_add_like'
match '/recordings/:id/discard' => 'api_recordings#discard', :via => :post, :as => 'api_recordings_discard'
match '/recordings/:id/timeline' => 'api_recordings#add_timeline', :via => :post, :as => 'api_recordings_timeline'
# Recordings - recorded_tracks
match '/recordings/:id/tracks/:track_id' => 'api_recordings#show_recorded_track', :via => :get, :as => 'api_recordings_show_recorded_track'
match '/recordings/:id/tracks/:track_id/download' => 'api_recordings#download', :via => :get, :as => 'api_recordings_download'
match '/recordings/:id/tracks/:track_id/upload_next_part' => 'api_recordings#upload_next_part', :via => :get
match '/recordings/:id/tracks/:track_id/upload_sign' => 'api_recordings#upload_sign', :via => :get
match '/recordings/:id/tracks/:track_id/upload_part_complete' => 'api_recordings#upload_part_complete', :via => :post
match '/recordings/:id/tracks/:track_id/upload_complete' => 'api_recordings#upload_complete', :via => :post
# Recordings - stream_mix
match '/recordings/:id/stream_mix/upload_sign' => 'api_recordings#upload_sign_stream_mix', :via => :get
match '/recordings/:id/stream_mix/upload_part_complete' => 'api_recordings#upload_part_complete_stream_mix', :via => :post
match '/recordings/:id/stream_mix/upload_complete' => 'api_recordings#upload_complete_stream_mix', :via => :post
match '/recordings/:id/stream_mix/upload_next_part' => 'api_recordings#upload_next_part_stream_mix', :via => :get
# Recordings - backing tracks
match '/recordings/:id/backing_tracks/:track_id' => 'api_recordings#show_recorded_backing_track', :via => :get, :as => 'api_recordings_show_recorded_backing_track'
match '/recordings/:id/backing_tracks/:track_id/download' => 'api_recordings#backing_track_download', :via => :get, :as => 'api_recordings_download'
match '/recordings/:id/backing_tracks/:track_id/upload_next_part' => 'api_recordings#backing_track_upload_next_part', :via => :get
match '/recordings/:id/backing_tracks/:track_id/upload_sign' => 'api_recordings#backing_track_upload_sign', :via => :get
match '/recordings/:id/backing_tracks/:track_id/upload_part_complete' => 'api_recordings#backing_track_upload_part_complete', :via => :post
match '/recordings/:id/backing_tracks/:track_id/upload_complete' => 'api_recordings#backing_track_upload_complete', :via => :post
match '/recordings/:id/backing_tracks/:track_id/silent' => 'api_backing_tracks#backing_track_silent', :via => :post
# Recordings - recorded_videos
match '/recordings/:id/tracks/:video_id/upload_sign' => 'api_recordings#video_upload_sign', :via => :get
match '/recordings/:id/videos/:video_id/upload_start' => 'api_recordings#video_upload_start', :via => :post
match '/recordings/:id/videos/:video_id/upload_complete' => 'api_recordings#video_upload_complete', :via => :post
# Claimed Recordings
match '/claimed_recordings' => 'api_claimed_recordings#index', :via => :get
match '/claimed_recordings/:id' => 'api_claimed_recordings#show', :via => :get
match '/claimed_recordings/:id' => 'api_claimed_recordings#update', :via => :put
match '/claimed_recordings/:id' => 'api_claimed_recordings#delete', :via => :delete
match '/claimed_recordings/:id/download(/:type)' => 'api_claimed_recordings#download', :via => :get, :as => :claimed_recording_download
# Mixes
match '/mixes/schedule' => 'api_mixes#schedule', :via => :post
match '/mixes/next' => 'api_mixes#next', :via => :get
match '/mixes/:id/download(/:type)' => 'api_mixes#download', :via => :get, :as => :mix_download
# version check for JamClient
match '/versioncheck' => 'artifacts#versioncheck'
# discover websocket gateway info
match '/config' => 'api_configs#index'
# no-op method to see if server is running
match '/healthcheck' => 'artifacts#healthcheck'
# list all uris for available clients on mac, windows, linux, if available
match '/artifacts/clients' => 'artifacts#client_downloads'
# crash logs
match '/dumps' => 'api_users#crash_dump', :via => :put
# feedback from corporate site api
match '/feedback' => 'api_corporate#feedback', :via => :post
# icecast urls
match '/icecast/test' => 'api_icecast#test', :via => :get
match '/icecast/mount_add' => 'api_icecast#mount_add', :via => :post
match '/icecast/mount_remove' => 'api_icecast#mount_remove', :via => :post
match '/icecast/listener_add' => 'api_icecast#listener_add', :via => :post
match '/icecast/listener_remove' => 'api_icecast#listener_remove', :via => :post
match '/icecast/mount/:id' => 'api_icecast#show', :via => :get
match '/icecast/mount/:id/source_change' => 'api_icecast#create_source_change', :via => :post
# tweet on behalf of client
match '/twitter/tweet' => 'api_twitters#tweet', :via => :post
# feed
match '/feeds' => 'api_feeds#index', :via => :get
# scoring
# todo scoring should pick the clientid up from the current logged in user
match '/scoring/work/:clientid' => 'api_scoring#work', :via => :get
match '/scoring/worklist/:clientid' => 'api_scoring#worklist', :via => :get
match '/scoring/record' => 'api_scoring#record', :via => :post
# favorites
match '/favorites' => 'api_favorites#index', :via => :get
match '/favorites/:id' => 'api_favorites#update', :via => :post
# diagnostic
match '/diagnostics' => 'api_diagnostics#create', :via => :post
# latency_tester
match '/latency_testers' => 'api_latency_testers#match', :via => :get
end
end