import { db } from "@/db/PrismaClient"; import { TRPCError } from "@trpc/server"; import { cookieFunctions } from "../cookies"; import { NextApiRequest, NextApiResponse } from "next"; export const logout = async (req: NextApiRequest, res: NextApiResponse) => { const session_token = req.cookies[process.env.SESSION_COOKIE_NAME]; await db.session.delete({ where: { session_token: session_token, } }) .then(async () => { await cookieFunctions.deleteCookie(res); }) .catch((error) => { console.log(error); throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: `Error: there was an issue deleting the session. ${(error as Error).message}`, cause: error }); }); return { logout_success: true, }; }