Skip to content

Commit d24442d

Browse files
committed
Add filterByOperationId param and logic
1 parent af61c14 commit d24442d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/Microsoft.OpenApi.Tool/OpenApiService.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
@@ -16,11 +16,15 @@ namespace Microsoft.OpenApi.Tool
1616
{
1717
static class OpenApiService
1818
{
19+
public const string GraphVersion_V1 = "v1.0";
20+
public const string Title = "Partial Graph API";
21+
1922
public static void ProcessOpenApiDocument(
2023
string input,
2124
FileInfo output,
2225
OpenApiSpecVersion version,
2326
OpenApiFormat format,
27+
string filterbyOperationId,
2428
bool inline,
2529
bool resolveExternal)
2630
{
@@ -35,12 +39,20 @@ public static void ProcessOpenApiDocument(
3539

3640
var result = new OpenApiStreamReader(new OpenApiReaderSettings
3741
{
38-
ReferenceResolution = resolveExternal == true ? ReferenceResolutionSetting.ResolveAllReferences : ReferenceResolutionSetting.ResolveLocalReferences,
42+
ReferenceResolution = resolveExternal ? ReferenceResolutionSetting.ResolveAllReferences : ReferenceResolutionSetting.ResolveLocalReferences,
3943
RuleSet = ValidationRuleSet.GetDefaultRuleSet()
4044
}
4145
).ReadAsync(stream).GetAwaiter().GetResult();
4246

4347
document = result.OpenApiDocument;
48+
49+
// Check if filter options are provided, then execute
50+
if (!string.IsNullOrEmpty(filterbyOperationId))
51+
{
52+
var predicate = OpenApiFilterService.CreatePredicate(filterbyOperationId);
53+
document = OpenApiFilterService.CreateFilteredDocument(document, Title, GraphVersion_V1, predicate);
54+
}
55+
4456
var context = result.OpenApiDiagnostic;
4557

4658
if (context.Errors.Count != 0)

0 commit comments

Comments
 (0)