|
51 | 51 | import org.slf4j.LoggerFactory; |
52 | 52 |
|
53 | 53 | import java.io.IOException; |
| 54 | +import java.util.Arrays; |
54 | 55 | import java.util.Collections; |
55 | 56 | import java.util.HashMap; |
56 | 57 | import java.util.List; |
@@ -362,16 +363,23 @@ public Optional<ConfigPhysicalPlan> visitPipeDeactivateTemplate( |
362 | 363 | @Override |
363 | 364 | public Optional<ConfigPhysicalPlan> visitTTL( |
364 | 365 | final SetTTLPlan setTTLPlan, final IAuditEntity userEntity) { |
| 366 | + final CNAuditLogger logger = ConfigNode.getInstance().getConfigManager().getAuditLogger(); |
| 367 | + userEntity.setPrivilegeType(PrivilegeType.READ_SCHEMA); |
| 368 | + final String auditObject = Arrays.toString(setTTLPlan.getPathPattern()); |
365 | 369 | try { |
366 | 370 | final List<PartialPath> paths = |
367 | 371 | getAllIntersectedPatterns( |
368 | 372 | new PartialPath(setTTLPlan.getPathPattern()), userEntity, setTTLPlan); |
369 | 373 | // The intersectionList is either a singleton list or an empty list, because the pipe |
370 | 374 | // pattern and TTL path are each either a prefix path or a full path |
371 | | - return !paths.isEmpty() && paths.get(0).getNodeLength() == setTTLPlan.getPathPattern().length |
| 375 | + final boolean result = |
| 376 | + !paths.isEmpty() && paths.get(0).getNodeLength() == setTTLPlan.getPathPattern().length; |
| 377 | + logger.recordAuditLog(userEntity.setResult(result), () -> auditObject); |
| 378 | + return result |
372 | 379 | ? Optional.of(new SetTTLPlan(paths.get(0).getNodes(), setTTLPlan.getTTL())) |
373 | 380 | : Optional.empty(); |
374 | 381 | } catch (final AuthException e) { |
| 382 | + logger.recordAuditLog(userEntity.setResult(false), () -> auditObject); |
375 | 383 | if (skip) { |
376 | 384 | return Optional.empty(); |
377 | 385 | } else { |
|
0 commit comments