From dfd4906371145b1ed7d6047f613110643cba8144 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Sun, 1 Sep 2019 16:56:52 -0400 Subject: [PATCH] Added Utility and Type namespaces --- include/database/albumRepository.h | 17 +++++++++++++++++ include/database/coverArtRepository.h | 2 +- include/database/genreRepository.h | 17 +++++++++++++++++ include/database/songRepository.h | 2 +- include/database/yearRepository.h | 17 +++++++++++++++++ include/managers/albumManager.h | 17 +++++++++++++++++ include/managers/artistManager.h | 17 +++++++++++++++++ include/managers/genreManager.h | 17 +++++++++++++++++ include/managers/token_manager.h | 2 +- include/managers/yearManager.h | 17 +++++++++++++++++ include/types/coverFilter.h | 13 ++++++++----- include/types/scopes.h | 11 +++++++---- include/types/songFilter.h | 19 +++++++++++-------- include/utilities/imageFile.h | 26 +++++++++++++++++--------- include/utilities/metadata_retriever.h | 17 ++++++++++------- src/controller/songController.hpp | 6 +++--- src/database/albumRepository.cpp | 5 +++++ src/database/coverArtRepository.cpp | 8 ++++---- src/database/genreRepository.cpp | 5 +++++ src/database/songRepository.cpp | 6 +++--- src/database/yearRepository.cpp | 5 +++++ src/managers/albumManager.cpp | 5 +++++ src/managers/artistManager.cpp | 5 +++++ src/managers/coverArtManager.cpp | 4 ++-- src/managers/genreManager.cpp | 5 +++++ src/managers/song_manager.cpp | 6 +++--- src/managers/token_manager.cpp | 6 +++--- src/managers/yearManager.cpp | 5 +++++ src/utilities/imageFile.cpp | 4 ++-- src/utilities/metadata_retriever.cpp | 6 +++--- 30 files changed, 233 insertions(+), 59 deletions(-) diff --git a/include/database/albumRepository.h b/include/database/albumRepository.h index e69de29..6525da2 100644 --- a/include/database/albumRepository.h +++ b/include/database/albumRepository.h @@ -0,0 +1,17 @@ +#ifndef ALBUMREPOSITORY_H_ +#define ALBUMREPOSITORY_H_ + +#include "database/base_repository.h" +#include "models/models.h" + +namespace Database +{ + class albumRepository : public base_repository + { + public: + albumRepository(const Model::BinaryPath&); + private: + }; +} + +#endif diff --git a/include/database/coverArtRepository.h b/include/database/coverArtRepository.h index dde2b3d..115c320 100644 --- a/include/database/coverArtRepository.h +++ b/include/database/coverArtRepository.h @@ -15,7 +15,7 @@ namespace Database coverArtRepository(const std::string&); coverArtRepository(const Model::BinaryPath&); - Model::Cover retrieveRecord(Model::Cover&, coverFilter); + Model::Cover retrieveRecord(Model::Cover&, Type::coverFilter); void deleteRecord(const Model::Cover&); void saveRecord(const Model::Cover&); diff --git a/include/database/genreRepository.h b/include/database/genreRepository.h index e69de29..50f9858 100644 --- a/include/database/genreRepository.h +++ b/include/database/genreRepository.h @@ -0,0 +1,17 @@ +#ifndef GENREREPOSITORY_H_ +#define GENREREPOSITORY_H_ + +#include "database/base_repository.h" +#include "models/models.h" + +namespace Database +{ + class genreRepository : public base_repository + { + public: + genreRepository(const Model::BinaryPath&); + private: + }; +} + +#endif diff --git a/include/database/songRepository.h b/include/database/songRepository.h index 352cd0e..0bc05f6 100644 --- a/include/database/songRepository.h +++ b/include/database/songRepository.h @@ -20,7 +20,7 @@ namespace Database std::vector retrieveRecords(); - Model::Song retrieveRecord(Model::Song&, songFilter); + Model::Song retrieveRecord(Model::Song&, Type::songFilter); void deleteRecord(const Model::Song&); void saveRecord(const Model::Song&); diff --git a/include/database/yearRepository.h b/include/database/yearRepository.h index e69de29..d6157ce 100644 --- a/include/database/yearRepository.h +++ b/include/database/yearRepository.h @@ -0,0 +1,17 @@ +#ifndef YEARREPOSITORY_H_ +#define YEARREPOSITORY_H_ + +#include "database/base_repository.h" +#include "models/models.h" + +namespace Database +{ + class yearRepository : public base_repository + { + public: + yearRepository(const Model::BinaryPath&); + private: + }; +} + +#endif diff --git a/include/managers/albumManager.h b/include/managers/albumManager.h index e69de29..c6a83a2 100644 --- a/include/managers/albumManager.h +++ b/include/managers/albumManager.h @@ -0,0 +1,17 @@ +#ifndef ALBUMMANAGER_H_ +#define ALBUMMANAGER_H_ + +#include "models/models.h" + +namespace Manager +{ + class albumManager + { + public: + albumManager(const Model::BinaryPath&); + private: + Model::BinaryPath m_bConf; + }; +} + +#endif diff --git a/include/managers/artistManager.h b/include/managers/artistManager.h index e69de29..f34db3e 100644 --- a/include/managers/artistManager.h +++ b/include/managers/artistManager.h @@ -0,0 +1,17 @@ +#ifndef ARTISTMANAGER_H_ +#define ARTISTMANAGER_H_ + +#include "models/models.h" + +namespace Manager +{ + class artistManager + { + public: + artistManager(const Model::BinaryPath&); + private: + Model::BinaryPath m_bConf; + }; +} + +#endif diff --git a/include/managers/genreManager.h b/include/managers/genreManager.h index e69de29..f456e8d 100644 --- a/include/managers/genreManager.h +++ b/include/managers/genreManager.h @@ -0,0 +1,17 @@ +#ifndef GENREMANAGER_H_ +#define GENREMANAGER_H_ + +#include "models/models.h" + +namespace Manager +{ + class genreManager + { + public: + genreManager(const Model::BinaryPath&); + private: + Model::BinaryPath m_bConf; + }; +} + +#endif diff --git a/include/managers/token_manager.h b/include/managers/token_manager.h index 6df05d9..fc4b3f9 100644 --- a/include/managers/token_manager.h +++ b/include/managers/token_manager.h @@ -22,7 +22,7 @@ namespace Manager Model::loginResult retrieve_token(std::string_view); Model::loginResult retrieve_token(const Model::BinaryPath&); - bool is_token_valid(std::string&, Scope); + bool is_token_valid(std::string&, Type::Scope); private: Model::auth_credentials parse_auth_credentials(std::string_view); Model::auth_credentials parse_auth_credentials(const Model::BinaryPath&); diff --git a/include/managers/yearManager.h b/include/managers/yearManager.h index e69de29..db7fc99 100644 --- a/include/managers/yearManager.h +++ b/include/managers/yearManager.h @@ -0,0 +1,17 @@ +#ifndef YEARMANAGER_H_ +#define YEARMANAGER_H_ + +#include "models/models.h" + +namespace Manager +{ + class yearManager + { + public: + yearManager(const Model::BinaryPath&); + private: + Model::BinaryPath m_bConf; + }; +} + +#endif diff --git a/include/types/coverFilter.h b/include/types/coverFilter.h index b334a8a..0129ea8 100644 --- a/include/types/coverFilter.h +++ b/include/types/coverFilter.h @@ -1,11 +1,14 @@ #ifndef COVERFILTER_H_ #define COVERFILTER_H_ -enum class coverFilter +namespace Type { - id = 0, - songTitle, - imagePath -}; + enum class coverFilter + { + id = 0, + songTitle, + imagePath + }; +} #endif diff --git a/include/types/scopes.h b/include/types/scopes.h index c95fd1c..e0fd4a6 100644 --- a/include/types/scopes.h +++ b/include/types/scopes.h @@ -1,10 +1,13 @@ #ifndef SCOPES_H_ #define SCOPES_H_ -enum class Scope +namespace Type { - upload = 0, - download -}; + enum class Scope + { + upload = 0, + download + }; +} #endif diff --git a/include/types/songFilter.h b/include/types/songFilter.h index 85a3c46..d2d9973 100644 --- a/include/types/songFilter.h +++ b/include/types/songFilter.h @@ -1,14 +1,17 @@ #ifndef SONGFILTER_H_ #define SONGFILTER_H_ -enum class songFilter +namespace Type { - id = 0, - title, - album, - artist, - genre, - year -}; + enum class songFilter + { + id = 0, + title, + album, + artist, + genre, + year + }; +} #endif diff --git a/include/utilities/imageFile.h b/include/utilities/imageFile.h index 9e95cdd..49432c6 100644 --- a/include/utilities/imageFile.h +++ b/include/utilities/imageFile.h @@ -1,3 +1,6 @@ +#ifndef IMAGEFILE_H_ +#define IMAGEFILE_H_ + #include #include @@ -10,15 +13,20 @@ #include #include -class imageFile : public TagLib::File +namespace Utility { -public: - imageFile(const char *file); + class imageFile : public TagLib::File + { + public: + imageFile(const char *file); - TagLib::ByteVector data(); + TagLib::ByteVector data(); -private: - virtual TagLib::Tag *tag() const { return 0; } - virtual TagLib::AudioProperties *audioProperties() const { return 0; } - virtual bool save() { return false; } -}; + private: + virtual TagLib::Tag *tag() const { return 0; } + virtual TagLib::AudioProperties *audioProperties() const { return 0; } + virtual bool save() { return false; } + }; +} + +#endif diff --git a/include/utilities/metadata_retriever.h b/include/utilities/metadata_retriever.h index 4801216..1543143 100644 --- a/include/utilities/metadata_retriever.h +++ b/include/utilities/metadata_retriever.h @@ -6,14 +6,17 @@ #include "models/models.h" -class metadata_retriever +namespace Utility { -public: - Model::Song retrieve_metadata(std::string&); - Model::Cover update_cover_art(const Model::Song&, Model::Cover& cov, const std::string&); + class metadata_retriever + { + public: + Model::Song retrieve_metadata(std::string&); + Model::Cover update_cover_art(const Model::Song&, Model::Cover& cov, const std::string&); - void update_metadata(Model::Song updated_song, const Model::Song old_song); -private: -}; + void update_metadata(Model::Song updated_song, const Model::Song old_song); + private: + }; +} #endif diff --git a/src/controller/songController.hpp b/src/controller/songController.hpp index 1a224ff..95b80b1 100644 --- a/src/controller/songController.hpp +++ b/src/controller/songController.hpp @@ -53,7 +53,7 @@ namespace Controller auto auth = authHeader->std_str(); Manager::token_manager tok; - OATPP_ASSERT_HTTP(tok.is_token_valid(auth, Scope::upload), Status::CODE_403, "Not allowed"); + OATPP_ASSERT_HTTP(tok.is_token_valid(auth, Type::Scope::upload), Status::CODE_403, "Not allowed"); auto mp = std::make_shared(request->getHeaders()); @@ -117,7 +117,7 @@ namespace Controller Model::Song songDb; songDb.id = id; - songDb = songRepo.retrieveRecord(songDb, songFilter::id); + songDb = songRepo.retrieveRecord(songDb, Type::songFilter::id); auto song = songDto::createShared(); song->id = songDb.id; @@ -139,7 +139,7 @@ namespace Controller Database::songRepository songRepo(m_bConf); Model::Song songDb; songDb.id = id; - songDb = songRepo.retrieveRecord(songDb, songFilter::id); + songDb = songRepo.retrieveRecord(songDb, Type::songFilter::id); std::ifstream fl(songDb.songPath.c_str(), std::ios::in | std::ios::binary | std::ios::ate); fl.seekg(0); diff --git a/src/database/albumRepository.cpp b/src/database/albumRepository.cpp index e69de29..99d41f1 100644 --- a/src/database/albumRepository.cpp +++ b/src/database/albumRepository.cpp @@ -0,0 +1,5 @@ +#include "database/albumRepository.h" + +Database::albumRepository::albumRepository(const Model::BinaryPath& bConf) + : base_repository(bConf) +{ } diff --git a/src/database/coverArtRepository.cpp b/src/database/coverArtRepository.cpp index 1c0c7bd..bab5aea 100644 --- a/src/database/coverArtRepository.cpp +++ b/src/database/coverArtRepository.cpp @@ -11,7 +11,7 @@ Database::coverArtRepository::coverArtRepository(const std::string& path) : base Database::coverArtRepository::coverArtRepository(const Model::BinaryPath& bConf) : base_repository(bConf) { } -Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, coverFilter filter = coverFilter::id) +Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, Type::coverFilter filter = Type::coverFilter::id) { std::stringstream qry; auto conn = setup_mysql_connection(); @@ -19,16 +19,16 @@ Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, cov std::unique_ptr param; switch (filter) { - case coverFilter::id: + case Type::coverFilter::id: qry << "CoverArtId = " << cov.id; break; - case coverFilter::songTitle: + case Type::coverFilter::songTitle: param = std::make_unique(new char[cov.songTitle.size()]); mysql_real_escape_string(conn, *param, cov.songTitle.c_str(), cov.songTitle.size()); std::cout << *param << std::endl; qry << "SongTitle = '" << *param << "'"; break; - case coverFilter::imagePath: + case Type::coverFilter::imagePath: param = std::make_unique(new char[cov.imagePath.size()]); mysql_real_escape_string(conn, *param, cov.imagePath.c_str(), cov.imagePath.size()); std::cout << *param << std::endl; diff --git a/src/database/genreRepository.cpp b/src/database/genreRepository.cpp index e69de29..5e49c8c 100644 --- a/src/database/genreRepository.cpp +++ b/src/database/genreRepository.cpp @@ -0,0 +1,5 @@ +#include "database/genreRepository.h" + +Database::genreRepository::genreRepository(const Model::BinaryPath& bConf) + : base_repository(bConf) +{ } diff --git a/src/database/songRepository.cpp b/src/database/songRepository.cpp index ea4e313..4e9262b 100644 --- a/src/database/songRepository.cpp +++ b/src/database/songRepository.cpp @@ -27,7 +27,7 @@ std::vector Database::songRepository::retrieveRecords() return songs; } -Model::Song Database::songRepository::retrieveRecord(Model::Song& song, songFilter filter) +Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::songFilter filter) { std::stringstream qry; auto conn = setup_mysql_connection(); @@ -35,10 +35,10 @@ Model::Song Database::songRepository::retrieveRecord(Model::Song& song, songFilt std::unique_ptr param; switch (filter) { - case songFilter::id: + case Type::songFilter::id: qry << "SongId = " << song.id; break; - case songFilter::title: + case Type::songFilter::title: param = std::make_unique(new char[song.title.size()]); mysql_real_escape_string(conn, *param, song.title.c_str(), song.title.size()); std::cout << *param << std::endl; diff --git a/src/database/yearRepository.cpp b/src/database/yearRepository.cpp index e69de29..5e14f28 100644 --- a/src/database/yearRepository.cpp +++ b/src/database/yearRepository.cpp @@ -0,0 +1,5 @@ +#include "database/yearRepository.h" + +Database::yearRepository::yearRepository(const Model::BinaryPath& bConf) + : base_repository(bConf) +{ } diff --git a/src/managers/albumManager.cpp b/src/managers/albumManager.cpp index e69de29..46f4d6e 100644 --- a/src/managers/albumManager.cpp +++ b/src/managers/albumManager.cpp @@ -0,0 +1,5 @@ +#include "managers/albumManager.h" + +Manager::albumManager::albumManager(const Model::BinaryPath& bConf) + : m_bConf(bConf) +{ } diff --git a/src/managers/artistManager.cpp b/src/managers/artistManager.cpp index e69de29..1364c5c 100644 --- a/src/managers/artistManager.cpp +++ b/src/managers/artistManager.cpp @@ -0,0 +1,5 @@ +#include "managers/artistManager.h" + +Manager::artistManager::artistManager(const Model::BinaryPath& bConf) + : m_bConf(bConf) +{ } diff --git a/src/managers/coverArtManager.cpp b/src/managers/coverArtManager.cpp index 120ec73..711c3b6 100644 --- a/src/managers/coverArtManager.cpp +++ b/src/managers/coverArtManager.cpp @@ -13,7 +13,7 @@ Manager::coverArtManager::coverArtManager(const Model::BinaryPath& bConf) : m_bC Model::Cover Manager::coverArtManager::saveCover(const Model::Song& song, std::string& rootPath, const std::string& stockCoverPath) { - metadata_retriever meta; + Utility::metadata_retriever meta; Model::Cover cov; cov.imagePath = rootPath; cov = meta.update_cover_art(song, cov, stockCoverPath); @@ -23,7 +23,7 @@ Model::Cover Manager::coverArtManager::saveCover(const Model::Song& song, std::s std::cout << "saving record to the database" << std::endl; covRepo.saveRecord(cov); std::cout << "retrieving record from database" << std::endl; - cov = covRepo.retrieveRecord(cov, coverFilter::songTitle); + cov = covRepo.retrieveRecord(cov, Type::coverFilter::songTitle); return cov; } diff --git a/src/managers/genreManager.cpp b/src/managers/genreManager.cpp index e69de29..2c6dc71 100644 --- a/src/managers/genreManager.cpp +++ b/src/managers/genreManager.cpp @@ -0,0 +1,5 @@ +#include "managers/genreManager.h" + +Manager::genreManager::genreManager(const Model::BinaryPath& bConf) + : m_bConf(bConf) +{ } diff --git a/src/managers/song_manager.cpp b/src/managers/song_manager.cpp index cc7c1c6..d59100c 100644 --- a/src/managers/song_manager.cpp +++ b/src/managers/song_manager.cpp @@ -26,7 +26,7 @@ Manager::song_manager::song_manager(const Model::BinaryPath& bConf) void Manager::song_manager::saveSong(Model::Song& song) { saveSongTemp(song); - metadata_retriever meta; + Utility::metadata_retriever meta; auto data = std::move(song.data); song = meta.retrieve_metadata(song.songPath); song.data = std::move(data); @@ -62,12 +62,12 @@ void Manager::song_manager::deleteSong(Model::Song& song) Database::coverArtRepository covRepo(m_bConf); Database::songRepository songRepo(m_bConf); - song = songRepo.retrieveRecord(song, songFilter::id); + song = songRepo.retrieveRecord(song, Type::songFilter::id); songRepo.deleteRecord(song); Model::Cover cov; cov.id = song.coverArtId; - cov = covRepo.retrieveRecord(cov, coverFilter::id); + cov = covRepo.retrieveRecord(cov, Type::coverFilter::id); covRepo.deleteRecord(cov); auto paths = Manager::directory_manager::pathConfigContent(m_bConf); diff --git a/src/managers/token_manager.cpp b/src/managers/token_manager.cpp index c9a0a47..d9f55c4 100644 --- a/src/managers/token_manager.cpp +++ b/src/managers/token_manager.cpp @@ -86,7 +86,7 @@ Model::loginResult Manager::token_manager::retrieve_token(const Model::BinaryPat return lr; } -bool Manager::token_manager::is_token_valid(std::string& auth, Scope scope) +bool Manager::token_manager::is_token_valid(std::string& auth, Type::Scope scope) { auto authPair = fetch_auth_header(auth); @@ -103,10 +103,10 @@ bool Manager::token_manager::is_token_valid(std::string& auth, Scope scope) auto scopes = extract_scopes(jwt::decode(token)); switch (scope) { - case Scope::upload: + case Type::Scope::upload: return token_supports_scope(scopes, "upload:songs"); break; - case Scope::download: + case Type::Scope::download: return token_supports_scope(scopes, "download:songs"); default: break; diff --git a/src/managers/yearManager.cpp b/src/managers/yearManager.cpp index e69de29..bc6538d 100644 --- a/src/managers/yearManager.cpp +++ b/src/managers/yearManager.cpp @@ -0,0 +1,5 @@ +#include "managers/yearManager.h" + +Manager::yearManager::yearManager(const Model::BinaryPath& bConf) + : m_bConf(bConf) +{ } diff --git a/src/utilities/imageFile.cpp b/src/utilities/imageFile.cpp index 7b9c10d..dad7a7c 100644 --- a/src/utilities/imageFile.cpp +++ b/src/utilities/imageFile.cpp @@ -1,10 +1,10 @@ #include "utilities/imageFile.h" -imageFile::imageFile(const char *file) : TagLib::File(file) +Utility::imageFile::imageFile(const char *file) : TagLib::File(file) { } -TagLib::ByteVector imageFile::data() +TagLib::ByteVector Utility::imageFile::data() { return readBlock(length()); } diff --git a/src/utilities/metadata_retriever.cpp b/src/utilities/metadata_retriever.cpp index d3ad3cb..e10dea9 100644 --- a/src/utilities/metadata_retriever.cpp +++ b/src/utilities/metadata_retriever.cpp @@ -17,7 +17,7 @@ namespace fs = std::filesystem; -Model::Song metadata_retriever::retrieve_metadata(std::string& song_path) +Model::Song Utility::metadata_retriever::retrieve_metadata(std::string& song_path) { TagLib::FileRef file(song_path.c_str()); Model::Song song; @@ -48,7 +48,7 @@ Model::Song metadata_retriever::retrieve_metadata(std::string& song_path) return song; } -Model::Cover metadata_retriever::update_cover_art(const Model::Song& song, Model::Cover& cov, const std::string& stockCoverPath) +Model::Cover Utility::metadata_retriever::update_cover_art(const Model::Song& song, Model::Cover& cov, const std::string& stockCoverPath) { TagLib::MPEG::File sngF(song.songPath.c_str()); auto tag = sngF.ID3v2Tag(); @@ -94,7 +94,7 @@ Model::Cover metadata_retriever::update_cover_art(const Model::Song& song, Model return cov; } -void metadata_retriever::update_metadata(Model::Song sng_updated, const Model::Song sng_old) +void Utility::metadata_retriever::update_metadata(Model::Song sng_updated, const Model::Song sng_old) { std::cout<<"updating metadata"<