OpenSubsonic API: added support for 'played' fields

This commit is contained in:
emeric
2023-10-16 23:27:29 +02:00
parent 6a3783a4ba
commit 079f7922b4
9 changed files with 1042 additions and 938 deletions
@@ -162,6 +162,11 @@ namespace API::Subsonic
// OpenSubsonic specific fields (must always be set)
trackResponse.setAttribute("mediaType", "song");
{
const Wt::WDateTime dateTime{ Service<Scrobbling::IScrobblingService>::get()->getLastListenDateTime(user->getId(), track->getId()) };
trackResponse.setAttribute("played", dateTime.isValid() ? StringUtils::toISO8601String(dateTime) : "");
}
{
std::optional<UUID> mbid{ track->getRecordingMBID() };
trackResponse.setAttribute("musicBrainzId", mbid ? mbid->getAsString() : "");