Add Visione backend foundation

This commit is contained in:
gabdevele
2026-06-02 19:22:00 +02:00 Unverified
commit 580789ac83
52 changed files with 5008 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
#include "repositories/Sql.h"
#include <drogon/orm/Field.h>
#include <drogon/orm/ResultIterator.h>
#include <drogon/orm/RowIterator.h>
namespace visione::repositories
{
Json::Value rowToJson(const drogon::orm::Row &row)
{
Json::Value object(Json::objectValue);
for (const auto &field : row)
{
if (field.isNull())
{
object[field.name()] = Json::nullValue;
}
else
{
object[field.name()] = field.as<std::string>();
}
}
return object;
}
Json::Value resultToJson(const drogon::orm::Result &result)
{
Json::Value array(Json::arrayValue);
for (const auto &row : result)
{
array.append(rowToJson(row));
}
return array;
}
std::string nullableString(const Json::Value &value, const std::string &key)
{
if (!value.isMember(key) || value[key].isNull())
{
return {};
}
return value[key].asString();
}
} // namespace visione::repositories