feature/share-libs
rb 48 lines 2.11 KB
Raw
1 namespace :api do
2 root to: 'welcome#index'
3
4 namespace :v1 do
5 root to: 'welcome#index'
6
7 devise_scope :user do
8 post '/register' => 'user#register'
9 post '/login' => 'user#login'
10 delete '/logout' => 'user#logout'
11 get '/splitfire/:id' => 'audio_file#splitfire_detail'
12 get '/profile/:username' => 'user#profile'
13 get '/profile/:username/following' => 'user#following'
14 get '/profile/:username/followers' => 'user#followers'
15 end
16
17 get '/splitfire', to: 'audio_file#splitfire'
18 post '/user_files', to: 'audio_file#user_files'
19 post '/split', to: 'audio_file#split'
20 post '/karaoke', to: 'audio_file#karaoke'
21 post '/guitar_backing_track', to: 'audio_file#guitar_backing_track'
22 post '/bass_backing_track', to: 'audio_file#bass_backing_track'
23 post '/drum_backing_track', to: 'audio_file#drum_backing_track'
24
25 get '/community/:exclude', to: 'user#community'
26
27 get '/lyric_synches/:audio_file_id', to: 'karaoke#lyric_synches'
28 post '/lyric_synches/:audio_file_id', to: 'karaoke#lyric_synches_post'
29 put '/lyric_synches/:audio_file_id', to: 'karaoke#lyric_synches_put'
30
31 # Search
32 get '/search', to: 'search#index' # Autocomplete
33 post '/search', to: 'search#post' # Save search history
34 # Gamelan notation
35 get '/gamelan/:id', to: 'gamelan#detail'
36
37 # Find audio from a Spotify track
38 get '/carousel', to: 'song_bridge#carousel'
39 get '/top-votes', to: 'song_bridge#top_votes'
40 get '/ready-to-play', to: 'song_bridge#ready_to_play'
41 post '/song-bridge', to: 'song_bridge#add_song_provider'
42 get '/song-bridge/:id', to: 'song_bridge#find_audio'
43 get '/song-bridge/:id/detail', to: 'song_bridge#detail'
44 post '/song-bridge/:id/vote', to: 'song_bridge#vote'
45
46 get '/:platform', to: 'welcome#root'
47 end
48 end