Estoy usando un paquete prisma-offset-pagination para aplicar la paginación. Para esto, tengo que usar Prisma Model en mi código, ¿cómo es eso posible? Verifique la línea: 02
const result = prismaOffsetPagination({ model: user, // How to access prisma model like in this example. cursor: <cursor>, size: 5, buttonNum: 7, orderBy: 'id', orderDirection: 'desc', prisma: prisma, });Lo probé usando el código a continuación, pero no funcionó y arroja un error: UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toLowerCase' of undefined at prismaOffsetPagination
import pClient from '@prisma/client' const { PrismaClient } = pClient const { prisma } = new PrismaClient() const result = prismaOffsetPagination({ model: prisma.user, cursor: 2, size: 5, buttonNum: 3, orderBy: 'id', orderDirection: 'desc', })Así es como se ve la función prismaOffsetPagination:
export async function prismaOffsetPagination({ model, cursor, size, buttonNum, orderBy, orderDirection, include, where, prisma, }: Props<typeof model>): Promise<PaginationType> { // totalCount const prismaModel = prisma[model.name.toLowerCase()]; const totalCount = await prismaModel.count({ where: { ...where, }, }); Como puede ver, model.name.toLowerCase() sugiere que model es un objeto con una propiedad de nombre: model:{name:string}
Basado en esto, para mí funcionó pasando el nombre del modelo dentro del objeto, de la siguiente manera:
const result = prismaOffsetPagination({ model: {name: 'user'} cursor: <cursor>, size: 5, buttonNum: 7, orderBy: 'id', orderDirection: 'desc', prisma: prisma, });