package de.ph87.home.area; import de.ph87.home.web.IWebSocketMessage; import jakarta.annotation.Nullable; import lombok.Getter; import lombok.NonNull; import lombok.ToString; import java.util.List; import static de.ph87.home.common.map.MapHelper.map; @Getter @ToString public class AreaDto implements IWebSocketMessage { @ToString.Exclude private final List websocketTopic = List.of("Area"); @Nullable private final AreaDto parent; @NonNull private final String uuid; @NonNull private final String name; @NonNull private final String slug; public AreaDto(@NonNull final Area area) { this.parent = map(area.getParent(), AreaDto::new); this.uuid = area.getUuid(); this.name = area.getName(); this.slug = area.getSlug(); } }