import { ensureIdentity } from '@app/server/helpers'; import { IdentityContext } from '@app/server/identity'; import { prisma, uuid } from '@app/server/prisma/client'; import { Book, MutationBookCreateArgs } from '@generated/types'; import { toBookSchema } from './mappers/bookMapper'; export async function BookCreateResolver( _: any, { input }: MutationBookCreateArgs, { identity }: IdentityContext ): Promise { ensureIdentity(identity); console.log(input.title.length); if (input.title.length > 60) throw new Error('Title is too long.'); if (input.description.length > 900) throw new Error('Description is too long.'); const model = await prisma.book.create({ data: { id: uuid(), title: input.title, description: input.description, authorId: identity.id } }); return toBookSchema(model); }