UserMapper.java
package com.seebie.server.mapper.entitytodto;
import com.seebie.server.dto.PersonalInfo;
import com.seebie.server.entity.Role;
import com.seebie.server.entity.User;
import java.util.function.Function;
import static java.util.stream.Collectors.toSet;
public class UserMapper implements Function<User, com.seebie.server.dto.User> {
    @Override
    public com.seebie.server.dto.User apply(User user) {
        return new com.seebie.server.dto.User(
                user.getEmail(),
                user.getPublicId(),
                user.getRegistrationTime().toString(),
                user.getRoles().stream().map(Role::name).collect(toSet()),
                new PersonalInfo(user.getDisplayName(), user.isNotificationsEnabled()));
    }
}