winblows / src /routes /manifest.js
no1b4me's picture
Upload 20 files
07436b8 verified
const express = require('express');
const log = require('../helpers/logger');
const { checkGenresExistForLanguage, fetchAndStoreGenres } = require('../api/tmdb');
const generateManifest = require('../helpers/manifest');
const router = express.Router();
router.get("/:configParameters?/manifest.json", async (req, res) => {
const { configParameters } = req.params;
const config = configParameters ? JSON.parse(decodeURIComponent(configParameters)) : {};
const { language, tmdbApiKey } = config;
log.debug(`Manifest request for language: ${language}`);
try {
if (language && !(await checkGenresExistForLanguage(language))) {
log.debug(`Fetching genres for language: ${language}`);
await fetchAndStoreGenres(language, tmdbApiKey);
}
const manifest = await generateManifest(language);
res.json(manifest);
} catch (error) {
log.error(`Error generating manifest: ${error.message}`);
res.status(500).json({ error: 'Error generating manifest' });
}
});
module.exports = router;