import { ensureIdentity } from '@app/server/helpers'; import { IdentityContext } from '@app/server/identity'; import { prisma } from '@app/server/prisma/client'; import { MutationBookDeleteArgs } from '@generated/types'; export async function BookDeleteResolver( _: any, { id }: MutationBookDeleteArgs, { identity }: IdentityContext ): Promise { ensureIdentity(identity); const model = await prisma.book.findUniqueOrThrow({ where: { id } }); if (identity.id !== model.authorId) throw new Error('Operation is not permitted.'); await prisma.book.delete({ where: { id } }); }