2016-02-03 10:20:22 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2016 Red Hat, Inc. and/or its affiliates
|
|
|
|
* and other contributors as indicated by the @author tags.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2015-07-17 11:45:43 +00:00
|
|
|
package org.keycloak.models;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
|
|
|
|
* @version $Revision: 1 $
|
|
|
|
*/
|
2015-11-11 23:03:53 +00:00
|
|
|
public interface UserModel extends RoleMapperModel {
|
2015-10-13 13:58:31 +00:00
|
|
|
String USERNAME = "username";
|
|
|
|
String LAST_NAME = "lastName";
|
|
|
|
String FIRST_NAME = "firstName";
|
|
|
|
String EMAIL = "email";
|
|
|
|
String LOCALE = "locale";
|
2015-07-17 11:45:43 +00:00
|
|
|
|
|
|
|
String getId();
|
|
|
|
|
|
|
|
String getUsername();
|
|
|
|
|
|
|
|
void setUsername(String username);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get timestamp of user creation. May be null for old users created before this feature introduction.
|
|
|
|
*/
|
|
|
|
Long getCreatedTimestamp();
|
|
|
|
|
|
|
|
void setCreatedTimestamp(Long timestamp);
|
|
|
|
|
|
|
|
boolean isEnabled();
|
|
|
|
|
2015-08-06 00:39:47 +00:00
|
|
|
boolean isOtpEnabled();
|
2015-07-17 11:45:43 +00:00
|
|
|
|
|
|
|
void setEnabled(boolean enabled);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set single value of specified attribute. Remove all other existing values
|
|
|
|
*
|
|
|
|
* @param name
|
|
|
|
* @param value
|
|
|
|
*/
|
|
|
|
void setSingleAttribute(String name, String value);
|
|
|
|
|
|
|
|
void setAttribute(String name, List<String> values);
|
|
|
|
|
|
|
|
void removeAttribute(String name);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param name
|
|
|
|
* @return null if there is not any value of specified attribute or first value otherwise. Don't throw exception if there are more values of the attribute
|
|
|
|
*/
|
|
|
|
String getFirstAttribute(String name);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param name
|
|
|
|
* @return list of all attribute values or empty list if there are not any values. Never return null
|
|
|
|
*/
|
|
|
|
List<String> getAttribute(String name);
|
|
|
|
|
|
|
|
Map<String, List<String>> getAttributes();
|
|
|
|
|
|
|
|
Set<String> getRequiredActions();
|
|
|
|
|
|
|
|
void addRequiredAction(String action);
|
|
|
|
|
|
|
|
void removeRequiredAction(String action);
|
|
|
|
|
|
|
|
void addRequiredAction(RequiredAction action);
|
|
|
|
|
|
|
|
void removeRequiredAction(RequiredAction action);
|
|
|
|
|
|
|
|
String getFirstName();
|
|
|
|
|
|
|
|
void setFirstName(String firstName);
|
|
|
|
|
|
|
|
String getLastName();
|
|
|
|
|
|
|
|
void setLastName(String lastName);
|
|
|
|
|
|
|
|
String getEmail();
|
|
|
|
|
|
|
|
void setEmail(String email);
|
|
|
|
|
|
|
|
boolean isEmailVerified();
|
|
|
|
|
|
|
|
void setEmailVerified(boolean verified);
|
|
|
|
|
2015-08-06 00:39:47 +00:00
|
|
|
void setOtpEnabled(boolean totp);
|
2015-07-17 11:45:43 +00:00
|
|
|
|
|
|
|
void updateCredential(UserCredentialModel cred);
|
|
|
|
|
|
|
|
List<UserCredentialValueModel> getCredentialsDirectly();
|
|
|
|
|
|
|
|
void updateCredentialDirectly(UserCredentialValueModel cred);
|
|
|
|
|
2015-10-29 20:33:02 +00:00
|
|
|
Set<GroupModel> getGroups();
|
|
|
|
void joinGroup(GroupModel group);
|
|
|
|
void leaveGroup(GroupModel group);
|
|
|
|
boolean isMemberOf(GroupModel group);
|
|
|
|
|
2015-07-17 11:45:43 +00:00
|
|
|
String getFederationLink();
|
|
|
|
void setFederationLink(String link);
|
|
|
|
|
2015-07-22 17:48:28 +00:00
|
|
|
String getServiceAccountClientLink();
|
|
|
|
void setServiceAccountClientLink(String clientInternalId);
|
|
|
|
|
2015-07-17 11:45:43 +00:00
|
|
|
void addConsent(UserConsentModel consent);
|
|
|
|
UserConsentModel getConsentByClient(String clientInternalId);
|
|
|
|
List<UserConsentModel> getConsents();
|
|
|
|
void updateConsent(UserConsentModel consent);
|
|
|
|
boolean revokeConsentForClient(String clientInternalId);
|
|
|
|
|
|
|
|
public static enum RequiredAction {
|
|
|
|
VERIFY_EMAIL, UPDATE_PROFILE, CONFIGURE_TOTP, UPDATE_PASSWORD
|
|
|
|
}
|
2015-06-15 15:02:52 +00:00
|
|
|
}
|