1
2
3
4
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.GeneratedValue;
12 import jakarta.persistence.GenerationType;
13 import jakarta.persistence.Id;
14 import jakarta.persistence.Version;
15 import jakarta.validation.constraints.NotNull;
16 import java.time.LocalDate;
17 import java.util.List;
18 import java.util.UUID;
19 import org.hibernate.annotations.JdbcTypeCode;
20 import org.hibernate.envers.Audited;
21 import org.hibernate.type.SqlTypes;
22 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
23 import org.tailormap.api.persistence.listener.EntityEventPublisher;
24
25 @Audited
26 @Entity
27 @EntityListeners({EntityEventPublisher.class, AuditingEntityListener.class})
28 public class OIDCConfiguration extends AuditMetadata {
29 @Id
30 @GeneratedValue(strategy = GenerationType.IDENTITY)
31 private Long id;
32
33 @Version
34 private Long version;
35
36 @NotNull private String name;
37
38 @NotNull private String clientId;
39
40 private String clientSecret;
41
42 private LocalDate clientSecretExpiry;
43
44 @NotNull private String issuerUrl;
45
46 @NotNull private String userNameAttribute;
47
48 private String status;
49
50 private UUID image;
51
52 @JdbcTypeCode(SqlTypes.JSON)
53 @Column(columnDefinition = "jsonb")
54 private List<String> defaultAuthorities;
55
56 private String rolesClaimFilterRegex;
57
58 private boolean disableAutomaticGroupCreation;
59
60 public Long getId() {
61 return id;
62 }
63
64 public OIDCConfiguration setId(Long id) {
65 this.id = id;
66 return this;
67 }
68
69 public Long getVersion() {
70 return version;
71 }
72
73 public OIDCConfiguration setVersion(Long version) {
74 this.version = version;
75 return this;
76 }
77
78 public String getName() {
79 return name;
80 }
81
82 public OIDCConfiguration setName(String name) {
83 this.name = name;
84 return this;
85 }
86
87 public String getClientId() {
88 return clientId;
89 }
90
91 public OIDCConfiguration setClientId(String clientId) {
92 this.clientId = clientId;
93 return this;
94 }
95
96 public String getClientSecret() {
97 return clientSecret;
98 }
99
100 public OIDCConfiguration setClientSecret(String clientSecret) {
101 this.clientSecret = clientSecret;
102 return this;
103 }
104
105 public LocalDate getClientSecretExpiry() {
106 return clientSecretExpiry;
107 }
108
109 public OIDCConfiguration setClientSecretExpiry(LocalDate clientSecretExpiry) {
110 this.clientSecretExpiry = clientSecretExpiry;
111 return this;
112 }
113
114 public String getIssuerUrl() {
115 return issuerUrl;
116 }
117
118 public OIDCConfiguration setIssuerUrl(String issuerUrl) {
119 this.issuerUrl = issuerUrl;
120 return this;
121 }
122
123 public String getUserNameAttribute() {
124 return userNameAttribute;
125 }
126
127 public OIDCConfiguration setUserNameAttribute(String userNameAttribute) {
128 this.userNameAttribute = userNameAttribute;
129 return this;
130 }
131
132 public String getStatus() {
133 return status;
134 }
135
136 public OIDCConfiguration setStatus(String status) {
137 this.status = status;
138 return this;
139 }
140
141 public UUID getImage() {
142 return image;
143 }
144
145 public OIDCConfiguration setImage(UUID image) {
146 this.image = image;
147 return this;
148 }
149
150 public List<String> getDefaultAuthorities() {
151 return defaultAuthorities;
152 }
153
154 public OIDCConfiguration setDefaultAuthorities(List<String> defaultAuthorities) {
155 this.defaultAuthorities = defaultAuthorities;
156 return this;
157 }
158
159 public String getRolesClaimFilterRegex() {
160 return rolesClaimFilterRegex;
161 }
162
163 public OIDCConfiguration setRolesClaimFilterRegex(String rolesClaimFilter) {
164 this.rolesClaimFilterRegex = rolesClaimFilter;
165 return this;
166 }
167
168 public boolean isDisableAutomaticGroupCreation() {
169 return disableAutomaticGroupCreation;
170 }
171
172 public OIDCConfiguration setDisableAutomaticGroupCreation(boolean disableAutomaticGroupCreation) {
173 this.disableAutomaticGroupCreation = disableAutomaticGroupCreation;
174 return this;
175 }
176 }