From 489bc57bc3dae23df6ff996608252ba3d0526ea6 Mon Sep 17 00:00:00 2001
From: karnem <mikhail.karnevskiy@desy.de>
Date: Mon, 28 Aug 2023 10:52:39 +0200
Subject: [PATCH] Add message_id to data struct to store message id. _id is now
 autoincrementing.

---
 common/cpp/include/asapo/common/data_structs.h            | 1 +
 common/cpp/src/data_structs/data_structs.cpp              | 1 +
 receiver/src/request_handler/request_handler_db_write.cpp | 3 ++-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/cpp/include/asapo/common/data_structs.h b/common/cpp/include/asapo/common/data_structs.h
index d29301909..be8b8497c 100644
--- a/common/cpp/include/asapo/common/data_structs.h
+++ b/common/cpp/include/asapo/common/data_structs.h
@@ -35,6 +35,7 @@ class MessageMeta {
   std::chrono::system_clock::time_point timestamp;
   uint64_t size{0};
   uint64_t id{0};
+  uint64_t message_id{0};  
   std::string source;
   std::string ib_source;
   std::string metadata;
diff --git a/common/cpp/src/data_structs/data_structs.cpp b/common/cpp/src/data_structs/data_structs.cpp
index 30869d441..e32d4c4c1 100644
--- a/common/cpp/src/data_structs/data_structs.cpp
+++ b/common/cpp/src/data_structs/data_structs.cpp
@@ -64,6 +64,7 @@ std::string MessageMeta::Json() const {
 
     int64_t buf_id_int = static_cast<int64_t>(buf_id);
     std::string s = "{\"_id\":" + std::to_string(id) + ","
+                    "\"message_id\":" + std::to_string(message_id) + ","
                     "\"size\":" + std::to_string(size) + ","
                     "\"name\":\"" + x + "\","
                     "\"timestamp\":"
diff --git a/receiver/src/request_handler/request_handler_db_write.cpp b/receiver/src/request_handler/request_handler_db_write.cpp
index 070559bff..556ebd179 100644
--- a/receiver/src/request_handler/request_handler_db_write.cpp
+++ b/receiver/src/request_handler/request_handler_db_write.cpp
@@ -77,7 +77,8 @@ MessageMeta RequestHandlerDbWrite::PrepareMessageMeta(const Request* request) co
     MessageMeta message_meta;
     message_meta.name = request->GetFileName();
     message_meta.size = request->GetDataSize();
-    message_meta.id = request->GetDataID();
+    message_meta.id = 0;
+    message_meta.message_id = request->GetDataID();
     message_meta.ingest_mode = request->GetIngestMode();
     message_meta.buf_id = request->GetSlotId();
     message_meta.stream = request->GetStream();
-- 
GitLab