From a01e968169344a2bb2278c55b42d7f0c2c3e1763 Mon Sep 17 00:00:00 2001 From: Aotrix Date: Sun, 6 Jul 2025 11:27:52 +0200 Subject: added card type handler --- src/cardTypeHandlerInfo.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/cardTypeHandlerInfo.cpp (limited to 'src/cardTypeHandlerInfo.cpp') diff --git a/src/cardTypeHandlerInfo.cpp b/src/cardTypeHandlerInfo.cpp new file mode 100644 index 0000000..b49057a --- /dev/null +++ b/src/cardTypeHandlerInfo.cpp @@ -0,0 +1,41 @@ +#include "cardTypeHandlerInfo.hpp" + +void CardTypeHandlerInfo::addCardInfo( + const std::string &kCardType, const std::string &kCardValueRegex, + const std::function + kJSONToSQLConverter) { + // TODO: complete +} + +const CardTypeHandlerInfo cardTypeHandlerInfoList() { + CardTypeHandlerInfo aCardTypeHandlerInfo; + + aCardTypeHandlerInfo.addCardInfo( + "INT", "[0-9]+", + [](const std::string &kJSONContent) { return kJSONContent; }); + + aCardTypeHandlerInfo.addCardInfo( + "BOOL", "true|false", + [](const std::string &kJSONContent) { return kJSONContent; }); + + aCardTypeHandlerInfo.addCardInfo( + "STRING", "\"[^\"?]*\"", [](const std::string &kJSONContent) { + std::string aCopyOfJSONValue = kJSONContent; + *aCopyOfJSONValue.begin() = '\''; + *std::prev(aCopyOfJSONValue.end()) = '\''; + return aCopyOfJSONValue; + }); + + aCardTypeHandlerInfo.addCardInfo( + "LIST_OF_INT", "\\[[0-9,]*\\]", [](const std::string &kJSONContent) { + std::string aCopyOfJSONValue = kJSONContent; + aCopyOfJSONValue.append("\'"); + aCopyOfJSONValue.insert(aCopyOfJSONValue.begin(), '\''); + return aCopyOfJSONValue; + }); + + aCardTypeHandlerInfo.addCardInfo( + "NULL", "null", [](const std::string &kJSONContent) { return "NULL"; }); + + return aCardTypeHandlerInfo; +} -- cgit v1.2.3