File size: 1,192 Bytes
9373c61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5cfe5c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.dalab.policyengine.service;

import java.util.UUID;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.dalab.common.event.AssetChangeEvent;
import com.dalab.policyengine.dto.PolicyEvaluationOutputDTO;
import com.dalab.policyengine.dto.PolicyEvaluationRequestDTO;
import com.dalab.policyengine.dto.PolicyEvaluationSummaryDTO;

public interface IPolicyEvaluationService {

    PolicyEvaluationOutputDTO evaluatePolicyForAsset(UUID policyId, PolicyEvaluationRequestDTO evaluationRequest, UUID triggeredByUserId);
    
    // Method expected by controller - delegates to evaluatePolicyForAsset
    PolicyEvaluationOutputDTO triggerPolicyEvaluation(UUID policyId, PolicyEvaluationRequestDTO evaluationRequest, UUID triggeredByUserId);

    Page<PolicyEvaluationSummaryDTO> getPolicyEvaluations(Pageable pageable, UUID policyId, String targetAssetId, String status);

    PolicyEvaluationOutputDTO getPolicyEvaluationById(UUID evaluationId);

    // Internal method for Kafka consumer or scheduled tasks
    void evaluatePolicyForAssetInternal(AssetChangeEvent assetChangeEvent, UUID eventInitiatorId);
}