const https = require("https"); const yts = require("yt-search"); function searchRouteHandler(app) { app.get("/api/search", async (req, res) => { try { const query = req.query.q; if (!query) { return res.status(400).json({ error: "Search query is required" }); } const results = await yts(query); console.log(results.videos[0]); const formattedResults = { items: results.videos.map((video) => ({ url: `/watch?v=${video.videoId}`, type: "stream", title: video.title, thumbnail: `/api/thumbnail/${video.videoId}`, uploaderName: video.author.name, uploaderUrl: `${video.author.url.replace( "https://youtube.com/", "" )}`, uploaderAvatar: `/api/avatar/${video.author.url.replace( "https://youtube.com/", "" )}.png`, uploadedDate: video.ago, shortDescription: video.description, duration: video.seconds, views: video.views, uploaded: new Date(video.timestamp * 1000).getTime(), isShort: video.duration.seconds < 60, })), nextpage: "", suggestion: "", corrected: false, }; res.json(formattedResults); } catch (err) { console.error(`Error searching videos: ${err.message}`); res.status(500).send("Error searching videos"); } }); } module.exports = searchRouteHandler;