Added song delete endpoint
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user