fix: propagate ensureAnimeRow error instead of silently discarding it
This commit is contained in:
@@ -161,11 +161,12 @@ func (s *playbackService) SaveProgress(ctx context.Context, userID string, anime
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *playbackService) ensureAnimeRow(ctx context.Context, anime domain.Anime) {
|
func (s *playbackService) ensureAnimeRow(ctx context.Context, anime domain.Anime) error {
|
||||||
if _, err := s.repo.GetAnime(ctx, int64(anime.MalID)); err == nil {
|
if _, err := s.repo.GetAnime(ctx, int64(anime.MalID)); err == nil {
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
_, _ = s.repo.UpsertAnime(ctx, animeParams(anime))
|
_, err := s.repo.UpsertAnime(ctx, animeParams(anime))
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func animeParams(anime domain.Anime) db.UpsertAnimeParams {
|
func animeParams(anime domain.Anime) db.UpsertAnimeParams {
|
||||||
|
|||||||
@@ -19,7 +19,12 @@ func (s *playbackService) BuildWatchData(ctx context.Context, animeID int, title
|
|||||||
}
|
}
|
||||||
|
|
||||||
animeData := domain.Anime{Anime: anime}
|
animeData := domain.Anime{Anime: anime}
|
||||||
s.ensureAnimeRow(ctx, animeData)
|
if err := s.ensureAnimeRow(ctx, animeData); err != nil {
|
||||||
|
observability.Warn("upsert_anime_failed", "playback", "",
|
||||||
|
map[string]any{"anime_id": animeID},
|
||||||
|
err,
|
||||||
|
)
|
||||||
|
}
|
||||||
searchTitles := buildSearchTitles(animeData, titleCandidates)
|
searchTitles := buildSearchTitles(animeData, titleCandidates)
|
||||||
canonicalEpisodes, err := s.episodes.GetCanonicalEpisodes(ctx, animeData, false)
|
canonicalEpisodes, err := s.episodes.GetCanonicalEpisodes(ctx, animeData, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user