Skip to content

Commit 0063174

Browse files
authored
Merge pull request #981 from tuanpt-0634/support-schema-enum-descriptions
Support enum descriptions in schema object
2 parents 296475b + 3eed555 commit 0063174

File tree

2 files changed

+87
-1
lines changed

2 files changed

+87
-1
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
openapi: 3.0.1
2+
info:
3+
title: Enum descriptions test
4+
description: Demonstrates of enum descriptions.
5+
version: 1.0.0
6+
tags:
7+
- name: enumDescriptions
8+
description: enumDescriptions tests
9+
paths:
10+
/filter-one-status:
11+
get:
12+
tags:
13+
- enumDescriptions
14+
summary: Get entities by status
15+
description: Get all entities or search by status
16+
parameters:
17+
- name: status
18+
in: query
19+
required: true
20+
schema:
21+
type: string
22+
enum:
23+
- active
24+
- inactive
25+
- pending
26+
x-enumDescriptions:
27+
active: The entity is active
28+
inactive: The entity is inactive
29+
pending: The entity is pending approval
30+
responses:
31+
"200":
32+
description: Successful operation
33+
content:
34+
application/json:
35+
schema:
36+
$ref: "#/components/schemas/EnumDescriptionsEntity"
37+
/filter-multiple-status:
38+
get:
39+
tags:
40+
- enumDescriptions
41+
summary: Get entities by multiple status
42+
description: Get all entities or search by multiple status
43+
parameters:
44+
- name: status
45+
in: query
46+
required: true
47+
schema:
48+
type: array
49+
items:
50+
type: string
51+
enum:
52+
- active
53+
- inactive
54+
- pending
55+
x-enumDescriptions:
56+
active: The entity is active
57+
inactive: The entity is inactive
58+
pending: The entity is pending approval
59+
responses:
60+
"200":
61+
description: Successful operation
62+
content:
63+
application/json:
64+
schema:
65+
$ref: "#/components/schemas/EnumDescriptionsEntity"
66+
components:
67+
schemas:
68+
EnumDescriptionsEntity:
69+
type: object
70+
properties:
71+
id:
72+
type: string
73+
name:
74+
type: string
75+
status:
76+
type: string
77+
enum:
78+
- active
79+
- inactive
80+
- pending
81+
x-enumDescriptions:
82+
active: The entity is active
83+
inactive: The entity is inactive
84+
pending: The entity is pending approval

packages/docusaurus-plugin-openapi-docs/src/markdown/createParamsDetails.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export function createParamsDetails({ parameters, type }: Props) {
4949
param: {
5050
...param,
5151
enumDescriptions: Object.entries(
52-
param?.schema?.items?.["x-enumDescriptions"] ?? {}
52+
param?.schema?.["x-enumDescriptions"] ??
53+
param?.schema?.items?.["x-enumDescriptions"] ??
54+
{}
5355
),
5456
},
5557
});

0 commit comments

Comments
 (0)