Skip to content

Commit 528e742

Browse files
committed
Fix filter logging
Add handling of x- filter
1 parent 7237a4a commit 528e742

File tree

10 files changed

+787
-100
lines changed

10 files changed

+787
-100
lines changed

docs/customization.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,9 @@ The `FILTER` parameter allows selective inclusion of API operations based on spe
669669
- **`path`**
670670
When set to `path:/v1|/v2`, operations on paths **not** starting with `/v1` or with `/v2` will be marked as internal (`x-internal: true`), and will not be generated.
671671
672+
- **`x-`**
673+
When set to `x-role:admin|superuser`, operations or parameters having vendorExtension `x-role` with a value **not** in [`admin`,`superuser`] will be marked as internal (`x-internal: true`), and will not be generated.
674+
672675
### Example Usage
673676
674677
```sh

modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java

Lines changed: 182 additions & 99 deletions
Large diffs are not rendered by default.

modules/openapi-generator/src/test/java/org/openapitools/codegen/OpenAPINormalizerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -702,7 +702,7 @@ public void testFilterParsing() {
702702
// extra spaces are trimmed
703703
filter = parseFilter("method:\n\t\t\t\tget");
704704
assertTrue(filter.hasFilter());
705-
assertEquals(filter.methodFilters, Set.of("get"));
705+
assertEquals(filter.methodFilters, Set.of(PathItem.HttpMethod.GET));
706706
assertTrue(filter.operationIdFilters.isEmpty());
707707
assertTrue(filter.tagFilters.isEmpty());
708708
assertTrue(filter.pathStartingWithFilters.isEmpty());

modules/openapi-generator/src/test/resources/openapi_normalizer/petstore.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ paths:
6969
type: integer
7070
- $ref: '#/components/parameters/offset'
7171
- name: status
72+
x-role: admin
7273
in: query
7374
description: Status values that need to be considered for filter
7475
required: true
@@ -100,6 +101,7 @@ paths:
100101
tags:
101102
- pet
102103
operationId: findPetsByTags
104+
x-role: guest
103105
parameters:
104106
- name: tags
105107
in: query
@@ -151,6 +153,7 @@ paths:
151153
tags:
152154
- pet
153155
operationId: updatePetWithForm
156+
x-role: admin
154157
parameters:
155158
- name: petId
156159
in: path
@@ -180,6 +183,7 @@ paths:
180183
summary: Deletes a pet
181184
description: ''
182185
operationId: deletePet
186+
x-role: admin
183187
parameters:
184188
- name: api_key
185189
in: header

0 commit comments

Comments
 (0)