Skip to content

Commit 86c18cc

Browse files
committed
Fix API generator (#4456)
This commit fixes the API generator: 1. The collection of high level endpoints were being used in some of the low level generators 2. High level endpoints excluded need to be compared to the list by filename Co-authored-by: Stuart Cam <[email protected]> (cherry-picked from commit 04ed38b)
1 parent 625c13e commit 86c18cc

File tree

6 files changed

+8
-8
lines changed

6 files changed

+8
-8
lines changed

src/ApiGenerator/Domain/RestApiSpec.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ public class RestApiSpec
2222

2323
public IDictionary<string, ApiEndpoint> Endpoints { get; set; }
2424

25-
public ImmutableSortedDictionary<string, ReadOnlyCollection<ApiEndpoint>> EndpointsPerNamespace =>
25+
public ImmutableSortedDictionary<string, ReadOnlyCollection<ApiEndpoint>> EndpointsPerNamespaceLowLevel =>
2626
Endpoints.Values.GroupBy(e=>e.CsharpNames.Namespace)
2727
.ToImmutableSortedDictionary(kv => kv.Key, kv => kv.ToList().AsReadOnly());
2828

2929
public ImmutableSortedDictionary<string, ReadOnlyCollection<ApiEndpoint>> EndpointsPerNamespaceHighLevel =>
3030
Endpoints.Values
31-
.Where(v => !CodeConfiguration.IgnoredApisHighLevel.Contains(v.Name))
31+
.Where(v => !CodeConfiguration.IgnoredApisHighLevel.Contains(v.FileName))
3232
.GroupBy(e => e.CsharpNames.Namespace)
3333
.ToImmutableSortedDictionary(kv => kv.Key, kv => kv.ToList().AsReadOnly());
3434

src/ApiGenerator/Generator/Razor/LowLevelClientImplementationGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
2222
var target = GeneratorLocations.LowLevel($"ElasticLowLevelClient.{CsharpNames.RootNamespace}.cs");
2323
await DoRazor(spec, view, target);
2424

25-
var namespaced = spec.EndpointsPerNamespaceHighLevel.Where(kv => kv.Key != CsharpNames.RootNamespace).ToList();
25+
var namespaced = spec.EndpointsPerNamespaceLowLevel.Where(kv => kv.Key != CsharpNames.RootNamespace).ToList();
2626
var namespacedView = ViewLocations.LowLevel("Client", "Implementation", "ElasticLowLevelClient.Namespace.cshtml");
2727
await DoRazorDependantFiles(progressBar, namespaced, namespacedView, kv => kv.Key,
2828
id => GeneratorLocations.LowLevel($"ElasticLowLevelClient.{id}.cs"));

src/ApiGenerator/Generator/Razor/RequestParametersGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
2020
var view = ViewLocations.LowLevel("RequestParameters", "RequestParameters.cshtml");
2121
string Target(string id) => GeneratorLocations.LowLevel("Api", "RequestParameters", $"RequestParameters.{id}.cs");
2222

23-
var namespaced = spec.EndpointsPerNamespaceHighLevel.ToList();
23+
var namespaced = spec.EndpointsPerNamespaceLowLevel.ToList();
2424
await DoRazorDependantFiles(progressBar, namespaced, view, kv => kv.Key, id => Target(id));
2525
}
2626
}

src/ApiGenerator/Views/LowLevel/Client/Implementation/ElasticLowLevelClient.cshtml

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ using static Elasticsearch.Net.HttpMethod;
2424

2525
@{
2626
RestApiSpec model = Model;
27-
var namespaces = model.EndpointsPerNamespace.Keys.Where(k => k != CsharpNames.RootNamespace);
27+
var namespaces = model.EndpointsPerNamespaceLowLevel.Keys.Where(k => k != CsharpNames.RootNamespace);
2828
<text>
2929
// ReSharper disable InterpolatedStringExpressionIsNotIFormattable
3030
// ReSharper disable RedundantExtendsListEntry
@@ -55,7 +55,7 @@ namespace Elasticsearch.Net
5555
</text>
5656

5757

58-
foreach (var kv in model.EndpointsPerNamespace)
58+
foreach (var kv in model.EndpointsPerNamespaceLowLevel)
5959
{
6060
if (kv.Key != CsharpNames.RootNamespace)
6161
{

src/ApiGenerator/Views/LowLevel/Client/Interface/IElasticLowLevelClient.cshtml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace Elasticsearch.Net
2323
///</summary>
2424
public partial interface IElasticLowLevelClient
2525
{
26-
@foreach(var kv in Model.EndpointsPerNamespace)
26+
@foreach(var kv in Model.EndpointsPerNamespaceLowLevel)
2727
{
2828
if (kv.Key != CsharpNames.RootNamespace)
2929
{

src/ApiGenerator/Views/LowLevel/Client/Usings.cshtml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
@using ApiGenerator.Domain
44
@using ApiGenerator.Domain.Code
55
@inherits ApiGenerator.CodeTemplatePage<RestApiSpec>
6-
@foreach(var kv in Model.EndpointsPerNamespace)
6+
@foreach(var kv in Model.EndpointsPerNamespaceLowLevel)
77
{
88
if (kv.Key != CsharpNames.RootNamespace)
99
{

0 commit comments

Comments
 (0)