Added song delete endpoint

This commit is contained in:
kdeng00
2019-08-26 23:10:24 -04:00
parent 48e97e7cd1
commit ed6f98eb5a
7 changed files with 59 additions and 1 deletions
+23
View File
@@ -6,6 +6,7 @@
#include <nlohmann/json.hpp>
#include "database/coverArtRepository.h"
#include "database/songRepository.h"
#include "managers/coverArtManager.h"
#include "managers/directory_manager.h"
@@ -53,6 +54,28 @@ void song_manager::saveSong(Song& song)
songRepo.saveRecord(song);
}
void song_manager::deleteSong(Song& song)
{
coverArtRepository covRepo(exe_path);
songRepository songRepo(exe_path);
song = songRepo.retrieveRecord(song, songFilter::id);
songRepo.deleteRecord(song);
Cover cov;
cov.id = song.coverArtId;
cov = covRepo.retrieveRecord(cov, coverFilter::id);
covRepo.deleteRecord(cov);
// TODO: only delete coverArt that is not the stock cover
// path
fs::remove(cov.imagePath);
fs::remove(song.songPath);
// TODO: delete empty directories
}
void song_manager::printSong(const Song& song)
{
std::cout << std::endl << "song" << std::endl;