#include "MySQLDiariesDAO.h" namespace uad { MySqlDiariesDAO::MySqlDiariesDAO(mysqlx::Session& session) : session_(session) { } std::vector MySqlDiariesDAO::GetDiariesByUserUUID(const std::string& user_uuid) { static const std::string query = R"( SELECT d.uuid, UNIX_TIMESTAMP(d.time) * 1000, d.mania_level, d.depression_level, d.mood_level, d.activity_level, d.appetite_level, d.dream_level, d.anxiety_level, d.comment, d.user_treatment_schemes_uuid FROM up_and_down.diaries d WHERE d.user_uuid = ? ORDER BY d.time; )"; mysqlx::SqlResult result = session_ .sql(query) .bind(user_uuid) .execute(); std::vector diaries; diaries.reserve(result.count()); for (const mysqlx::Row& row : result) { diary_dto dto; dto.uuid = row[0].get(); dto.time_ms = row[1].get(); dto.mania_level = row[2].get(); dto.depression_level = row[3].get(); dto.mood_level = row[4].get(); dto.activity_level = row[5].get(); dto.appetite_level = row[6].get(); dto.dream_level = row[7].get(); dto.anxiety_level = row[8].get(); dto.comment = row[9].isNull() ? "" : row[9].get(); dto.user_treatment_scheme_uuid = row[10].isNull() ? "" : row[10].get(); diaries.push_back(std::move(dto)); } return diaries; } }