0
Fork 0
mirror of https://codeberg.org/SafeTwitch/safetwitch-backend.git synced 2025-01-18 18:32:29 -05:00
safetwitch-backend/routes/profileRoute.ts
2023-03-31 07:56:38 -04:00

53 lines
No EOL
1.4 KiB
TypeScript

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
let streamerData = await twitch.getStreamerInfo(username)
.catch(next)
if (streamerData)
res.send(streamerData)
})
profileRouter.get('/discover', async (req, res, next) => {
let cursor = req.query.cursor
let discoveryData;
if (cursor) {
cursor = cursor.toString()
discoveryData = await twitch.getDirectory(15, cursor)
} else {
discoveryData = await twitch.getDirectory(15)
}
res.send(discoveryData)
})
profileRouter.get('/discover/:game', async (req, res, next) => {
let discoveryData = await twitch.getDirectoryGame(req.params.game, 50)
.catch(next)
if(discoveryData)
res.send(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(badges)
})
export default profileRouter