Msgstr "Неизвестный аргумент \" электронная почта \ "в поле \" забыл пароль \ "типа \" Мутация \"."

Я хотел бы иметь конечную точку "ForgotPassword", где вводом является электронная почта, а вывода нет (результат действия - электронное письмо, отправленное пользователю). Это похоже на мутацию, а не на запрос. Я использую graphqli на передней панели и graphql-relay с узлом, выраженным на внутренней стороне. У меня есть это до сих пор:

import {
  fromGlobalId,
  connectionDefinitions,
  forwardConnectionArgs,
  connectionFromArraySlice,
  cursorToOffset,
  mutationWithClientMutationId,
  graphql,
} from 'graphql-relay'
import { GraphQLObjectType,
  GraphQLInputObjectType,
  GraphQLString, GraphQLNonNull, GraphQLID, GraphQLInt, GraphQLBoolean, } from 'graphql'


const forgotPassword = mutationWithClientMutationId({
  name: 'forgotPassword',
  inputFields: {
    email: { type: GraphQLString },
  },
  outputFields: {
    email: { type: GraphQLString },
  },
  mutateAndGetPayload: (arg1, arg2) => {
    console.log('+++ forgotPassword mutate and get payload:', arg1, arg2)
    return "status: ok"
  }
})

И тогда я получаю:

Что я делаю не так, как мне исправить эту ошибку? Кроме того, что я должен использовать, чтобы определить мутацию, это "mutationWithClientMutationId" или другой метод предпочтительнее?

Как сделать так, чтобы не было возвращаемого значения? (Я сейчас возвращаю письмо)

1 ответ

Решение

Я думаю, что аргумент email: $email должен быть обернут во входной объект как это:

input: {
  email: $email
}

Лично я не использую вспомогательную функцию мутации реле.

Другие вопросы по тегам