UNPKG

@prisma-extensions/factory

Version:

Factory enables you to easily create and build database records for testing or seeding purposes.

26 lines (25 loc) 931 B
import { Prisma } from '@prisma/client'; import { buildIncludes, mergeData } from './utils'; export const factoryExtension = Prisma.defineExtension((client) => { return client.$extends({ name: '@prisma-extensions/factory', model: { $allModels: { $factory(defaultData) { return { attributes(data = {}) { return mergeData(defaultData, data); }, create: async (data = {}) => { const mergedData = mergeData(defaultData, data); return await this.create({ data: mergedData, include: buildIncludes(mergedData), }); }, }; }, }, }, }); });