From fcf41eb312adfce06fd59588f3517dd8bf3a6d60 Mon Sep 17 00:00:00 2001 From: "Kalle (Sendou)" <38327916+Sendouc@users.noreply.github.com> Date: Sat, 11 Sep 2021 16:03:47 +0300 Subject: [PATCH] New bot endpoint for users --- pages/api/bot/user.ts | 64 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 pages/api/bot/user.ts diff --git a/pages/api/bot/user.ts b/pages/api/bot/user.ts new file mode 100644 index 000000000..2906e0c2b --- /dev/null +++ b/pages/api/bot/user.ts @@ -0,0 +1,64 @@ +import { NextApiRequest, NextApiResponse } from "next"; +import prisma from "prisma/client"; + +const userHandler = async (req: NextApiRequest, res: NextApiResponse) => { + if (req.method !== "GET") { + return res.status(405).end(); + } + + const discordId = + typeof req.query.discordId === "string" ? req.query.discordId : undefined; + + if (!discordId) { + return res + .status(400) + .json({ message: "Include 'discordId' as query parameter." }); + } + + const users = await prisma.user.findUnique({ + where: { discordId }, + select: { + discordAvatar: true, + username: true, + discriminator: true, + profile: { + select: { + twitchName: true, + twitterName: true, + youtubeId: true, + weaponPool: true, + sensMotion: true, + sensStick: true, + country: true, + }, + }, + team: { + select: { + name: true, + nameForUrl: true, + twitterName: true, + }, + }, + player: { + select: { + switchAccountId: true, + placements: { + select: { + mode: true, + month: true, + year: true, + weapon: true, + ranking: true, + playerName: true, + xPower: true, + }, + }, + }, + }, + }, + }); + + res.status(200).json(users); +}; + +export default userHandler;