Spaces:
Build error
Build error
| 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.*; | |
| public class PolicyEvaluation { | |
| private UUID id; | |
| private UUID policyId; | |
| // External asset ID from da-catalog or other source | |
| private String targetAssetId; | |
| private PolicyEvaluationStatus status; | |
| // Store details about the evaluation, e.g., which rules passed/failed, input facts snapshot | |
| private Map<String, Object> evaluationDetails; | |
| // Store actions that were triggered as a result of this evaluation | |
| private Map<String, Object> triggeredActions; | |
| private Instant evaluatedAt; | |
| 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; | |
| } | |
| protected void onPersist() { | |
| if (evaluatedAt == null) { | |
| evaluatedAt = Instant.now(); | |
| } | |
| } | |
| } |