import { prisma } from '../../services' import { Wishlist, WishlistItem } from '@/types' export default { getAll: async (): Promise<Wishlist[]> => { return (await prisma.client.wishlist.findMany({ include: { items: false }, })) as Wishlist[] }, getBySlugUrlText: async (value: string, includeItems = false) => { return await prisma.client.wishlist.findUnique({ where: { slugUrlText: value, }, include: { items: includeItems }, }) }, create: async (payload: Wishlist) => { return await prisma.client.wishlist.create({ data: payload, }) }, update: async (id: string, payload: Wishlist) => { return await prisma.client.wishlist.update({ where: { id: id, }, data: { ...payload, }, }) }, createItem: async (wishlistId: string, payload: WishlistItem) => { const wishlist = await prisma.client.wishlist.update({ where: { id: wishlistId, }, data: { items: { create: { ...payload, }, }, }, include: { items: true }, }) return wishlist.items.pop() }, // eslint-disable-next-line @typescript-eslint/no-explicit-any updateItem: async (itemId: number, payload: any) => { return await prisma.client.item.update({ where: { id: itemId, }, data: { ...payload, }, }) }, }