Add TMDb-backed Emby people metadata and image caching

This commit is contained in:
truewhile
2026-09-12 16:31:57 +08:00
parent 41fe75e136
commit df654ea47b
17 changed files with 759 additions and 78 deletions
+27
View File
@@ -0,0 +1,27 @@
package service
import (
"context"
"strings"
"github.com/truewhile/MeBox/internal/model"
)
// GetPeople resolves adult cast/crew on demand from MetaTube. The provider and
// remote movie ID are persisted in the existing external-ID columns; the
// returned people are intentionally not written to the database.
func (p *AdultProvider) GetPeople(ctx context.Context, media *model.Media) []map[string]any {
if p == nil || media == nil || !media.NSFW {
return nil
}
provider := strings.TrimSpace(media.TheTVDBID)
movieID := strings.TrimSpace(media.DoubanID)
if provider == "" || movieID == "" {
return nil
}
match, err := p.GetMetaTubeCandidate(ctx, provider, movieID)
if err != nil || match == nil {
return nil
}
return match.People
}