Ctrl K
ComunidadGuías…

config/routes.rb

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
Rails.application.routes.draw do
  root "home#index"

  resources :sessions, only: [ :index, :new, :create, :destroy ]

  resource :setting, only: [ :show ] do
    scope module: :settings do
      resource :appearance, only: [ :show ]
      resource :library, only: [ :show, :update ]
      resource :integration, only: [ :show, :update ]
      resource :transcoding, only: [ :show, :update ]
    end
  end

  resource :system, only: [ :show ]

  resource :library, only: [ :show ]
  resources :artists, only: [ :index, :show, :edit, :update ]
  resources :songs, only: [ :index, :show, :edit, :update ] do
    resource :lyrics, only: [ :show ], module: :songs
  end
  resources :albums, only: [ :index, :show, :edit, :update ]

  resources :users, except: [ :show ] do
    resource :setting, only: [ :update ], module: "users"
  end

  resources :playlists, only: [ :index, :new, :create, :edit, :update, :destroy ] do
    resources :songs, only: [ :index, :create, :destroy ], module: "playlists" do
      delete "/", action: :destroy_all, on: :collection
      put "move", on: :member
    end
  end

  namespace :playlists do
    resources :selections, only: :index
  end

  namespace :current_playlist do
    resources :songs, only: [ :index, :create, :destroy ] do
      put "move", on: :member

      collection do
        delete "/", action: :destroy_all
        resources :albums, only: :update, module: :songs
        resources :playlists, only: :update, module: :songs
      end
    end
  end

  namespace :favorite_playlist do
    resources :songs, only: [ :index, :create, :destroy ] do
      delete "/", action: :destroy_all, on: :collection
      put "move", on: :member
    end
  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

  namespace :my do
    resource :session, only: [ :destroy ]
    resource :profile, only: [ :edit, :update ]
    resources :recently_played, only: [ :index ]
  end

  resources :stream, only: [ :new ]
  resources :transcoded_stream, only: [ :new ]

  resource :media_syncing, only: [ :create ]

  resource :about, only: [ :show ]

  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

  get "up", to: "rails/health#show", as: :rails_health_check

  # Render dynamic PWA files from app/views/pwa/*
  get "service-worker", to: "rails/pwa#service_worker", as: :pwa_service_worker
  get "manifest", to: "rails/pwa#manifest", as: :pwa_manifest
end