Нина, во-первых, у вас неправильно написана мутация, чисто синтаксически.
У вас написано
const mutation = `
mutation createUser($firstName: String,$secondName: String, $email: String,$password:String){
createUser(firstName: $firstName,secondName:$secondName,email:$email, password:$password){
signup(
firstName
secondName
email
password
)
}
}`;
а должно быть
const mutation = `
mutation createUser(
$firstName: String
$secondName: String
$email: String
$password: String
) {
signup(
firstName: $firstName
secondName: $secondName
email: $email
password: $password
)
}
`;
То есть у вас, во-первых, лишняя обертка получилась, во-вторых, вы не передали в запрос указанные параметры.
Но даже в этом случае у вас не пройдет запрос, так как в схеме у вас некоторые параметры указаны как обязательные, а вы в своем запросе их не указали обязательными. Вот смотрите схему:
type Mutation {
signup(
firstName: String!
secondName: String!
email: String!
password: String!
): String
// ...
}
У вас здесь все параметры обязательные, то есть ваш запрос должен выглядеть так:
const mutation = `
mutation createUser(
$firstName: String!
$secondName: String!
$email: String!
$password: String!
) {
signup(
firstName: $firstName
secondName: $secondName
email: $email
password: $password
)
}
`;
В целом же, судя по тому, что у вас ошибка возникает в .mjs - файлах, она возникает не на стороне фронта, а уже на стороне АПИ-сервера, так что сам механизм у вас вроде как реализован. Но сама тема слишком объемная, чтобы в одном комменте можно было бы ее раскрыть. Попробуйте посмотреть вот это видео:
https://www.youtube.com/watch?v=69e-omuXdIw
Оно объемное, но зато раскрывает все уровни реализации GraphQL-API.