36 lines
912 B
TypeScript
36 lines
912 B
TypeScript
export type StreamingServiceRaw = {
|
|
id: number;
|
|
key: string;
|
|
value: string;
|
|
};
|
|
|
|
const STREAMING_SERVICE_API_URL = "https://fltr-app.de/api/config";
|
|
|
|
export async function getStreamingImages(): Promise<StreamingServiceRaw[]> {
|
|
try {
|
|
const apiKey = process.env.EXPO_PUBLIC_API_KEY;
|
|
const response = await fetch(STREAMING_SERVICE_API_URL, {
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"X-API-Key": apiKey ?? "",
|
|
},
|
|
});
|
|
if (!response.ok) {
|
|
throw new Error("Network response was not ok");
|
|
}
|
|
const data: unknown = await response.json();
|
|
if (!Array.isArray(data)) {
|
|
console.warn("Expected array, got:", data);
|
|
return [];
|
|
}
|
|
return (data as StreamingServiceRaw[]).map((s) => ({
|
|
id: s.id,
|
|
key: s.key,
|
|
value: s.value,
|
|
}));
|
|
} catch (error) {
|
|
console.error("Fetch error:", error);
|
|
throw error;
|
|
}
|
|
}
|