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