diff --git a/package.json b/package.json index a1662e1..e1f9e5f 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/version.json b/src/version.json index d060bda..98860e8 100644 --- a/src/version.json +++ b/src/version.json @@ -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 } diff --git a/supabase/functions/announcement-reaction/index.ts b/supabase/functions/announcement-reaction/index.ts index 31f21d3..75fd2ec 100644 --- a/supabase/functions/announcement-reaction/index.ts +++ b/supabase/functions/announcement-reaction/index.ts @@ -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