1- // Copyright (c) Microsoft Corporation. All rights reserved.
1+ // Copyright (c) Microsoft Corporation. All rights reserved.
22// Licensed under the MIT license.
33
44using System ;
99namespace Microsoft . OpenApi . Services
1010{
1111 /// <summary>
12- ///
12+ /// A service that slices an OpenApiDocument into a subset document
1313 /// </summary>
14- public class OpenApiFilterService
14+ public static class OpenApiFilterService
1515 {
1616 public static readonly string GraphAuthorizationUrl = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize" ;
1717 public static readonly string GraphTokenUrl = "https://login.microsoftonline.com/common/oauth2/v2.0/token" ;
1818 public static readonly string GraphUrl = "https://graph.microsoft.com/{0}/" ;
1919 public const string GraphVersion_V1 = "v1.0" ;
2020
21-
22- public OpenApiDocument CreateSubsetOpenApiDocument ( string operationIds , OpenApiDocument source , string title )
23- {
24- var predicate = CreatePredicate ( operationIds ) ;
25-
26- var subsetOpenApiDocument = CreateFilteredDocument ( source , title , GraphVersion_V1 , predicate ) ;
27-
28- return subsetOpenApiDocument ;
29- }
30-
31- public Func < OpenApiOperation , bool > CreatePredicate ( string operationIds )
21+ /// <summary>
22+ /// Create predicate function based on passed query parameters
23+ /// </summary>
24+ /// <param name="operationIds">Comma delimited list of operationIds or * for all operations.</param>
25+ /// <returns>A predicate.</returns>
26+ public static Func < OpenApiOperation , bool > CreatePredicate ( string operationIds )
3227 {
3328 string predicateSource = null ;
3429
@@ -55,14 +50,15 @@ public Func<OpenApiOperation, bool> CreatePredicate(string operationIds)
5550
5651 return predicate ;
5752 }
53+
5854 /// <summary>
59- ///
55+ /// Create partial OpenAPI document based on the provided predicate.
6056 /// </summary>
61- /// <param name="source"></param>
62- /// <param name="title"></param>
63- /// <param name="graphVersion"></param>
64- /// <param name="predicate"></param>
65- /// <returns></returns>
57+ /// <param name="source">The target <see cref="OpenApiDocument"/>. </param>
58+ /// <param name="title">The OpenAPI document title. </param>
59+ /// <param name="graphVersion">Version of the target Microsoft Graph API. </param>
60+ /// <param name="predicate">A predicate function. </param>
61+ /// <returns>A partial OpenAPI document. </returns>
6662 public static OpenApiDocument CreateFilteredDocument ( OpenApiDocument source , string title , string graphVersion , Func < OpenApiOperation , bool > predicate )
6763 {
6864 var subset = new OpenApiDocument
0 commit comments