diff options
Diffstat (limited to 'src/database')
| -rw-r--r-- | src/database/database.cpp | 12 | ||||
| -rw-r--r-- | src/database/include/database.hpp | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp index a96b3eab..ac5e4873 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -229,6 +229,18 @@ auto Database::Update() -> std::future<void> { }); } +auto Database::GetTrackPath(TrackId id) + -> std::future<std::optional<std::string>> { + return worker_task_->Dispatch<std::optional<std::string>>( + [=, this]() -> std::optional<std::string> { + auto track_data = dbGetTrackData(id); + if (track_data) { + return track_data->filepath(); + } + return {}; + }); +} + auto Database::GetTracks(std::size_t page_size) -> std::future<Result<Track>*> { return worker_task_->Dispatch<Result<Track>*>([=, this]() -> Result<Track>* { Continuation<Track> c{.iterator = nullptr, diff --git a/src/database/include/database.hpp b/src/database/include/database.hpp index 1a8388e8..8fecc5f6 100644 --- a/src/database/include/database.hpp +++ b/src/database/include/database.hpp @@ -82,6 +82,8 @@ class Database { auto Update() -> std::future<void>; + auto GetTrackPath(TrackId id) -> std::future<std::optional<std::string>>; + auto GetTracks(std::size_t page_size) -> std::future<Result<Track>*>; auto GetDump(std::size_t page_size) -> std::future<Result<std::string>*>; |
