Skip to content

Commit dfc8a73

Browse files
authored
[AAP-18613] Add message attribute to AuditAction (#543)
1 parent f0228ed commit dfc8a73

File tree

6 files changed

+28
-0
lines changed

6 files changed

+28
-0
lines changed

src/aap_eda/api/serializers/rulebook.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,12 @@ class AuditActionSerializer(serializers.ModelSerializer):
335335
help_text="The fired timestamp of the action",
336336
)
337337

338+
status_message = serializers.CharField(
339+
required=False,
340+
allow_null=True,
341+
help_text="Message of the action",
342+
)
343+
338344
class Meta:
339345
model = models.AuditAction
340346
fields = [
@@ -345,6 +351,7 @@ class Meta:
345351
"fired_at",
346352
"rule_fired_at",
347353
"audit_rule_id",
354+
"status_message",
348355
]
349356
read_only_fields = ["id"]
350357

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Generated by Django 4.2.7 on 2023-12-12 21:00
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
dependencies = [
8+
("core", "0012_activation_latest_instance_and_more"),
9+
]
10+
11+
operations = [
12+
migrations.AddField(
13+
model_name="auditaction",
14+
name="status_message",
15+
field=models.TextField(default=None, null=True),
16+
),
17+
]

src/aap_eda/core/models/rulebook.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ class Meta:
102102
url = models.URLField(blank=True)
103103
fired_at = models.DateTimeField()
104104
rule_fired_at = models.DateTimeField(null=True)
105+
status_message = models.TextField(null=True, default=None)
105106

106107
audit_rule = models.ForeignKey(
107108
"AuditRule", on_delete=models.CASCADE, null=True

src/aap_eda/wsapi/consumers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ def insert_audit_rule_data(self, message: ActionMessage) -> None:
249249
status=message.status,
250250
rule_fired_at=message.rule_run_at,
251251
audit_rule_id=audit_rule.id,
252+
status_message=message.message,
252253
)
253254

254255
logger.info(f"Audit action [{audit_action.name}] is created.")

tests/integration/api/test_rulebook.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,7 @@ def test_list_actions_from_audit_rule_filter_name(client: APIClient, init_db):
486486
"fired_at",
487487
"rule_fired_at",
488488
"audit_rule_id",
489+
"status_message",
489490
]
490491

491492

tests/integration/wsapi/test_consumer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ def create_action_payload(
547547
"rule_run_at": rule_run_at,
548548
"matching_events": matching_events,
549549
"status": action_status,
550+
"message": "Action run successfully",
550551
}
551552

552553

0 commit comments

Comments
 (0)