OpenSubsonic: getPodcastEpisode, topSongsByArtistId, transcodeOffset (real ffmpeg seek)
This commit is contained in:
@@ -8,6 +8,8 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
registerExtension("getPodcastEpisode", 1)
|
||||
register("getPodcastEpisode", handleGetPodcastEpisode)
|
||||
register("getPodcasts", handleGetPodcasts)
|
||||
register("getNewestPodcasts", handleGetNewestPodcasts)
|
||||
register("refreshPodcasts", handleRefreshPodcasts)
|
||||
@@ -75,6 +77,24 @@ func podcastChannelToModel(db *sql.DB, c *database.PodcastChannel, withEpisodes
|
||||
return pc, nil
|
||||
}
|
||||
|
||||
func handleGetPodcastEpisode(rc *Context) *apiError {
|
||||
if !rc.User.Allows(rc.User.Permissions.Podcast) {
|
||||
return errUnauthorized("podcasts")
|
||||
}
|
||||
id, aerr := rc.Params.Required("id")
|
||||
if aerr != nil {
|
||||
return aerr
|
||||
}
|
||||
ep, err := database.GetPodcastEpisode(rc.Server.DB, id)
|
||||
if err != nil {
|
||||
return errNotFound("Podcast episode")
|
||||
}
|
||||
model := podcastEpisodeToModel(rc.Server.DB, ep, rc.User.ID)
|
||||
rc.Response = newResponse()
|
||||
rc.Response.PodcastEpisode = &model
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleGetPodcasts(rc *Context) *apiError {
|
||||
if !rc.User.Allows(rc.User.Permissions.Podcast) {
|
||||
return errUnauthorized("podcasts")
|
||||
|
||||
Reference in New Issue
Block a user