Website/db/app/item-use-prefabs/queries/getItemUsePrefabs.ts
Mangiang 4b26395870
Some checks failed
continuous-integration/drone/push Build is failing
chore: work in progress
2022-05-06 21:05:02 -04:00

31 lines
800 B
TypeScript

import { paginate, resolver } from "blitz"
import db, { Prisma } from "db"
interface GetItemUsePrefabsInput
extends Pick<Prisma.ItemUsePrefabFindManyArgs, "where" | "orderBy" | "skip" | "take"> {}
export default resolver.pipe(
resolver.authorize(),
async ({ where, orderBy, skip = 0, take = 100 }: GetItemUsePrefabsInput) => {
// TODO: in multi-tenant app, you must add validation to ensure correct tenant
const {
items: itemUsePrefabs,
hasMore,
nextPage,
count,
} = await paginate({
skip,
take,
count: () => db.itemUsePrefab.count({ where }),
query: (paginateArgs) => db.itemUsePrefab.findMany({ ...paginateArgs, where, orderBy }),
})
return {
itemUsePrefabs,
nextPage,
hasMore,
count,
}
}
)