LaLiga-FrontEnd/src/pages/api/postsFavoriteByUser/index.ts

46 lines
1.2 KiB
TypeScript

import { NextApiRequest, NextApiResponse } from 'next'
import prisma from '../../../utils/connect'
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
if (req.method !== 'GET') {
return res.status(405).json({ message: 'Method Not Allowed' })
}
const userEmail = req.query.userEmail as string
if (!userEmail) {
return res.status(400).json({ message: 'User email is required' })
}
try {
const user = await prisma.user.findUnique({
where: { email: userEmail },
include: {
Favorite: {
include: {
post: {
include: {
Like: true,
Favorite: true,
Category: true,
comments: true
// _count: true
}
}
}
}
}
})
if (!user) {
return res.status(404).json({ message: 'User not found' })
}
const favoritePosts = user.Favorite.map((favorite) => favorite.post)
return res.status(200).json(favoritePosts)
} catch (error: any) {
console.error(error)
res.status(500).json({ message: 'Something went wrong', error: error.message })
}
}