Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion src/subcommands/path.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { dirname, relative } from 'path';
import { dirname, join, relative } from 'path';
import { CliArg, CliExit, GlobalOptions, SubcommandGenerator, buildHelpFromOpts, parseCliArgs } from '../cli';
import { GenerationTask, logger } from '../generate';
import { argname, camelCase, capitalize, dashCase, description, getRootRef, singular } from '../lib';
Expand Down Expand Up @@ -192,6 +192,11 @@ export const getPathTasks = (options: PathGenerationOptions): GenerationTask[] =
rootRef,
);
const paramRefs = mapParamRefs(otherPathParams, dirname(filename), rootRef);
const relativeParams = relative(`src/paths/${normalizedBaseFilepath}`, 'src/components/parameters/');
paramRefs.push(
{ $ref: getRootRef(join(relativeParams, 'queryLimit.yml'), '#/components/parameters/QueryLimit', rootRef) },
{ $ref: getRootRef(join(relativeParams, 'queryOffset.yml'), '#/components/parameters/QueryOffset', rootRef) },
);

tasks.push(
{
Expand Down
15 changes: 15 additions & 0 deletions test/e2e.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,9 @@ describe('e2e.spec.ts', async () => {
trimIndent`\
summary: "List users"
description: "List users"
parameters:
- $ref: "#/components/parameters/QueryLimit"
- $ref: "#/components/parameters/QueryOffset"
responses:
"200":
description: "Success"
Expand Down Expand Up @@ -444,6 +447,8 @@ describe('e2e.spec.ts', async () => {
description: "List photos"
parameters:
- $ref: "#/components/parameters/PathUserId"
- $ref: "#/components/parameters/QueryLimit"
- $ref: "#/components/parameters/QueryOffset"
responses:
"200":
description: "Success"
Expand Down Expand Up @@ -606,6 +611,9 @@ describe('e2e.spec.ts', async () => {
trimIndent`\
summary: "List users"
description: "List users"
parameters:
- $ref: "#/components/parameters/QueryLimit"
- $ref: "#/components/parameters/QueryOffset"
responses:
"200":
description: "Success"
Expand Down Expand Up @@ -693,6 +701,8 @@ describe('e2e.spec.ts', async () => {
description: "List photos"
parameters:
- $ref: "#/components/parameters/PathUserId"
- $ref: "#/components/parameters/QueryLimit"
- $ref: "#/components/parameters/QueryOffset"
responses:
"200":
description: "Success"
Expand Down Expand Up @@ -1111,6 +1121,9 @@ describe('e2e.spec.ts', async () => {
trimIndent`\
summary: List users
description: List users
parameters:
- $ref: ../../components/parameters/queryLimit.yml
- $ref: ../../components/parameters/queryOffset.yml
responses:
"200":
description: Success
Expand Down Expand Up @@ -1203,6 +1216,8 @@ describe('e2e.spec.ts', async () => {
description: List photos
parameters:
- $ref: ../../../../components/parameters/pathUserId.yml
- $ref: ../../../../components/parameters/queryLimit.yml
- $ref: ../../../../components/parameters/queryOffset.yml
responses:
"200":
description: Success
Expand Down
3 changes: 3 additions & 0 deletions test/fixtures/e2e/gen1/src/paths/albums/get.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
summary: "List albums"
description: "List albums"
parameters:
- $ref: "../../components/parameters/queryLimit.yml"
- $ref: "../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ summary: "List songs"
description: "List songs"
parameters:
- $ref: "../../../../components/parameters/pathAlbumId.yml"
- $ref: "../../../../components/parameters/queryLimit.yml"
- $ref: "../../../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down
3 changes: 3 additions & 0 deletions test/fixtures/e2e/gen2/src/paths/users/get.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
summary: "List users"
description: "List users"
parameters:
- $ref: "../../components/parameters/queryLimit.yml"
- $ref: "../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ summary: "List addresses"
description: "List addresses"
parameters:
- $ref: "../../../../components/parameters/pathUserId.yml"
- $ref: "../../../../components/parameters/queryLimit.yml"
- $ref: "../../../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down
14 changes: 14 additions & 0 deletions test/fixtures/spec/album-api.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@
"summary": "List albums",
"description": "List albums",
"operationId": "albumsGet",
"parameters": [
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
"200": {
"description": "Success",
Expand Down Expand Up @@ -81,6 +89,12 @@
"parameters": [
{
"$ref": "#/components/parameters/PathAlbumId"
},
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
Expand Down
8 changes: 8 additions & 0 deletions test/fixtures/spec/custom-multi.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
"get": {
"summary": "from src/paths/users/get.yml",
"description": "pluralName users",
"parameters": [
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
"200": {
"description": "Success",
Expand Down
14 changes: 14 additions & 0 deletions test/fixtures/spec/custom.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
"get": {
"summary": "from src/paths/albums/get.yml",
"description": "pluralName albums",
"parameters": [
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
"200": {
"description": "Success",
Expand Down Expand Up @@ -46,6 +54,12 @@
"parameters": [
{
"$ref": "#/components/parameters/PathAlbumId"
},
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
Expand Down
6 changes: 6 additions & 0 deletions test/fixtures/spec/path-deep.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@
"parameters": [
{
"$ref": "#/components/parameters/PathUserId"
},
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
Expand Down
8 changes: 8 additions & 0 deletions test/fixtures/spec/path.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@
"summary": "List users",
"description": "List users",
"operationId": "usersGet",
"parameters": [
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
"200": {
"description": "Success",
Expand Down
14 changes: 14 additions & 0 deletions test/fixtures/spec/user-api.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,14 @@
"summary": "List users",
"description": "List users",
"operationId": "usersGet",
"parameters": [
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
"200": {
"description": "Success",
Expand Down Expand Up @@ -166,6 +174,12 @@
"parameters": [
{
"$ref": "#/components/parameters/PathUserId"
},
{
"$ref": "#/components/parameters/QueryLimit"
},
{
"$ref": "#/components/parameters/QueryOffset"
}
],
"responses": {
Expand Down
5 changes: 5 additions & 0 deletions test/path.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,9 @@ describe('path.spec.ts', async () => {
trimIndent`\
summary: "List users"
description: "List users"
parameters:
- $ref: "../../components/parameters/queryLimit.yml"
- $ref: "../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down Expand Up @@ -490,6 +493,8 @@ describe('path.spec.ts', async () => {
description: "List photos"
parameters:
- $ref: "../../../../components/parameters/pathUserId.yml"
- $ref: "../../../../components/parameters/queryLimit.yml"
- $ref: "../../../../components/parameters/queryOffset.yml"
responses:
"200":
description: "Success"
Expand Down