UserAccountClientDto.java
package io.extact.rms.client.api.dto;
import java.util.Set;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor(staticName = "of")
public class UserAccountClientDto implements Convertable {
private Integer id;
private String loginId;
private String password;
private String userName;
private String phoneNumber;
private String contact;
private ClientUserType userType;
public enum ClientUserType {
ADMIN(true),
MEMBER(false);
boolean admin;
private ClientUserType(boolean admin) {
this.admin = admin;
}
public boolean isAdmin() {
return admin;
}
public static boolean isValidUserType(String userTypeName) {
try {
ClientUserType.valueOf(userTypeName);
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
}
public static UserAccountClientDto ofTransient(String loginId, String password, String userName, String phoneNumber, String contact, ClientUserType userType) {
return of(null, loginId, password, userName, phoneNumber, contact, userType);
}
public Set<String> getRoles() {
return Set.of(userType.name());
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}