This commit is contained in:
2025-07-11 03:40:24 -04:00
parent 0a0eaeb712
commit 10b2e7dd83

View File

@ -73,17 +73,17 @@ function generateSlug(title, genre) {
counter++; counter++;
} }
genreSlugs.add(slug);
usedSlugs.set(genre, genreSlugs);
console.log(`Generated slug for "${title}" in genre "${genre}": "${slug}"`); console.log(`Generated slug for "${title}" in genre "${genre}": "${slug}"`);
return slug; return slug;
} catch (err) { } catch (err) {
console.error(`Error generating slug for title: "${title}" in genre "${genre}"`, err); console.error(`Error generating slug for title: "${title}" in genre "${genre}"`, err);
const fallback = 'track-' + Date.now(); let fallback = 'track-' + Date.now();
const genreSlugs = usedSlugs.get(genre) || new Set(); const genreSlugs = usedSlugs.get(genre) || new Set();
genreSlugs.add(fallback); let counter = 1;
usedSlugs.set(genre, genreSlugs); while (genreSlugs.has(fallback)) {
fallback = `track-${Date.now()}-${counter}`;
counter++;
}
return fallback; return fallback;
} }
} }
@ -121,11 +121,11 @@ function sanitizeTrackData(track, genre) {
if (!sanitized.slug || genreSlugs.has(sanitized.slug)) { if (!sanitized.slug || genreSlugs.has(sanitized.slug)) {
console.warn(`Invalid or duplicate slug "${sanitized.slug}" for "${sanitized.title}". Regenerating.`); console.warn(`Invalid or duplicate slug "${sanitized.slug}" for "${sanitized.title}". Regenerating.`);
sanitized.slug = generateSlug(sanitized.title, genre); sanitized.slug = generateSlug(sanitized.title, genre);
} else {
genreSlugs.add(sanitized.slug);
usedSlugs.set(genre, genreSlugs);
} }
genreSlugs.add(sanitized.slug);
usedSlugs.set(genre, genreSlugs);
return sanitized; return sanitized;
} }