feat: implement iTunes API for release year detection and bulk refresh
This commit is contained in:
@@ -208,16 +208,26 @@ export async function POST(request: Request) {
|
||||
console.error('Failed to extract cover image:', e);
|
||||
}
|
||||
|
||||
// Fetch release year from MusicBrainz
|
||||
// Fetch release year (iTunes first, then MusicBrainz)
|
||||
let releaseYear = null;
|
||||
try {
|
||||
const { getReleaseYear } = await import('@/lib/musicbrainz');
|
||||
releaseYear = await getReleaseYear(artist, title);
|
||||
// Try iTunes first
|
||||
const { getReleaseYearFromItunes } = await import('@/lib/itunes');
|
||||
releaseYear = await getReleaseYearFromItunes(artist, title);
|
||||
|
||||
if (releaseYear) {
|
||||
console.log(`Fetched release year ${releaseYear} for "${title}" by "${artist}"`);
|
||||
console.log(`Fetched release year ${releaseYear} from iTunes for "${title}" by "${artist}"`);
|
||||
} else {
|
||||
// Fallback to MusicBrainz
|
||||
console.log(`iTunes yielded no year, falling back to MusicBrainz for "${title}" by "${artist}"`);
|
||||
const { getReleaseYear } = await import('@/lib/musicbrainz');
|
||||
releaseYear = await getReleaseYear(artist, title);
|
||||
if (releaseYear) {
|
||||
console.log(`Fetched release year ${releaseYear} from MusicBrainz for "${title}" by "${artist}"`);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Failed to fetch release year from MusicBrainz:', e);
|
||||
console.error('Failed to fetch release year:', e);
|
||||
}
|
||||
|
||||
const song = await prisma.song.create({
|
||||
|
||||
Reference in New Issue
Block a user