Как вернуть пользовательские ошибки в мангуст? - PullRequest
0 голосов
/ 01 октября 2018

Имея модель Мангуста, можно ли добавить обработку ошибок непосредственно в модель, используя .on('error) listener?

Моя цель - добавить пользовательские сообщения об ошибках во входящие ошибки в зависимости от их происхождения.Также я думал об изменении сообщений об ошибках, чтобы сделать их более удобными для пользователя.

this.model.on('error', function(error) {
  if (someCondition)
    error = new ApolloError('Custom message', 'NOT_FOUND')
   return error;
});

По сути, я хочу получать сообщение об ошибке с кодом NOT_FOUND и пользовательское сообщение всякий раз, когда mongoose выдает ошибку, которая удовлетворяеткакое-то условие.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 01 октября 2018

Я пришел к следующему решению, которое должно использовать toApolloError util, найденный в apollo-server-errors

this.model.on('error', function(error) {
  toApolloError(error, 'USER_INPUT_ERROR');
});
...