MIFOSX-716: evict user caches when roles and permissions change to stop stale data being returned.
This commit is contained in:
+5
@@ -19,6 +19,8 @@ import org.mifosplatform.useradministration.domain.PermissionRepository;
|
|||||||
import org.mifosplatform.useradministration.exception.PermissionNotFoundException;
|
import org.mifosplatform.useradministration.exception.PermissionNotFoundException;
|
||||||
import org.mifosplatform.useradministration.serialization.PermissionsCommandFromApiJsonDeserializer;
|
import org.mifosplatform.useradministration.serialization.PermissionsCommandFromApiJsonDeserializer;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
|
import org.springframework.cache.annotation.Caching;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -37,6 +39,9 @@ public class PermissionWritePlatformServiceJpaRepositoryImpl implements Permissi
|
|||||||
this.fromApiJsonDeserializer = fromApiJsonDeserializer;
|
this.fromApiJsonDeserializer = fromApiJsonDeserializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Caching(evict = {
|
||||||
|
@CacheEvict(value = "users", allEntries = true),
|
||||||
|
@CacheEvict(value = "usersByUsername", allEntries = true)})
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public CommandProcessingResult updateMakerCheckerPermissions(final JsonCommand command) {
|
public CommandProcessingResult updateMakerCheckerPermissions(final JsonCommand command) {
|
||||||
|
|||||||
+8
@@ -25,6 +25,8 @@ import org.mifosplatform.useradministration.serialization.PermissionsCommandFrom
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
|
import org.springframework.cache.annotation.Caching;
|
||||||
import org.springframework.dao.DataIntegrityViolationException;
|
import org.springframework.dao.DataIntegrityViolationException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -95,6 +97,9 @@ public class RoleWritePlatformServiceJpaRepositoryImpl implements RoleWritePlatf
|
|||||||
logger.error(dve.getMessage(), dve);
|
logger.error(dve.getMessage(), dve);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Caching(evict = {
|
||||||
|
@CacheEvict(value = "users", allEntries = true),
|
||||||
|
@CacheEvict(value = "usersByUsername", allEntries = true)})
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public CommandProcessingResult updateRole(final Long roleId, final JsonCommand command) {
|
public CommandProcessingResult updateRole(final Long roleId, final JsonCommand command) {
|
||||||
@@ -124,6 +129,9 @@ public class RoleWritePlatformServiceJpaRepositoryImpl implements RoleWritePlatf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Caching(evict = {
|
||||||
|
@CacheEvict(value = "users", allEntries = true),
|
||||||
|
@CacheEvict(value = "usersByUsername", allEntries = true)})
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public CommandProcessingResult updateRolePermissions(final Long roleId, final JsonCommand command) {
|
public CommandProcessingResult updateRolePermissions(final Long roleId, final JsonCommand command) {
|
||||||
|
|||||||
Reference in New Issue
Block a user