Skip to content

Commit ffd91be

Browse files
authored
evict the namespace details cache when user membership changes as the verified status might change (eclipse-openvsx#1615)
1 parent eaddc4c commit ffd91be

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

server/src/main/java/org/eclipse/openvsx/UserService.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import jakarta.transaction.Transactional;
1515
import org.apache.commons.lang3.SerializationUtils;
1616
import org.apache.commons.lang3.StringUtils;
17+
import org.apache.commons.lang3.Strings;
1718
import org.apache.tika.Tika;
1819
import org.apache.tika.mime.MediaType;
1920
import org.apache.tika.mime.MimeTypeException;
@@ -138,6 +139,7 @@ public ResultJson setNamespaceMember(UserData requestingUser, String namespaceNa
138139
}
139140

140141
@Transactional(rollbackOn = ErrorResultException.class)
142+
@CacheEvict(value = { CACHE_NAMESPACE_DETAILS_JSON }, key="#namespace.name")
141143
public ResultJson removeNamespaceMember(Namespace namespace, UserData user) throws ErrorResultException {
142144
var membership = repositories.findMembership(user, namespace);
143145
if (membership == null) {
@@ -148,6 +150,7 @@ public ResultJson removeNamespaceMember(Namespace namespace, UserData user) thro
148150
}
149151

150152
@Transactional(rollbackOn = ErrorResultException.class)
153+
@CacheEvict(value = { CACHE_NAMESPACE_DETAILS_JSON }, key="#namespace.name")
151154
public ResultJson addNamespaceMember(Namespace namespace, UserData user, String role) {
152155
if (!(role.equals(NamespaceMembership.ROLE_OWNER)
153156
|| role.equals(NamespaceMembership.ROLE_CONTRIBUTOR))) {
@@ -183,7 +186,7 @@ public ResultJson updateNamespaceDetails(NamespaceDetailsJson details, UserData
183186
var issues = validator.validateNamespaceDetails(details);
184187
if (!issues.isEmpty()) {
185188
var message = issues.size() == 1
186-
? issues.get(0).toString()
189+
? issues.getFirst().toString()
187190
: "Multiple issues were found in the extension metadata:\n" + Joiner.on("\n").join(issues);
188191

189192
throw new ErrorResultException(message);
@@ -297,23 +300,23 @@ public UserData upsertUser(UserData newUser) {
297300
userData = newUser;
298301
} else {
299302
var updated = false;
300-
if (!StringUtils.equals(userData.getLoginName(), newUser.getLoginName())) {
303+
if (!Strings.CS.equals(userData.getLoginName(), newUser.getLoginName())) {
301304
userData.setLoginName(newUser.getLoginName());
302305
updated = true;
303306
}
304-
if (!StringUtils.equals(userData.getFullName(), newUser.getFullName())) {
307+
if (!Strings.CS.equals(userData.getFullName(), newUser.getFullName())) {
305308
userData.setFullName(newUser.getFullName());
306309
updated = true;
307310
}
308-
if (!StringUtils.equals(userData.getEmail(), newUser.getEmail())) {
311+
if (!Strings.CS.equals(userData.getEmail(), newUser.getEmail())) {
309312
userData.setEmail(newUser.getEmail());
310313
updated = true;
311314
}
312-
if (!StringUtils.equals(userData.getProviderUrl(), newUser.getProviderUrl())) {
315+
if (!Strings.CS.equals(userData.getProviderUrl(), newUser.getProviderUrl())) {
313316
userData.setProviderUrl(newUser.getProviderUrl());
314317
updated = true;
315318
}
316-
if (!StringUtils.equals(userData.getAvatarUrl(), newUser.getAvatarUrl())) {
319+
if (!Strings.CS.equals(userData.getAvatarUrl(), newUser.getAvatarUrl())) {
317320
userData.setAvatarUrl(newUser.getAvatarUrl());
318321
updated = true;
319322
}

0 commit comments

Comments
 (0)