From 549d97b90c9605b0b464393e70e8b424aa89c649 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Tue, 3 Feb 2026 20:24:33 +0300 Subject: [PATCH] fix: use auth_user_id for P2P balance queries --- src/contexts/AuthContext.tsx | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx index 0b36a7c..84f240b 100644 --- a/src/contexts/AuthContext.tsx +++ b/src/contexts/AuthContext.tsx @@ -109,13 +109,19 @@ export function AuthProvider({ children }: { children: ReactNode }) { } setUser(data.user); - setCurrentUserId(data.user.id); // Set user ID for p2p-fiat functions + // Use auth_user_id for P2P operations (balance queries, etc.) + // This is the auth.users ID used by p2p_deposit_withdraw_requests FK + const p2pUserId = data.auth_user_id || data.user.id; + setCurrentUserId(p2pUserId); setTelegramUser(getTelegramUser()); - // Store session token if provided + // Store session token and auth_user_id if provided if (data.session_token) { localStorage.setItem('p2p_session', data.session_token); } + if (data.auth_user_id) { + localStorage.setItem('p2p_auth_user_id', data.auth_user_id); + } window.Telegram?.WebApp.HapticFeedback.notificationOccurred('success'); } catch (err) { @@ -192,12 +198,17 @@ export function AuthProvider({ children }: { children: ReactNode }) { } setUser(data.user); - setCurrentUserId(data.user.id); // Set user ID for p2p-fiat functions + // Use auth_user_id for P2P operations + const p2pUserId = data.auth_user_id || data.user.id; + setCurrentUserId(p2pUserId); - // Store session token + // Store session token and auth_user_id if (data.session_token) { localStorage.setItem('p2p_session', data.session_token); } + if (data.auth_user_id) { + localStorage.setItem('p2p_auth_user_id', data.auth_user_id); + } // Clear URL params after successful login window.history.replaceState({}, '', window.location.pathname); @@ -218,6 +229,7 @@ export function AuthProvider({ children }: { children: ReactNode }) { // Check for existing session first const sessionToken = localStorage.getItem('p2p_session'); + const storedAuthUserId = localStorage.getItem('p2p_auth_user_id'); if (sessionToken) { try { const { data, error } = await supabase.functions.invoke('telegram-auth', { @@ -225,12 +237,18 @@ export function AuthProvider({ children }: { children: ReactNode }) { }); if (!error && data?.user) { setUser(data.user); - setCurrentUserId(data.user.id); // Set user ID for p2p-fiat functions + // Use stored or returned auth_user_id for P2P operations + const p2pUserId = data.auth_user_id || storedAuthUserId || data.user.id; + setCurrentUserId(p2pUserId); + if (data.auth_user_id) { + localStorage.setItem('p2p_auth_user_id', data.auth_user_id); + } setIsLoading(false); return; } } catch { localStorage.removeItem('p2p_session'); + localStorage.removeItem('p2p_auth_user_id'); } }