diff --git a/db/db.go b/db/db.go index 1738860a..c0d83e10 100644 --- a/db/db.go +++ b/db/db.go @@ -126,8 +126,16 @@ type SeriesDetails struct { } func (c *Client) GetSeriesDetails(id int) *SeriesDetails { - se := c.ent.Series.Query().Where(series.ID(id)).FirstX(context.TODO()) - ep := se.QueryEpisodes().AllX(context.Background()) + se, err := c.ent.Series.Query().Where(series.ID(id)).First(context.TODO()) + if err != nil { + log.Errorf("get series %d: %v", id, err) + return nil + } + ep, err := se.QueryEpisodes().All(context.Background()) + if err != nil { + log.Errorf("get episodes %d: %v", id, err) + return nil + } return &SeriesDetails{ Series: se, Episodes: ep, diff --git a/server/scheduler.go b/server/scheduler.go index 900212a2..bbcc2ae6 100644 --- a/server/scheduler.go +++ b/server/scheduler.go @@ -56,6 +56,9 @@ func (s *Server) moveCompletedTask(id int) error { r := s.db.GetHistory(id) series := s.db.GetSeriesDetails(r.SeriesID) + if series == nil { + return nil + } st := s.db.GetStorage(series.StorageID) log.Infof("move task files to target dir: %v", r.TargetDir) if st.Implementation == storage1.ImplementationWebdav {