import { getServerSession } from "next-auth"; import { getSession } from "next-auth/react"; import prisma from "./prisma"; export const getUserBorders = async (req) => { const session = await getSession({ req }); if (!session) { return undefined; } const accountData = await prisma.account.findFirst({ where: { userId: session.user.id, }, }); const userData = await prisma.applicationUserData.findUnique({ where: { userId: session.user.id, }, }); if (!!userData) { return userData; } const result = await prisma.applicationUserData.create({ data: { userId: session.user.id, discordId: accountData.providerAccountId, }, }); return result; }; export const setUserBorder = async (req, borderId) => { const session = await getSession({ req }); if (!session) { return undefined; } const accountData = await prisma.account.findFirst({ where: { userId: session.user.id, }, }); const updateData = await prisma.applicationUserData.upsert({ create: { userId: session.user.id, discordId: accountData.providerAccountId, borderId, }, data: { borderId, }, where: { userId: session.user.id, }, }); return updateData; }; export const getByDiscordId = async (id) => { const userData = await prisma.applicationUserData.findUnique({ where: { discordId: id, }, }); return userData?.borderId ? `${userData.borderId}` : undefined; };