diff --git a/src/services/cardDataSources.ts b/src/services/cardDataSources.ts index f8024ad..3d62c85 100644 --- a/src/services/cardDataSources.ts +++ b/src/services/cardDataSources.ts @@ -294,28 +294,32 @@ export const lorcanaService = { if (response.ok) { const proxyData = await response.json(); + console.log('🔍 Proxy API response:', JSON.stringify(proxyData, null, 2)); + if (proxyData.success && proxyData.data) { const cards = proxyData.data.cards || proxyData.data.data || proxyData.data || []; if (cards.length > 0) { console.log(`✅ Found ${cards.length} Lorcana cards via proxy (${proxyData.source})`); + console.log('🔍 First card structure:', JSON.stringify(cards[0], null, 2)); + return cards.map((card: any) => ({ - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true, @@ -336,27 +340,31 @@ export const lorcanaService = { if (response.ok) { const data = await response.json(); + console.log('🔍 Direct API response:', JSON.stringify(data, null, 2)); + const cards = data.cards || data.data || data || []; if (cards.length > 0) { console.log(`✅ Found ${cards.length} Lorcana cards from direct Lorcana API`); + console.log('🔍 First card structure:', JSON.stringify(cards[0], null, 2)); + return cards.map((card: any) => ({ - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true, @@ -382,27 +390,31 @@ export const lorcanaService = { if (response.ok) { const data = await response.json(); + console.log(`🔍 Lorcast API response from ${endpoint}:`, JSON.stringify(data, null, 2)); + const cards = data.cards || data.data || data || []; if (cards.length > 0) { console.log(`✅ Found ${cards.length} Lorcana cards from Lorcast ${endpoint}`); + console.log('🔍 First card structure:', JSON.stringify(cards[0], null, 2)); + return cards.map((card: any) => ({ - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true, @@ -442,22 +454,22 @@ export const lorcanaService = { const card = cards[0]; console.log(`✅ Found Lorcana card "${name}" via proxy (${proxyData.source})`); return { - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true, @@ -483,22 +495,22 @@ export const lorcanaService = { const card = cards[0]; console.log(`✅ Found Lorcana card "${name}" from direct Lorcana API`); return { - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true, @@ -530,22 +542,22 @@ export const lorcanaService = { const card = cards[0]; console.log(`✅ Found Lorcana card "${name}" from Lorcast ${endpoint}`); return { - id: card.id || card.uuid || `lorcana-${Math.random()}`, - name: card.name, - set_name: card.set?.name || card.set_name || '', - set_code: card.set?.code || card.set_code || '', - card_number: card.number || card.card_number || '', - rarity: card.rarity, + id: card.id || card.uuid || card.card_id || `lorcana-${Math.random()}`, + name: card.name || card.card_name || card.title || '', + set_name: card.set?.name || card.set_name || card.set_name || '', + set_code: card.set?.code || card.set_code || card.set_code || '', + card_number: card.number || card.card_number || card.card_num || '', + rarity: card.rarity || card.rarity_name || '', game: 'LORCANA', - mana_cost: card.cost?.toString() || card.mana_cost, - cmc: card.cost || card.cmc, - card_type: card.type || card.card_type, - colors: card.colors || [], - oracle_text: card.text || card.oracle_text || '', - power: card.strength?.toString() || card.power, - toughness: card.willpower?.toString() || card.toughness, - image_url: card.image_url || card.images?.small || card.images?.png, - stock_image_url: card.image_url || card.images?.small || card.images?.png, + mana_cost: card.cost?.toString() || card.mana_cost || card.ink_cost?.toString() || '', + cmc: card.cost || card.cmc || card.ink_cost || 0, + card_type: card.type || card.card_type || card.type_name || '', + colors: card.colors || card.ink || [], + oracle_text: card.text || card.oracle_text || card.description || card.effect || '', + power: card.strength?.toString() || card.power || card.attack?.toString() || '', + toughness: card.willpower?.toString() || card.toughness || card.defense?.toString() || '', + image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', + stock_image_url: card.image_url || card.images?.small || card.images?.png || card.image || '', current_price: card.price?.market || card.current_price || undefined, market_price: card.price?.low || card.market_price || undefined, verified: true,