package com.psddev.cms.tool.page.content; import com.psddev.cms.db.ToolUser; import com.psddev.cms.rtc.RtcBroadcast; import com.psddev.dari.db.Query; import com.psddev.dari.util.CompactMap; import java.util.Map; import java.util.UUID; class EditFieldUpdateBroadcast implements RtcBroadcast<EditFieldUpdate> { @Override public boolean shouldBroadcast(Map<String, Object> data, UUID currentUserId) { return !currentUserId.toString().equals(data.get("userId")); } @Override public Map<String, Object> create(EditFieldUpdate update) { ToolUser user = Query.from(ToolUser.class).where("_id = ?", update.getUserId()).first(); if (user == null) { return null; } Map<String, Object> data = new CompactMap<>(); data.put("userId", user.getId().toString()); data.put("userName", user.getName()); data.put("userAvatarHtml", user.createAvatarHtml()); data.put("contentId", update.getContentId().toString()); data.put("closed", update.isClosed()); data.put("fieldNamesByObjectId", update.getFieldNamesByObjectId()); return data; } }