1
2
3
4
5
6 package org.tailormap.api.persistence;
7
8 import com.fasterxml.jackson.databind.JsonNode;
9 import jakarta.persistence.Column;
10 import jakarta.persistence.Entity;
11 import jakarta.persistence.EntityListeners;
12 import jakarta.persistence.Id;
13 import jakarta.persistence.Version;
14 import org.hibernate.annotations.Type;
15 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
16 import org.tailormap.api.persistence.listener.EntityEventPublisher;
17
18 @Entity
19 @EntityListeners({EntityEventPublisher.class, AuditingEntityListener.class})
20 public class Configuration extends AuditMetadata {
21 public static final String DEFAULT_APP = "default-app";
22
23 public static final String DEFAULT_BASE_APP = "default-base-app";
24
25 public static final String HOME_PAGE = "home-page";
26
27 public static final String PORTAL_MENU = "portal-menu";
28
29 @Id
30 private String key;
31
32 @Version
33 private Long version;
34
35 @Column(columnDefinition = "text")
36 private String value;
37
38 @Type(value = io.hypersistence.utils.hibernate.type.json.JsonBinaryType.class)
39 @Column(columnDefinition = "jsonb")
40 private JsonNode jsonValue;
41
42 private boolean availableForViewer;
43
44
45 public String getKey() {
46 return key;
47 }
48
49 public void setKey(String key) {
50 this.key = key;
51 }
52
53 public Long getVersion() {
54 return version;
55 }
56
57 public Configuration setVersion(Long version) {
58 this.version = version;
59 return this;
60 }
61
62 public String getValue() {
63 return value;
64 }
65
66 public void setValue(String value) {
67 this.value = value;
68 }
69
70 public JsonNode getJsonValue() {
71 return jsonValue;
72 }
73
74 public void setJsonValue(JsonNode jsonValue) {
75 this.jsonValue = jsonValue;
76 }
77
78 public boolean isAvailableForViewer() {
79 return availableForViewer;
80 }
81
82 public void setAvailableForViewer(boolean availableForViewer) {
83 this.availableForViewer = availableForViewer;
84 }
85
86 }