From 502f2a7a43d9ab6d1c8985615fc99fa836af5e4d Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Fri, 20 Oct 2023 12:10:34 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20broken=20checkout=20and=20?= =?UTF-8?q?portal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/pages/api/stripe/checkout.ts | 6 +++--- apps/web/src/pages/api/stripe/portal.ts | 6 +++--- packages/backend/next/index.ts | 1 - packages/backend/next/session.ts | 17 ----------------- 4 files changed, 6 insertions(+), 24 deletions(-) delete mode 100644 packages/backend/next/session.ts diff --git a/apps/web/src/pages/api/stripe/checkout.ts b/apps/web/src/pages/api/stripe/checkout.ts index 3369bf71d..c72317107 100644 --- a/apps/web/src/pages/api/stripe/checkout.ts +++ b/apps/web/src/pages/api/stripe/checkout.ts @@ -1,10 +1,10 @@ -import { getSession } from "@rallly/backend/next/session"; import { stripe } from "@rallly/backend/stripe"; import { prisma } from "@rallly/database"; import { NextApiRequest, NextApiResponse } from "next"; import { z } from "zod"; import { absoluteUrl } from "@/utils/absolute-url"; +import { getServerSession } from "@/utils/auth"; export const config = { edge: true, @@ -20,10 +20,10 @@ export default async function handler( req: NextApiRequest, res: NextApiResponse, ) { - const userSession = await getSession(req, res); + const userSession = await getServerSession(req, res); const { period = "monthly", return_path } = inputSchema.parse(req.body); - if (userSession.user?.isGuest !== false) { + if (!userSession || userSession.user.email === null) { // You need to be logged in to subscribe res.redirect( 303, diff --git a/apps/web/src/pages/api/stripe/portal.ts b/apps/web/src/pages/api/stripe/portal.ts index c440402c0..6e0bf7489 100644 --- a/apps/web/src/pages/api/stripe/portal.ts +++ b/apps/web/src/pages/api/stripe/portal.ts @@ -1,10 +1,10 @@ -import { getSession } from "@rallly/backend/next/session"; import { stripe } from "@rallly/backend/stripe"; import { prisma } from "@rallly/database"; import { NextApiRequest, NextApiResponse } from "next"; import { z } from "zod"; import { absoluteUrl } from "@/utils/absolute-url"; +import { getServerSession } from "@/utils/auth"; const inputSchema = z.object({ session_id: z.string().optional(), @@ -15,9 +15,9 @@ export default async function handler( req: NextApiRequest, res: NextApiResponse, ) { - const userSession = await getSession(req, res); + const userSession = await getServerSession(req, res); - if (userSession.user?.isGuest !== false) { + if (!userSession?.user.email) { // You need to be logged in to subscribe res .status(403) diff --git a/packages/backend/next/index.ts b/packages/backend/next/index.ts index 80740f5d6..178cd64f8 100644 --- a/packages/backend/next/index.ts +++ b/packages/backend/next/index.ts @@ -1,2 +1 @@ -export * from "./session"; export * from "./utils"; diff --git a/packages/backend/next/session.ts b/packages/backend/next/session.ts deleted file mode 100644 index bea7e31c4..000000000 --- a/packages/backend/next/session.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { IncomingMessage, ServerResponse } from "http"; -import { getIronSession } from "iron-session"; -import { withIronSessionApiRoute } from "iron-session/next"; -import { NextApiHandler } from "next"; - -import { sessionConfig } from "../session-config"; - -export function withSessionRoute(handler: NextApiHandler) { - return withIronSessionApiRoute(handler, sessionConfig); -} - -export const getSession = async ( - req: Request | IncomingMessage, - res: Response | ServerResponse, -) => { - return getIronSession(req, res, sessionConfig); -};