show all plugins regardless of version (#4717)

This commit is contained in:
Andrew Camilleri 2023-02-28 12:16:33 +01:00 committed by GitHub
parent 808949a884
commit 21091cbf1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View file

@ -55,10 +55,13 @@ namespace BTCPayServer.Plugins
{ {
this.httpClient = httpClient; this.httpClient = httpClient;
} }
static JsonSerializerSettings serializerSettings = new JsonSerializerSettings() { 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) public async Task<PublishedVersion[]> GetPublishedVersions(string btcpayVersion, bool includePreRelease)
{ {
var result = await httpClient.GetStringAsync($"api/v1/plugins?btcpayVersion={btcpayVersion}&includePreRelease={includePreRelease}"); var queryString = $"?includePreRelease={includePreRelease}";
if(btcpayVersion is not null)
queryString += $"&btcpayVersion={btcpayVersion}&";
var result = await httpClient.GetStringAsync($"api/v1/plugins{queryString}");
return JsonConvert.DeserializeObject<PublishedVersion[]>(result, serializerSettings) ?? throw new InvalidOperationException(); return JsonConvert.DeserializeObject<PublishedVersion[]>(result, serializerSettings) ?? throw new InvalidOperationException();
} }
} }

View file

@ -50,7 +50,7 @@ namespace BTCPayServer.Plugins
public async Task<AvailablePlugin[]> GetRemotePlugins() public async Task<AvailablePlugin[]> GetRemotePlugins()
{ {
var versions = await _pluginBuilderClient.GetPublishedVersions(Env.Version, _policiesSettings.PluginPreReleases); var versions = await _pluginBuilderClient.GetPublishedVersions(null, _policiesSettings.PluginPreReleases);
return versions.Select(v => return versions.Select(v =>
{ {
var p = v.ManifestInfo.ToObject<AvailablePlugin>(); var p = v.ManifestInfo.ToObject<AvailablePlugin>();