1
- using System ;
1
+ using System ;
2
2
using System . Collections . Generic ;
3
3
using System . IO ;
4
4
using System . Linq ;
@@ -16,11 +16,15 @@ namespace Microsoft.OpenApi.Tool
16
16
{
17
17
static class OpenApiService
18
18
{
19
+ public const string GraphVersion_V1 = "v1.0" ;
20
+ public const string Title = "Partial Graph API" ;
21
+
19
22
public static void ProcessOpenApiDocument (
20
23
string input ,
21
24
FileInfo output ,
22
25
OpenApiSpecVersion version ,
23
26
OpenApiFormat format ,
27
+ string filterbyOperationId ,
24
28
bool inline ,
25
29
bool resolveExternal )
26
30
{
@@ -35,12 +39,20 @@ public static void ProcessOpenApiDocument(
35
39
36
40
var result = new OpenApiStreamReader ( new OpenApiReaderSettings
37
41
{
38
- ReferenceResolution = resolveExternal == true ? ReferenceResolutionSetting . ResolveAllReferences : ReferenceResolutionSetting . ResolveLocalReferences ,
42
+ ReferenceResolution = resolveExternal ? ReferenceResolutionSetting . ResolveAllReferences : ReferenceResolutionSetting . ResolveLocalReferences ,
39
43
RuleSet = ValidationRuleSet . GetDefaultRuleSet ( )
40
44
}
41
45
) . ReadAsync ( stream ) . GetAwaiter ( ) . GetResult ( ) ;
42
46
43
47
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
+
44
56
var context = result . OpenApiDiagnostic ;
45
57
46
58
if ( context . Errors . Count != 0 )
0 commit comments