Add identifier field to PendingPlaylist in PlayOutcome

Updated `PendingPlaylist` to include a new `identifier` field, enabling more precise playlist identification. Adjusted `SearchResultHandler` and `MusicRoutes` to use and expose this field, ensuring integration across the system and improving API consistency.
This commit is contained in:
anthorob committed 2026-10-18 08:23:56 -04:00
1 parent 780016b731
commit f6ba30639a
3 files changed
+3 -2

No files matched your search

@@ -643,6 +643,7 @@ public final class MusicRoutes {
body.put("status", "pending_playlist");
body.put("search_id", pendingPlaylist.searchId());
body.put("search_id_ttl_seconds", PendingSearchResults.ttlSeconds());
body.put("identifier", pendingPlaylist.identifier());
body.put("name", pendingPlaylist.name());
body.put("tracks", pendingPlaylist.tracks().stream().map(MusicRoutes::trackSummary).toList());
body.put("truncated", pendingPlaylist.truncated());
@@ -23,7 +23,7 @@ public sealed interface PlayOutcome {
record PendingTrack(String searchId, Track track) implements PlayOutcome {
}
record PendingPlaylist(String searchId, String name, List<Track> tracks, boolean truncated) implements PlayOutcome {
record PendingPlaylist(String searchId, String identifier, String name, List<Track> tracks, boolean truncated) implements PlayOutcome {
}
record PendingSearch(String searchId, List<Track> candidates) implements PlayOutcome {
@@ -66,7 +66,7 @@ public class SearchResultHandler extends AbstractAudioLoadResultHandler {
List<Track> candidates = truncated ? tracks.subList(0, maxPlaylistSize) : tracks;
String searchId = PendingSearchResults.put(guild.getId(), candidates);
future.complete(new PlayOutcome.PendingPlaylist(searchId, result.getInfo().getName(), candidates, truncated));
future.complete(new PlayOutcome.PendingPlaylist(searchId, identifier, result.getInfo().getName(), candidates, truncated));
}
@Override