From 1754e60b9e76fc67f0c5d8bb27b8b60d56f98dbc Mon Sep 17 00:00:00 2001
From: Artem Dobrynin <Artem_Dobrynin@epam.com>
Date: Fri, 15 Jan 2021 12:13:33 +0400
Subject: [PATCH] GONRG-1546: Audit. Implement some audit events for Indexer
 [publish]

https://jiraeu.epam.com/browse/GONRG-1546

* Added new audit log
---
 .../osdu/indexer/logging/AuditEvents.java          | 14 ++++++++++++++
 .../osdu/indexer/logging/AuditLogger.java          |  4 ++++
 .../osdu/indexer/service/IndexerServiceImpl.java   |  4 ++++
 3 files changed, 22 insertions(+)

diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
index 9ac4df7da..1f0970f1d 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
@@ -38,6 +38,9 @@ public class AuditEvents {
 
     private static final String INDEX_PURGE_RECORD_ACTION_ID = "IN004";
 
+    private static final String INDEX_STARTED_ACTION_ID = "IN006";
+    private static final String INDEX_STARTED_OPERATION = "Indexing started";
+
     private static final String REINDEX_KIND_ACTION_ID = "IN007";
     private static final String REINDEX_KIND_OPERATION = "Reindex kind";
 
@@ -151,6 +154,17 @@ public class AuditEvents {
                 .build();
     }
 
+    public AuditPayload getIndexEvent(List<String> resources) {
+        return AuditPayload.builder()
+                .action(AuditAction.CREATE)
+                .status(AuditStatus.SUCCESS)
+                .actionId(INDEX_STARTED_ACTION_ID)
+                .message(INDEX_STARTED_OPERATION)
+                .resources(resources)
+                .user(this.user)
+                .build();
+    }
+
     public AuditPayload getReindexEvent(List<String> resources) {
         return AuditPayload.builder()
                 .action(AuditAction.CREATE)
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
index aaf148f82..431e99afc 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
@@ -73,6 +73,10 @@ public class AuditLogger {
         this.writeLog(this.getAuditEvents().getIndexPurgeRecordFailEvent(resources));
     }
 
+    public void indexStarted(List<String> resources) {
+        this.writeLog(this.getAuditEvents().getIndexEvent(resources));
+    }
+
     public void getReindex(List<String> resources) {
         this.writeLog(this.getAuditEvents().getReindexEvent(resources));
     }
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
index 36f91af24..e77ef8f09 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
@@ -125,6 +125,10 @@ public class IndexerServiceImpl implements IndexerService {
                 retryRecordIds.addAll(deleteFailureRecordIds);
             }
 
+            auditLogger.indexStarted(recordInfos.stream()
+                            .map(RecordInfo::getKind)
+                            .collect(Collectors.toList()));
+
             // process schema change messages
             Map<String, OperationType> schemaMsgs = RecordInfo.getSchemaMsgs(recordInfos);
             if (schemaMsgs != null && !schemaMsgs.isEmpty()) {
-- 
GitLab