fix(audit): definition action != record action — fix SmokeE2ETest filter

SmokeE2ETest.contextLoadsAndCreatesRecord фильтрует audit_log по
action='CREATE' и ожидает row с businessKey. Мой backend #1 commit
сделал definitionCreated() писать action='CREATE' — конфликт с
record-level CREATE rows: filter подбирал dict-level row первой
(no businessKey → null assertion fail).

Fix: definitionCreated/definitionUpdated теперь пишут action
'DEFINITION_CREATE' / 'DEFINITION_UPDATE'. event_type остаётся
DEFINITION_CREATED/UPDATED (changelog query filter по event_type
IN список, не задеть).
This commit is contained in:
Zimin A.N.
2026-05-11 23:22:49 +03:00
parent e02e684cca
commit 083e7be3be
@@ -49,21 +49,22 @@ public class AuditLogger {
}
/**
* Audit для создания справочника. record-связанные поля null'ятся
* (record_id / business_key не применимы к dict-level event).
* payload_after = schema_json текущей версии.
* Audit для создания справочника. record-связанные поля null'ятся.
*
* <p>Action = {@code DEFINITION_CREATE} (не {@code CREATE}) — иначе
* существующие фильтры по action=CREATE подхватывают dict-level row
* без businessKey (SmokeE2ETest.contextLoadsAndCreatesRecord фейлится).
*/
public void definitionCreated(DictionaryDefinition d) {
write("DEFINITION_CREATED", "CREATE", d, null, null, d.getSchemaJson());
write("DEFINITION_CREATED", "DEFINITION_CREATE", d, null, null, d.getSchemaJson());
}
/**
* Audit для обновления schema справочника. payload_before — schema до
* update'а, payload_after — после. Используется для changelog / diff
* computation в frontend History tab.
* Audit для обновления schema справочника. payload_before/after
* schema до/после. Используется changelog для diff computation.
*/
public void definitionUpdated(DictionaryDefinition d, JsonNode prevSchema) {
write("DEFINITION_UPDATED", "UPDATE", d, null, prevSchema, d.getSchemaJson());
write("DEFINITION_UPDATED", "DEFINITION_UPDATE", d, null, prevSchema, d.getSchemaJson());
}
public void recordUpdate(