301 lines
7.6 KiB
Java
301 lines
7.6 KiB
Java
package org.gcube.service.idm.models;
|
|
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.gcube.idm.common.models.IdmProfileInterface;
|
|
|
|
public class IdmUser implements IdmProfileInterface {
|
|
|
|
protected String self; // link
|
|
protected String id;
|
|
// protected String origin;
|
|
protected Long createdTimestamp;
|
|
protected String username;
|
|
protected Boolean enabled;
|
|
// protected Boolean totp;
|
|
protected Boolean emailVerified;
|
|
protected String firstName;
|
|
protected String lastName;
|
|
protected String email;
|
|
protected String federationLink;
|
|
protected String serviceAccountClientId; // For rep, it points to clientId (not DB ID)
|
|
|
|
// @JsonDeserialize(using = StringListMapDeserializer.class)
|
|
protected Map<String, List<String>> attributes;
|
|
// protected List<CredentialRepresentation> credentials;
|
|
// protected Set<String> disableableCredentialTypes;
|
|
protected List<String> requiredActions;
|
|
// protected List<FederatedIdentityRepresentation> federatedIdentities;
|
|
protected List<String> realmRoles;
|
|
protected Map<String, List<String>> clientRoles;
|
|
// protected List<UserConsentRepresentation> clientConsents;
|
|
protected Integer notBefore;
|
|
|
|
// @Deprecated
|
|
// protected Map<String, List<String>> applicationRoles;
|
|
// @Deprecated
|
|
// protected List<SocialLinkRepresentation> socialLinks;
|
|
|
|
protected List<String> groups;
|
|
private Map<String, Boolean> access;
|
|
|
|
public String getSelf() {
|
|
return self;
|
|
}
|
|
|
|
public void setSelf(String self) {
|
|
this.self = self;
|
|
}
|
|
|
|
public String getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(String id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public Long getCreatedTimestamp() {
|
|
return createdTimestamp;
|
|
}
|
|
|
|
public void setCreatedTimestamp(Long createdTimestamp) {
|
|
this.createdTimestamp = createdTimestamp;
|
|
}
|
|
|
|
public String getFirstName() {
|
|
return firstName;
|
|
}
|
|
|
|
public void setFirstName(String firstName) {
|
|
this.firstName = firstName;
|
|
}
|
|
|
|
public String getLastName() {
|
|
return lastName;
|
|
}
|
|
|
|
public void setLastName(String lastName) {
|
|
this.lastName = lastName;
|
|
}
|
|
|
|
public String getEmail() {
|
|
return email;
|
|
}
|
|
|
|
public void setEmail(String email) {
|
|
this.email = email;
|
|
}
|
|
|
|
public String getUsername() {
|
|
return username;
|
|
}
|
|
|
|
public void setUsername(String username) {
|
|
this.username = username;
|
|
}
|
|
|
|
public Boolean isEnabled() {
|
|
return enabled;
|
|
}
|
|
|
|
public void setEnabled(Boolean enabled) {
|
|
this.enabled = enabled;
|
|
}
|
|
|
|
// @Deprecated
|
|
// public Boolean isTotp() {
|
|
// return totp;
|
|
// }
|
|
|
|
// @Deprecated
|
|
// public void setTotp(Boolean totp) {
|
|
// this.totp = totp;
|
|
// }
|
|
|
|
public Boolean isEmailVerified() {
|
|
return emailVerified;
|
|
}
|
|
|
|
public void setEmailVerified(Boolean emailVerified) {
|
|
this.emailVerified = emailVerified;
|
|
}
|
|
|
|
public Map<String, List<String>> getAttributes() {
|
|
return attributes;
|
|
}
|
|
|
|
public void setAttributes(Map<String, List<String>> attributes) {
|
|
this.attributes = attributes;
|
|
}
|
|
|
|
// public UserRepresentation singleAttribute(String name, String value) {
|
|
// if (this.attributes == null)
|
|
// this.attributes = new HashMap<>();
|
|
// attributes.put(name, (value == null ? new ArrayList<String>() :
|
|
// Arrays.asList(value)));
|
|
// return this;
|
|
// }
|
|
|
|
// public String firstAttribute(String key) {
|
|
// return this.attributes == null ? null
|
|
// : this.attributes.get(key) == null ? null
|
|
// : this.attributes.get(key).isEmpty() ? null :
|
|
// this.attributes.get(key).get(0);
|
|
// }
|
|
|
|
// public List<CredentialRepresentation> getCredentials() {
|
|
// return credentials;
|
|
// }
|
|
|
|
// public void setCredentials(List<CredentialRepresentation> credentials) {
|
|
// this.credentials = credentials;
|
|
// }
|
|
|
|
public List<String> getRequiredActions() {
|
|
return requiredActions;
|
|
}
|
|
|
|
public void setRequiredActions(List<String> requiredActions) {
|
|
this.requiredActions = requiredActions;
|
|
}
|
|
|
|
// public List<FederatedIdentityRepresentation> getFederatedIdentities() {
|
|
// return federatedIdentities;
|
|
// }
|
|
|
|
// public void setFederatedIdentities(List<FederatedIdentityRepresentation>
|
|
// federatedIdentities) {
|
|
// this.federatedIdentities = federatedIdentities;
|
|
// }
|
|
|
|
// public List<SocialLinkRepresentation> getSocialLinks() {
|
|
// return socialLinks;
|
|
// }
|
|
|
|
// public void setSocialLinks(List<SocialLinkRepresentation> socialLinks) {
|
|
// this.socialLinks = socialLinks;
|
|
// }
|
|
|
|
public List<String> getRealmRoles() {
|
|
return realmRoles;
|
|
}
|
|
|
|
public void setRealmRoles(List<String> realmRoles) {
|
|
this.realmRoles = realmRoles;
|
|
}
|
|
|
|
public Map<String, List<String>> getClientRoles() {
|
|
return clientRoles;
|
|
}
|
|
|
|
public void setClientRoles(Map<String, List<String>> clientRoles) {
|
|
this.clientRoles = clientRoles;
|
|
}
|
|
|
|
// public List<UserConsentRepresentation> getClientConsents() {
|
|
// return clientConsents;
|
|
// }
|
|
|
|
// public void setClientConsents(List<UserConsentRepresentation> clientConsents)
|
|
// {
|
|
// this.clientConsents = clientConsents;
|
|
// }
|
|
|
|
public Integer getNotBefore() {
|
|
return notBefore;
|
|
}
|
|
|
|
public void setNotBefore(Integer notBefore) {
|
|
this.notBefore = notBefore;
|
|
}
|
|
|
|
// @Deprecated
|
|
// public Map<String, List<String>> getApplicationRoles() {
|
|
// return applicationRoles;
|
|
// }
|
|
|
|
public String getFederationLink() {
|
|
return federationLink;
|
|
}
|
|
|
|
public void setFederationLink(String federationLink) {
|
|
this.federationLink = federationLink;
|
|
}
|
|
|
|
public String getServiceAccountClientId() {
|
|
return serviceAccountClientId;
|
|
}
|
|
|
|
public void setServiceAccountClientId(String serviceAccountClientId) {
|
|
this.serviceAccountClientId = serviceAccountClientId;
|
|
}
|
|
|
|
public List<String> getGroups() {
|
|
return groups;
|
|
}
|
|
|
|
public void setGroups(List<String> groups) {
|
|
this.groups = groups;
|
|
}
|
|
|
|
// /**
|
|
// * Returns id of UserStorageProvider that loaded this user
|
|
// *
|
|
// * @return NULL if user stored locally
|
|
// */
|
|
// public String getOrigin() {
|
|
// return origin;
|
|
// }
|
|
|
|
// public void setOrigin(String origin) {
|
|
// this.origin = origin;
|
|
// }
|
|
|
|
// public Set<String> getDisableableCredentialTypes() {
|
|
// return disableableCredentialTypes;
|
|
// }
|
|
|
|
// public void setDisableableCredentialTypes(Set<String>
|
|
// disableableCredentialTypes) {
|
|
// this.disableableCredentialTypes = disableableCredentialTypes;
|
|
// }
|
|
|
|
public Map<String, Boolean> getAccess() {
|
|
return access;
|
|
}
|
|
|
|
public void setAccess(Map<String, Boolean> access) {
|
|
this.access = access;
|
|
}
|
|
|
|
public Map<String, List<String>> toAttributes() {
|
|
Map<String, List<String>> attrs = new HashMap<>();
|
|
|
|
if (getAttributes() != null)
|
|
attrs.putAll(getAttributes());
|
|
|
|
if (getUsername() != null)
|
|
attrs.put("username", Collections.singletonList(getUsername()));
|
|
else
|
|
attrs.remove("username");
|
|
|
|
if (getEmail() != null)
|
|
attrs.put("email", Collections.singletonList(getEmail()));
|
|
else
|
|
attrs.remove("email");
|
|
|
|
if (getLastName() != null)
|
|
attrs.put("lastName", Collections.singletonList(getLastName()));
|
|
|
|
if (getFirstName() != null)
|
|
attrs.put("firstName", Collections.singletonList(getFirstName()));
|
|
|
|
return attrs;
|
|
}
|
|
|
|
}
|