Added feature to upload all songs from a directory (optional recursive). Need to document the use of it as well as how to even use this CLI
This commit is contained in:
@@ -31,9 +31,9 @@ namespace Managers
|
||||
std::array<std::string, 4> supportedActions{
|
||||
"download", "upload", "retrieve", "delete"
|
||||
};
|
||||
std::array<std::string, 9> supportedFlags{
|
||||
"-u", "-p", "-t", "-h", "-s",
|
||||
"-d", "-D", "-b", "-rt"
|
||||
std::array<std::string, 11> supportedFlags{
|
||||
"-u", "-p", "-t", "-h", "-s", "-sd",
|
||||
"-sr", "-d", "-D", "-b", "-rt"
|
||||
};
|
||||
std::vector<Models::Flags> flags;
|
||||
char **params;
|
||||
|
||||
@@ -38,8 +38,7 @@ namespace Managers
|
||||
uploadAct
|
||||
};
|
||||
|
||||
std::map<std::string, ActionValues> mapActions =
|
||||
std::map<std::string, ActionValues>{
|
||||
std::map<std::string, ActionValues> mapActions{
|
||||
{"delete", deleteAct}, {"download", downloadAct},
|
||||
{"retrieve", retrieveAct},
|
||||
{"upload", uploadAct}
|
||||
|
||||
@@ -10,8 +10,8 @@ namespace Managers
|
||||
class TokenManager
|
||||
{
|
||||
public:
|
||||
TokenManager(const Models::User);
|
||||
TokenManager(const Models::User, Models::API);
|
||||
TokenManager(const Models::User&);
|
||||
TokenManager(const Models::User&, Models::API&);
|
||||
|
||||
Models::Token requestToken();
|
||||
private:
|
||||
|
||||
@@ -15,7 +15,8 @@ namespace Models
|
||||
std::string genre;
|
||||
int year;
|
||||
int duration;
|
||||
std::string data;
|
||||
int track;
|
||||
std::string data;
|
||||
std::string songPath;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Syncers
|
||||
std::string retrieveUrl(Models::Song);
|
||||
|
||||
std::string downloadFilePath;
|
||||
void saveSong(Models::Song*);
|
||||
void saveSong(Models::Song&);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#ifndef UPLOAD_H_
|
||||
#define UPLOAD_H_
|
||||
|
||||
#include<filesystem>
|
||||
#include<string>
|
||||
#include<vector>
|
||||
|
||||
#include<nlohmann/json.hpp>
|
||||
|
||||
@@ -11,6 +13,8 @@
|
||||
#include"Models/Token.h"
|
||||
#include"Models/UploadForm.h"
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
|
||||
namespace Syncers
|
||||
{
|
||||
@@ -20,15 +24,22 @@ namespace Syncers
|
||||
Upload();
|
||||
Upload(Models::API);
|
||||
|
||||
void uploadSong(const Models::Token, Models::Song);
|
||||
Models::Song uploadSong(const Models::Token&, Models::Song&);
|
||||
void uploadSongsFromDirectory(const Models::Token&, const std::string&, bool);
|
||||
private:
|
||||
Managers::FileManager fMgr;
|
||||
Models::API api;
|
||||
Models::Song song;
|
||||
|
||||
std::vector<Models::Song> retrieveAllSongsFromDirectory(const std::string&,
|
||||
bool);
|
||||
|
||||
std::string retrieveUrl();
|
||||
|
||||
Models::Song retrieveSongPath(fs::directory_entry&);
|
||||
|
||||
void printSongDetails();
|
||||
void printSongDetails(std::vector<Models::Song>&);
|
||||
void printJsonData(nlohmann::json);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user