Port over to the new API

This commit is contained in:
2026-05-19 13:08:27 -04:00
parent 563b45010d
commit 5f4f91ddfe
18 changed files with 161 additions and 154 deletions
@@ -1,8 +1,8 @@
package dev.plex.request.impl;
import dev.plex.HTTPDModule;
import dev.plex.api.player.PlexPlayerView;
import dev.plex.authentication.AuthenticatedUser;
import dev.plex.cache.DataUtils;
import dev.plex.player.PlexPlayer;
import dev.plex.request.AbstractServlet;
import dev.plex.request.GetMapping;
import jakarta.servlet.http.HttpServletRequest;
@@ -39,36 +39,36 @@ public class PlayerAdminEndpoint extends AbstractServlet
return errorPage("No player specified.");
}
PlexPlayer player = lookupPlayer(query);
PlexPlayerView player = lookupPlayer(query);
if (player == null)
{
return errorPage("No player found matching <span class=\"font-mono\">" + escapeHtml(query) + "</span>.");
}
String file = readFile(this.getClass().getResourceAsStream("/httpd/player.html"));
file = file.replace("${player_uuid}", player.getUuid().toString());
file = file.replace("${player_name}", escapeHtml(player.getName()));
file = file.replace("${player_uuid}", player.uuid().toString());
file = file.replace("${player_name}", escapeHtml(player.name()));
file = file.replace("${player_ip}", lastIp(player));
file = file.replace("${player_first_played}", firstPlayed(player.getUuid()));
file = file.replace("${player_namemc}", "https://namemc.com/profile/" + player.getUuid());
file = file.replace("${player_first_played}", firstPlayed(player.uuid()));
file = file.replace("${player_namemc}", "https://namemc.com/profile/" + player.uuid());
return file;
}
private static PlexPlayer lookupPlayer(String query)
private static PlexPlayerView lookupPlayer(String query)
{
try
{
return DataUtils.getPlayer(UUID.fromString(query));
return HTTPDModule.plexApi().players().byUuid(UUID.fromString(query)).orElse(null);
}
catch (IllegalArgumentException ignored)
{
return DataUtils.getPlayer(query);
return HTTPDModule.plexApi().players().byName(query).orElse(null);
}
}
private static String lastIp(PlexPlayer player)
private static String lastIp(PlexPlayerView player)
{
List<String> ips = player.getIps();
List<String> ips = player.ips();
if (ips == null || ips.isEmpty()) return "<span class=\"text-muted-foreground\">—</span>";
return escapeHtml(ips.getLast());
}