Skip to content

Commit b28cb33

Browse files
authored
Merge pull request #38 from acrontum/fix/37-list-missing-filter-params
fix/37-list-missing-filter-params
2 parents d1576e8 + 5734039 commit b28cb33

13 files changed

Lines changed: 100 additions & 1 deletion

File tree

src/subcommands/path.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { dirname, relative } from 'path';
1+
import { dirname, join, relative } from 'path';
22
import { CliArg, CliExit, GlobalOptions, SubcommandGenerator, buildHelpFromOpts, parseCliArgs } from '../cli';
33
import { GenerationTask, logger } from '../generate';
44
import { argname, camelCase, capitalize, dashCase, description, getRootRef, singular } from '../lib';
@@ -192,6 +192,11 @@ export const getPathTasks = (options: PathGenerationOptions): GenerationTask[] =
192192
rootRef,
193193
);
194194
const paramRefs = mapParamRefs(otherPathParams, dirname(filename), rootRef);
195+
const relativeParams = relative(`src/paths/${normalizedBaseFilepath}`, 'src/components/parameters/');
196+
paramRefs.push(
197+
{ $ref: getRootRef(join(relativeParams, 'queryLimit.yml'), '#/components/parameters/QueryLimit', rootRef) },
198+
{ $ref: getRootRef(join(relativeParams, 'queryOffset.yml'), '#/components/parameters/QueryOffset', rootRef) },
199+
);
195200

196201
tasks.push(
197202
{

test/e2e.spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,9 @@ describe('e2e.spec.ts', async () => {
357357
trimIndent`\
358358
summary: "List users"
359359
description: "List users"
360+
parameters:
361+
- $ref: "#/components/parameters/QueryLimit"
362+
- $ref: "#/components/parameters/QueryOffset"
360363
responses:
361364
"200":
362365
description: "Success"
@@ -444,6 +447,8 @@ describe('e2e.spec.ts', async () => {
444447
description: "List photos"
445448
parameters:
446449
- $ref: "#/components/parameters/PathUserId"
450+
- $ref: "#/components/parameters/QueryLimit"
451+
- $ref: "#/components/parameters/QueryOffset"
447452
responses:
448453
"200":
449454
description: "Success"
@@ -606,6 +611,9 @@ describe('e2e.spec.ts', async () => {
606611
trimIndent`\
607612
summary: "List users"
608613
description: "List users"
614+
parameters:
615+
- $ref: "#/components/parameters/QueryLimit"
616+
- $ref: "#/components/parameters/QueryOffset"
609617
responses:
610618
"200":
611619
description: "Success"
@@ -693,6 +701,8 @@ describe('e2e.spec.ts', async () => {
693701
description: "List photos"
694702
parameters:
695703
- $ref: "#/components/parameters/PathUserId"
704+
- $ref: "#/components/parameters/QueryLimit"
705+
- $ref: "#/components/parameters/QueryOffset"
696706
responses:
697707
"200":
698708
description: "Success"
@@ -1111,6 +1121,9 @@ describe('e2e.spec.ts', async () => {
11111121
trimIndent`\
11121122
summary: List users
11131123
description: List users
1124+
parameters:
1125+
- $ref: ../../components/parameters/queryLimit.yml
1126+
- $ref: ../../components/parameters/queryOffset.yml
11141127
responses:
11151128
"200":
11161129
description: Success
@@ -1203,6 +1216,8 @@ describe('e2e.spec.ts', async () => {
12031216
description: List photos
12041217
parameters:
12051218
- $ref: ../../../../components/parameters/pathUserId.yml
1219+
- $ref: ../../../../components/parameters/queryLimit.yml
1220+
- $ref: ../../../../components/parameters/queryOffset.yml
12061221
responses:
12071222
"200":
12081223
description: Success

test/fixtures/e2e/gen1/src/paths/albums/get.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
summary: "List albums"
22
description: "List albums"
3+
parameters:
4+
- $ref: "../../components/parameters/queryLimit.yml"
5+
- $ref: "../../components/parameters/queryOffset.yml"
36
responses:
47
"200":
58
description: "Success"

test/fixtures/e2e/gen1/src/paths/albums/{albumId}/songs/get.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ summary: "List songs"
22
description: "List songs"
33
parameters:
44
- $ref: "../../../../components/parameters/pathAlbumId.yml"
5+
- $ref: "../../../../components/parameters/queryLimit.yml"
6+
- $ref: "../../../../components/parameters/queryOffset.yml"
57
responses:
68
"200":
79
description: "Success"

test/fixtures/e2e/gen2/src/paths/users/get.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
summary: "List users"
22
description: "List users"
3+
parameters:
4+
- $ref: "../../components/parameters/queryLimit.yml"
5+
- $ref: "../../components/parameters/queryOffset.yml"
36
responses:
47
"200":
58
description: "Success"

test/fixtures/e2e/gen2/src/paths/users/{userId}/addresses/get.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ summary: "List addresses"
22
description: "List addresses"
33
parameters:
44
- $ref: "../../../../components/parameters/pathUserId.yml"
5+
- $ref: "../../../../components/parameters/queryLimit.yml"
6+
- $ref: "../../../../components/parameters/queryOffset.yml"
57
responses:
68
"200":
79
description: "Success"

test/fixtures/spec/album-api.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@
2727
"summary": "List albums",
2828
"description": "List albums",
2929
"operationId": "albumsGet",
30+
"parameters": [
31+
{
32+
"$ref": "#/components/parameters/QueryLimit"
33+
},
34+
{
35+
"$ref": "#/components/parameters/QueryOffset"
36+
}
37+
],
3038
"responses": {
3139
"200": {
3240
"description": "Success",
@@ -81,6 +89,12 @@
8189
"parameters": [
8290
{
8391
"$ref": "#/components/parameters/PathAlbumId"
92+
},
93+
{
94+
"$ref": "#/components/parameters/QueryLimit"
95+
},
96+
{
97+
"$ref": "#/components/parameters/QueryOffset"
8498
}
8599
],
86100
"responses": {

test/fixtures/spec/custom-multi.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
"get": {
66
"summary": "from src/paths/users/get.yml",
77
"description": "pluralName users",
8+
"parameters": [
9+
{
10+
"$ref": "#/components/parameters/QueryLimit"
11+
},
12+
{
13+
"$ref": "#/components/parameters/QueryOffset"
14+
}
15+
],
816
"responses": {
917
"200": {
1018
"description": "Success",

test/fixtures/spec/custom.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
"get": {
66
"summary": "from src/paths/albums/get.yml",
77
"description": "pluralName albums",
8+
"parameters": [
9+
{
10+
"$ref": "#/components/parameters/QueryLimit"
11+
},
12+
{
13+
"$ref": "#/components/parameters/QueryOffset"
14+
}
15+
],
816
"responses": {
917
"200": {
1018
"description": "Success",
@@ -46,6 +54,12 @@
4654
"parameters": [
4755
{
4856
"$ref": "#/components/parameters/PathAlbumId"
57+
},
58+
{
59+
"$ref": "#/components/parameters/QueryLimit"
60+
},
61+
{
62+
"$ref": "#/components/parameters/QueryOffset"
4963
}
5064
],
5165
"responses": {

test/fixtures/spec/path-deep.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
"parameters": [
3131
{
3232
"$ref": "#/components/parameters/PathUserId"
33+
},
34+
{
35+
"$ref": "#/components/parameters/QueryLimit"
36+
},
37+
{
38+
"$ref": "#/components/parameters/QueryOffset"
3339
}
3440
],
3541
"responses": {

0 commit comments

Comments
 (0)