From 332c0ffde6d60b7bac3cb14df31cbae3f27383a7 Mon Sep 17 00:00:00 2001 From: Aotrix Date: Tue, 18 Mar 2025 19:21:57 +0100 Subject: added postgres handler --- src/hearthstoneAPIHandler.cpp | 4 ++-- src/main.cpp | 23 +++++++---------------- src/postgresHandler.cpp | 25 +++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 src/postgresHandler.cpp (limited to 'src') diff --git a/src/hearthstoneAPIHandler.cpp b/src/hearthstoneAPIHandler.cpp index 6528ed0..5dd28d4 100644 --- a/src/hearthstoneAPIHandler.cpp +++ b/src/hearthstoneAPIHandler.cpp @@ -38,8 +38,8 @@ HearthstoneAPIHandler::extract_string_with_regex(const std::string &t_str, } void HearthstoneAPIHandler::write_new_token_info_to_file( - const std::string &file_path) { - std::ofstream token_file(file_path); + const std::string &t_file_path) { + std::ofstream token_file(t_file_path); CURL *curl = curl_easy_init(); std::string token_info; if (curl) { diff --git a/src/main.cpp b/src/main.cpp index 90a4fe6..6786a5b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,29 +1,20 @@ #include "hearthstoneAPIHandler.h" +#include "postgresHandler.h" #include #include -const pqxx::result execute_query(pqxx::work &t_transaction, - std::string_view t_query) { - return t_transaction.exec(t_query); -} - -void display_query_result(pqxx::result t_r) { - // FIXME: not flexible - for (auto row : t_r) { - std::cout << std::format( - "{}; {}; {}; {}; {}", row[0].as(), - row[1].as(), row[2].as(), - row[3].as(), row[4].as()); - } -} - int main() { HearthstoneAPIHandler hs_handler; - std::cout << hs_handler.get_cards("678?locale=en_US") << std::endl; + // TODO: use a parser on get_cards returned value + std::cout << hs_handler.get_cards("678?locale=fr_FR") << std::endl; pqxx::connection cx{ "postgresql://aotrix@localhost:5432/hearthstonegameinfo"}; pqxx::work tx{cx}; display_query_result(execute_query(tx, "SELECT * FROM cards")); + + // TODO: for test purposes + // use get_cards output instead? + add_cards_to_database("{\"name\":3}", tx); return 0; } diff --git a/src/postgresHandler.cpp b/src/postgresHandler.cpp new file mode 100644 index 0000000..212202e --- /dev/null +++ b/src/postgresHandler.cpp @@ -0,0 +1,25 @@ +#include "postgresHandler.h" +#include +#include + +const pqxx::result execute_query(pqxx::work &t_transaction, + std::string_view t_query) { + return t_transaction.exec(t_query); +} + +void display_query_result(const pqxx::result &t_r) { + const int nb_columns = t_r.columns(); + for (const auto &row : t_r) { + for (int i = 0; i < nb_columns; i++) { + std::cout << row[i].c_str() << " | "; + } + std::cout << std::endl; + } +} + +void add_cards_to_database(std::string_view t_cards, pqxx::work &t_tx) { + // TODO: to complete + std::cout << "adding cards..." << std::endl; + std::regex key_regex; // TODO: to define + std::cout << t_cards.substr(1, 6) << std::endl; +} -- cgit v1.2.3