Added Controller namespace

This commit is contained in:
kdeng00
2019-09-01 16:16:06 -04:00
parent f75ebe14a7
commit 1ec3511bc5
17 changed files with 305 additions and 202 deletions
+19 -6
View File
@@ -6,15 +6,19 @@
#include "managers/directory_manager.h"
base_repository::base_repository()
Database::base_repository::base_repository()
{ }
base_repository::base_repository(const std::string& path) : path(path)
Database::base_repository::base_repository(const std::string& path) : path(path)
{
intitalizeDetails();
}
Database::base_repository::base_repository(const Model::BinaryPath& bConf)
{
initializeDetails(bConf);
}
MYSQL* base_repository::setup_mysql_connection()
MYSQL* Database::base_repository::setup_mysql_connection()
{
MYSQL *conn = mysql_init(nullptr);
@@ -25,7 +29,7 @@ MYSQL* base_repository::setup_mysql_connection()
return conn;
}
MYSQL* base_repository::setup_mysql_connection(Model::database_connection details)
MYSQL* Database::base_repository::setup_mysql_connection(Model::database_connection details)
{
MYSQL *connection = mysql_init(NULL);
@@ -37,7 +41,7 @@ MYSQL* base_repository::setup_mysql_connection(Model::database_connection detail
return connection;
}
MYSQL_RES* base_repository::perform_mysql_query(MYSQL *conn, const std::string& query)
MYSQL_RES* Database::base_repository::perform_mysql_query(MYSQL *conn, const std::string& query)
{
// send the query to the database
if (mysql_query(conn, query.c_str()))
@@ -49,7 +53,7 @@ MYSQL_RES* base_repository::perform_mysql_query(MYSQL *conn, const std::string&
return mysql_use_result(conn);
}
void base_repository::intitalizeDetails()
void Database::base_repository::intitalizeDetails()
{
auto databaseConfig = Manager::directory_manager::databaseConfigContent(path);
@@ -58,3 +62,12 @@ void base_repository::intitalizeDetails()
details.server = databaseConfig["server"].get<std::string>();
details.username = databaseConfig["username"].get<std::string>();
}
void Database::base_repository::initializeDetails(const Model::BinaryPath& bConf)
{
auto databaseConfig = Manager::directory_manager::databaseConfigContent(bConf);
details.database = databaseConfig["database"].get<std::string>();
details.server = databaseConfig["server"].get<std::string>();
details.username = databaseConfig["username"].get<std::string>();
details.password = databaseConfig["password"].get<std::string>();
}
+8 -5
View File
@@ -5,10 +5,13 @@
#include <sstream>
#include <cstring>
coverArtRepository::coverArtRepository(const std::string& path) : base_repository(path)
Database::coverArtRepository::coverArtRepository(const std::string& path) : base_repository(path)
{ }
Model::Cover coverArtRepository::retrieveRecord(Model::Cover& cov, coverFilter filter = coverFilter::id)
Database::coverArtRepository::coverArtRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
{ }
Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, coverFilter filter = coverFilter::id)
{
std::stringstream qry;
auto conn = setup_mysql_connection();
@@ -45,7 +48,7 @@ Model::Cover coverArtRepository::retrieveRecord(Model::Cover& cov, coverFilter f
return covDb;
}
void coverArtRepository::deleteRecord(const Model::Cover& cov)
void Database::coverArtRepository::deleteRecord(const Model::Cover& cov)
{
auto conn = setup_mysql_connection();
const std::string query("DELETE FROM CoverArt WHERE CoverArtId = " + std::to_string(cov.id));
@@ -55,7 +58,7 @@ void coverArtRepository::deleteRecord(const Model::Cover& cov)
mysql_close(conn);
}
void coverArtRepository::saveRecord(const Model::Cover& cov)
void Database::coverArtRepository::saveRecord(const Model::Cover& cov)
{
auto conn = setup_mysql_connection();
@@ -93,7 +96,7 @@ void coverArtRepository::saveRecord(const Model::Cover& cov)
std::cout << "done" << std::endl;
}
Model::Cover coverArtRepository::parseRecord(MYSQL_RES *results)
Model::Cover Database::coverArtRepository::parseRecord(MYSQL_RES *results)
{
std::cout << "parsing record" << std::endl;
Model::Cover cov;
+10 -7
View File
@@ -7,10 +7,13 @@
#include "types/songFilter.h"
songRepository::songRepository(const std::string& path) : base_repository(path)
Database::songRepository::songRepository(const std::string& path) : base_repository(path)
{ }
std::vector<Model::Song> songRepository::retrieveRecords()
Database::songRepository::songRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
{ }
std::vector<Model::Song> Database::songRepository::retrieveRecords()
{
auto conn = setup_mysql_connection();
const std::string query = "SELECT * FROM Song";
@@ -24,7 +27,7 @@ std::vector<Model::Song> songRepository::retrieveRecords()
return songs;
}
Model::Song songRepository::retrieveRecord(Model::Song& song, songFilter filter)
Model::Song Database::songRepository::retrieveRecord(Model::Song& song, songFilter filter)
{
std::stringstream qry;
auto conn = setup_mysql_connection();
@@ -57,7 +60,7 @@ Model::Song songRepository::retrieveRecord(Model::Song& song, songFilter filter)
return song;
}
void songRepository::deleteRecord(const Model::Song& song)
void Database::songRepository::deleteRecord(const Model::Song& song)
{
auto conn = setup_mysql_connection();
auto status = 0;
@@ -69,7 +72,7 @@ void songRepository::deleteRecord(const Model::Song& song)
mysql_close(conn);
}
void songRepository::saveRecord(const Model::Song& song)
void Database::songRepository::saveRecord(const Model::Song& song)
{
auto conn = setup_mysql_connection();
auto status = 0;
@@ -148,7 +151,7 @@ void songRepository::saveRecord(const Model::Song& song)
std::cout << "done inserting song record" << std::endl;
}
std::vector<Model::Song> songRepository::parseRecords(MYSQL_RES* results)
std::vector<Model::Song> Database::songRepository::parseRecords(MYSQL_RES* results)
{
auto fieldNum = mysql_num_fields(results);
auto numRows = mysql_num_rows(results);
@@ -203,7 +206,7 @@ std::vector<Model::Song> songRepository::parseRecords(MYSQL_RES* results)
return songs;
}
Model::Song songRepository::parseRecord(MYSQL_RES* results)
Model::Song Database::songRepository::parseRecord(MYSQL_RES* results)
{
Model::Song song;
auto fieldNum = mysql_num_fields(results);