List of usage examples for io.vertx.core.eventbus Message body
@CacheReturn T body();
From source file:org.entcore.auth.users.DefaultUserAuthAccount.java
License:Open Source License
@Override public void blockUser(String id, boolean block, final Handler<Boolean> handler) { String query = "MATCH (n:`User` { id : {id}}) SET n.blocked = {block} return count(*) = 1 as exists"; JsonObject params = new JsonObject().put("id", id).put("block", block); neo.execute(query, params, new Handler<Message<JsonObject>>() { @Override/* w w w.j a va 2 s . c om*/ public void handle(Message<JsonObject> r) { handler.handle("ok".equals(r.body().getString("status")) && r.body().getJsonArray("result") != null && r.body().getJsonArray("result").getValue(0) != null && (r.body().getJsonArray("result").getJsonObject(0)).getBoolean("exists", false)); } }); }
From source file:org.entcore.auth.users.DefaultUserAuthAccount.java
License:Open Source License
@Override public void storeDomain(String id, String domain, String scheme, final Handler<Boolean> handler) { String query = "MATCH (u:User {id: {id}}) " + "SET u.lastDomain = {domain}, u.lastScheme = {scheme}, u.lastLogin = {now} " + "return count(*) = 1 as exists"; JsonObject params = new JsonObject().put("id", id).put("domain", domain).put("scheme", scheme).put("now", DateTime.now().toString());/*w ww. j a va 2s .c o m*/ neo.execute(query, params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { handler.handle("ok".equals(r.body().getString("status")) && r.body().getJsonArray("result") != null && r.body().getJsonArray("result").getValue(0) != null && (r.body().getJsonArray("result").getJsonObject(0)).getBoolean("exists", false)); } }); }
From source file:org.entcore.auth.users.DefaultUserAuthAccount.java
License:Open Source License
private void updatePassword(final Handler<Boolean> handler, String query, String password, Map<String, Object> params) { final String pw = BCrypt.hashpw(password, BCrypt.gensalt()); params.put("password", pw); neo.send(query, params, new Handler<Message<JsonObject>>() { @Override//from w w w . jav a 2 s .c o m public void handle(Message<JsonObject> res) { JsonObject r = res.body().getJsonObject("result"); handler.handle("ok".equals(res.body().getString("status")) && r.getJsonObject("0") != null && pw.equals(r.getJsonObject("0").getString("pw"))); } }); }
From source file:org.entcore.blog.security.BlogResourcesProvider.java
License:Open Source License
private void hasRightOnPost(final HttpServerRequest request, final UserInfos user, final Handler<Boolean> handler, String action) { String postId = request.params().get("postId"); if (StringUtils.isEmpty(postId)) { handler.handle(false);/* www. ja va 2 s. co m*/ return; } // QueryBuilder query = QueryBuilder.start("_id").is(postId); request.pause(); mongo.findOne("posts", MongoQueryBuilder.build(query), null, new JsonArray().add("blog"), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { request.resume(); if ("ok".equals(event.body().getString("status"))) { JsonObject res = event.body().getJsonObject("result"); if (res == null) { handler.handle(false); return; } /** * Is author? */ if (res.getJsonObject("author") != null && user.getUserId().equals(res.getJsonObject("author").getString("userId"))) { handler.handle(true); return; } if (res.getJsonObject("blog") != null && res.getJsonObject("blog").getJsonArray("shared") != null) { /** * is author? */ String blogAuthorId = res.getJsonObject("blog") .getJsonObject("author", new JsonObject()).getString("userId"); if (blogAuthorId != null && blogAuthorId.equals(user.getUserId())) { handler.handle(true); return; } /** * has right action? */ for (Object o : res.getJsonObject("blog").getJsonArray("shared")) { if (!(o instanceof JsonObject)) continue; JsonObject json = (JsonObject) o; if (json != null && json.getBoolean(action, false) && (user.getUserId().equals(json.getString("userId")) || user.getGroupsIds().contains(json.getString("groupId")))) { handler.handle(true); return; } } } handler.handle(false); } } }); }
From source file:org.entcore.blog.security.BlogResourcesProvider.java
License:Open Source License
private void executeCountQuery(final HttpServerRequest request, String collection, JsonObject query, final int expectedCountResult, final Handler<Boolean> handler) { request.pause();/* w ww .java2 s . c o m*/ mongo.count(collection, query, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { request.resume(); JsonObject res = event.body(); handler.handle(res != null && "ok".equals(res.getString("status")) && expectedCountResult == res.getInteger("count")); } }); }
From source file:org.entcore.blog.services.impl.BlogRepositoryEvents.java
License:Open Source License
@Override public void deleteUsers(JsonArray users) { if (users == null || users.size() == 0) { return;/*from w w w . ja va 2 s. c o m*/ } final String[] userIds = new String[users.size()]; for (int i = 0; i < users.size(); i++) { JsonObject j = users.getJsonObject(i); userIds[i] = j.getString("id"); } final JsonObject criteria = MongoQueryBuilder.build(QueryBuilder.start("shared.userId").in(userIds)); MongoUpdateBuilder modifier = new MongoUpdateBuilder(); modifier.pull("shared", MongoQueryBuilder.build(QueryBuilder.start("userId").in(userIds))); final String collection = DefaultBlogService.BLOG_COLLECTION; mongo.update(collection, criteria, modifier.build(), false, true, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if (!"ok".equals(event.body().getString("status"))) { log.error("Error deleting users shared in collection " + collection + " : " + event.body().getString("message")); } final JsonObject criteria = MongoQueryBuilder .build(QueryBuilder.start("author.userId").in(userIds)); MongoUpdateBuilder modifier = new MongoUpdateBuilder(); modifier.set("author.deleted", true); mongo.update(collection, criteria, modifier.build(), false, true, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if (!"ok".equals(event.body().getString("status"))) { log.error("Error deleting users shared in collection " + collection + " : " + event.body().getString("message")); } else { delete(collection); } } }); } }); }
From source file:org.entcore.blog.services.impl.BlogRepositoryEvents.java
License:Open Source License
private void delete(final String collection) { final JsonObject query = MongoQueryBuilder .build(QueryBuilder.start("shared.org-entcore-blog-controllers-BlogController|shareJson") .notEquals(true).put("author.deleted").is(true)); mongo.find(collection, query, null, new JsonObject().put("_id", 1), new Handler<Message<JsonObject>>() { @Override/*from w w w . j a v a 2 s .co m*/ public void handle(Message<JsonObject> res) { String status = res.body().getString("status"); JsonArray results = res.body().getJsonArray("results"); if ("ok".equals(status) && results != null && results.size() > 0) { String[] blogIds = new String[results.size()]; for (int i = 0; i < results.size(); i++) { JsonObject j = results.getJsonObject(i); blogIds[i] = j.getString("_id"); } QueryBuilder q = QueryBuilder.start("blog.$id").in(blogIds); mongo.delete(DefaultPostService.POST_COLLECTION, MongoQueryBuilder.build(q), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if (!"ok".equals(event.body().getString("status"))) { log.error("Error deleting posts : " + event.body().encode()); } else { log.info("Posts deleted : " + event.body().getInteger("number")); } } }); QueryBuilder query = QueryBuilder.start("_id").in(blogIds); mongo.delete(collection, MongoQueryBuilder.build(query), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { if (!"ok".equals(event.body().getString("status"))) { log.error("Error deleting blogs : " + event.body().encode()); } else { log.info("Blogs deleted : " + event.body().getInteger("number")); } } }); } } }); }
From source file:org.entcore.blog.services.impl.DefaultBlogService.java
License:Open Source License
@Override public void delete(final String blogId, final Handler<Either<String, JsonObject>> result) { QueryBuilder q = QueryBuilder.start("blog.$id").is(blogId); mongo.delete("posts", MongoQueryBuilder.build(q), new Handler<Message<JsonObject>>() { @Override/*from w w w . j ava 2 s . co m*/ public void handle(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { QueryBuilder query = QueryBuilder.start("_id").is(blogId); mongo.delete(BLOG_COLLECTION, MongoQueryBuilder.build(query), new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> event) { result.handle(Utils.validResult(event)); } }); } else { result.handle(Utils.validResult(res)); } } }); }
From source file:org.entcore.blog.services.impl.DefaultBlogTimelineService.java
License:Open Source License
@Override public void notifyShare(final HttpServerRequest request, final String blogId, final UserInfos user, final JsonArray sharedArray, final String resourceUri) { if (sharedArray != null && user != null && blogId != null && request != null && resourceUri != null) { QueryBuilder query = QueryBuilder.start("_id").is(blogId); JsonObject keys = new JsonObject().put("title", 1); mongo.findOne("blogs", MongoQueryBuilder.build(query), keys, new Handler<Message<JsonObject>>() { @Override/*from w w w . j a v a 2s .c o m*/ public void handle(final Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { List<String> shareIds = getSharedIds(sharedArray); if (!shareIds.isEmpty()) { Map<String, Object> params = new HashMap<>(); params.put("userId", user.getUserId()); neo.send(neoQuery(shareIds), params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> res) { if ("ok".equals(res.body().getString("status"))) { JsonObject r = res.body().getJsonObject("result"); List<String> recipients = new ArrayList<>(); for (String attr : r.fieldNames()) { String id = r.getJsonObject(attr).getString("id"); if (id != null) { recipients.add(id); } } String blogTitle = event.body().getJsonObject("result", new JsonObject()) .getString("title"); JsonObject p = new JsonObject() .put("uri", "/userbook/annuaire#" + user.getUserId() + "#" + user.getType()) .put("username", user.getUsername()).put("blogTitle", blogTitle) .put("resourceUri", resourceUri).put("disableAntiFlood", true); notification.notifyTimeline(request, "blog.share", user, recipients, blogId, p); } } }); } } } }); } }
From source file:org.entcore.blog.services.impl.DefaultBlogTimelineService.java
License:Open Source License
@Override public void notifySubmitPost(final HttpServerRequest request, final String blogId, final String postId, final UserInfos user, final String resourceUri) { if (resourceUri != null && user != null && blogId != null && request != null) { QueryBuilder blogQuery = QueryBuilder.start("_id").is(blogId); JsonObject blogKeys = new JsonObject().put("author", 1); mongo.findOne("blogs", MongoQueryBuilder.build(blogQuery), blogKeys, new Handler<Message<JsonObject>>() { @Override//from ww w . j a va2 s .c om public void handle(final Message<JsonObject> event) { if ("ok".equals(event.body().getString("status"))) { final String authorId = event.body().getJsonObject("result", new JsonObject()) .getJsonObject("author", new JsonObject()).getString("userId"); final QueryBuilder query = QueryBuilder.start("_id").is(postId); final JsonObject keys = new JsonObject().put("title", 1).put("blog", 1); final JsonArray fetch = new JsonArray().add("blog"); mongo.findOne("posts", MongoQueryBuilder.build(query), keys, fetch, MongoDbResult.validResultHandler(new Handler<Either<String, JsonObject>>() { public void handle(Either<String, JsonObject> event) { if (event.isLeft()) return; final JsonObject post = event.right().getValue(); findRecipiants("posts", query, keys, fetch, "org-entcore-blog-controllers-PostController|publish", user, new Handler<Map<String, Object>>() { @Override public void handle(Map<String, Object> event) { List<String> recipients = new ArrayList<>(); if (event != null) recipients = (List<String>) event .get("recipients"); recipients.add(authorId); JsonObject p = new JsonObject() .put("uri", "/userbook/annuaire#" + user.getUserId() + "#" + user.getType()) .put("username", user.getUsername()) .put("blogTitle", post.getJsonObject("blog", new JsonObject()) .getString("title")) .put("blogUri", resourceUri) .put("postTitle", post.getString("title")) .put("postUri", resourceUri + "/" + postId) .put("resourceUri", resourceUri + "/" + postId) .put("disableAntiFlood", true); notification.notifyTimeline(request, "blog.submit-post", user, recipients, blogId, postId, p); } }); } })); } } }); } }