From 9063d3e4315d8feba042799e997a7e9dfa7d98ed Mon Sep 17 00:00:00 2001 From: Erno Date: Sat, 18 Oct 2025 22:05:51 +0000 Subject: [PATCH] fix: Handle Kinopoisk IDs in GetExternalIDs - Try to fetch from KP API first by KP ID - If KP data found, return external IDs directly - Falls back to TMDB if KP ID not found - Fixes 500 error for Russian content external IDs --- pkg/services/movie.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/services/movie.go b/pkg/services/movie.go index 69be773..891e635 100644 --- a/pkg/services/movie.go +++ b/pkg/services/movie.go @@ -75,6 +75,15 @@ func (s *MovieService) GetSimilar(id, page int, language string) (*models.TMDBRe } func (s *MovieService) GetExternalIDs(id int) (*models.ExternalIDs, error) { + if s.kpService != nil { + kpFilm, err := s.kpService.GetFilmByKinopoiskId(id) + if err == nil && kpFilm != nil { + externalIDs := MapKPExternalIDsToTMDB(kpFilm) + externalIDs.ID = id + return externalIDs, nil + } + } + tmdbIDs, err := s.tmdb.GetMovieExternalIDs(id) if err != nil { return nil, err