Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | 45x 4x | import { setlistFmApiKey } from "./environment";
export interface SetList {
artist: {
mbid: string;
tmid: number;
name: string;
sortName: string;
disambiguation: string;
url: string;
};
venue: {
city: {
id: string;
name: string;
stateCode: string;
state: string;
coords: {
lat: number;
lng: number;
};
country: {
code: string;
name: string;
};
};
url: string;
id: string;
name: string;
};
tour: {
name: string;
};
sets: {
set: {
name: string;
encore: number;
song: {
name: string;
with: unknown;
cover: unknown;
info: string;
tape: boolean;
}[];
}[];
};
info: string;
url: string;
id: string;
versionId: string;
eventDate: string;
lastUpdated: string;
}
export async function getSetList(id?: string): Promise<SetList | null> {
Iif (!id || !setlistFmApiKey) {
console.error("No setlit id or setlistFmApiKey");
return null;
}
const res = await fetch(`https://api.setlist.fm/rest/1.0/setlist/${id}`, {
method: "GET",
headers: {
accept: "application/json",
"x-api-key": setlistFmApiKey,
},
});
Iif (res.ok) {
const data = (await res.json()) as SetList;
return data;
}
return null;
}
|