public User(String id, String name, String email, String password, String organization, Account account, String status,
String lastModified, long size, long quota, List<Project> projects, List<Tool> tools, Map<String, Object> configs,
Map<String, Object> attributes) {
this.id = id;
this.name = name;
this.email = email;
this.password = password;
this.organization = organization;
this.account = account != null ? account : new Account();
this.status = new UserStatus(status);
this.lastModified = lastModified;
this.size = size;
this.quota = quota;
this.projects = projects;
this.tools = tools;
if (configs == null) {
this.configs = new UserConfiguration();
} else {
this.configs = new UserConfiguration(configs);
}
this.attributes = attributes;
}