From 27aecc7a0da473b8225a77afaef0476c9bab09cd Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Sat, 10 Aug 2019 10:49:40 -0400 Subject: [PATCH] minor changes --- include/Managers/ActionManager.h | 7 +--- include/Managers/CommitManager.h | 11 +++-- include/Models/Song.h | 1 - include/Syncers/Download.h | 1 - include/Syncers/Upload.h | 11 ----- src/Main.cpp | 2 +- src/Managers/ActionManager.cpp | 66 ++++------------------------- src/Managers/CommitManager.cpp | 19 ++------- src/Parsers/APIParser.cpp | 5 +-- src/Syncers/Download.cpp | 20 --------- src/Syncers/RetrieveRecords.cpp | 3 ++ src/Syncers/Upload.cpp | 71 ++------------------------------ 12 files changed, 30 insertions(+), 187 deletions(-) diff --git a/include/Managers/ActionManager.h b/include/Managers/ActionManager.h index ff2c16d..19f5f81 100644 --- a/include/Managers/ActionManager.h +++ b/include/Managers/ActionManager.h @@ -13,22 +13,18 @@ namespace Managers class ActionManager { public: - ActionManager(char**); + ActionManager(char**, int); Models::IcarusAction retrieveIcarusAction() const; - std::vector retrieveFlags() const; - std::string retrieveAction() const; private: bool isNumber(std::string); void initialize(); - void validateAction(); void validateFlags(); std::vector parsedFlags(); void printAction(); - void printFlags(std::vector); void printFlags(); std::string action; @@ -41,6 +37,7 @@ namespace Managers }; std::vector flags; char **params; + int paramCount; }; } diff --git a/include/Managers/CommitManager.h b/include/Managers/CommitManager.h index 52041ee..d5913af 100644 --- a/include/Managers/CommitManager.h +++ b/include/Managers/CommitManager.h @@ -13,7 +13,7 @@ namespace Managers class CommitManager { public: - CommitManager(Models::IcarusAction); + CommitManager(Models::IcarusAction&); void commitAction(); @@ -25,7 +25,6 @@ namespace Managers private: Models::Token parseToken(Models::API); - void initializeMapActions(); void deleteSong(); void downloadSong(); void retrieveObjects(); @@ -39,7 +38,13 @@ namespace Managers uploadAct }; - std::map mapActions; + std::map mapActions = + std::map{ + {"delete", deleteAct}, {"download", downloadAct}, + {"retrieve", retrieveAct}, + {"upload", uploadAct} + }; + Models::IcarusAction icaAction; }; } diff --git a/include/Models/Song.h b/include/Models/Song.h index 11f2f02..1d1e013 100644 --- a/include/Models/Song.h +++ b/include/Models/Song.h @@ -15,7 +15,6 @@ namespace Models std::string genre; int year; int duration; - char *songData; std::string data; std::string songPath; }; diff --git a/include/Syncers/Download.h b/include/Syncers/Download.h index 1f8da52..7930a85 100644 --- a/include/Syncers/Download.h +++ b/include/Syncers/Download.h @@ -19,7 +19,6 @@ namespace Syncers Download(Models::API); Download(std::string); - void downloadSong(int); void downloadSong(const Models::Token token, Models::Song); private: std::string retrieveUrl(Models::Song); diff --git a/include/Syncers/Upload.h b/include/Syncers/Upload.h index cbb8e3a..c407bb3 100644 --- a/include/Syncers/Upload.h +++ b/include/Syncers/Upload.h @@ -18,29 +18,18 @@ namespace Syncers { public: Upload(); - Upload(std::string); Upload(Models::API); - Upload(Models::UploadForm); - void uploadSong(); void uploadSong(const Models::Token, Models::Song); private: Managers::FileManager fMgr; Models::API api; Models::Song song; - std::string apiUrl{""}; // Not being used - std::string apiEndPoint{""}; // Not being used - std::string songPath; // Not being used - std::string url; // Not being used - int port{9349}; // Not being used std::string retrieveUrl(); - void configureSongDemo(); void printSongDetails(); void printJsonData(nlohmann::json); - - nlohmann::json serializeObject(); // Not being used }; } diff --git a/src/Main.cpp b/src/Main.cpp index 010bbc1..fe29a57 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -20,7 +20,7 @@ int main(int argc, char** argv) return 1; } - ActionManager actMgr{argv}; + ActionManager actMgr{argv, argc}; auto chosenAction = actMgr.retrieveIcarusAction(); CommitManager commitMgr{chosenAction}; diff --git a/src/Managers/ActionManager.cpp b/src/Managers/ActionManager.cpp index 4fce238..d56ac30 100644 --- a/src/Managers/ActionManager.cpp +++ b/src/Managers/ActionManager.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include using std::cout; @@ -16,10 +16,9 @@ using Models::IcarusAction; namespace Managers { #pragma - ActionManager::ActionManager(char **param) + ActionManager::ActionManager(char **param, int paramCount) : + params(std::move(param)), paramCount(paramCount) { - this->params = param; - initialize(); } #pragma Constructors @@ -34,15 +33,6 @@ namespace Managers return icarusAction; } - vector ActionManager::retrieveFlags() const - { - return flags; - } - - string ActionManager::retrieveAction() const - { - return action; - } bool ActionManager::isNumber(string val) { @@ -57,28 +47,10 @@ namespace Managers { validateFlags(); - action = string{params[1]}; + action = std::move(string{params[1]}); transform(action.begin(), action.end(), action.begin(), ::tolower); } - void ActionManager::validateAction() - { - cout<<"Validating action"< ActionManager::parsedFlags() { auto parsed = vector{}; - try + + for (auto i = 2; i < paramCount; ++i) { - for (auto i = 2; true; ++i) - { - string val{*(params + i)}; - //cout<<"Parsed flag "< flagVals) - { - if (flagVals.empty()) - { - printf("Flags and values are empty\n"); - } - else - { - printf("Printing flags and values..\n"); - for (auto flgVal : flagVals) - { - cout<{ - {"delete", deleteAct}, {"download", downloadAct}, - {"retrieve", retrieveAct}, - {"upload", uploadAct} - }; - } void CommitManager::deleteSong() { APIParser apiPrs{icaAction}; diff --git a/src/Parsers/APIParser.cpp b/src/Parsers/APIParser.cpp index af34a2b..4e8746b 100644 --- a/src/Parsers/APIParser.cpp +++ b/src/Parsers/APIParser.cpp @@ -11,9 +11,8 @@ using Models::IcarusAction; namespace Parsers { #pragma - APIParser::APIParser(IcarusAction icaAct) + APIParser::APIParser(IcarusAction icaAct) : icaAct(icaAct) { - this->icaAct = icaAct; api = API{}; parseAPI(); } @@ -38,7 +37,7 @@ namespace Parsers if (arg.compare("-h") == 0) { - api.url = (value[value.size()-1 == '/']) ? value : value + "/"; + api.url = (value[value.size()-1] == '/') ? value : value + "/"; break; } diff --git a/src/Syncers/Download.cpp b/src/Syncers/Download.cpp index 170a03f..58133f0 100644 --- a/src/Syncers/Download.cpp +++ b/src/Syncers/Download.cpp @@ -33,26 +33,6 @@ namespace Syncers #pragma - void Download::downloadSong(const int id) - { - string urlRoot = "http://192.168.1.5"; - int port = 9349; - string endpoint = "api/song/data/" + std::to_string(id); - string url = urlRoot + ":" + std::to_string(port) + "/" + - endpoint; - auto r = cpr::Get(cpr::Url{url}); - const char* newBuff = r.text.c_str(); - int bufferLength = r.text.size(); - - ofstream saveSong{downloadFilePath, ofstream::binary}; - saveSong.write(newBuff, bufferLength); - - cout<<"HTTP status code: "< #include +#include "Utilities/Conversions.h" + using std::cout; using std::endl; using std::ofstream; @@ -13,6 +15,7 @@ using std::ofstream; using Managers::CommitManager; using Models::API; using Models::Token; +using Utilities::Conversions; namespace Syncers { diff --git a/src/Syncers/Upload.cpp b/src/Syncers/Upload.cpp index f199498..6233cdf 100644 --- a/src/Syncers/Upload.cpp +++ b/src/Syncers/Upload.cpp @@ -24,41 +24,12 @@ using namespace cpr; namespace Syncers { Upload::Upload() { } - Upload::Upload(string filePath) + Upload::Upload(API api) : api(api) { - this->songPath = filePath; - this->fMgr = FileManager(songPath); - } - Upload::Upload(API api) - { - this->api = api; this->api.endpoint = "song/data"; } - Upload::Upload(UploadForm formData) - { - this->url = formData.url; - this->songPath = formData.filePath; - } - void Upload::uploadSong() - { - try - { - auto r = cpr::Post(cpr::Url{url}, - cpr::Multipart{{"key", "small value"}, - {"file", cpr::File{songPath}}}); - cout << r.status_code<< std::endl; - - cout<<"Success"<song = Models::Song{}; - this->song.id = id; - this->song.title = title; - this->song.artist = artist; - this->song.album = album; - this->song.genre = genre; - this->song.year = year; - this->song.duration = duration; - this->song.songData = fMgr.retrieveFileBuffer(); - cout<<*song.songData<