Enrich TPDB performers with AE data while preserving TPDB IDs

This commit is contained in:
Stu Leak 2025-12-04 12:49:01 -05:00
parent d0f009f127
commit 29e84276a1

View File

@ -9,6 +9,7 @@ import (
"git.leaktechnologies.dev/stu/Goondex/internal/db"
"git.leaktechnologies.dev/stu/Goondex/internal/model"
"git.leaktechnologies.dev/stu/Goondex/internal/scraper/adultemp"
"git.leaktechnologies.dev/stu/Goondex/internal/scraper/merger"
)
type Enricher struct {
@ -40,6 +41,7 @@ func (e *Enricher) EnrichPerformer(ctx context.Context, p *model.Performer) {
if name == "" {
return
}
results, err := e.adult.SearchPerformersByName(ctx, name)
if err != nil || len(results) == 0 {
return
@ -48,12 +50,25 @@ func (e *Enricher) EnrichPerformer(ctx context.Context, p *model.Performer) {
if err != nil {
return
}
merged := e.adult.ConvertPerformerToModel(data)
// Only merge when names reasonably match
if !merger.ShouldMerge(p.Name, data.Name) {
return
}
merged := merger.MergePerformerData(p, data)
// Preserve original source IDs (TPDB format)
merged.Source = p.Source
merged.SourceID = p.SourceID
merged.SourceNumericID = p.SourceNumericID
merged.ID = p.ID
store := db.NewPerformerStore(e.db)
if err := store.Create(merged); err != nil {
log.Printf("enrich: failed to update performer %s: %v", name, err)
}
if e.delay > 0 {
time.Sleep(e.delay)
}