correctly processing enforcements

This commit is contained in:
2026-02-26 15:35:39 -06:00
parent b43495b26d
commit 570c52e623
4 changed files with 84 additions and 4 deletions

View File

@@ -11,15 +11,15 @@
use anyhow::{bail, Result};
use attune_common::{
models::{Enforcement, Event, Rule},
models::{Enforcement, EnforcementStatus, Event, Rule},
mq::{
Consumer, EnforcementCreatedPayload, ExecutionRequestedPayload, MessageEnvelope, Publisher,
},
repositories::{
event::{EnforcementRepository, EventRepository},
event::{EnforcementRepository, EventRepository, UpdateEnforcementInput},
execution::{CreateExecutionInput, ExecutionRepository},
rule::RuleRepository,
Create, FindById,
Create, FindById, Update,
},
};
@@ -144,11 +144,40 @@ impl EnforcementProcessor {
&rule,
)
.await?;
// Update enforcement status to Processed after successful execution creation
EnforcementRepository::update(
pool,
enforcement_id,
UpdateEnforcementInput {
status: Some(EnforcementStatus::Processed),
payload: None,
},
)
.await?;
debug!("Updated enforcement {} status to Processed", enforcement_id);
} else {
info!(
"Skipping execution creation for enforcement: {}",
enforcement_id
);
// Update enforcement status to Disabled since it was not actionable
EnforcementRepository::update(
pool,
enforcement_id,
UpdateEnforcementInput {
status: Some(EnforcementStatus::Disabled),
payload: None,
},
)
.await?;
debug!(
"Updated enforcement {} status to Disabled (skipped)",
enforcement_id
);
}
Ok(())
@@ -215,7 +244,8 @@ impl EnforcementProcessor {
);
bail!(
"Rule {} references a deleted action (action_ref: {})",
rule.id, rule.action_ref
rule.id,
rule.action_ref
);
}
};