Tidied up code, going to put up the coding convention later on
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "database/albumRepository.h"
|
||||
#include "database/AlbumRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
@@ -6,32 +6,32 @@
|
||||
#include <string>
|
||||
#include <cstring>
|
||||
|
||||
Database::albumRepository::albumRepository(const Model::BinaryPath& bConf)
|
||||
: base_repository(bConf)
|
||||
database::AlbumRepository::AlbumRepository(const model::BinaryPath& bConf)
|
||||
: BaseRepository(bConf)
|
||||
{ }
|
||||
|
||||
|
||||
// TODO: implement this later on
|
||||
std::vector<Model::Album> Database::albumRepository::retrieveRecords()
|
||||
std::vector<model::Album> database::AlbumRepository::retrieveRecords()
|
||||
{
|
||||
std::vector<Model::Album> albums;
|
||||
std::vector<model::Album> albums;
|
||||
|
||||
return albums;
|
||||
}
|
||||
|
||||
Model::Album Database::albumRepository::retrieveRecord(Model::Album& album, Type::albumFilter filter)
|
||||
model::Album database::AlbumRepository::retrieveRecord(model::Album& album, type::AlbumFilter filter)
|
||||
{
|
||||
std::cout << "retrieving album record" << std::endl;
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
qry << "SELECT alb.* FROM Album alb WHERE ";
|
||||
|
||||
std::unique_ptr<char*> param;
|
||||
switch (filter) {
|
||||
case Type::albumFilter::id:
|
||||
case type::AlbumFilter::id:
|
||||
qry << "alb.AlbumId = " << album.id;
|
||||
break;
|
||||
case Type::albumFilter::title:
|
||||
case type::AlbumFilter::title:
|
||||
param = std::make_unique<char*>(new char[album.title.size()]);
|
||||
mysql_real_escape_string(conn, *param, album.title.c_str(), album.title.size());
|
||||
qry << "alb.Title = '" << *param << "'";
|
||||
@@ -43,7 +43,7 @@ Model::Album Database::albumRepository::retrieveRecord(Model::Album& album, Type
|
||||
qry << " ORDER BY AlbumId DESC LIMIT 1";
|
||||
|
||||
const std::string query = qry.str();
|
||||
auto results = perform_mysql_query(conn, query);
|
||||
auto results = performMysqlQuery(conn, query);
|
||||
|
||||
album = parseRecord(results);
|
||||
|
||||
@@ -53,7 +53,7 @@ Model::Album Database::albumRepository::retrieveRecord(Model::Album& album, Type
|
||||
return album;
|
||||
}
|
||||
|
||||
bool Database::albumRepository::doesAlbumExists(const Model::Album& album, Type::albumFilter filter)
|
||||
bool database::AlbumRepository::doesAlbumExists(const model::Album& album, type::AlbumFilter filter)
|
||||
{
|
||||
// TODO: continue working on this part.
|
||||
// Reason: there should be a check to see if an album record already exists
|
||||
@@ -63,7 +63,7 @@ bool Database::albumRepository::doesAlbumExists(const Model::Album& album, Type:
|
||||
// record for songs on the same album. After fixing this, do the
|
||||
// same for Artist, Genre, and Year records
|
||||
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto stmt = mysql_stmt_init(conn);
|
||||
|
||||
MYSQL_BIND params[1];
|
||||
@@ -74,7 +74,7 @@ bool Database::albumRepository::doesAlbumExists(const Model::Album& album, Type:
|
||||
|
||||
auto titleLength = album.title.size();
|
||||
switch (filter) {
|
||||
case Type::albumFilter::id:
|
||||
case type::AlbumFilter::id:
|
||||
qry << "AlbumId = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_LONG;
|
||||
@@ -82,7 +82,7 @@ bool Database::albumRepository::doesAlbumExists(const Model::Album& album, Type:
|
||||
params[0].length = 0;
|
||||
params[0].is_null = 0;
|
||||
break;
|
||||
case Type::albumFilter::title:
|
||||
case type::AlbumFilter::title:
|
||||
qry << "Title = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_STRING;
|
||||
@@ -112,11 +112,11 @@ bool Database::albumRepository::doesAlbumExists(const Model::Album& album, Type:
|
||||
return (rowCount > 0) ? true : false;
|
||||
}
|
||||
|
||||
void Database::albumRepository::saveAlbum(const Model::Album& album)
|
||||
void database::AlbumRepository::saveAlbum(const model::Album& album)
|
||||
{
|
||||
std::cout << "beginning to insert album record" << std::endl;
|
||||
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
MYSQL_STMT *stmt = mysql_stmt_init(conn);
|
||||
|
||||
const std::string query = "INSERT INTO Album(Title, Year) VALUES(?, ?)";
|
||||
@@ -148,17 +148,17 @@ void Database::albumRepository::saveAlbum(const Model::Album& album)
|
||||
|
||||
|
||||
// TODO: implement this
|
||||
std::vector<Model::Album> Database::albumRepository::parseRecords(MYSQL_RES* results)
|
||||
std::vector<model::Album> database::AlbumRepository::parseRecords(MYSQL_RES* results)
|
||||
{
|
||||
std::vector<Model::Album> albums;
|
||||
std::vector<model::Album> albums;
|
||||
|
||||
return albums;
|
||||
}
|
||||
|
||||
Model::Album Database::albumRepository::parseRecord(MYSQL_RES* results)
|
||||
model::Album database::AlbumRepository::parseRecord(MYSQL_RES* results)
|
||||
{
|
||||
std::cout << "parsing album record" << std::endl;
|
||||
Model::Album album;
|
||||
model::Album album;
|
||||
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
auto row = mysql_fetch_row(results);
|
||||
@@ -180,10 +180,10 @@ Model::Album Database::albumRepository::parseRecord(MYSQL_RES* results)
|
||||
return album;
|
||||
}
|
||||
|
||||
Model::Album Database::albumRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Album database::AlbumRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
// TODO: implement this
|
||||
Model::Album album;
|
||||
model::Album album;
|
||||
|
||||
return album;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "database/artistRepository.h"
|
||||
#include "database/ArtistRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
@@ -6,25 +6,25 @@
|
||||
#include <string>
|
||||
#include <cstring>
|
||||
|
||||
Database::artistRepository::artistRepository(const Model::BinaryPath& binConf)
|
||||
: base_repository(binConf)
|
||||
database::ArtistRepository::ArtistRepository(const model::BinaryPath& binConf)
|
||||
: BaseRepository(binConf)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Model::Artist Database::artistRepository::retrieveRecord(Model::Artist& artist, Type::artistFilter filter)
|
||||
model::Artist database::ArtistRepository::retrieveRecord(model::Artist& artist, type::ArtistFilter filter)
|
||||
{
|
||||
std::cout << "retrieving artist record" << std::endl;
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
qry << "SELECT art.* FROM Artist art WHERE ";
|
||||
|
||||
std::unique_ptr<char*> param;
|
||||
switch (filter) {
|
||||
case Type::artistFilter::id:
|
||||
case type::ArtistFilter::id:
|
||||
qry << "art.ArtistId = " << artist.id;
|
||||
break;
|
||||
case Type::artistFilter::artist:
|
||||
case type::ArtistFilter::artist:
|
||||
param = std::make_unique<char*>(new char[artist.artist.size()]);
|
||||
mysql_real_escape_string(conn, *param, artist.artist.c_str(), artist.artist.size());
|
||||
qry << "art.Artist ='" << *param << "'";
|
||||
@@ -36,7 +36,7 @@ Model::Artist Database::artistRepository::retrieveRecord(Model::Artist& artist,
|
||||
qry << " ORDER BY ArtistId DESC LIMIT 1";
|
||||
|
||||
const auto query = qry.str();
|
||||
auto results = perform_mysql_query(conn, query);
|
||||
auto results = performMysqlQuery(conn, query);
|
||||
|
||||
artist = parseRecord(results);
|
||||
|
||||
@@ -47,18 +47,18 @@ Model::Artist Database::artistRepository::retrieveRecord(Model::Artist& artist,
|
||||
return artist;
|
||||
}
|
||||
|
||||
bool Database::artistRepository::doesArtistExist(const Model::Artist& artist, Type::artistFilter filter)
|
||||
bool database::ArtistRepository::doesArtistExist(const model::Artist& artist, type::ArtistFilter filter)
|
||||
{
|
||||
// TODO: implement this
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Database::artistRepository::saveRecord(const Model::Artist& artist)
|
||||
void database::ArtistRepository::saveRecord(const model::Artist& artist)
|
||||
{
|
||||
std::cout << "inserting artist record" << std::endl;
|
||||
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
MYSQL_STMT *stmt = mysql_stmt_init(conn);
|
||||
|
||||
const std::string query = "INSERT INTO Artist(Artist) VALUES(?)";
|
||||
@@ -84,10 +84,10 @@ void Database::artistRepository::saveRecord(const Model::Artist& artist)
|
||||
}
|
||||
|
||||
|
||||
Model::Artist Database::artistRepository::parseRecord(MYSQL_RES* results)
|
||||
model::Artist database::ArtistRepository::parseRecord(MYSQL_RES* results)
|
||||
{
|
||||
std::cout << "parsing artist record" << std::endl;
|
||||
Model::Artist artist;
|
||||
model::Artist artist;
|
||||
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
auto row = mysql_fetch_row(results);
|
||||
@@ -108,10 +108,10 @@ Model::Artist Database::artistRepository::parseRecord(MYSQL_RES* results)
|
||||
return artist;
|
||||
}
|
||||
|
||||
Model::Artist Database::artistRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Artist database::ArtistRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
// TODO: implement this
|
||||
Model::Artist art;
|
||||
model::Artist art;
|
||||
|
||||
return art;
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
#include "database/base_repository.h"
|
||||
#include "database/BaseRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include "managers/directory_manager.h"
|
||||
#include "manager/DirectoryManager.h"
|
||||
|
||||
Database::base_repository::base_repository()
|
||||
database::BaseRepository::BaseRepository()
|
||||
{ }
|
||||
|
||||
Database::base_repository::base_repository(const std::string& path) : path(path)
|
||||
database::BaseRepository::BaseRepository(const std::string& path) : path(path)
|
||||
{
|
||||
intitalizeDetails();
|
||||
}
|
||||
Database::base_repository::base_repository(const Model::BinaryPath& bConf)
|
||||
database::BaseRepository::BaseRepository(const model::BinaryPath& bConf)
|
||||
{
|
||||
initializeDetails(bConf);
|
||||
}
|
||||
|
||||
MYSQL* Database::base_repository::setup_mysql_connection()
|
||||
MYSQL* database::BaseRepository::setupMysqlConnection()
|
||||
{
|
||||
MYSQL *conn = mysql_init(nullptr);
|
||||
|
||||
@@ -29,7 +29,7 @@ MYSQL* Database::base_repository::setup_mysql_connection()
|
||||
|
||||
return conn;
|
||||
}
|
||||
MYSQL* Database::base_repository::setup_mysql_connection(Model::database_connection details)
|
||||
MYSQL* database::BaseRepository::setupMysqlConnection(model::DatabaseConnection details)
|
||||
{
|
||||
MYSQL *connection = mysql_init(NULL);
|
||||
|
||||
@@ -41,7 +41,7 @@ MYSQL* Database::base_repository::setup_mysql_connection(Model::database_connect
|
||||
return connection;
|
||||
}
|
||||
|
||||
MYSQL_RES* Database::base_repository::perform_mysql_query(MYSQL *conn, const std::string& query)
|
||||
MYSQL_RES* database::BaseRepository::performMysqlQuery(MYSQL *conn, const std::string& query)
|
||||
{
|
||||
// send the query to the database
|
||||
if (mysql_query(conn, query.c_str()))
|
||||
@@ -53,18 +53,18 @@ MYSQL_RES* Database::base_repository::perform_mysql_query(MYSQL *conn, const std
|
||||
return mysql_use_result(conn);
|
||||
}
|
||||
|
||||
void Database::base_repository::intitalizeDetails()
|
||||
void database::BaseRepository::intitalizeDetails()
|
||||
{
|
||||
auto databaseConfig = Manager::directory_manager::databaseConfigContent(path);
|
||||
auto databaseConfig = manager::DirectoryManager::databaseConfigContent(path);
|
||||
|
||||
details.database = databaseConfig["database"].get<std::string>();
|
||||
details.password = databaseConfig["password"].get<std::string>();
|
||||
details.server = databaseConfig["server"].get<std::string>();
|
||||
details.username = databaseConfig["username"].get<std::string>();
|
||||
}
|
||||
void Database::base_repository::initializeDetails(const Model::BinaryPath& bConf)
|
||||
void database::BaseRepository::initializeDetails(const model::BinaryPath& bConf)
|
||||
{
|
||||
auto databaseConfig = Manager::directory_manager::databaseConfigContent(bConf);
|
||||
auto databaseConfig = manager::DirectoryManager::databaseConfigContent(bConf);
|
||||
|
||||
details.database = databaseConfig["database"].get<std::string>();
|
||||
details.server = databaseConfig["server"].get<std::string>();
|
||||
@@ -1,33 +1,33 @@
|
||||
#include "database/coverArtRepository.h"
|
||||
#include "database/CoverArtRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
|
||||
Database::coverArtRepository::coverArtRepository(const std::string& path) : base_repository(path)
|
||||
database::CoverArtRepository::CoverArtRepository(const std::string& path) : BaseRepository(path)
|
||||
{ }
|
||||
|
||||
Database::coverArtRepository::coverArtRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
|
||||
database::CoverArtRepository::CoverArtRepository(const model::BinaryPath& bConf) : BaseRepository(bConf)
|
||||
{ }
|
||||
|
||||
Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, Type::coverFilter filter = Type::coverFilter::id)
|
||||
model::Cover database::CoverArtRepository::retrieveRecord(model::Cover& cov, type::CoverFilter filter = type::CoverFilter::id)
|
||||
{
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
qry << "SELECT * FROM CoverArt WHERE ";
|
||||
|
||||
std::unique_ptr<char*> param;
|
||||
switch (filter) {
|
||||
case Type::coverFilter::id:
|
||||
case type::CoverFilter::id:
|
||||
qry << "CoverArtId = " << cov.id;
|
||||
break;
|
||||
case Type::coverFilter::songTitle:
|
||||
case type::CoverFilter::songTitle:
|
||||
param = std::make_unique<char*>(new char[cov.songTitle.size()]);
|
||||
mysql_real_escape_string(conn, *param, cov.songTitle.c_str(), cov.songTitle.size());
|
||||
qry << "SongTitle = '" << *param << "'";
|
||||
break;
|
||||
case Type::coverFilter::imagePath:
|
||||
case type::CoverFilter::imagePath:
|
||||
param = std::make_unique<char*>(new char[cov.imagePath.size()]);
|
||||
mysql_real_escape_string(conn, *param, cov.imagePath.c_str(), cov.imagePath.size());
|
||||
qry << "ImagePath = '" << *param << "'";
|
||||
@@ -35,7 +35,7 @@ Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, Typ
|
||||
}
|
||||
|
||||
const std::string query = qry.str();
|
||||
auto results = perform_mysql_query(conn, query);
|
||||
auto results = performMysqlQuery(conn, query);
|
||||
std::cout << "the query has been performed" << std::endl;
|
||||
|
||||
auto covDb = parseRecord(results);
|
||||
@@ -46,25 +46,25 @@ Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, Typ
|
||||
return covDb;
|
||||
}
|
||||
|
||||
bool Database::coverArtRepository::doesCoverArtExist(const Model::Cover& cover, Type::coverFilter filter)
|
||||
bool database::CoverArtRepository::doesCoverArtExist(const model::Cover& cover, type::CoverFilter filter)
|
||||
{
|
||||
// TODO: implement this
|
||||
return false;
|
||||
}
|
||||
|
||||
void Database::coverArtRepository::deleteRecord(const Model::Cover& cov)
|
||||
void database::CoverArtRepository::deleteRecord(const model::Cover& cov)
|
||||
{
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
const std::string query("DELETE FROM CoverArt WHERE CoverArtId = " + std::to_string(cov.id));
|
||||
|
||||
auto result = perform_mysql_query(conn, query);
|
||||
auto result = performMysqlQuery(conn, query);
|
||||
|
||||
mysql_close(conn);
|
||||
}
|
||||
|
||||
void Database::coverArtRepository::saveRecord(const Model::Cover& cov)
|
||||
void database::CoverArtRepository::saveRecord(const model::Cover& cov)
|
||||
{
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
|
||||
MYSQL_STMT *stmt;
|
||||
MYSQL_BIND params[2];
|
||||
@@ -100,10 +100,10 @@ void Database::coverArtRepository::saveRecord(const Model::Cover& cov)
|
||||
std::cout << "done" << std::endl;
|
||||
}
|
||||
|
||||
Model::Cover Database::coverArtRepository::parseRecord(MYSQL_RES *results)
|
||||
model::Cover database::CoverArtRepository::parseRecord(MYSQL_RES *results)
|
||||
{
|
||||
std::cout << "parsing record" << std::endl;
|
||||
Model::Cover cov;
|
||||
model::Cover cov;
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
|
||||
MYSQL_ROW row = mysql_fetch_row(results);
|
||||
@@ -126,11 +126,11 @@ Model::Cover Database::coverArtRepository::parseRecord(MYSQL_RES *results)
|
||||
return cov;
|
||||
}
|
||||
|
||||
Model::Cover Database::coverArtRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Cover database::CoverArtRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
// TODO: implement this
|
||||
|
||||
Model::Cover cover;
|
||||
model::Cover cover;
|
||||
|
||||
return cover;
|
||||
}
|
||||
@@ -1,28 +1,28 @@
|
||||
#include "database/genreRepository.h"
|
||||
#include "database/GenreRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
|
||||
Database::genreRepository::genreRepository(const Model::BinaryPath& bConf)
|
||||
: base_repository(bConf)
|
||||
database::GenreRepository::GenreRepository(const model::BinaryPath& bConf)
|
||||
: BaseRepository(bConf)
|
||||
{ }
|
||||
|
||||
|
||||
Model::Genre Database::genreRepository::retrieveRecord(Model::Genre& genre, Type::genreFilter filter)
|
||||
model::Genre database::GenreRepository::retrieveRecord(model::Genre& genre, type::GenreFilter filter)
|
||||
{
|
||||
std::cout << "retrieving genre record" << std::endl;
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
qry << "SELECT gnr.* FROM Genre gnr WHERE ";
|
||||
|
||||
std::unique_ptr<char*> param;
|
||||
switch (filter) {
|
||||
case Type::genreFilter::id:
|
||||
case type::GenreFilter::id:
|
||||
qry << "gnr.GenreId = " << genre.id;
|
||||
break;
|
||||
case Type::genreFilter::category:
|
||||
case type::GenreFilter::category:
|
||||
param = std::make_unique<char*>(new char[genre.category.size()]);
|
||||
mysql_real_escape_string(conn, *param, genre.category.c_str(), genre.category.size());
|
||||
qry << "gnr.Category ='" << *param << "'";
|
||||
@@ -34,7 +34,7 @@ Model::Genre Database::genreRepository::retrieveRecord(Model::Genre& genre, Type
|
||||
qry << " ORDER BY GenreId DESC LIMIT 1";
|
||||
|
||||
const auto query = qry.str();
|
||||
auto results = perform_mysql_query(conn, query);
|
||||
auto results = performMysqlQuery(conn, query);
|
||||
|
||||
genre = parseRecord(results);
|
||||
|
||||
@@ -45,18 +45,18 @@ Model::Genre Database::genreRepository::retrieveRecord(Model::Genre& genre, Type
|
||||
return genre;
|
||||
}
|
||||
|
||||
bool Database::genreRepository::doesGenreExist(const Model::Genre& genre, Type::genreFilter filter)
|
||||
bool database::GenreRepository::doesGenreExist(const model::Genre& genre, type::GenreFilter filter)
|
||||
{
|
||||
// TODO: implement this
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Database::genreRepository::saveRecord(const Model::Genre& genre)
|
||||
void database::GenreRepository::saveRecord(const model::Genre& genre)
|
||||
{
|
||||
std::cout << "inserting genre record" << std::endl;
|
||||
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
MYSQL_STMT *stmt = mysql_stmt_init(conn);
|
||||
|
||||
const std::string query("INSERT INTO Genre(Category) VALUES(?)");
|
||||
@@ -81,10 +81,10 @@ void Database::genreRepository::saveRecord(const Model::Genre& genre)
|
||||
std::cout << "inserted record" << std::endl;
|
||||
}
|
||||
|
||||
Model::Genre Database::genreRepository::parseRecord(MYSQL_RES* results)
|
||||
model::Genre database::GenreRepository::parseRecord(MYSQL_RES* results)
|
||||
{
|
||||
std::cout << "parsing genre record" << std::endl;
|
||||
Model::Genre genre;
|
||||
model::Genre genre;
|
||||
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
auto row = mysql_fetch_row(results);
|
||||
@@ -104,11 +104,11 @@ Model::Genre Database::genreRepository::parseRecord(MYSQL_RES* results)
|
||||
|
||||
return genre;
|
||||
}
|
||||
Model::Genre Database::genreRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Genre database::GenreRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
// TODO: implement this
|
||||
|
||||
Model::Genre genre;
|
||||
model::Genre genre;
|
||||
|
||||
return genre;
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
#include "database/songRepository.h"
|
||||
#include "database/SongRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
|
||||
#include "types/songFilter.h"
|
||||
#include "type/SongFilter.h"
|
||||
|
||||
Database::songRepository::songRepository(const std::string& path) : base_repository(path)
|
||||
database::SongRepository::SongRepository(const std::string& path) : BaseRepository(path)
|
||||
{ }
|
||||
|
||||
Database::songRepository::songRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
|
||||
database::SongRepository::SongRepository(const model::BinaryPath& bConf) : BaseRepository(bConf)
|
||||
{ }
|
||||
|
||||
std::vector<Model::Song> Database::songRepository::retrieveRecords()
|
||||
std::vector<model::Song> database::SongRepository::retrieveRecords()
|
||||
{
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto stmt = mysql_stmt_init(conn);
|
||||
const std::string query = "SELECT * FROM Song";
|
||||
|
||||
@@ -30,10 +30,10 @@ std::vector<Model::Song> Database::songRepository::retrieveRecords()
|
||||
return songs;
|
||||
}
|
||||
|
||||
Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::songFilter filter)
|
||||
model::Song database::SongRepository::retrieveRecord(model::Song& song, type::SongFilter filter)
|
||||
{
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto stmt = mysql_stmt_init(conn);
|
||||
|
||||
MYSQL_BIND params[1];
|
||||
@@ -43,7 +43,7 @@ Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::so
|
||||
|
||||
auto titleLength = song.title.size();
|
||||
switch (filter) {
|
||||
case Type::songFilter::id:
|
||||
case type::SongFilter::id:
|
||||
qry << "SongId = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_LONG;
|
||||
@@ -51,7 +51,7 @@ Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::so
|
||||
params[0].length = 0;
|
||||
params[0].is_null = 0;;
|
||||
break;
|
||||
case Type::songFilter::title:
|
||||
case type::SongFilter::title:
|
||||
qry << "Title = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_STRING;
|
||||
@@ -81,11 +81,11 @@ Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::so
|
||||
return song;
|
||||
}
|
||||
|
||||
bool Database::songRepository::doesSongExist(const Model::Song& song, Type::songFilter filter)
|
||||
bool database::SongRepository::doesSongExist(const model::Song& song, type::SongFilter filter)
|
||||
{
|
||||
std::cout << "checking to see if song exists" << std::endl;
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto stmt = mysql_stmt_init(conn);
|
||||
|
||||
MYSQL_BIND params[1];
|
||||
@@ -95,7 +95,7 @@ bool Database::songRepository::doesSongExist(const Model::Song& song, Type::song
|
||||
|
||||
auto titleLength = song.title.size();
|
||||
switch (filter) {
|
||||
case Type::songFilter::id:
|
||||
case type::SongFilter::id:
|
||||
qry << "SongId = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_LONG;
|
||||
@@ -103,7 +103,7 @@ bool Database::songRepository::doesSongExist(const Model::Song& song, Type::song
|
||||
params[0].length = 0;
|
||||
params[0].is_null = 0;
|
||||
break;
|
||||
case Type::songFilter::title:
|
||||
case type::SongFilter::title:
|
||||
qry << "Title = ?";
|
||||
|
||||
params[0].buffer_type = MYSQL_TYPE_STRING;
|
||||
@@ -134,22 +134,22 @@ bool Database::songRepository::doesSongExist(const Model::Song& song, Type::song
|
||||
return (rowCount > 0) ? true : false;
|
||||
}
|
||||
|
||||
void Database::songRepository::deleteRecord(const Model::Song& song)
|
||||
void database::SongRepository::deleteRecord(const model::Song& song)
|
||||
{
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto status = 0;
|
||||
|
||||
const std::string query("DELETE FROM Song WHERE SongId = " + std::to_string(song.id));
|
||||
|
||||
auto result = perform_mysql_query(conn, query);
|
||||
auto result = performMysqlQuery(conn, query);
|
||||
|
||||
mysql_close(conn);
|
||||
}
|
||||
|
||||
void Database::songRepository::saveRecord(const Model::Song& song)
|
||||
void database::SongRepository::saveRecord(const model::Song& song)
|
||||
{
|
||||
std::cout << "beginning to insert song record" << std::endl;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
auto status = 0;
|
||||
|
||||
MYSQL_STMT *stmt = mysql_stmt_init(conn);
|
||||
@@ -248,16 +248,16 @@ void Database::songRepository::saveRecord(const Model::Song& song)
|
||||
}
|
||||
|
||||
// TODO: delete this, not being used
|
||||
std::vector<Model::Song> Database::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);
|
||||
|
||||
std::vector<Model::Song> songs;
|
||||
std::vector<model::Song> songs;
|
||||
songs.reserve(numRows);
|
||||
|
||||
for (MYSQL_ROW row = nullptr; (row = mysql_fetch_row(results)) != nullptr; ) {
|
||||
Model::Song song;
|
||||
model::Song song;
|
||||
|
||||
for (auto i = 0; i != fieldNum; ++i) {
|
||||
/**
|
||||
@@ -351,19 +351,17 @@ std::vector<Model::Song> Database::songRepository::parseRecords(MYSQL_RES* resul
|
||||
}
|
||||
|
||||
songs.push_back(song);
|
||||
//std::cout << "added" << std::endl;
|
||||
}
|
||||
//std::cout << "completely" << std::endl;
|
||||
|
||||
return songs;
|
||||
}
|
||||
|
||||
std::vector<Model::Song> Database::songRepository::parseRecords(MYSQL_STMT *stmt)
|
||||
std::vector<model::Song> database::SongRepository::parseRecords(MYSQL_STMT *stmt)
|
||||
{
|
||||
::mysql_stmt_store_result(stmt);
|
||||
auto c = ::mysql_stmt_num_rows(stmt);
|
||||
std::cout << "number of results " << c << std::endl;
|
||||
std::vector<Model::Song> songs;
|
||||
std::vector<model::Song> songs;
|
||||
songs.reserve(c);
|
||||
|
||||
auto status = 0;
|
||||
@@ -378,7 +376,7 @@ std::vector<Model::Song> Database::songRepository::parseRecords(MYSQL_STMT *stmt
|
||||
|
||||
if (::mysql_stmt_field_count(stmt) > 0) {
|
||||
|
||||
Model::Song song;
|
||||
model::Song song;
|
||||
auto res = ::mysql_stmt_result_metadata(stmt);
|
||||
auto fields = ::mysql_fetch_fields(res);
|
||||
auto strLen = 1024;
|
||||
@@ -498,9 +496,9 @@ std::vector<Model::Song> Database::songRepository::parseRecords(MYSQL_STMT *stmt
|
||||
|
||||
|
||||
// TODO: delete this, not being used anymore
|
||||
Model::Song Database::songRepository::parseRecord(MYSQL_RES* results)
|
||||
model::Song database::SongRepository::parseRecord(MYSQL_RES* results)
|
||||
{
|
||||
Model::Song song;
|
||||
model::Song song;
|
||||
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
auto row = mysql_fetch_row(results);
|
||||
@@ -549,9 +547,9 @@ Model::Song Database::songRepository::parseRecord(MYSQL_RES* results)
|
||||
return song;
|
||||
}
|
||||
|
||||
Model::Song Database::songRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Song database::SongRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
Model::Song song;
|
||||
model::Song song;
|
||||
auto status = 0;
|
||||
auto time = 0;
|
||||
auto valAmt = 15;
|
||||
@@ -667,7 +665,6 @@ Model::Song Database::songRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
status = ::mysql_stmt_next_result(stmt);
|
||||
}
|
||||
|
||||
std::cout << "okay!!!!" << std::endl;
|
||||
std::cout << "done parsing record" << std::endl;
|
||||
|
||||
return song;
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "database/yearRepository.h"
|
||||
#include "database/YearRepository.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
@@ -7,23 +7,23 @@
|
||||
#include <cstring>
|
||||
|
||||
|
||||
Database::yearRepository::yearRepository(const Model::BinaryPath& bConf)
|
||||
: base_repository(bConf)
|
||||
database::YearRepository::YearRepository(const model::BinaryPath& bConf)
|
||||
: BaseRepository(bConf)
|
||||
{ }
|
||||
|
||||
|
||||
Model::Year Database::yearRepository::retrieveRecord(Model::Year& year, Type::yearFilter filter)
|
||||
model::Year database::YearRepository::retrieveRecord(model::Year& year, type::YearFilter filter)
|
||||
{
|
||||
std::cout << "retrieving year record" << std::endl;
|
||||
std::stringstream qry;
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
qry << "SELECT yr.* FROM Year yr WHERE ";
|
||||
|
||||
switch (filter) {
|
||||
case Type::yearFilter::id:
|
||||
case type::YearFilter::id:
|
||||
qry << "yr.YearId = " << year.id;
|
||||
break;
|
||||
case Type::yearFilter::year:
|
||||
case type::YearFilter::year:
|
||||
qry << "yr.Year = " << year.year;
|
||||
break;
|
||||
default:
|
||||
@@ -33,7 +33,7 @@ Model::Year Database::yearRepository::retrieveRecord(Model::Year& year, Type::ye
|
||||
qry << " ORDER BY yr.YearId DESC LIMIT 1";
|
||||
|
||||
const auto query = qry.str();
|
||||
auto results = perform_mysql_query(conn, query);
|
||||
auto results = performMysqlQuery(conn, query);
|
||||
|
||||
year = parseRecord(results);
|
||||
|
||||
@@ -44,18 +44,18 @@ Model::Year Database::yearRepository::retrieveRecord(Model::Year& year, Type::ye
|
||||
return year;
|
||||
}
|
||||
|
||||
bool Database::yearRepository::doesYearExist(const Model::Year& year, Type::yearFilter filter)
|
||||
bool database::YearRepository::doesYearExist(const model::Year& year, type::YearFilter filter)
|
||||
{
|
||||
// TODO: implement this
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Database::yearRepository::saveRecord(const Model::Year& year)
|
||||
void database::YearRepository::saveRecord(const model::Year& year)
|
||||
{
|
||||
std::cout << "saving year record" << std::endl;
|
||||
|
||||
auto conn = setup_mysql_connection();
|
||||
auto conn = setupMysqlConnection();
|
||||
MYSQL_STMT *stmt = mysql_stmt_init(conn);
|
||||
|
||||
const std::string query("INSERT INTO Year(Year) VALUES(?)");
|
||||
@@ -79,10 +79,10 @@ void Database::yearRepository::saveRecord(const Model::Year& year)
|
||||
std::cout << "saved record" << std::endl;
|
||||
}
|
||||
|
||||
Model::Year Database::yearRepository::parseRecord(MYSQL_RES *results)
|
||||
model::Year database::YearRepository::parseRecord(MYSQL_RES *results)
|
||||
{
|
||||
std::cout << "parsing year record" << std::endl;
|
||||
Model::Year year;
|
||||
model::Year year;
|
||||
|
||||
auto fieldNum = mysql_num_fields(results);
|
||||
auto row = mysql_fetch_row(results);
|
||||
@@ -102,11 +102,11 @@ Model::Year Database::yearRepository::parseRecord(MYSQL_RES *results)
|
||||
|
||||
return year;
|
||||
}
|
||||
Model::Year Database::yearRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
model::Year database::YearRepository::parseRecord(MYSQL_STMT *stmt)
|
||||
{
|
||||
// TODO: imeplement this
|
||||
|
||||
Model::Year year;
|
||||
model::Year year;
|
||||
|
||||
return year;
|
||||
}
|
||||
Reference in New Issue
Block a user