diff --git a/src/main/java/com/howtographql/hackernews/LinkRepository.java b/src/main/java/com/howtographql/hackernews/LinkRepository.java index 96345098..bc4f65a5 100644 --- a/src/main/java/com/howtographql/hackernews/LinkRepository.java +++ b/src/main/java/com/howtographql/hackernews/LinkRepository.java @@ -42,12 +42,19 @@ public List getAllLinks(LinkFilter filter, int skip, int first) { return allLinks; } - public void saveLink(Link link) { + public Link saveLink(Link link) { Document doc = new Document(); doc.append("url", link.getUrl()); doc.append("description", link.getDescription()); doc.append("postedBy", link.getUserId()); links.insertOne(doc); + + return new Link( + doc.get("_id").toString(), + link.getUrl(), + link.getDescription(), + link.getUserId() + ); } private Bson buildFilter(LinkFilter filter) { diff --git a/src/main/java/com/howtographql/hackernews/Mutation.java b/src/main/java/com/howtographql/hackernews/Mutation.java index f5b6d899..a0bcd98a 100644 --- a/src/main/java/com/howtographql/hackernews/Mutation.java +++ b/src/main/java/com/howtographql/hackernews/Mutation.java @@ -26,8 +26,7 @@ public Mutation(LinkRepository linkRepository, UserRepository userRepository, Vo public Link createLink(String url, String description, DataFetchingEnvironment env) { AuthContext context = env.getContext(); Link newLink = new Link(url, description, context.getUser().getId()); - linkRepository.saveLink(newLink); - return newLink; + return linkRepository.saveLink(newLink); } public User createUser(String name, AuthData auth) {