1818 RequestAuditQueryParams ,
1919)
2020from eligibility_signposting_api .audit .audit_service import AuditService
21- from eligibility_signposting_api .model .campaign_config import (
22- CampaignID ,
23- CampaignVersion ,
24- Iteration ,
25- RuleName ,
26- RulePriority ,
27- )
2821from eligibility_signposting_api .model .eligibility_status import (
22+ BestIterationResult ,
2923 CohortGroupResult ,
3024 ConditionName ,
3125 IterationResult ,
26+ MatchedActionDetail ,
3227 Status ,
3328 SuggestedAction ,
3429)
@@ -65,17 +60,15 @@ def add_request_details(request: Request) -> None:
6560
6661 @staticmethod
6762 def append_audit_condition (
68- suggested_actions : list [SuggestedAction ] | None ,
6963 condition_name : ConditionName ,
70- best_results : tuple [Iteration | None , IterationResult | None , dict [str , CohortGroupResult ] | None ],
71- campaign_details : tuple [CampaignID | None , CampaignVersion | None ],
72- action_rule_details : tuple [RulePriority | None , RuleName | None ],
64+ best_iteration_result : BestIterationResult ,
65+ action_detail : MatchedActionDetail ,
7366 ) -> None :
7467 audit_eligibility_cohorts , audit_eligibility_cohort_groups , audit_actions = [], [], []
7568 audit_filter_rule , audit_suitability_rule , audit_action_rule = None , None , None
76- best_active_iteration = best_results [ 0 ]
77- best_candidate = best_results [ 1 ]
78- best_cohort_results = best_results [ 2 ]
69+ best_active_iteration = best_iteration_result . active_iteration
70+ best_candidate = best_iteration_result . iteration_result
71+ best_cohort_results = best_iteration_result . cohort_results
7972
8073 if best_cohort_results :
8174 for cohort_label , result in sorted (best_cohort_results .items (), key = lambda item : item [1 ].cohort_code ):
@@ -94,13 +87,13 @@ def append_audit_condition(
9487 audit_filter_rule = AuditContext .create_audit_filter_rule (best_candidate , result )
9588 audit_suitability_rule = AuditContext .create_audit_suitability_rule (best_candidate , result )
9689
97- audit_action_rule = AuditContext .add_rule_name_and_priority_to_audit (best_candidate , action_rule_details )
90+ audit_action_rule = AuditContext .add_rule_name_and_priority_to_audit (best_candidate , action_detail )
9891
99- audit_actions = AuditContext .create_audit_actions (suggested_actions )
92+ audit_actions = AuditContext .create_audit_actions (action_detail . actions )
10093
10194 audit_condition = AuditCondition (
102- campaign_id = campaign_details [ 0 ] ,
103- campaign_version = campaign_details [ 1 ] ,
95+ campaign_id = best_iteration_result . campaign_id ,
96+ campaign_version = best_iteration_result . campaign_version ,
10497 iteration_id = best_active_iteration .id if best_active_iteration else None ,
10598 iteration_version = best_active_iteration .version if best_active_iteration else None ,
10699 condition_name = condition_name ,
@@ -119,15 +112,15 @@ def append_audit_condition(
119112 @staticmethod
120113 def add_rule_name_and_priority_to_audit (
121114 best_candidate : IterationResult | None ,
122- action_rule_details : tuple [ RulePriority | None , RuleName | None ] | None ,
115+ action_detail : MatchedActionDetail ,
123116 ) -> AuditRedirectRule | None :
124117 audit_action_rule = None
125118 if best_candidate and best_candidate .status :
126- if action_rule_details is None or ( action_rule_details [ 0 ] is None and action_rule_details [ 1 ] is None ) :
119+ if action_detail . rule_priority is None and action_detail . rule_name is None :
127120 audit_action_rule = None
128121 else :
129122 audit_action_rule = AuditRedirectRule (
130- rule_priority = str (action_rule_details [ 0 ] ), rule_name = action_rule_details [ 1 ]
123+ rule_priority = str (action_detail . rule_priority ), rule_name = action_detail . rule_name
131124 )
132125 return audit_action_rule
133126
0 commit comments