From 1f269a31f7fe20636b7a7ccdbc1657d668c60b36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Tue, 5 Nov 2024 13:32:31 +0100 Subject: [PATCH] Numbers.number @Nullable --- src/main/angular/src/app/api/tools/Numbers/Numbers.ts | 6 +++--- .../angular/src/app/pages/group/group/group.component.html | 2 +- .../src/app/pages/tools/numbers/numbers.component.html | 2 +- src/main/java/de/ph87/tools/tools/numbers/Numbers.java | 6 ++++-- src/main/java/de/ph87/tools/tools/numbers/NumbersDto.java | 6 ++++-- .../java/de/ph87/tools/tools/numbers/NumbersService.java | 2 +- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/angular/src/app/api/tools/Numbers/Numbers.ts b/src/main/angular/src/app/api/tools/Numbers/Numbers.ts index 6b16336..5fa9f89 100644 --- a/src/main/angular/src/app/api/tools/Numbers/Numbers.ts +++ b/src/main/angular/src/app/api/tools/Numbers/Numbers.ts @@ -1,5 +1,5 @@ import {Group} from "../../group/Group"; -import {validateDate, validateNumber, validateString} from "../../common/validators"; +import {validateDate, validateNumberOrNull, validateString} from "../../common/validators"; export class Numbers { @@ -7,7 +7,7 @@ export class Numbers { readonly uuid: string, readonly group: Group, readonly date: Date, - readonly number: number, + readonly number: number | null, ) { // - } @@ -17,7 +17,7 @@ export class Numbers { validateString(json['uuid']), Group.fromJson(json['group']), validateDate(json['date']), - validateNumber(json['number']), + validateNumberOrNull(json['number']), ); } diff --git a/src/main/angular/src/app/pages/group/group/group.component.html b/src/main/angular/src/app/pages/group/group/group.component.html index bacbae2..37d7d9c 100644 --- a/src/main/angular/src/app/pages/group/group/group.component.html +++ b/src/main/angular/src/app/pages/group/group/group.component.html @@ -59,7 +59,7 @@ - +
{{ numbers.date | relative:now }}{{ numbers.number }}{{ numbers.number || '-' }}
diff --git a/src/main/angular/src/app/pages/tools/numbers/numbers.component.html b/src/main/angular/src/app/pages/tools/numbers/numbers.component.html index 190fb1e..504ed6d 100644 --- a/src/main/angular/src/app/pages/tools/numbers/numbers.component.html +++ b/src/main/angular/src/app/pages/tools/numbers/numbers.component.html @@ -14,7 +14,7 @@
- {{ numbers.number }} + {{ numbers.number || '-' }}
diff --git a/src/main/java/de/ph87/tools/tools/numbers/Numbers.java b/src/main/java/de/ph87/tools/tools/numbers/Numbers.java index 96af1e6..db57446 100644 --- a/src/main/java/de/ph87/tools/tools/numbers/Numbers.java +++ b/src/main/java/de/ph87/tools/tools/numbers/Numbers.java @@ -5,6 +5,7 @@ import de.ph87.tools.tools.numbers.uuid.NumbersAbstract; import de.ph87.tools.tools.numbers.uuid.NumbersUuid; import de.ph87.tools.user.User; import de.ph87.tools.user.reference.UserReference; +import jakarta.annotation.Nullable; import jakarta.persistence.*; import lombok.*; @@ -53,14 +54,15 @@ public class Numbers extends NumbersAbstract { 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++) { final UserReference userReference = users.get(userReferenceIndex); if (userReference.getUser() != null && userReference.getUser().equals(user)) { return userReferenceIndex + 1; } } - throw new RuntimeException(); + return null; } public boolean containsUser(@NonNull final User user) { diff --git a/src/main/java/de/ph87/tools/tools/numbers/NumbersDto.java b/src/main/java/de/ph87/tools/tools/numbers/NumbersDto.java index 5dcd20d..495d762 100644 --- a/src/main/java/de/ph87/tools/tools/numbers/NumbersDto.java +++ b/src/main/java/de/ph87/tools/tools/numbers/NumbersDto.java @@ -5,6 +5,7 @@ import de.ph87.tools.common.uuid.UuidSerializer; import de.ph87.tools.group.GroupDto; import de.ph87.tools.tools.numbers.uuid.NumbersAbstract; import de.ph87.tools.tools.numbers.uuid.NumbersUuid; +import jakarta.annotation.Nullable; import lombok.Getter; import lombok.NonNull; import lombok.ToString; @@ -25,9 +26,10 @@ public class NumbersDto extends NumbersAbstract { @NonNull 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.date = numbers.getDate(); this.group = group; diff --git a/src/main/java/de/ph87/tools/tools/numbers/NumbersService.java b/src/main/java/de/ph87/tools/tools/numbers/NumbersService.java index 17197cf..abd5d11 100644 --- a/src/main/java/de/ph87/tools/tools/numbers/NumbersService.java +++ b/src/main/java/de/ph87/tools/tools/numbers/NumbersService.java @@ -71,7 +71,7 @@ public class NumbersService { @NonNull public NumbersDto toDto(@NonNull final Numbers numbers, @NonNull final User user) { 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); }