Changed C++ standard to C++17 and will implement functionality to retrieve songs, albums, artists, genres, cover art, and year records in json. Will add explicit versioning too
This commit is contained in:
+120
-120
@@ -5,7 +5,7 @@
|
||||
#include<cpr/cpr.h>
|
||||
#include<nlohmann/json.hpp>
|
||||
|
||||
#include"Upload.h"
|
||||
#include"Syncers/Upload.h"
|
||||
|
||||
using std::cout;
|
||||
using std::endl;
|
||||
@@ -23,136 +23,136 @@ using namespace cpr;
|
||||
|
||||
namespace Syncers
|
||||
{
|
||||
Upload::Upload() { }
|
||||
Upload::Upload(string filePath)
|
||||
{
|
||||
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;
|
||||
}
|
||||
Upload::Upload() { }
|
||||
Upload::Upload(string filePath)
|
||||
{
|
||||
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"},
|
||||
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 << r.status_code<< std::endl;
|
||||
|
||||
cout<<"Success"<<endl;
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
cout<<e.what()<<endl;
|
||||
}
|
||||
cout<<"Finished"<<endl;
|
||||
cout<<"Success"<<endl;
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
cout<<e.what()<<endl;
|
||||
}
|
||||
cout<<"Finished"<<endl;
|
||||
|
||||
}
|
||||
void Upload::uploadSong(const Models::Token token, Song song)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto url = retrieveUrl();
|
||||
}
|
||||
void Upload::uploadSong(const Models::Token token, Song song)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto url = retrieveUrl();
|
||||
|
||||
cout<<"url "<<url<<endl;
|
||||
string auth{token.tokenType};
|
||||
auth.append(" " + token.accessToken);
|
||||
auto r = cpr::Post(cpr::Url{url},
|
||||
cpr::Multipart{{"key", "small value"},
|
||||
cout<<"url "<<url<<endl;
|
||||
string auth{token.tokenType};
|
||||
auth.append(" " + token.accessToken);
|
||||
auto r = cpr::Post(cpr::Url{url},
|
||||
cpr::Multipart{{"key", "small value"},
|
||||
{"file", cpr::File{song.songPath}}},
|
||||
cpr::Header{{"authorization", auth}}
|
||||
);
|
||||
cpr::Header{{"authorization", auth}}
|
||||
);
|
||||
|
||||
cout << r.status_code<< std::endl;
|
||||
}
|
||||
catch (exception e)
|
||||
{
|
||||
auto msg = e.what();
|
||||
cout<<msg<<endl;
|
||||
}
|
||||
cout<<"Finished"<<endl;
|
||||
}
|
||||
cout << r.status_code<< std::endl;
|
||||
}
|
||||
catch (exception e)
|
||||
{
|
||||
auto msg = e.what();
|
||||
cout<<msg<<endl;
|
||||
}
|
||||
cout<<"Finished"<<endl;
|
||||
}
|
||||
|
||||
string Upload::retrieveUrl()
|
||||
{
|
||||
string url = api.url + "api/" + api.version + "/" +
|
||||
api.endpoint;
|
||||
|
||||
return url;
|
||||
}
|
||||
#pragma
|
||||
void Upload::configureSongDemo()
|
||||
{
|
||||
int id = 0;
|
||||
string title = "What of it?";
|
||||
string artist = "Kuoth";
|
||||
string album = "I";
|
||||
string genre = "Untitled";
|
||||
int year = 2019;
|
||||
int duration = 260;
|
||||
string Upload::retrieveUrl()
|
||||
{
|
||||
string url = api.url + "api/" + api.version + "/" +
|
||||
api.endpoint;
|
||||
|
||||
return url;
|
||||
}
|
||||
#pragma
|
||||
void Upload::configureSongDemo()
|
||||
{
|
||||
int id = 0;
|
||||
string title = "What of it?";
|
||||
string artist = "Kuoth";
|
||||
string album = "I";
|
||||
string genre = "Untitled";
|
||||
int year = 2019;
|
||||
int duration = 260;
|
||||
|
||||
this->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<<endl;
|
||||
}
|
||||
void Upload::printSongDetails()
|
||||
{
|
||||
cout<<"Song details: "<<endl;
|
||||
cout<<"Id: "<<song.id<<endl;
|
||||
cout<<"Title: "<<song.title<<endl;
|
||||
cout<<"Artist: "<<song.artist<<endl;
|
||||
cout<<"Album: "<<song.album<<endl;
|
||||
cout<<"Genre: "<<song.genre<<endl;
|
||||
cout<<"Year: "<<song.year<<endl;
|
||||
cout<<"Duration: "<<song.duration<<endl;
|
||||
}
|
||||
void Upload::printJsonData(json obj)
|
||||
{
|
||||
cout<<endl<<endl<<"JSon data: "<<endl;
|
||||
cout<<"id: "<<obj["id"]<<endl;
|
||||
cout<<"title: "<<obj["title"]<<endl;
|
||||
cout<<"artist: "<<obj["artist"]<<endl;
|
||||
cout<<"album: "<<obj["album"]<<endl;
|
||||
cout<<"genre: "<<obj["genre"]<<endl;
|
||||
cout<<"year: "<<obj["year"]<<endl;
|
||||
cout<<"duration: "<<obj["duration"]<<endl;
|
||||
cout<<"song_data: "<<obj["song_data"]<<endl;
|
||||
this->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<<endl;
|
||||
}
|
||||
void Upload::printSongDetails()
|
||||
{
|
||||
cout<<"Song details: "<<endl;
|
||||
cout<<"Id: "<<song.id<<endl;
|
||||
cout<<"Title: "<<song.title<<endl;
|
||||
cout<<"Artist: "<<song.artist<<endl;
|
||||
cout<<"Album: "<<song.album<<endl;
|
||||
cout<<"Genre: "<<song.genre<<endl;
|
||||
cout<<"Year: "<<song.year<<endl;
|
||||
cout<<"Duration: "<<song.duration<<endl;
|
||||
}
|
||||
void Upload::printJsonData(json obj)
|
||||
{
|
||||
cout<<endl<<endl<<"JSon data: "<<endl;
|
||||
cout<<"id: "<<obj["id"]<<endl;
|
||||
cout<<"title: "<<obj["title"]<<endl;
|
||||
cout<<"artist: "<<obj["artist"]<<endl;
|
||||
cout<<"album: "<<obj["album"]<<endl;
|
||||
cout<<"genre: "<<obj["genre"]<<endl;
|
||||
cout<<"year: "<<obj["year"]<<endl;
|
||||
cout<<"duration: "<<obj["duration"]<<endl;
|
||||
cout<<"song_data: "<<obj["song_data"]<<endl;
|
||||
|
||||
cout<<endl<<endl;;
|
||||
}
|
||||
cout<<endl<<endl;;
|
||||
}
|
||||
|
||||
json Upload::serializeObject()
|
||||
{
|
||||
json jObj{};
|
||||
jObj["id"] = song.id;
|
||||
jObj["title"] = song.title;
|
||||
jObj["artist"] = song.artist;
|
||||
jObj["album"] = song.album;
|
||||
jObj["genre"] = song.genre;
|
||||
jObj["year"] = song.year;
|
||||
jObj["duration"] = song.duration;
|
||||
jObj["song_data"] = *song.songData;
|
||||
json Upload::serializeObject()
|
||||
{
|
||||
json jObj{};
|
||||
jObj["id"] = song.id;
|
||||
jObj["title"] = song.title;
|
||||
jObj["artist"] = song.artist;
|
||||
jObj["album"] = song.album;
|
||||
jObj["genre"] = song.genre;
|
||||
jObj["year"] = song.year;
|
||||
jObj["duration"] = song.duration;
|
||||
jObj["song_data"] = *song.songData;
|
||||
|
||||
return jObj;
|
||||
}
|
||||
#pragma Testing
|
||||
#pragma Functions
|
||||
return jObj;
|
||||
}
|
||||
#pragma Testing
|
||||
#pragma Functions
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user