fix: propagate ensureAnimeRow error instead of silently discarding it

This commit is contained in:
2026-06-16 00:34:02 +02:00
committed by Milas Holsting
parent 8224934046
commit 0a483ad2a2
2 changed files with 10 additions and 4 deletions

View File

@@ -161,11 +161,12 @@ func (s *playbackService) SaveProgress(ctx context.Context, userID string, anime
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 {
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 {

View File

@@ -19,7 +19,12 @@ func (s *playbackService) BuildWatchData(ctx context.Context, animeID int, title
}
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)
canonicalEpisodes, err := s.episodes.GetCanonicalEpisodes(ctx, animeData, false)
if err != nil {