diff options
author | Robert Newson <rnewson@apache.org> | 2023-04-14 19:26:55 +0100 |
---|---|---|
committer | Robert Newson <rnewson@apache.org> | 2023-04-22 11:20:02 +0100 |
commit | 803a2981d662b4cbfefaf010e14cb2d0d97f19d1 (patch) | |
tree | 94caefde1b2e8bb646fb5e462c4a6681451f850f | |
parent | 065079fe0d62956986cb16d97fae2bb0a51a6181 (diff) | |
download | couchdb-803a2981d662b4cbfefaf010e14cb2d0d97f19d1.tar.gz |
constrain field names
-rw-r--r-- | nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java | 3 | ||||
-rw-r--r-- | nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java | 5 |
2 files changed, 4 insertions, 4 deletions
diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java index 291a3b85e..45b478322 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java @@ -19,7 +19,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; - +import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.Positive; @@ -32,6 +32,7 @@ public class DocumentUpdateRequest { private String partition; @NotEmpty + @Valid private Collection<Field> fields; public DocumentUpdateRequest() { diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java index 831cae1cf..52d5b815f 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java @@ -19,8 +19,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; - -import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Pattern; @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) @JsonTypeInfo( @@ -35,6 +34,7 @@ import jakarta.validation.constraints.NotEmpty; }) public abstract class Field { + @Pattern(regexp = "^\\$?[a-zA-Z][a-zA-Z0-9_]*$") protected final String name; protected Field(final String name) { @@ -42,7 +42,6 @@ public abstract class Field { } @JsonProperty - @NotEmpty public String getName() { return name; } |