fix(search): preserve configured ticket links

This commit is contained in:
Meik
2026-07-13 11:55:00 +02:00
parent 997dcee78f
commit b3520f8865
2 changed files with 19 additions and 10 deletions

View File

@@ -65,8 +65,8 @@ namespace FasdDesktopUi.Basics.Helper
if (relation == null || relation.Type != enumF4sdSearchResultClass.Ticket)
return false;
if (TryGetHttpLink(relation, "TicketLink", out ticketLink) ||
TryGetHttpLink(relation, "DirectLinkPreview", out ticketLink))
if (TryGetConfiguredLink(relation, "TicketLink", out ticketLink) ||
TryGetConfiguredLink(relation, "DirectLinkPreview", out ticketLink))
{
return true;
}
@@ -90,19 +90,13 @@ namespace FasdDesktopUi.Basics.Helper
return true;
}
private static bool TryGetHttpLink(cF4sdApiSearchResultRelation relation, string key, out string ticketLink)
private static bool TryGetConfiguredLink(cF4sdApiSearchResultRelation relation, string key, out string ticketLink)
{
ticketLink = null;
if (relation?.Infos?.TryGetValue(key, out var configuredLink) != true || string.IsNullOrWhiteSpace(configuredLink))
return false;
if (!Uri.TryCreate(configuredLink, UriKind.Absolute, out var linkUri) ||
(linkUri.Scheme != Uri.UriSchemeHttp && linkUri.Scheme != Uri.UriSchemeHttps))
{
return false;
}
ticketLink = linkUri.AbsoluteUri;
ticketLink = configuredLink;
return true;
}