dalabai's picture
Upload folder using huggingface_hub
9373c61 verified
raw
history blame
3.17 kB
package com.dalab.policyengine.model;
import java.time.Instant;
import java.util.Map;
import java.util.UUID;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import jakarta.persistence.*;
@Entity
@Table(name = "policy_evaluations")
public class PolicyEvaluation {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(columnDefinition = "UUID")
private UUID id;
@Column(nullable = false, columnDefinition = "UUID")
private UUID policyId;
@Column(nullable = false, length = 255) // External asset ID from da-catalog or other source
private String targetAssetId;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private PolicyEvaluationStatus status;
// Store details about the evaluation, e.g., which rules passed/failed, input facts snapshot
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private Map<String, Object> evaluationDetails;
// Store actions that were triggered as a result of this evaluation
@JdbcTypeCode(SqlTypes.JSON)
@Column(columnDefinition = "jsonb")
private Map<String, Object> triggeredActions;
@Column(nullable = false)
private Instant evaluatedAt;
@Column(columnDefinition = "UUID")
private UUID evaluationTriggeredByUserId; // Optional: if triggered by a user action
// Getters and Setters
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public UUID getPolicyId() {
return policyId;
}
public void setPolicyId(UUID policyId) {
this.policyId = policyId;
}
public String getTargetAssetId() {
return targetAssetId;
}
public void setTargetAssetId(String targetAssetId) {
this.targetAssetId = targetAssetId;
}
public PolicyEvaluationStatus getStatus() {
return status;
}
public void setStatus(PolicyEvaluationStatus status) {
this.status = status;
}
public Map<String, Object> getEvaluationDetails() {
return evaluationDetails;
}
public void setEvaluationDetails(Map<String, Object> evaluationDetails) {
this.evaluationDetails = evaluationDetails;
}
public Map<String, Object> getTriggeredActions() {
return triggeredActions;
}
public void setTriggeredActions(Map<String, Object> triggeredActions) {
this.triggeredActions = triggeredActions;
}
public Instant getEvaluatedAt() {
return evaluatedAt;
}
public void setEvaluatedAt(Instant evaluatedAt) {
this.evaluatedAt = evaluatedAt;
}
public UUID getEvaluationTriggeredByUserId() {
return evaluationTriggeredByUserId;
}
public void setEvaluationTriggeredByUserId(UUID evaluationTriggeredByUserId) {
this.evaluationTriggeredByUserId = evaluationTriggeredByUserId;
}
@PrePersist
protected void onPersist() {
if (evaluatedAt == null) {
evaluatedAt = Instant.now();
}
}
}