import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient() export const addLike = async (postId: any, userEmail: any, session: any) => { try { if (!session) { throw new Error('Not Authenticated') } const existingLike = await prisma.like.findUnique({ where: { postId_userEmail: { postId, userEmail } } }) if (existingLike) { throw new Error('El usuario ya dio like a este post.') } await prisma.like.create({ data: { postId, userEmail } }) const updatedLikes = await prisma.post .findUnique({ where: { id: postId } }) .Like() return updatedLikes } catch (error) { console.error('Error al añadir el like:', error) throw new Error('Error al añadir el like') } } export const deleteLike = async (postId: any, userEmail: string, session: any) => { try { // Verificar si el usuario ha dado like al post const existingLike = await prisma.like.findUnique({ where: { postId_userEmail: { postId, userEmail } } }) if (!existingLike) { throw new Error('El usuario no ha dado like a este post.') } // Eliminar el like await prisma.like.delete({ where: { postId_userEmail: { postId, userEmail } } }) const updatedLikes = await prisma.post .findUnique({ where: { id: postId } }) .Like() return updatedLikes } catch (error) { console.error('Error al quitar el like:', error) throw new Error('Error al quitar el like') } }