import { UserInputError } from 'apollo-server-micro' export default { Query: { messages: async (parent, args, { models }) => await models.message.findMany(), message: async (parent, { id }, { models }) => await models.message.findUnique({ where: { id } }) }, Mutation: { createMessage: async (parent, { text }, { me, models }) => { if (!text) { throw new UserInputError('Must have text', { argumentName: 'text' }) } return await models.message.create({ data: { text, userId: me.id } }) }, deleteMessage: async (parent, { id }, { models }) => await models.message.delete({ where: { id } }) }, Message: { user: async (message, args, { models }) => await models.user.findUnique({ where: { id: message.userId } }) } }