in src/main/java/com/epam/digital/data/platform/kafkaapi/core/audit/KafkaAuditProcessor.java [79:105]
private Object prepareAndSendKafkaAudit(ProceedingJoinPoint joinPoint, Request<?> request,
String action) throws Throwable {
EventType eventType = EventType.USER_ACTION;
String methodName = joinPoint.getSignature().getName();
log.debug("Sending {} event to Audit", action);
kafkaEventsFacade.sendKafkaAudit(eventType, methodName, request, action, BEFORE, null);
Object result = joinPoint.proceed();
var resultStatus = ((Message<Response<?>>) result).getPayload().getStatus();
if (resultStatus != null && auditableStatusToHandler.contains(resultStatus)) {
eventType = EventType.SECURITY_EVENT;
}
log.debug("Sending {} completed event to Audit", action);
kafkaEventsFacade.sendKafkaAudit(
eventType,
methodName,
request,
action,
AFTER,
Optional.ofNullable(resultStatus).map(Objects::toString).orElse(null));
return result;
}