feat: return auth_user_id from telegram-auth for P2P role matching

This commit is contained in:
2026-02-27 01:51:27 +03:00
parent 556b850ec2
commit 4fbf60f940
3 changed files with 42 additions and 5 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "pezkuwi-telegram-miniapp",
"version": "1.0.228",
"version": "1.0.225",
"type": "module",
"description": "Pezkuwichain Telegram Mini App - Forum, Announcements, Rewards",
"author": "Pezkuwichain Team",
@@ -81,7 +81,7 @@
"prettier": "^3.8.1",
"tailwindcss": "^3.4.11",
"tronweb": "^6.2.0",
"typescript": "^5.9.3",
"typescript": "^5.5.3",
"vite": "^5.4.1",
"vitest": "^4.0.18"
},
+3 -3
View File
@@ -1,5 +1,5 @@
{
"version": "1.0.228",
"buildTime": "2026-02-26T21:44:34.122Z",
"buildNumber": 1772142274123
"version": "1.0.225",
"buildTime": "2026-02-26T22:51:27.298Z",
"buildNumber": 1772146287300
}
+37
View File
@@ -156,9 +156,19 @@ serve(async (req) => {
});
}
// Look up auth.users UUID for P2P trade matching
const sessionTelegramEmail = `telegram_${tgId}@pezkuwichain.io`;
const {
data: { users: sessionAuthUsers },
} = await supabase.auth.admin.listUsers({ perPage: 1000 });
const sessionAuthUser = sessionAuthUsers?.find(
(u: { email?: string }) => u.email === sessionTelegramEmail
);
return new Response(
JSON.stringify({
user: userData,
auth_user_id: sessionAuthUser?.id || null,
session_token: generateSessionToken(tgId, matchedToken),
}),
{ headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
@@ -235,11 +245,38 @@ serve(async (req) => {
userId = newUser.id;
}
// Ensure auth.users entry exists (needed for P2P foreign keys)
const telegramEmail = `telegram_${telegramUser.id}@pezkuwichain.io`;
const {
data: { users: existingAuthUsers },
} = await supabase.auth.admin.listUsers({ perPage: 1000 });
const authUser = existingAuthUsers?.find((u: { email?: string }) => u.email === telegramEmail);
if (!authUser) {
await supabase.auth.admin.createUser({
email: telegramEmail,
email_confirm: true,
user_metadata: {
telegram_id: telegramUser.id,
username: telegramUser.username,
first_name: telegramUser.first_name,
},
});
}
const { data: userData } = await supabase.from('users').select('*').eq('id', userId).single();
// Get the auth.users UUID (just created or already exists)
const initAuthEmail = `telegram_${telegramUser.id}@pezkuwichain.io`;
const {
data: { users: initAuthUsers },
} = await supabase.auth.admin.listUsers({ perPage: 1000 });
const initAuthUser = initAuthUsers?.find((u: { email?: string }) => u.email === initAuthEmail);
return new Response(
JSON.stringify({
user: userData,
auth_user_id: initAuthUser?.id || null,
telegram_user: telegramUser,
session_token: generateSessionToken(telegramUser.id, matchedBotToken),
}),