When song is uploaded the response returned is info about the song and a response

This commit is contained in:
kdeng00
2019-10-22 20:30:43 -04:00
parent 5fefc451d5
commit e764bc45de
4 changed files with 8 additions and 23 deletions
+5 -21
View File
@@ -21,6 +21,7 @@
#include "callback/StreamCallback.h" #include "callback/StreamCallback.h"
#include "database/SongRepository.h" #include "database/SongRepository.h"
#include "dto/SongDto.hpp" #include "dto/SongDto.hpp"
#include "dto/conversion/DtoConversions.h"
#include "manager/SongManager.h" #include "manager/SongManager.h"
#include "manager/TokenManager.h" #include "manager/TokenManager.h"
#include "model/Models.h" #include "model/Models.h"
@@ -74,8 +75,9 @@ public:
manager::SongManager songMgr(m_bConf); manager::SongManager songMgr(m_bConf);
songMgr.saveSong(sng); songMgr.saveSong(sng);
auto songDto = dto::conversion::DtoConversions::toSongDto(sng);
return createResponse(Status::CODE_200, "OK"); return createDtoResponse(Status::CODE_200, songDto);
} }
// endpoint for retrieving all song records in json format // endpoint for retrieving all song records in json format
@@ -95,16 +97,7 @@ public:
std::cout << "creating object to send" << std::endl; std::cout << "creating object to send" << std::endl;
for (auto& songDb : songsDb) { for (auto& songDb : songsDb) {
auto song = dto::SongDto::createShared(); auto song = dto::conversion::DtoConversions::toSongDto(songDb);
song->id = songDb.id;
song->title = songDb.title.c_str();
song->artist = songDb.artist.c_str();
song->album = songDb.album.c_str();
song->genre = songDb.genre.c_str();
song->year = songDb.year;
song->duration = songDb.duration;
song->track = songDb.track;
song->disc = songDb.disc;
songs->pushBack(song); songs->pushBack(song);
} }
@@ -130,16 +123,7 @@ public:
std::cout << "song exists" << std::endl; std::cout << "song exists" << std::endl;
songDb = songRepo.retrieveRecord(songDb, type::SongFilter::id); songDb = songRepo.retrieveRecord(songDb, type::SongFilter::id);
auto song = dto::SongDto::createShared(); auto song = dto::conversion::DtoConversions::toSongDto(songDb);
song->id = songDb.id;
song->title = songDb.title.c_str();
song->artist = songDb.artist.c_str();
song->album = songDb.album.c_str();
song->genre = songDb.genre.c_str();
song->year = songDb.year;
song->duration = songDb.duration;
song->track = songDb.track;
song->disc = songDb.disc;
return createDtoResponse(Status::CODE_200, song); return createDtoResponse(Status::CODE_200, song);
} }
+1 -2
View File
@@ -11,8 +11,7 @@
#include "model/Models.h" #include "model/Models.h"
#include "type/SongChanged.h" #include "type/SongChanged.h"
namespace manager namespace manager {
{
class SongManager class SongManager
{ {
public: public:
+1
View File
@@ -31,6 +31,7 @@ namespace dto { namespace conversion {
result->album = (!song.album.empty()) ? song.album.c_str() : ""; result->album = (!song.album.empty()) ? song.album.c_str() : "";
result->artist = (!song.artist.empty()) ? song.artist.c_str() : ""; result->artist = (!song.artist.empty()) ? song.artist.c_str() : "";
result->genre = (!song.genre.empty()) ? song.genre.c_str() : ""; result->genre = (!song.genre.empty()) ? song.genre.c_str() : "";
result->duration = (song.duration != 0) ? song.duration : 0;
result->year = (song.year != 0) ? song.year : 0; result->year = (song.year != 0) ? song.year : 0;
result->track = (song.track != 0) ? song.track : 0; result->track = (song.track != 0) ? song.track : 0;
result->disc = (song.disc != 0) ? song.disc : 0; result->disc = (song.disc != 0) ? song.disc : 0;
+1
View File
@@ -83,6 +83,7 @@ void manager::SongManager::saveSong(model::Song& song)
database::SongRepository songRepo(m_bConf); database::SongRepository songRepo(m_bConf);
songRepo.saveRecord(song); songRepo.saveRecord(song);
song = songRepo.retrieveRecord(song, type::SongFilter::title);
} }
void manager::SongManager::deleteSong(model::Song& song) void manager::SongManager::deleteSong(model::Song& song)