mirror of
https://github.com/Viren070/tmdb-addon.git
synced 2025-12-01 23:18:11 +01:00
feat: update getTrending to include config parameter for metadata retrieval
- Modifies the getTrending function to accept a configuration parameter - Implements metadata retrieval using the getMeta function - Adds error handling when retrieving metadata
This commit is contained in:
+1
-1
@@ -110,7 +110,7 @@ addon.get("/:catalogChoices?/catalog/:type/:id/:extra?.json", async function (re
|
||||
} else {
|
||||
switch (id) {
|
||||
case "tmdb.trending":
|
||||
metas = await getTrending(...args, genre);
|
||||
metas = await getTrending(...args, genre, config);
|
||||
break;
|
||||
case "tmdb.favorites":
|
||||
metas = await getFavorites(...args, genre, sessionId);
|
||||
|
||||
@@ -1,22 +1,30 @@
|
||||
require("dotenv").config();
|
||||
const { MovieDb } = require("moviedb-promise");
|
||||
const moviedb = new MovieDb(process.env.TMDB_API);
|
||||
const { getGenreList } = require("./getGenreList");
|
||||
const { parseMedia } = require("../utils/parseProps");
|
||||
const { getMeta } = require("./getMeta");
|
||||
|
||||
async function getTrending(type, language, page, genre) {
|
||||
const media_type = type === "series" ? "tv" : type
|
||||
async function getTrending(type, language, page, genre, config) {
|
||||
const media_type = type === "series" ? "tv" : type;
|
||||
const parameters = {
|
||||
media_type,
|
||||
time_window: genre ? genre.toLowerCase() : "day",
|
||||
language,
|
||||
page,
|
||||
};
|
||||
const genreList = await getGenreList(language, type);
|
||||
|
||||
return await moviedb
|
||||
.trending(parameters)
|
||||
.then(async (res) => {
|
||||
const metas = res.results.map(el => parseMedia(el, type, genreList));
|
||||
const metaPromises = res.results.map(item =>
|
||||
getMeta(type, language, item.id, config.rpdbkey)
|
||||
.then(result => result.meta)
|
||||
.catch(err => {
|
||||
console.error(`Erro ao buscar metadados para ${item.id}:`, err.message);
|
||||
return null;
|
||||
})
|
||||
);
|
||||
|
||||
const metas = (await Promise.all(metaPromises)).filter(Boolean);
|
||||
return { metas };
|
||||
})
|
||||
.catch(console.error);
|
||||
|
||||
Reference in New Issue
Block a user