Skip to content

Commit 73ceb46

Browse files
authored
[DAPS-1830-2] - core foxx refactored json schema integration (#1899)
1 parent c615fc7 commit 73ceb46

4 files changed

Lines changed: 106 additions & 4 deletions

File tree

core/server/ClientWorker.cpp

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,13 @@ void ClientWorker::setupMsgHandlers() {
148148
&ClientWorker::procSchemaUpdateRequest);
149149
SET_MSG_HANDLER(MetadataValidateRequest,
150150
&ClientWorker::procMetadataValidateRequest);
151-
151+
SET_MSG_HANDLER(SchemaSearchRequest,
152+
&ClientWorker::procSchemaSearchRequest);
153+
SET_MSG_HANDLER(SchemaViewRequest,
154+
&ClientWorker::procSchemaViewRequest);
155+
SET_MSG_HANDLER(SchemaDeleteRequest,
156+
&ClientWorker::procSchemaDeleteRequest);
157+
152158
// Requires updating repo cache
153159
SET_MSG_HANDLER(RepoCreateRequest, &ClientWorker::procRepoCreate);
154160
SET_MSG_HANDLER(RepoUpdateRequest, &ClientWorker::procRepoUpdate);
@@ -241,9 +247,6 @@ void ClientWorker::setupMsgHandlers() {
241247
repoAllocationSetDefault);
242248
SET_MSG_HANDLER_DB(RepoAllocationStatsRequest, RepoAllocationStatsReply,
243249
repoAllocationStats);
244-
SET_MSG_HANDLER_DB(SchemaSearchRequest, SchemaDataReply, schemaSearch);
245-
SET_MSG_HANDLER_DB(SchemaViewRequest, SchemaDataReply, schemaView);
246-
SET_MSG_HANDLER_DB(SchemaDeleteRequest, AckReply, schemaDelete);
247250
SET_MSG_HANDLER_DB(TagSearchRequest, TagDataReply, tagSearch);
248251
SET_MSG_HANDLER_DB(TagListByCountRequest, TagDataReply, tagListByCount);
249252
SET_MSG_HANDLER_DB(TopicListTopicsRequest, TopicDataReply,
@@ -777,6 +780,45 @@ ClientWorker::procMetadataValidateRequest(const std::string &a_uid,
777780
PROC_MSG_END(log_context);
778781
}
779782

783+
std::unique_ptr<IMessage>
784+
ClientWorker::procSchemaSearchRequest(const std::string &a_uid,
785+
std::unique_ptr<IMessage> &&msg_request,
786+
LogContext log_context) {
787+
log_context.correlation_id =
788+
std::get<std::string>(msg_request->get(MessageAttribute::CORRELATION_ID));
789+
PROC_MSG_BEGIN(SchemaSearchRequest, SchemaDataReply, log_context)
790+
791+
m_schema_handler->handleSearch(a_uid, *request, reply, log_context);
792+
793+
PROC_MSG_END(log_context);
794+
}
795+
796+
std::unique_ptr<IMessage>
797+
ClientWorker::procSchemaViewRequest(const std::string &a_uid,
798+
std::unique_ptr<IMessage> &&msg_request,
799+
LogContext log_context) {
800+
log_context.correlation_id =
801+
std::get<std::string>(msg_request->get(MessageAttribute::CORRELATION_ID));
802+
PROC_MSG_BEGIN(SchemaViewRequest, SchemaDataReply, log_context)
803+
804+
m_schema_handler->handleView(a_uid, *request, reply, log_context);
805+
806+
PROC_MSG_END(log_context);
807+
}
808+
809+
std::unique_ptr<IMessage>
810+
ClientWorker::procSchemaDeleteRequest(const std::string &a_uid,
811+
std::unique_ptr<IMessage> &&msg_request,
812+
LogContext log_context) {
813+
log_context.correlation_id =
814+
std::get<std::string>(msg_request->get(MessageAttribute::CORRELATION_ID));
815+
PROC_MSG_BEGIN(SchemaDeleteRequest, AckReply, log_context)
816+
817+
m_schema_handler->handleDelete(a_uid, *request, reply, log_context);
818+
819+
PROC_MSG_END(log_context);
820+
}
821+
780822
std::unique_ptr<IMessage>
781823
ClientWorker::procRecordCreateRequest(const std::string &a_uid,
782824
std::unique_ptr<IMessage> &&msg_request,

core/server/ClientWorker.hpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,18 @@ class ClientWorker : public nlohmann::json_schema::basic_error_handler {
180180
procSchemaUpdateRequest(const std::string &a_uid,
181181
std::unique_ptr<IMessage> &&msg_request,
182182
LogContext log_context);
183+
std::unique_ptr<IMessage>
184+
procSchemaSearchRequest(const std::string &a_uid,
185+
std::unique_ptr<IMessage> &&msg_request,
186+
LogContext log_context);
187+
std::unique_ptr<IMessage>
188+
procSchemaViewRequest(const std::string &a_uid,
189+
std::unique_ptr<IMessage> &&msg_request,
190+
LogContext log_context);
191+
std::unique_ptr<IMessage>
192+
procSchemaDeleteRequest(const std::string &a_uid,
193+
std::unique_ptr<IMessage> &&msg_request,
194+
LogContext log_context);
183195

184196
void recordCollectionDelete(const std::vector<std::string> &a_ids,
185197
SDMS::TaskDataReply &a_reply,

core/server/client_handlers/SchemaHandler.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,5 +200,38 @@ void SchemaHandler::handleMetadataValidate(
200200
}
201201
}
202202

203+
void SchemaHandler::handleSearch(const std::string &a_uid,
204+
const SchemaSearchRequest &a_request,
205+
SchemaDataReply &a_reply,
206+
LogContext log_context) {
207+
(void)a_reply;
208+
m_db_client.setClient(a_uid);
209+
DL_DEBUG(log_context, "Schema search");
210+
m_db_client.schemaSearch(a_request, a_reply, log_context);
211+
}
212+
213+
void SchemaHandler::handleView(const std::string &a_uid,
214+
const SchemaViewRequest &a_request,
215+
SchemaDataReply &a_reply,
216+
LogContext log_context) {
217+
218+
(void)a_reply;
219+
m_db_client.setClient(a_uid);
220+
DL_DEBUG(log_context, "Schema view");
221+
m_db_client.schemaView(a_request, a_reply, log_context);
222+
}
223+
224+
void SchemaHandler::handleDelete(const std::string &a_uid,
225+
const SchemaDeleteRequest &a_request,
226+
AckReply &a_reply,
227+
LogContext log_context) {
228+
229+
(void)a_reply;
230+
m_db_client.setClient(a_uid);
231+
DL_DEBUG(log_context, "Schema delete");
232+
m_db_client.schemaDelete(a_request, a_reply, log_context);
233+
}
234+
235+
203236
} // namespace Core
204237
} // namespace SDMS

core/server/client_handlers/SchemaHandler.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,21 @@ class SchemaHandler {
102102
MetadataValidateReply &a_reply,
103103
LogContext log_context);
104104

105+
void handleSearch(const std::string &a_uid,
106+
const SchemaSearchRequest &a_request,
107+
SchemaDataReply &a_reply,
108+
LogContext log_context);
109+
110+
void handleView(const std::string &a_uid,
111+
const SchemaViewRequest &a_request,
112+
SchemaDataReply &a_reply,
113+
LogContext log_context);
114+
115+
void handleDelete(const std::string &a_uid,
116+
const SchemaDeleteRequest &a_request,
117+
AckReply &a_reply,
118+
LogContext log_context);
119+
105120
// ── Utilities (public for direct unit testing) ────────────────────────
106121

107122
/**

0 commit comments

Comments
 (0)