97 lines
2.5 KiB
Java
97 lines
2.5 KiB
Java
package eu.eudat.interceptors;
|
|
|
|
import eu.eudat.convention.ConventionService;
|
|
import gr.cite.tools.cache.CacheService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.event.EventListener;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
@Service
|
|
public class UserInterceptorCacheService extends CacheService<UserInterceptorCacheService.UserInterceptorCacheValue> {
|
|
|
|
public static class UserInterceptorCacheValue {
|
|
|
|
public UserInterceptorCacheValue() {
|
|
}
|
|
|
|
public UserInterceptorCacheValue(String subjectId, UUID userId) {
|
|
this.subjectId = subjectId;
|
|
this.userId = userId;
|
|
}
|
|
|
|
|
|
public String getSubjectId() {
|
|
return subjectId;
|
|
}
|
|
|
|
public void setSubjectId(String subjectId) {
|
|
this.subjectId = subjectId;
|
|
}
|
|
|
|
private String subjectId;
|
|
private UUID userId;
|
|
private List<String> roles;
|
|
private String providerEmail;
|
|
private List<String> externalProviderNames;
|
|
|
|
public UUID getUserId() {
|
|
return userId;
|
|
}
|
|
|
|
public void setUserId(UUID userId) {
|
|
this.userId = userId;
|
|
}
|
|
|
|
public List<String> getRoles() {
|
|
return roles;
|
|
}
|
|
|
|
public void setRoles(List<String> roles) {
|
|
this.roles = roles;
|
|
}
|
|
|
|
public String getProviderEmail() {
|
|
return providerEmail;
|
|
}
|
|
|
|
public void setProviderEmail(String providerEmail) {
|
|
this.providerEmail = providerEmail;
|
|
}
|
|
|
|
public List<String> getExternalProviderNames() {
|
|
return externalProviderNames;
|
|
}
|
|
|
|
public void setExternalProviderNames(List<String> externalProviderNames) {
|
|
this.externalProviderNames = externalProviderNames;
|
|
}
|
|
}
|
|
|
|
|
|
@Autowired
|
|
public UserInterceptorCacheService(UserInterceptorCacheOptions options, ConventionService conventionService) {
|
|
super(options);
|
|
}
|
|
|
|
@Override
|
|
protected Class<UserInterceptorCacheValue> valueClass() {
|
|
return UserInterceptorCacheValue.class;
|
|
}
|
|
|
|
@Override
|
|
public String keyOf(UserInterceptorCacheValue value) {
|
|
return this.buildKey(value.getSubjectId());
|
|
}
|
|
|
|
|
|
public String buildKey(String subject) {
|
|
HashMap<String, String> keyParts = new HashMap<>();
|
|
keyParts.put("$subject$", subject);
|
|
return this.generateKey(keyParts);
|
|
}
|
|
}
|