#pragma once #include #include #include #include #include namespace visione::repositories { enum class JsonFieldType { String, Int64, UInt64, Double, Bool }; using JsonRowSchema = std::unordered_map; Json::Value scalarToJson(JsonFieldType type, const drogon::orm::Field &field); Json::Value rowToJson(const drogon::orm::Row &row); Json::Value rowToJson(const drogon::orm::Row &row, const JsonRowSchema &schema); Json::Value resultToJson(const drogon::orm::Result &result); Json::Value resultToJson(const drogon::orm::Result &result, const JsonRowSchema &schema); std::string nullableString(const Json::Value &value, const std::string &key); } // namespace visione::repositories