From 888a2e392425243a2939fd48a08a1c8e31d3f22a Mon Sep 17 00:00:00 2001 From: msukkari Date: Thu, 13 Feb 2025 16:42:33 -0800 Subject: [PATCH] change stripe init to be behind function --- .github/workflows/staging-ghcr-public.yml | 1 - packages/web/src/actions.ts | 9 ++++++++- packages/web/src/lib/stripe.ts | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/staging-ghcr-public.yml b/.github/workflows/staging-ghcr-public.yml index 9e71eefe..d3f42904 100644 --- a/.github/workflows/staging-ghcr-public.yml +++ b/.github/workflows/staging-ghcr-public.yml @@ -70,7 +70,6 @@ jobs: build-args: | SOURCEBOT_VERSION=${{ github.ref_name }} POSTHOG_PAPIK=${{ secrets.POSTHOG_PAPIK }} - SOURCEBOT_ENCRYPTION_KEY=${{ secrets.STAGING_SOURCEBOT_ENCRYPTION_KEY }} - name: Export digest run: | diff --git a/packages/web/src/actions.ts b/packages/web/src/actions.ts index d3e304b0..c70d4b55 100644 --- a/packages/web/src/actions.ts +++ b/packages/web/src/actions.ts @@ -14,7 +14,7 @@ import { encrypt } from "@sourcebot/crypto" import { getConnection } from "./data/connection"; import { ConnectionSyncStatus, Prisma, Invite } from "@sourcebot/db"; import { headers } from "next/headers" -import { stripe } from "@/lib/stripe" +import { getStripe } from "@/lib/stripe" import { getUser } from "@/data/user"; import { Session } from "next-auth"; import { STRIPE_PRODUCT_ID } from "@/lib/environment"; @@ -339,6 +339,7 @@ export const redeemInvite = async (invite: Invite, userId: string): Promise<{ su const existingSeatCount = subscription.items.data[0].quantity; const newSeatCount = (existingSeatCount || 1) + 1 + const stripe = getStripe(); await stripe.subscriptionItems.update( subscription.items.data[0].id, { @@ -424,6 +425,7 @@ export const setupInitialStripeCustomer = async (name: string, domain: string) = return ""; } + const stripe = getStripe(); const origin = (await headers()).get('origin') // @nocheckin @@ -489,6 +491,7 @@ export const getSubscriptionCheckoutRedirect = async (domain: string) => }); const numOrgMembers = orgMembers.length; + const stripe = getStripe(); const origin = (await headers()).get('origin') const prices = await stripe.prices.list({ product: STRIPE_PRODUCT_ID, @@ -520,6 +523,7 @@ export const getSubscriptionCheckoutRedirect = async (domain: string) => ) export async function fetchStripeSession(sessionId: string) { + const stripe = getStripe(); const stripeSession = await stripe.checkout.sessions.retrieve(sessionId); return stripeSession; } @@ -537,6 +541,7 @@ export const getCustomerPortalSessionLink = async (domain: string): Promise { + if (!stripeInstance) { + stripeInstance = new Stripe(STRIPE_SECRET_KEY!); + } + return stripeInstance; +} \ No newline at end of file