diff --git a/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremDto.java b/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremDto.java index 0761432..36be47a 100644 --- a/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremDto.java +++ b/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremDto.java @@ -1,4 +1,19 @@ package edu.msudenver.tsp.persistence.dto; +import com.fasterxml.jackson.annotation.JsonProperty; +import org.hibernate.annotations.Type; + +import javax.persistence.Column; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.util.List; + public class TheoremDto extends BaseDto { + @NotBlank @Size(min = 1, max = 512, message = "theorem name must be between 1 and 512 characters") private String name; + @NotNull @JsonProperty("theorem_type") private TheoremType theoremType; + @NotNull private String branch; + @Type(type = "json") @Column(columnDefinition = "jsonb") @JsonProperty("referenced_definitions") private List referencedDefinitions; + @Type(type = "json") @Column(columnDefinition = "jsonb") @JsonProperty("referenced_theorems") private List referencedTheorems; + @NotNull @JsonProperty("proven_status") private boolean provenStatus; } diff --git a/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremType.java b/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremType.java new file mode 100644 index 0000000..c69b4e7 --- /dev/null +++ b/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/TheoremType.java @@ -0,0 +1,5 @@ +package edu.msudenver.tsp.persistence.dto; + +public enum TheoremType { + THEOREM, PROPOSITION, LEMMA, COROLLARY +}