Web UI: podcasts, radio, shares, bookmarks pages; admin podcast/jukebox management; per-user Subsonic permission editor
This commit is contained in:
@@ -48,6 +48,20 @@ func (h *Web) NewRouter() http.Handler {
|
||||
mux.HandleFunc("POST /favorites/unstar", h.requireUser(h.handleFavoriteUnstar))
|
||||
mux.HandleFunc("GET /recent", h.requireUser(h.handleRecent))
|
||||
|
||||
mux.HandleFunc("GET /podcasts", h.requireUser(h.handlePodcasts))
|
||||
mux.HandleFunc("POST /podcasts/{id}/download", h.requireUser(h.handlePodcastDownload))
|
||||
|
||||
mux.HandleFunc("GET /radio", h.requireUser(h.handleRadio))
|
||||
mux.HandleFunc("POST /radio", h.requireAdmin(h.handleRadioCreate))
|
||||
mux.HandleFunc("POST /radio/{id}/delete", h.requireAdmin(h.handleRadioDelete))
|
||||
|
||||
mux.HandleFunc("GET /shares", h.requireUser(h.handleShares))
|
||||
mux.HandleFunc("POST /albums/{id}/share", h.requireUser(h.handleShareCreateForAlbum))
|
||||
mux.HandleFunc("POST /shares/{id}/delete", h.requireUser(h.handleShareDelete))
|
||||
|
||||
mux.HandleFunc("GET /bookmarks", h.requireUser(h.handleBookmarks))
|
||||
mux.HandleFunc("POST /bookmarks/{songID}/delete", h.requireUser(h.handleBookmarkDelete))
|
||||
|
||||
mux.HandleFunc("GET /settings", h.requireUser(h.handleSettings))
|
||||
mux.HandleFunc("POST /settings/password", h.requireUser(h.handlePasswordChange))
|
||||
mux.HandleFunc("POST /settings/api-keys", h.requireUser(h.handleAPIKeyCreate))
|
||||
@@ -62,6 +76,8 @@ func (h *Web) NewRouter() http.Handler {
|
||||
mux.HandleFunc("POST /admin/users", h.requireAdmin(h.handleAdminUserCreate))
|
||||
mux.HandleFunc("POST /admin/users/{id}/toggle-disabled", h.requireAdmin(h.handleAdminUserToggleDisabled))
|
||||
mux.HandleFunc("POST /admin/users/{id}/delete", h.requireAdmin(h.handleAdminUserDelete))
|
||||
mux.HandleFunc("GET /admin/users/{id}/permissions", h.requireAdmin(h.handleAdminUserPermissions))
|
||||
mux.HandleFunc("POST /admin/users/{id}/permissions", h.requireAdmin(h.handleAdminUserPermissionsUpdate))
|
||||
|
||||
mux.HandleFunc("GET /admin/folders", h.requireAdmin(h.handleAdminFolders))
|
||||
mux.HandleFunc("POST /admin/folders", h.requireAdmin(h.handleAdminFolderCreate))
|
||||
@@ -73,6 +89,18 @@ func (h *Web) NewRouter() http.Handler {
|
||||
mux.HandleFunc("GET /admin/settings", h.requireAdmin(h.handleAdminSettings))
|
||||
mux.HandleFunc("POST /admin/settings", h.requireAdmin(h.handleAdminSettingsUpdate))
|
||||
|
||||
mux.HandleFunc("GET /admin/podcasts", h.requireAdmin(h.handleAdminPodcasts))
|
||||
mux.HandleFunc("POST /admin/podcasts", h.requireAdmin(h.handleAdminPodcastCreate))
|
||||
mux.HandleFunc("POST /admin/podcasts/{id}/refresh", h.requireAdmin(h.handleAdminPodcastRefresh))
|
||||
mux.HandleFunc("POST /admin/podcasts/{id}/delete", h.requireAdmin(h.handleAdminPodcastDelete))
|
||||
mux.HandleFunc("POST /admin/podcasts/episodes/{id}/download", h.requireAdmin(h.handleAdminPodcastEpisodeDownload))
|
||||
mux.HandleFunc("POST /admin/podcasts/episodes/{id}/delete", h.requireAdmin(h.handleAdminPodcastEpisodeDelete))
|
||||
|
||||
mux.HandleFunc("GET /admin/jukebox", h.requireAdmin(h.handleAdminJukebox))
|
||||
mux.HandleFunc("POST /admin/jukebox/start", h.requireAdmin(h.handleAdminJukeboxStart))
|
||||
mux.HandleFunc("POST /admin/jukebox/stop", h.requireAdmin(h.handleAdminJukeboxStop))
|
||||
mux.HandleFunc("POST /admin/jukebox/clear", h.requireAdmin(h.handleAdminJukeboxClear))
|
||||
|
||||
var handler http.Handler = mux
|
||||
handler = h.CSRF.Protect(handler)
|
||||
handler = h.setupGate(handler)
|
||||
|
||||
Reference in New Issue
Block a user