io.rocketbase.commons.converter.AppUserConverter Maven / Gradle / Ivy
package io.rocketbase.commons.converter;
import io.rocketbase.commons.dto.appuser.AppUserRead;
import io.rocketbase.commons.model.AppUserEntity;
import io.rocketbase.commons.util.RolesAuthoritiesConverter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class AppUserConverter {
public static Map filterInvisibleKeys(Map keyValues) {
if (keyValues == null) {
return null;
}
Map map = new HashMap<>();
keyValues.entrySet().stream()
.filter(e -> !e.getKey().startsWith("_"))
.forEach(e -> map.put(e.getKey(), e.getValue()));
return map;
}
public AppUserRead fromEntity(AppUserEntity entity) {
if (entity == null) {
return null;
}
return AppUserRead.builder()
.id(entity.getId())
.username(entity.getUsername())
.firstName(entity.getFirstName())
.lastName(entity.getLastName())
.email(entity.getEmail())
.avatar(entity.getAvatar())
.roles(RolesAuthoritiesConverter.convertRoles(entity.getRoles()))
.keyValues(filterInvisibleKeys(entity.getKeyValues()))
.enabled(entity.isEnabled())
.created(entity.getCreated())
.lastLogin(entity.getLastLogin())
.build();
}
public List fromEntities(List entities) {
if (entities == null) {
return null;
}
return entities.stream()
.map(e -> fromEntity(e))
.collect(Collectors.toList());
}
}