mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 14:34:23 +01:00
refactor: replace GetPublishedVersions with GetPluginVersionsForDownload in download flow
This commit is contained in:
@@ -55,15 +55,13 @@ namespace BTCPayServer.Plugins
|
|||||||
this.httpClient = httpClient;
|
this.httpClient = httpClient;
|
||||||
}
|
}
|
||||||
static JsonSerializerSettings serializerSettings = new() { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() };
|
static JsonSerializerSettings serializerSettings = new() { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() };
|
||||||
public async Task<PublishedVersion[]> GetPublishedVersions(string btcpayVersion, bool includePreRelease, string searchPluginName = null, string searchPluginIdentifier = null, bool? includeAllVersions = null)
|
public async Task<PublishedVersion[]> GetPublishedVersions(string btcpayVersion, bool includePreRelease, string searchPluginName = null, bool? includeAllVersions = null)
|
||||||
{
|
{
|
||||||
var queryString = $"?includePreRelease={includePreRelease}";
|
var queryString = $"?includePreRelease={includePreRelease}";
|
||||||
if (btcpayVersion is not null)
|
if (btcpayVersion is not null)
|
||||||
queryString += $"&btcpayVersion={btcpayVersion}";
|
queryString += $"&btcpayVersion={btcpayVersion}";
|
||||||
if (searchPluginName is not null)
|
if (searchPluginName is not null)
|
||||||
queryString += $"&searchPluginName={searchPluginName}";
|
queryString += $"&searchPluginName={searchPluginName}";
|
||||||
if (searchPluginIdentifier is not null)
|
|
||||||
queryString += $"&searchPluginIdentifier={searchPluginIdentifier}";
|
|
||||||
if (includeAllVersions is not null)
|
if (includeAllVersions is not null)
|
||||||
queryString += $"&includeAllVersions={includeAllVersions}";
|
queryString += $"&includeAllVersions={includeAllVersions}";
|
||||||
var result = await httpClient.GetStringAsync($"api/v1/plugins{queryString}");
|
var result = await httpClient.GetStringAsync($"api/v1/plugins{queryString}");
|
||||||
@@ -81,5 +79,15 @@ namespace BTCPayServer.Plugins
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<PublishedVersion[]> GetPluginVersionsForDownload(string identifier, string btcpayVersion, bool includePreRelease = false, bool includeAllVersions = false)
|
||||||
|
{
|
||||||
|
var queryString = $"?btcpayVersion={btcpayVersion}&includePreRelease={includePreRelease}&includeAllVersions={includeAllVersions}";
|
||||||
|
var url = $"api/v1/plugins/{identifier}{queryString}";
|
||||||
|
|
||||||
|
var result = await httpClient.GetStringAsync(url);
|
||||||
|
return JsonConvert.DeserializeObject<PublishedVersion[]>(result, serializerSettings)
|
||||||
|
?? throw new InvalidOperationException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ namespace BTCPayServer.Plugins
|
|||||||
if (version is null)
|
if (version is null)
|
||||||
{
|
{
|
||||||
string btcpayVersion = Env.Version.TrimStart('v').Split('+')[0];
|
string btcpayVersion = Env.Version.TrimStart('v').Split('+')[0];
|
||||||
var versions = await _pluginBuilderClient.GetPublishedVersions(
|
var versions = await _pluginBuilderClient.GetPluginVersionsForDownload(pluginIdentifier,
|
||||||
btcpayVersion, _policiesSettings.PluginPreReleases, searchPluginIdentifier: pluginIdentifier, includeAllVersions: true);
|
btcpayVersion, _policiesSettings.PluginPreReleases, includeAllVersions: true);
|
||||||
var potentialVersions = versions
|
var potentialVersions = versions
|
||||||
.Select(v => v.ManifestInfo?.ToObject<AvailablePlugin>())
|
.Select(v => v.ManifestInfo?.ToObject<AvailablePlugin>())
|
||||||
.Where(v => v is not null)
|
.Where(v => v is not null)
|
||||||
|
|||||||
Reference in New Issue
Block a user