feat: add VendorAuthPolicy entity and repository
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
39
src/main/java/net/siegeln/cameleer/saas/vendor/VendorAuthPolicyEntity.java
vendored
Normal file
39
src/main/java/net/siegeln/cameleer/saas/vendor/VendorAuthPolicyEntity.java
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
package net.siegeln.cameleer.saas.vendor;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.time.Instant;
|
||||
|
||||
@Entity
|
||||
@Table(name = "vendor_auth_policy")
|
||||
public class VendorAuthPolicyEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
private Integer id = 1;
|
||||
|
||||
@Column(name = "mfa_mode", nullable = false)
|
||||
private String mfaMode = "off";
|
||||
|
||||
@Column(name = "passkey_enabled", nullable = false)
|
||||
private boolean passkeyEnabled = false;
|
||||
|
||||
@Column(name = "passkey_mode", nullable = false)
|
||||
private String passkeyMode = "optional";
|
||||
|
||||
@Column(name = "updated_at", nullable = false)
|
||||
private Instant updatedAt = Instant.now();
|
||||
|
||||
@PreUpdate
|
||||
void onUpdate() {
|
||||
this.updatedAt = Instant.now();
|
||||
}
|
||||
|
||||
public Integer getId() { return id; }
|
||||
public String getMfaMode() { return mfaMode; }
|
||||
public void setMfaMode(String mfaMode) { this.mfaMode = mfaMode; }
|
||||
public boolean isPasskeyEnabled() { return passkeyEnabled; }
|
||||
public void setPasskeyEnabled(boolean passkeyEnabled) { this.passkeyEnabled = passkeyEnabled; }
|
||||
public String getPasskeyMode() { return passkeyMode; }
|
||||
public void setPasskeyMode(String passkeyMode) { this.passkeyMode = passkeyMode; }
|
||||
public Instant getUpdatedAt() { return updatedAt; }
|
||||
}
|
||||
13
src/main/java/net/siegeln/cameleer/saas/vendor/VendorAuthPolicyRepository.java
vendored
Normal file
13
src/main/java/net/siegeln/cameleer/saas/vendor/VendorAuthPolicyRepository.java
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
package net.siegeln.cameleer.saas.vendor;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface VendorAuthPolicyRepository extends JpaRepository<VendorAuthPolicyEntity, Integer> {
|
||||
|
||||
default VendorAuthPolicyEntity getPolicy() {
|
||||
return findById(1).orElseGet(() -> {
|
||||
var policy = new VendorAuthPolicyEntity();
|
||||
return save(policy);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user