export default { async fetch(request, env, ctx) { const SUPABASE_URL = "https://keconnxfdpzbzaqnfzbf.supabase.co"; const SUPABASE_KEY = "sb_publishable_OOI7_AHgE_yIekROJttAkg_quvInzO6"; const url = new URL(request.url); const action = url.searchParams.get('action'); let responseData = { success: false, message: "Invalid action" }; const headers = { 'apikey': SUPABASE_KEY, 'Authorization': `Bearer ${SUPABASE_KEY}`, 'Content-Type': 'application/json', 'Prefer': 'return=representation' }; try { if (action === 'login') { const username = url.searchParams.get('username'); const password = url.searchParams.get('password'); const tkRes = await fetch(`${SUPABASE_URL}/rest/v1/taikhoan?username=eq.${username}&password=eq.${password}&select=*`, { method: 'GET', headers: headers }); const tkData = await tkRes.json(); if (!tkData || tkData.length === 0) { responseData = { success: false, message: "Số điện thoại hoặc mật khẩu không đúng!" }; } else { let userRecord = tkData[0]; let customerName = userRecord.hoten || userRecord.HoTen || userRecord.HOTEN || "Hồ Ánh Hồng"; responseData = { success: true, tenTaiKhoan: customerName, danhSachMaKH: [ { makh: "GL00123", tenkh: customerName, diachi: "67/1 Hẻm 67 - Hoàng Văn Thụ, Pleiku, Gia Lai" } ] }; } } } catch (err) { responseData = { success: false, error: err.toString() }; } return new Response(JSON.stringify(responseData), { headers: { 'Content-Type': 'application/json;charset=UTF-8', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type' } }); } };