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
This commit is contained in:
2025-10-18 22:05:51 +00:00
parent 4a50bfd96d
commit 9063d3e431

View File

@@ -75,6 +75,15 @@ func (s *MovieService) GetSimilar(id, page int, language string) (*models.TMDBRe
} }
func (s *MovieService) GetExternalIDs(id int) (*models.ExternalIDs, error) { 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) tmdbIDs, err := s.tmdb.GetMovieExternalIDs(id)
if err != nil { if err != nil {
return nil, err return nil, err