api: fix for supabase RLS (#1501)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { getStripe } from '@/libs/stripe/server';
|
||||
import { validateUserAndToken } from '@/utils/access';
|
||||
import { supabase } from '@/utils/supabase';
|
||||
import { createSupabaseAdminClient } from '@/utils/supabase';
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
const { priceId, embedded = true, metadata = {} } = await request.json();
|
||||
@@ -17,6 +17,7 @@ export async function POST(request: NextRequest) {
|
||||
};
|
||||
|
||||
try {
|
||||
const supabase = createSupabaseAdminClient();
|
||||
const { data: customerData } = await supabase
|
||||
.from('customers')
|
||||
.select('stripe_customer_id')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { getStripe } from '@/libs/stripe/server';
|
||||
import { validateUserAndToken } from '@/utils/access';
|
||||
import { supabase } from '@/utils/supabase';
|
||||
import { createSupabaseAdminClient } from '@/utils/supabase';
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
const { user, token } = await validateUserAndToken(request.headers.get('authorization'));
|
||||
@@ -10,6 +10,7 @@ export async function POST(request: NextRequest) {
|
||||
}
|
||||
|
||||
try {
|
||||
const supabase = createSupabaseAdminClient();
|
||||
const { data: customerData } = await supabase
|
||||
.from('customers')
|
||||
.select('stripe_customer_id')
|
||||
|
||||
@@ -167,7 +167,6 @@ async function handleSubscriptionUpdated(subscription: Stripe.Subscription) {
|
||||
const subscriptionId = subscription.id;
|
||||
|
||||
const supabase = createSupabaseAdminClient();
|
||||
|
||||
const { data: subscriptionData } = await supabase
|
||||
.from('subscriptions')
|
||||
.select('user_id, stripe_customer_id')
|
||||
|
||||
@@ -150,10 +150,13 @@ const ProfilePage = () => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleCheckoutSuccess = useCallback((sessionId: string) => {
|
||||
setShowEmbeddedCheckout(false);
|
||||
router.push(`/user/subscription/success?session_id=${sessionId}`);
|
||||
}, []);
|
||||
const handleCheckoutSuccess = useCallback(
|
||||
(sessionId: string) => {
|
||||
setShowEmbeddedCheckout(false);
|
||||
router.push(`/user/subscription/success?session_id=${sessionId}`);
|
||||
},
|
||||
[router],
|
||||
);
|
||||
|
||||
const handleManageSubscription = async () => {
|
||||
const token = await getAccessToken();
|
||||
|
||||
@@ -29,6 +29,9 @@ const SuccessPageWithSearchParams = () => {
|
||||
const router = useRouter();
|
||||
const sessionId = searchParams?.get('session_id');
|
||||
|
||||
const [mounted, setMounted] = useState(false);
|
||||
useEffect(() => setMounted(true), []);
|
||||
|
||||
async function fetchSessionStatus() {
|
||||
try {
|
||||
const token = await getAccessToken();
|
||||
@@ -111,6 +114,10 @@ const SuccessPageWithSearchParams = () => {
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [sessionStatus.status, retryCount]);
|
||||
|
||||
if (!mounted) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Loading state
|
||||
if (sessionStatus.status === 'loading') {
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user