debug: rohe Discover-Ergebnisse für Neuerscheinungen-Zeitfenster prüfen (Disney+ etc.)
This commit is contained in:
@@ -918,6 +918,55 @@ router.get('/streaming/debug-compare/:providerId', authenticate, requireAdmin, a
|
|||||||
} catch(e) { res.status(500).json({ error: e.message }); }
|
} catch(e) { res.status(500).json({ error: e.message }); }
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Debug: Neuerscheinungen-Discover-Query roh prüfen (ohne Filterung danach)
|
||||||
|
router.get('/streaming/debug-new/:providerId', authenticate, requireAdmin, async (req, res) => {
|
||||||
|
try {
|
||||||
|
const provider = STREAMING_PROVIDERS.find(p => p.id === req.params.providerId);
|
||||||
|
if (!provider) return res.status(404).json({ error: 'Unbekannter Anbieter' });
|
||||||
|
|
||||||
|
const since = (() => {
|
||||||
|
const d = new Date();
|
||||||
|
d.setDate(d.getDate() - 21);
|
||||||
|
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;
|
||||||
|
})();
|
||||||
|
const today = (() => {
|
||||||
|
const d = new Date();
|
||||||
|
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;
|
||||||
|
})();
|
||||||
|
|
||||||
|
async function raw(mediaKind, sortBy) {
|
||||||
|
const path = mediaKind === 'movie' ? '/discover/movie' : '/discover/tv';
|
||||||
|
const params = {
|
||||||
|
watch_region: 'DE',
|
||||||
|
with_watch_providers: provider.tmdbId,
|
||||||
|
with_watch_monetization_types: 'flatrate',
|
||||||
|
sort_by: sortBy,
|
||||||
|
...(mediaKind === 'movie'
|
||||||
|
? { 'primary_release_date.gte': since, 'primary_release_date.lte': today }
|
||||||
|
: { 'first_air_date.gte': since, 'first_air_date.lte': today }),
|
||||||
|
};
|
||||||
|
const data = await tmdb(path, { ...params, page: 1 });
|
||||||
|
return {
|
||||||
|
total_results: data.total_results,
|
||||||
|
sample: (data.results||[]).slice(0,10).map(m => ({
|
||||||
|
title: m.title||m.name, lang: m.original_language,
|
||||||
|
vote_count: m.vote_count, popularity: m.popularity,
|
||||||
|
date: m.release_date||m.first_air_date,
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const [movieByPop, movieByDate, tvByPop, tvByDate] = await Promise.all([
|
||||||
|
raw('movie', 'popularity.desc'),
|
||||||
|
raw('movie', 'primary_release_date.desc'),
|
||||||
|
raw('tv', 'popularity.desc'),
|
||||||
|
raw('tv', 'first_air_date.desc'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
res.json({ provider: provider.label, since, today, movieByPop, movieByDate, tvByPop, tvByDate });
|
||||||
|
} catch(e) { res.status(500).json({ error: e.message }); }
|
||||||
|
});
|
||||||
|
|
||||||
router.get('/streaming/debug/:providerId', authenticate, requireAdmin, async (req, res) => {
|
router.get('/streaming/debug/:providerId', authenticate, requireAdmin, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const provider = STREAMING_PROVIDERS.find(p => p.id === req.params.providerId);
|
const provider = STREAMING_PROVIDERS.find(p => p.id === req.params.providerId);
|
||||||
|
|||||||
Reference in New Issue
Block a user