#include #include "common/Cors.h" #include "plugins/RequestLogger.h" #include "repositories/MigrationRunner.h" #include int main() { setvbuf(stdout, nullptr, _IONBF, 0); (void)RequestLogger::classTypeName(); Json::Value requestLoggerConfig; requestLoggerConfig["include_query"] = true; drogon::app().loadConfigFile("config.json"); drogon::app().addPlugin("RequestLogger", {}, requestLoggerConfig); visione::cors::configure(); const auto migrationsPath = drogon::app() .getCustomConfig() .get("migrations_path", "migrations") .asString(); drogon::app().getLoop()->runAfter(0.0, [migrationsPath]() { try { visione::repositories::MigrationRunner::run(migrationsPath); } catch (const std::exception &error) { LOG_FATAL << "Migration failed: " << error.what(); drogon::app().quit(); } }); drogon::app().run(); return 0; }