Numbers.number @Nullable

This commit is contained in:
Patrick Haßel 2024-11-05 13:32:31 +01:00
parent 6d3c2f82d3
commit 1f269a31f7
6 changed files with 14 additions and 10 deletions

View File

@ -1,5 +1,5 @@
import {Group} from "../../group/Group"; import {Group} from "../../group/Group";
import {validateDate, validateNumber, validateString} from "../../common/validators"; import {validateDate, validateNumberOrNull, validateString} from "../../common/validators";
export class Numbers { export class Numbers {
@ -7,7 +7,7 @@ export class Numbers {
readonly uuid: string, readonly uuid: string,
readonly group: Group, readonly group: Group,
readonly date: Date, readonly date: Date,
readonly number: number, readonly number: number | null,
) { ) {
// - // -
} }
@ -17,7 +17,7 @@ export class Numbers {
validateString(json['uuid']), validateString(json['uuid']),
Group.fromJson(json['group']), Group.fromJson(json['group']),
validateDate(json['date']), validateDate(json['date']),
validateNumber(json['number']), validateNumberOrNull(json['number']),
); );
} }

View File

@ -59,7 +59,7 @@
<table> <table>
<tr class="number" *ngFor="let numbers of numbersList.content"> <tr class="number" *ngFor="let numbers of numbersList.content">
<td>{{ numbers.date | relative:now }}</td> <td>{{ numbers.date | relative:now }}</td>
<td>{{ numbers.number }}</td> <td>{{ numbers.number || '-' }}</td>
</tr> </tr>
</table> </table>
</div> </div>

View File

@ -14,7 +14,7 @@
</div> </div>
<div class="huge"> <div class="huge">
{{ numbers.number }} {{ numbers.number || '-' }}
</div> </div>
</div> </div>

View File

@ -5,6 +5,7 @@ import de.ph87.tools.tools.numbers.uuid.NumbersAbstract;
import de.ph87.tools.tools.numbers.uuid.NumbersUuid; import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
import de.ph87.tools.user.User; import de.ph87.tools.user.User;
import de.ph87.tools.user.reference.UserReference; import de.ph87.tools.user.reference.UserReference;
import jakarta.annotation.Nullable;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
@ -53,14 +54,15 @@ public class Numbers extends NumbersAbstract {
this.users = users; this.users = users;
} }
public int getNumberForUser(@NonNull final User user) { @Nullable
public Integer getNumberForUser(@NonNull final User user) {
for (int userReferenceIndex = 0; userReferenceIndex < users.size(); userReferenceIndex++) { for (int userReferenceIndex = 0; userReferenceIndex < users.size(); userReferenceIndex++) {
final UserReference userReference = users.get(userReferenceIndex); final UserReference userReference = users.get(userReferenceIndex);
if (userReference.getUser() != null && userReference.getUser().equals(user)) { if (userReference.getUser() != null && userReference.getUser().equals(user)) {
return userReferenceIndex + 1; return userReferenceIndex + 1;
} }
} }
throw new RuntimeException(); return null;
} }
public boolean containsUser(@NonNull final User user) { public boolean containsUser(@NonNull final User user) {

View File

@ -5,6 +5,7 @@ import de.ph87.tools.common.uuid.UuidSerializer;
import de.ph87.tools.group.GroupDto; import de.ph87.tools.group.GroupDto;
import de.ph87.tools.tools.numbers.uuid.NumbersAbstract; import de.ph87.tools.tools.numbers.uuid.NumbersAbstract;
import de.ph87.tools.tools.numbers.uuid.NumbersUuid; import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
import jakarta.annotation.Nullable;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import lombok.ToString; import lombok.ToString;
@ -25,9 +26,10 @@ public class NumbersDto extends NumbersAbstract {
@NonNull @NonNull
private final ZonedDateTime date; private final ZonedDateTime date;
private final int number; @Nullable
private final Integer number;
public NumbersDto(@NonNull final Numbers numbers, @NonNull final GroupDto group, final int number) { public NumbersDto(@NonNull final Numbers numbers, @NonNull final GroupDto group, @Nullable final Integer number) {
this.uuid = numbers.getUuid(); this.uuid = numbers.getUuid();
this.date = numbers.getDate(); this.date = numbers.getDate();
this.group = group; this.group = group;

View File

@ -71,7 +71,7 @@ public class NumbersService {
@NonNull @NonNull
public NumbersDto toDto(@NonNull final Numbers numbers, @NonNull final User user) { public NumbersDto toDto(@NonNull final Numbers numbers, @NonNull final User user) {
final GroupDto group = groupService.toDto(numbers.getGroup()); final GroupDto group = groupService.toDto(numbers.getGroup());
final int number = numbers.getNumberForUser(user); final Integer number = numbers.getNumberForUser(user);
return new NumbersDto(numbers, group, number); return new NumbersDto(numbers, group, number);
} }