#javascript #reactjs #mongodb #graphql #apollo
#javascript #reactjs #mongodb #graphql #apollo
Вопрос:
Я пытаюсь удалить сообщение, если внутри нет комментариев. Это действительно работает, но я не получаю ответное сообщение, если сообщение удаляется. Ответ сервера: «ошибки»: [{ «сообщение»: «Невозможно вернуть значение null для ненулевого поля Post.id .»,..
Как я могу сделать это без сообщения об ошибке или даже какой лучший способ удалить сообщение, в котором нет комментариев?
async deleteComment(_, { postId, commentId }, context) {
const { username } = checkAuth(context);
const post = await Post.findById(postId);
if (post) {
const commentIndex = post.comments.findIndex(
(c) => c.id === commentId
);
if (post.comments[commentIndex].username === username) {
post.comments.splice(commentIndex, 1);
await post.save();
if (post.comments.length < 1) {
console.log("No comments available";
await post.delete();
return "Successfully deleted post"; // I want to get the message
}
return post;
} else {
throw new AuthenticationError("Action not allowed");
}
} else {
throw new UserInputError("Post not found");
}
},
Комментарии:
1. ` вернуть «Успешно удаленное сообщение»; // Я хочу получить сообщение ` vs
return post;
… 1-й не возвращает сообщение (возможно, тип результата мутации)… простоreturn post
(без ошибки = успех) или расширить возвращаемый тип (с некоторым сообщением)