@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
JavaScript
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),
});
},
};
},
},
},
});
});