import { txasupabase } from '../../../lib/txasupabase.js'; export const POST = async ({ request, cookies }) => { const token = cookies.get('auth_token')?.value; if (!token) return new Response(JSON.stringify({ error: 'Bạn cần đăng nhập để thực hiện!' }), { status: 401 }); try { const { movieSlug, movieName, movieThumb } = await request.json(); const userData = JSON.parse(Buffer.from(token, 'base64').toString('utf-8')); // Tìm người dùng trên Supabase dựa vào ID const user = await txasupabase.getUserById(userData.id); if (!user) return new Response(JSON.stringify({ error: 'Không tìm thấy người dùng!' }), { status: 404 }); const favorites = user.favorites || []; const favIndex = favorites.findIndex(f => f.slug === movieSlug); let action = ''; if (favIndex === -1) { favorites.push({ slug: movieSlug, name: movieName, thumb: movieThumb, addedAt: new Date().toISOString() }); action = 'added'; } else { favorites.splice(favIndex, 1); action = 'removed'; } // Cập nhật lại thông tin phim yêu thích lên Supabase await txasupabase.saveUser({ ...user, favorites }); return new Response(JSON.stringify({ message: action === 'added' ? 'Đã thêm vào yêu thích!' : 'Đã xóa khỏi yêu thích!', action }), { status: 200 }); } catch (err) { console.error('[Favorite POST Error]:', err); return new Response(JSON.stringify({ error: 'Lỗi hệ thống!' }), { status: 500 }); } }; export const GET = async ({ url, cookies }) => { const token = cookies.get('auth_token')?.value; if (!token) return new Response(JSON.stringify({ favorites: [] }), { status: 200 }); try { const userData = JSON.parse(Buffer.from(token, 'base64').toString('utf-8')); const user = await txasupabase.getUserById(userData.id); return new Response(JSON.stringify({ favorites: user?.favorites || [] }), { status: 200 }); } catch (err) { console.error('[Favorite GET Error]:', err); return new Response(JSON.stringify({ favorites: [] }), { status: 200 }); } };