import { Router } from 'express' import { TwitchAPI } from '../util/scraping/extractor/index' const profileRouter = Router() const twitch = new TwitchAPI() profileRouter.get('/users/:username', async (req, res, next) => { const username = req.params.username console.log(username) let streamerData = await twitch.getStreamerInfo(username) .catch(next) if (streamerData) res.send({ status: 'ok', data: streamerData }) }) profileRouter.get('/discover', async (req, res, next) => { let cursor = req.query.cursor?.toString() let discoveryData; if (cursor) { discoveryData = await twitch.getDirectory(15, cursor) } else { discoveryData = await twitch.getDirectory(15) } res.send({ status: 'ok', data: discoveryData }) }) profileRouter.get('/discover/:game', async (req, res, next) => { let discoveryData; let cursor = req.query.cursor?.toString() if(cursor) { discoveryData = await twitch.getDirectoryGame(req.params.game, 50, cursor) .catch(next) } else { discoveryData = await twitch.getDirectoryGame(req.params.game, 50) .catch(next) } if(discoveryData) res.send({ status: 'ok', data: discoveryData }) }) profileRouter.get('/badges', async (req, res, next) => { let badges = await twitch.getTwitchBadges() .catch(next) if(req.query.streamerName) { let broadcastBadges = await twitch.getStreamerBadges(req.query.streamerName.toString()) .catch(next) if(broadcastBadges && badges) badges = [...badges, ...broadcastBadges] } if(badges) res.send({ status: 'ok', data: badges }) }) export default profileRouter