feat: add episode title enrichment to playback service

This commit is contained in:
2026-07-06 07:37:01 +02:00
parent 73b4436f61
commit bf13a4a1f8

View File

@@ -69,6 +69,22 @@ func (s *playbackService) BuildWatchData(ctx context.Context, animeID int, title
return pageData, nil
}
func (s *playbackService) EnrichEpisodeTitles(ctx context.Context, animeID int) ([]domain.CanonicalEpisode, error) {
anime, err := s.watchAnime(ctx, animeID)
if err != nil {
return nil, fmt.Errorf("failed to fetch anime for episode titles: %w", err)
}
enricher, ok := s.episodes.(domain.EpisodeTitleService)
if !ok {
return nil, errors.New("episode title enrichment is unavailable")
}
episodes, err := enricher.EnrichEpisodeTitles(ctx, anime)
if err != nil {
return nil, err
}
return episodes.Episodes, nil
}
func (s *playbackService) watchAnime(ctx context.Context, animeID int) (domain.Anime, error) {
row, err := s.repo.GetAnime(ctx, int64(animeID))
if err == nil && row.ID > 0 && strings.TrimSpace(row.TitleOriginal) != "" {