mirror of
https://github.com/p-stream/p-stream.git
synced 2026-03-28 17:58:43 +00:00
fix trakt if it doesnt return valid ids
This commit is contained in:
parent
9cc6dcb884
commit
7b4a013fae
1 changed files with 24 additions and 9 deletions
|
|
@ -350,17 +350,32 @@ export function useDiscoverMedia({
|
|||
// Fetch details for each TMDB ID
|
||||
const mediaPromises = tmdbIds.map(async (tmdbId: number) => {
|
||||
const endpoint = `/${mediaType}/${tmdbId}`;
|
||||
const data = await get<any>(endpoint, {
|
||||
api_key: conf().TMDB_READ_API_KEY,
|
||||
language: formattedLanguage,
|
||||
});
|
||||
return {
|
||||
...data,
|
||||
type: mediaType === "movie" ? "movie" : "show",
|
||||
};
|
||||
try {
|
||||
const data = await get<any>(endpoint, {
|
||||
api_key: conf().TMDB_READ_API_KEY,
|
||||
language: formattedLanguage,
|
||||
});
|
||||
return {
|
||||
...data,
|
||||
type: mediaType === "movie" ? "movie" : "show",
|
||||
};
|
||||
} catch (err) {
|
||||
console.error(`Error fetching details for TMDB ID ${tmdbId}:`, err);
|
||||
return null; // Return null for failed items
|
||||
}
|
||||
});
|
||||
|
||||
const results = await Promise.all(mediaPromises);
|
||||
// Use Promise.allSettled to handle failed requests gracefully
|
||||
const settledResults = await Promise.allSettled(mediaPromises);
|
||||
|
||||
// Filter out failed requests and nulls
|
||||
const results = settledResults
|
||||
.filter(
|
||||
(result): result is PromiseFulfilledResult<any> =>
|
||||
result.status === "fulfilled" && result.value !== null,
|
||||
)
|
||||
.map((result) => result.value);
|
||||
|
||||
return {
|
||||
results,
|
||||
hasMore: hasMoreResults,
|
||||
|
|
|
|||
Loading…
Reference in a new issue