Files
Lyra/web/src/app/api/mb/release-group/route.ts
T

22 lines
693 B
TypeScript

import { searchReleaseGroup } from "@/lib/musicbrainz";
export async function GET(request: Request) {
const url = new URL(request.url);
const artist = url.searchParams.get("artist");
const album = url.searchParams.get("album");
if (!artist || !artist.trim() || !album || !album.trim()) {
return Response.json({ error: "artist and album are required" }, { status: 400 });
}
let match;
try {
match = await searchReleaseGroup(artist.trim(), album.trim());
} catch {
return Response.json({ error: "MusicBrainz unavailable" }, { status: 502 });
}
if (!match) {
return Response.json({ error: "no match" }, { status: 404 });
}
return Response.json(match);
}