Почему UserInputError не отображает properties?

Всем привет.
При регистрации делаю валидацию полей, и хочу вывести ошибку, которая будет содержать список информеров для каждого не заполненного поля:
Валидация

import validator from "validator";

export default (name: string, email: string, password: string) => {
    const errors: any = {};

    if (!name || name.trim() === "") {
        errors.name = "Укажите пожалуйста имя";
    }

    if (!email || email.trim() === "") {
        errors.email = "Укажите пожалуйста email";
    } else {
        if (!validator.isEmail(email.trim())) {
            errors.email = "Укажите пожалуйста корректный email";
        }
    }

    if (!password || password === "") {
        errors.password = "Укажите пожалуйста пароль";
    }

    return {
        errors,
        valid: Object.keys(errors).length < 1
    }
};


Вызов валидатора

import {UserInputError} from "apollo-server-express";
const {valid, errors} = registrationInputValidator(name, email, password);
if (!valid) {
    throw new UserInputError("Ошибка", {errors});
}


При выполнении мутации получаю ответ

{
  "errors": [
    {
      "message": "Ошибка",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "registration"
      ],
      "extensions": {
        "code": "BAD_USER_INPUT"
      }
    }
  ],
  "data": {
    "registration": null
  }
}


Почему в ответе не отображается properties ?
Хотя
console.log(new UserInputError("Ошибка", {errors}));

в консоли отображает:
UserInputError: Ошибка
            {
                errors: {
                    name: 'Укажите пожалуйста имя',
                    email: 'Укажите пожалуйста email',
                    password: 'Укажите пожалуйста пароль'
                },
                extensions: {code: 'BAD_USER_INPUT'}
            }

Или как можно по другому вывести объект с полями и какие в них ошибки ?
заранее спасибо.
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
@Egor1324 Автор вопроса
Решил проблему, вместо graphqlhttp юзаю new ApolloServer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы