@prisma-extensions/find-or-create
Version:
Simplify your development experience by finding or creating records with a function.
20 lines (18 loc) • 552 B
text/typescript
import { Prisma } from '@prisma/client'
export const extension = Prisma.defineExtension({
name: '@prisma-extensions/find-or-create',
model: {
$allModels: {
async findOrCreate<Model, Args extends object>(
this: Model,
args: Prisma.Exact<Args, Omit<Prisma.Args<Model, 'upsert'>, 'update'>>,
): Promise<Prisma.Result<Model, Args, 'findFirst'>> {
// @ts-expect-error: Requires more types from Prisma
return await this.upsert({
...args,
update: {},
})
},
},
},
})