Subsonic API: cached cluster stats for track and releases, in order to make the getGenre entrypoint efficient on large databases

This commit is contained in:
emeric
2023-11-08 20:26:24 +01:00
parent c2e1c5d9df
commit 121d27b5cd
20 changed files with 301 additions and 101 deletions
+2 -2
View File
@@ -228,7 +228,7 @@ namespace API::Subsonic
params.setClusterType(clusterType->getId());
for (const auto& cluster : Cluster::find(context.dbSession, params).results)
trackResponse.addArrayValue(field, std::get<std::string>(cluster));
trackResponse.addArrayValue(field, cluster->getName());
}
} };
@@ -243,7 +243,7 @@ namespace API::Subsonic
params.setClusterType(genreClusterType->getId());
for (const auto& cluster : Cluster::find(context.dbSession, params).results)
trackResponse.addArrayChild("genres", createItemGenreNode(std::get<std::string>(cluster)));
trackResponse.addArrayChild("genres", createItemGenreNode(cluster->getName()));
}
trackResponse.addChild("replayGain", createReplayGainNode(track));