43 lines
1.2 KiB
Java
43 lines
1.2 KiB
Java
package de.ph87.tools.tools.numbers;
|
|
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
import de.ph87.tools.common.uuid.UuidSerializer;
|
|
import de.ph87.tools.group.dto.GroupDto;
|
|
import de.ph87.tools.tools.numbers.lot.NumberLotDto;
|
|
import de.ph87.tools.tools.numbers.uuid.NumbersAbstract;
|
|
import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
|
|
import jakarta.persistence.ElementCollection;
|
|
import lombok.Getter;
|
|
import lombok.NonNull;
|
|
import lombok.ToString;
|
|
|
|
import java.time.ZonedDateTime;
|
|
import java.util.List;
|
|
|
|
@Getter
|
|
@ToString(callSuper = true)
|
|
public class NumbersDto extends NumbersAbstract {
|
|
|
|
@NonNull
|
|
@JsonSerialize(using = UuidSerializer.class)
|
|
private final NumbersUuid uuid;
|
|
|
|
@NonNull
|
|
private final ZonedDateTime date;
|
|
|
|
@NonNull
|
|
@ElementCollection
|
|
private final List<NumberLotDto> lots;
|
|
|
|
@NonNull
|
|
private final GroupDto group;
|
|
|
|
public NumbersDto(@NonNull final NumbersAccess lotAccess, @NonNull final GroupDto group) {
|
|
this.uuid = lotAccess.numbers.getUuid();
|
|
this.date = lotAccess.numbers.getDate();
|
|
this.lots = lotAccess.numbers.getLots().stream().map(lot -> new NumberLotDto(lot, lotAccess.principal)).toList();
|
|
this.group = group;
|
|
}
|
|
|
|
}
|