import fetch from "node-fetch"; import fetchEbayReadToken from "../utils/fetchEbayReadToken.js"; // Adjust the import path according to your project structure import { LoggingLevel, smartLogging } from "../utils/helper.js"; export const itemLookup = async (req, res) => { smartLogging(LoggingLevel.Debug, ``) const productCode = req.query.productCode; let oauthToken; try{ oauthToken = await fetchEbayReadToken(); }catch(e){ smartLogging(LoggingLevel.Error, `Error Getting eBay Token: ${e}`); } // console.log(productCode); smartLogging(LoggingLevel.Logging, `Product Code: ${productCode}`); try { const response = await fetch( `https://api.ebay.com/buy/browse/v1/item_summary/search?gtin=${productCode}`, { method: "GET", headers: { Authorization: `Bearer ${oauthToken}`, "Content-Type": "application/json", }, } ); console.log(response); if (!response.ok) throw new Error("Failed to fetch data from eBay Browse API"); const data = await response.json(); const price = []; data.itemSummaries.forEach((item) => { price.push(item.price, item.condition); }); res.status(200).send(price); } catch (error) { smartLogging(LoggingLevel.Error, `Error fetching data from eBay Browse API: ${error}`); res.status(500).send("Internal Server Error"); } };