diff --git a/src/database/songRepository.cpp b/src/database/songRepository.cpp index 3b569cf..28f9578 100644 --- a/src/database/songRepository.cpp +++ b/src/database/songRepository.cpp @@ -174,6 +174,7 @@ std::vector songRepository::parseRecords(MYSQL_RES* results) break; case 7: song.songPath = row[i]; + break; case 8: song.coverArtId = std::stoi(row[i]); break; @@ -221,6 +222,7 @@ Song songRepository::parseRecord(MYSQL_RES* results) break; case 8: song.coverArtId = std::stoi(row[i]); + break; } } std::cout << "done parsing record" << std::endl; diff --git a/src/managers/song_manager.cpp b/src/managers/song_manager.cpp index 5ef9391..1212e9d 100644 --- a/src/managers/song_manager.cpp +++ b/src/managers/song_manager.cpp @@ -67,13 +67,19 @@ void song_manager::deleteSong(Song& song) cov = covRepo.retrieveRecord(cov, coverFilter::id); covRepo.deleteRecord(cov); + auto paths = directory_manager::pathConfigContent(exe_path); + const auto coverArtPath = paths["cover_root_path"].get(); + std::string stockCoverArtPath = coverArtPath; + stockCoverArtPath.append("CoverArt.png"); - // TODO: only delete coverArt that is not the stock cover - // path - fs::remove(cov.imagePath); + if (stockCoverArtPath.compare(cov.imagePath) != 0) { + fs::remove(cov.imagePath); + std::cout << "deleting cover art" << std::endl; + } fs::remove(song.songPath); - // TODO: delete empty directories + directory_manager::delete_directories(song, paths["root_music_path"].get()); + directory_manager::delete_directories(song, coverArtPath); } void song_manager::printSong(const Song& song)