diff --git a/server/ctrladmin/handlers.go b/server/ctrladmin/handlers.go index 1d9f932..c28153e 100644 --- a/server/ctrladmin/handlers.go +++ b/server/ctrladmin/handlers.go @@ -431,7 +431,7 @@ func (c *Controller) ServePodcastAddDo(r *http.Request) *Response { flashW: []string{fmt.Sprintf("could not create feed: %v", err)}, } } - if _, err = c.Podcasts.AddNewPodcast(feed, user.ID); err != nil { + if _, err = c.Podcasts.AddNewPodcast(rssURL, feed, user.ID); err != nil { return &Response{ redirect: "/admin/home", flashW: []string{fmt.Sprintf("could not create feed: %v", err)}, diff --git a/server/ctrlsubsonic/handlers_podcast.go b/server/ctrlsubsonic/handlers_podcast.go index 54c8b03..c578b50 100644 --- a/server/ctrlsubsonic/handlers_podcast.go +++ b/server/ctrlsubsonic/handlers_podcast.go @@ -50,7 +50,7 @@ func (c *Controller) ServeCreatePodcastChannel(r *http.Request) *spec.Response { if err != nil { return spec.NewError(10, "failed to parse feed: %s", err) } - if _, err = c.Podcasts.AddNewPodcast(feed, user.ID); err != nil { + if _, err = c.Podcasts.AddNewPodcast(rssURL, feed, user.ID); err != nil { return spec.NewError(10, "failed to add feed: %s", err) } return spec.NewResponse() diff --git a/server/podcasts/podcasts.go b/server/podcasts/podcasts.go index 8d90909..5556bdd 100644 --- a/server/podcasts/podcasts.go +++ b/server/podcasts/podcasts.go @@ -70,13 +70,14 @@ func (p *Podcasts) GetPodcastEpisodes(podcastID int) ([]*db.PodcastEpisode, erro return episodes, nil } -func (p *Podcasts) AddNewPodcast(feed *gofeed.Feed, userID int) (*db.Podcast, error) { +func (p *Podcasts) AddNewPodcast(rssURL string, feed *gofeed.Feed, + userID int) (*db.Podcast, error) { podcast := db.Podcast{ Description: feed.Description, ImageURL: feed.Image.URL, UserID: userID, Title: feed.Title, - URL: feed.FeedLink, + URL: rssURL, } podPath := podcast.Fullpath(p.PodcastBasePath) err := os.Mkdir(podPath, 0755)