/
routes.rb
85 lines (69 loc) · 2.29 KB
/
routes.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Rails.application.routes.draw do
concern :playable do
member do
post "play"
end
end
root "home#index"
resource :session, only: [:new, :create, :destroy]
resource :setting, only: [:show, :update]
resource :library, only: [:show]
resources :artists, only: [:index, :show, :update]
resources :songs, only: [:index]
resources :albums, only: [:index, :show, :update], concerns: :playable
resources :users, except: [:show] do
resource :setting, only: [:update], module: "users"
end
resources :playlists, only: [:index, :create, :update, :destroy] do
resource :songs, only: [:show, :create, :destroy, :update], module: "playlists", concerns: :playable
end
namespace :current_playlist do
resource :songs, only: [:show, :create, :destroy, :update]
end
namespace :favorite_playlist do
resource :songs, only: [:show, :create, :destroy, :update], concerns: :playable
end
namespace :dialog do
resources :playlists, only: [:index, :new, :edit]
resources :artists, only: [:edit]
resources :albums, only: [:edit]
end
get "/search", to: "search#index", as: "search"
namespace :search do
resources :artists, only: [:index]
resources :songs, only: [:index]
resources :albums, only: [:index]
resources :playlists, only: [:index]
end
namespace :albums do
namespace :filter do
resources :genres, only: [:index]
resources :years, only: [:index]
end
end
namespace :songs do
namespace :filter do
resources :genres, only: [:index]
resources :years, only: [:index]
end
end
get "/403", to: "errors#forbidden", as: :forbidden
get "/404", to: "errors#not_found", as: :not_found
get "/422", to: "errors#unprocessable_entity", as: :unprocessable_entity
get "/500", to: "errors#internal_server_error", as: :internal_server_error
namespace :api do
namespace :v1 do
resource :authentication, only: [:create]
resource :system, only: [:show]
resources :songs, only: [:show]
resources :stream, only: [:new]
resources :transcoded_stream, only: [:new]
namespace :current_playlist do
resource :songs, only: [:show, :destroy, :update]
end
namespace :favorite_playlist do
resource :songs, only: [:create, :destroy]
end
end
end
end