From ab7b4695627b0f97650a072906ad1b8f76530d23 Mon Sep 17 00:00:00 2001 From: Valentin Laurin Date: Wed, 12 Feb 2025 09:21:00 +0000 Subject: [PATCH 1/2] Fix `DataField.Validation` Use `String` for min and max, in line with `quickcase/express-sdk` normalisation, to allow for more flexible validation constraints (eg. min/max dates) --- .../quickcase/sdk/spring/definition/model/DataField.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/app/quickcase/sdk/spring/definition/model/DataField.java b/src/main/java/app/quickcase/sdk/spring/definition/model/DataField.java index cd71d83..358cd9e 100644 --- a/src/main/java/app/quickcase/sdk/spring/definition/model/DataField.java +++ b/src/main/java/app/quickcase/sdk/spring/definition/model/DataField.java @@ -2,7 +2,6 @@ import java.util.List; import java.util.Map; -import java.util.Optional; import lombok.Builder; import lombok.NonNull; @@ -25,9 +24,9 @@ public record DataField( ) implements Field { @Builder public record Validation( - Integer min, - Optional max, - Optional pattern + String min, + String max, + String pattern ) {} @Builder From 2d102547b316ea4e0d6596dc75266e112ee34bb4 Mon Sep 17 00:00:00 2001 From: Valentin Laurin Date: Wed, 12 Feb 2025 09:22:24 +0000 Subject: [PATCH 2/2] Fix `Field.Display` Convert `Display` to a record to allow instantiation and decorate with builder for ease of use --- .../quickcase/sdk/spring/definition/model/Field.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/app/quickcase/sdk/spring/definition/model/Field.java b/src/main/java/app/quickcase/sdk/spring/definition/model/Field.java index c067639..5751ad5 100644 --- a/src/main/java/app/quickcase/sdk/spring/definition/model/Field.java +++ b/src/main/java/app/quickcase/sdk/spring/definition/model/Field.java @@ -1,9 +1,10 @@ package app.quickcase.sdk.spring.definition.model; import java.util.Map; -import java.util.Optional; +import lombok.Builder; import lombok.NonNull; +import lombok.Singular; public interface Field { @NonNull String id(); @@ -11,8 +12,10 @@ public interface Field { String label(); Field.Display display(); - interface Display { - String mode(); - Map parameters(); + @Builder + record Display( + String mode, + @Singular Map parameters + ) { } }