mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-06-14 02:51:12 +00:00
fix: auto-create user in tg_users when reacting
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "pezkuwi-telegram-miniapp",
|
||||
"version": "1.0.151",
|
||||
"version": "1.0.152",
|
||||
"type": "module",
|
||||
"description": "Pezkuwichain Telegram Mini App - Forum, Announcements, Rewards",
|
||||
"author": "Pezkuwichain Team",
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "1.0.151",
|
||||
"buildTime": "2026-02-07T03:12:47.597Z",
|
||||
"buildNumber": 1770433967598
|
||||
"version": "1.0.152",
|
||||
"buildTime": "2026-02-07T03:21:34.655Z",
|
||||
"buildNumber": 1770434494656
|
||||
}
|
||||
|
||||
@@ -129,22 +129,39 @@ serve(async (req) => {
|
||||
auth: { autoRefreshToken: false, persistSession: false },
|
||||
});
|
||||
|
||||
// Get user by telegram_id from tg_users table
|
||||
const { data: userData, error: userError } = await supabase
|
||||
// Get or create user by telegram_id
|
||||
let userId: string;
|
||||
const { data: existingUser } = await supabase
|
||||
.from('tg_users')
|
||||
.select('id')
|
||||
.eq('telegram_id', telegramId)
|
||||
.single();
|
||||
|
||||
if (userError || !userData) {
|
||||
console.error('[announcement-reaction] User not found for tgId:', telegramId);
|
||||
return new Response(JSON.stringify({ error: 'User not found' }), {
|
||||
status: 404,
|
||||
headers: { ...corsHeaders, 'Content-Type': 'application/json' },
|
||||
});
|
||||
}
|
||||
if (existingUser) {
|
||||
userId = existingUser.id;
|
||||
} else {
|
||||
// Create user if not exists
|
||||
const { data: newUser, error: createError } = await supabase
|
||||
.from('tg_users')
|
||||
.insert({
|
||||
telegram_id: telegramId,
|
||||
username: telegramUser.username || null,
|
||||
first_name: telegramUser.first_name,
|
||||
last_name: telegramUser.last_name || null,
|
||||
})
|
||||
.select('id')
|
||||
.single();
|
||||
|
||||
const userId = userData.id;
|
||||
if (createError || !newUser) {
|
||||
console.error('[announcement-reaction] Failed to create user:', createError);
|
||||
return new Response(JSON.stringify({ error: 'Failed to create user' }), {
|
||||
status: 500,
|
||||
headers: { ...corsHeaders, 'Content-Type': 'application/json' },
|
||||
});
|
||||
}
|
||||
userId = newUser.id;
|
||||
console.log('[announcement-reaction] Created new user:', userId);
|
||||
}
|
||||
|
||||
// Check existing reaction
|
||||
const { data: existing } = await supabase
|
||||
|
||||
Reference in New Issue
Block a user