static void write( JsonWriter json, IssueFilterWithFavorite issueFilterWithFavorite, UserSession userSession) { IssueFilterDto issueFilter = issueFilterWithFavorite.issueFilter(); json.beginObject() .prop("id", String.valueOf(issueFilter.getId())) .prop("name", issueFilter.getName()) .prop("description", issueFilter.getDescription()) .prop("user", firstNonNull(issueFilter.getUserLogin(), DEFAULT_LOGIN)) .prop("shared", issueFilter.isShared()) .prop("query", issueFilter.getData()) .prop("canModify", canModifyFilter(userSession, issueFilter)); if (issueFilterWithFavorite.isFavorite() != null) { json.prop("favorite", issueFilterWithFavorite.isFavorite()); } json.endObject(); }
private static boolean canModifyFilter(UserSession userSession, IssueFilterDto filter) { return userSession.isLoggedIn() && (StringUtils.equals(filter.getUserLogin(), userSession.getLogin()) || userSession.hasPermission(GlobalPermissions.SYSTEM_ADMIN)); }