Skip to content

Commit

Permalink
Merge pull request #165 from vosmol/feat/combine-defined-parameters-w…
Browse files Browse the repository at this point in the history
…ith-request

feat: combine config.parameters with generated from config.request
  • Loading branch information
AGalabov committed Aug 5, 2023
2 parents 43cca04 + 428c0ab commit e95145a
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
30 changes: 30 additions & 0 deletions spec/routes/parameters.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,36 @@ describe('parameters', () => {
});
});

it('combines parameter definitions', () => {
const { parameters } = generateDataForRoute({
request: {
query: z.object({ request_queryId: z.string() }),
params: z.object({ request_paramsId: z.string() }),
},
parameters: [
{ in: 'query', name: 'params_queryId' },
{ in: 'path', name: 'params_pathId' },
],
});

expect(parameters).toEqual([
{ in: 'query', name: 'params_queryId' },
{ in: 'path', name: 'params_pathId' },
{
schema: { type: 'string' },
required: true,
name: 'request_paramsId',
in: 'path',
},
{
schema: { type: 'string' },
required: true,
name: 'request_queryId',
in: 'query',
},
]);
});

it('generates required based on inner schema', () => {
const { parameters } = generateDataForRoute({
request: {
Expand Down
6 changes: 5 additions & 1 deletion src/openapi-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,11 @@ export class OpenAPIGenerator {
[method]: {
...pathItemConfig,

...(parameters.length > 0 ? { parameters } : {}),
...(parameters.length > 0
? {
parameters: [...(pathItemConfig.parameters || []), ...parameters],
}
: {}),

...(requestBody ? { requestBody } : {}),

Expand Down

0 comments on commit e95145a

Please sign in to comment.