mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-04-21 23:37:55 +00:00
feat: return auth_user_id from telegram-auth for P2P role matching
This commit is contained in:
+2
-2
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user