package com.heaerie.server.auth201.Auth201Server.entity;
import jakarta.persistence.*;
import java.time.Instant;
@Entity
@Table(name = "registered_clients")
public class RegisteredClientEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String clientId;
@Column
private String clientSecret;
@Column(nullable = false)
private String clientName;
@Column
private String clientType;
@Column(length = 1000)
private String description;
@Column(length = 4000)
private String redirectUris;
@Column(length = 4000)
private String logoutRedirectUris;
@Column(length = 1000)
private String grantTypes;
@Column(length = 1000)
private String scopes;
@Column
private boolean requireConsent;
@Column
private boolean requirePkce;
@Column
private Integer accessTokenValidity;
@Column
private Integer refreshTokenValidity;
@Column
private boolean reuseRefreshTokens;
@Column
private Instant createdAt;
@Column
private Instant updatedAt;
@PrePersist
protected void onCreate() {
createdAt = Instant.now();
updatedAt = Instant.now();
}
@PreUpdate
protected void onUpdate() {
updatedAt = Instant.now();
}
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getClientId() {
return clientId;
}
public void setClientId(String clientId) {
this.clientId = clientId;
}
public String getClientSecret() {
return clientSecret;
}
public void setClientSecret(String clientSecret) {
this.clientSecret = clientSecret;
}
public String getClientName() {
return clientName;
}
public void setClientName(String clientName) {
this.clientName = clientName;
}
public String getClientType() {
return clientType;
}
public void setClientType(String clientType) {
this.clientType = clientType;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getRedirectUris() {
return redirectUris;
}
public void setRedirectUris(String redirectUris) {
this.redirectUris = redirectUris;
}
public String getLogoutRedirectUris() {
return logoutRedirectUris;
}
public void setLogoutRedirectUris(String logoutRedirectUris) {
this.logoutRedirectUris = logoutRedirectUris;
}
public String getGrantTypes() {
return grantTypes;
}
public void setGrantTypes(String grantTypes) {
this.grantTypes = grantTypes;
}
public String getScopes() {
return scopes;
}
public void setScopes(String scopes) {
this.scopes = scopes;
}
public boolean isRequireConsent() {
return requireConsent;
}
public void setRequireConsent(boolean requireConsent) {
this.requireConsent = requireConsent;
}
public boolean isRequirePkce() {
return requirePkce;
}
public void setRequirePkce(boolean requirePkce) {
this.requirePkce = requirePkce;
}
public Integer getAccessTokenValidity() {
return accessTokenValidity;
}
public void setAccessTokenValidity(Integer accessTokenValidity) {
this.accessTokenValidity = accessTokenValidity;
}
public Integer getRefreshTokenValidity() {
return refreshTokenValidity;
}
public void setRefreshTokenValidity(Integer refreshTokenValidity) {
this.refreshTokenValidity = refreshTokenValidity;
}
public boolean isReuseRefreshTokens() {
return reuseRefreshTokens;
}
public void setReuseRefreshTokens(boolean reuseRefreshTokens) {
this.reuseRefreshTokens = reuseRefreshTokens;
}
public Instant getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Instant createdAt) {
this.createdAt = createdAt;
}
public Instant getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Instant updatedAt) {
this.updatedAt = updatedAt;
}
}