From f5cfa05188149964cf9898825354518de33251de Mon Sep 17 00:00:00 2001 From: szbk Date: Tue, 28 Oct 2025 15:38:30 +0300 Subject: [PATCH] TTVDB_API_KEY fix --- server/server.js | 81 ++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/server/server.js b/server/server.js index f867a1c..4fa0778 100644 --- a/server/server.js +++ b/server/server.js @@ -53,7 +53,7 @@ const TMDB_IMG_BASE = process.env.TMDB_IMAGE_BASE || "https://image.tmdb.org/t/p/original"; const TVDB_API_KEY = process.env.TTVDB_API_KEY || process.env.TVDB_API_KEY || null; -const TVDB_USER_TOKEN = process.env.TVDB_USER_TOKEN || null; +const TVDB_USER_TOKEN = "mock_api_key" const TVDB_BASE_URL = "https://api4.thetvdb.com/v4"; const TVDB_IMAGE_BASE = process.env.TVDB_IMAGE_BASE || "https://artworks.thetvdb.com"; @@ -842,15 +842,7 @@ const TVDB_TOKEN_TTL = 1000 * 60 * 60 * 20; // 20 saat async function getTvdbToken(force = false) { if (!TVDB_API_KEY) return null; - if (!TVDB_USER_TOKEN) { - // V4 kişisel token senaryosu: doğrudan API key'i Bearer olarak kullan - tvdbAuthState = { - token: TVDB_API_KEY, - expires: Date.now() + TVDB_TOKEN_TTL - }; - console.log("📺 TVDB token (kişisel anahtar) kullanılıyor."); - return tvdbAuthState.token; - } + const trimmedUserToken = (TVDB_USER_TOKEN || "").trim(); const now = Date.now(); if ( @@ -860,35 +852,50 @@ async function getTvdbToken(force = false) { ) { return tvdbAuthState.token; } - try { - const resp = await fetch(`${TVDB_BASE_URL}/login`, { - method: "POST", - headers: { "Content-Type": "application/json", Accept: "application/json" }, - body: JSON.stringify({ - apikey: TVDB_API_KEY, - userkey: TVDB_USER_TOKEN - }) - }); - if (!resp.ok) { - console.warn(`⚠️ TVDB login başarısız: ${resp.status}`); - return null; + + if (trimmedUserToken) { + try { + const resp = await fetch(`${TVDB_BASE_URL}/login`, { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json" + }, + body: JSON.stringify({ + apikey: TVDB_API_KEY, + userkey: trimmedUserToken + }) + }); + if (resp.ok) { + const json = await resp.json(); + const token = json?.data?.token; + if (token) { + console.log("📺 TVDB token alındı (login)."); + tvdbAuthState = { + token, + expires: Date.now() + TVDB_TOKEN_TTL + }; + return token; + } + console.warn("⚠️ TVDB login yanıtında token bulunamadı, API key'e düşülüyor."); + } else { + console.warn( + `⚠️ TVDB login başarısız (${resp.status}); API key ile devam edilecek.` + ); + } + } catch (err) { + console.warn( + `⚠️ TVDB login hatası (${err.message}); API key ile devam edilecek.` + ); } - const json = await resp.json(); - const token = json?.data?.token; - if (!token) { - console.warn("⚠️ TVDB login yanıtında token bulunamadı"); - return null; - } - console.log("📺 TVDB token alındı (login)."); - tvdbAuthState = { - token, - expires: Date.now() + TVDB_TOKEN_TTL - }; - return token; - } catch (err) { - console.warn(`⚠️ TVDB login hatası: ${err.message}`); - return null; } + + tvdbAuthState = { + token: TVDB_API_KEY, + expires: Date.now() + TVDB_TOKEN_TTL + }; + console.log("📺 TVDB token (API key) kullanılıyor."); + return tvdbAuthState.token; } async function tvdbFetch(pathname, options = {}, retry = true) {