summaryrefslogtreecommitdiff
path: root/src/cardTypeHandlerInfo.cpp
blob: 46e8f56d93e77099abce9fd1b23adf8b1f8e64b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "cardTypeHandlerInfo.hpp"

void CardTypeHandlerInfo::addCardInfo(const std::string &kCardType, const std::string &kCardValueRegex,
                                      const std::function<const std::string(const std::string &)> kJSONToSQLConverter) {
}

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;
}