summaryrefslogtreecommitdiff
path: root/src/cardTypeHandlerInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cardTypeHandlerInfo.cpp')
-rw-r--r--src/cardTypeHandlerInfo.cpp41
1 files changed, 41 insertions, 0 deletions
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<const std::string(const std::string &)>
+ 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;
+}