private Object prepareAndSendDbAudit()

in src/main/java/com/epam/digital/data/platform/kafkaapi/core/audit/DatabaseAuditProcessor.java [130:153]


  private Object prepareAndSendDbAudit(
      ProceedingJoinPoint joinPoint, String tableName, String action, JwtClaimsDto userClaims,
      Set<String> fields, String entityId) throws Throwable {

    String methodName = joinPoint.getSignature().getName();

    log.debug("Sending {} event to Audit", action);
    databaseEventsFacade
        .sendDbAudit(methodName, tableName, action, userClaims, BEFORE, entityId, fields, null);

    Object result = joinPoint.proceed();

    if (action.equals(CREATE)) {
      entityId = result.toString();
    }
    if (action.equals(READ)) {
      fields = getFields(((Optional) result).orElse(null));
    }

    log.debug("Sending {} completed event to Audit", action);
    databaseEventsFacade
        .sendDbAudit(methodName, tableName, action, userClaims, AFTER, entityId, fields, null);
    return result;
  }