create-zuplo-api 6.51.74 → 6.51.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates/default-zudoku/config/policies.json +11 -1
- package/dist/templates/default-zudoku/config/routes.oas.json +285 -1
- package/dist/templates/default-zudoku/docs/pages/banner.jpg +0 -0
- package/dist/templates/default-zudoku/docs/pages/introduction.mdx +118 -7
- package/dist/templates/default-zudoku/docs/tsconfig.json +2 -1
- package/dist/templates/default-zudoku/docs/zudoku.config.tsx +82 -0
- package/package.json +1 -1
- package/dist/templates/default-zudoku/docs/pages/example.mdx +0 -9
- package/dist/templates/default-zudoku/docs/zudoku.config.ts +0 -28
|
@@ -4,5 +4,289 @@
|
|
|
4
4
|
"version": "1.0.0",
|
|
5
5
|
"title": "My Zuplo API"
|
|
6
6
|
},
|
|
7
|
-
"paths": {
|
|
7
|
+
"paths": {
|
|
8
|
+
"/todos": {
|
|
9
|
+
"get": {
|
|
10
|
+
"summary": "Get all todos",
|
|
11
|
+
"description": "**Retrieves a complete list of all todo items** from the system. This endpoint returns all todos regardless of their completion status or owner, making it useful for displaying comprehensive todo lists or performing bulk operations.",
|
|
12
|
+
"responses": {
|
|
13
|
+
"200": {
|
|
14
|
+
"description": "A list of todos",
|
|
15
|
+
"content": {
|
|
16
|
+
"application/json": {
|
|
17
|
+
"schema": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"$ref": "#/components/schemas/Todo"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"examples": {
|
|
24
|
+
"mixed_todos": {
|
|
25
|
+
"summary": "A list of todos with different completion states",
|
|
26
|
+
"value": [
|
|
27
|
+
{
|
|
28
|
+
"id": 1,
|
|
29
|
+
"title": "Buy groceries",
|
|
30
|
+
"completed": false,
|
|
31
|
+
"userId": 123
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": 2,
|
|
35
|
+
"title": "Write documentation",
|
|
36
|
+
"completed": true,
|
|
37
|
+
"userId": 456
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": 3,
|
|
41
|
+
"title": "Review pull requests",
|
|
42
|
+
"completed": false,
|
|
43
|
+
"userId": 123
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"operationId": "1e0edd2a-8d53-4355-805f-54b7e5555725",
|
|
53
|
+
"x-zuplo-route": {
|
|
54
|
+
"corsPolicy": "none",
|
|
55
|
+
"handler": {
|
|
56
|
+
"export": "urlForwardHandler",
|
|
57
|
+
"module": "$import(@zuplo/runtime)",
|
|
58
|
+
"options": {
|
|
59
|
+
"baseUrl": "https://echo.zuplo.io"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"policies": {
|
|
63
|
+
"inbound": ["mock-api-inbound"]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"post": {
|
|
68
|
+
"summary": "Create a new todo",
|
|
69
|
+
"description": "**Creates a new todo item** with the provided details. The todo will be assigned a unique ID automatically and can include a title, completion status, and user association. This is the primary endpoint for adding new tasks to the system.",
|
|
70
|
+
"requestBody": {
|
|
71
|
+
"required": true,
|
|
72
|
+
"content": {
|
|
73
|
+
"application/json": {
|
|
74
|
+
"schema": {
|
|
75
|
+
"$ref": "#/components/schemas/CreateTodo"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"responses": {
|
|
81
|
+
"201": {
|
|
82
|
+
"description": "Todo created successfully",
|
|
83
|
+
"content": {
|
|
84
|
+
"application/json": {
|
|
85
|
+
"schema": {
|
|
86
|
+
"$ref": "#/components/schemas/Todo"
|
|
87
|
+
},
|
|
88
|
+
"examples": {
|
|
89
|
+
"new_todo": {
|
|
90
|
+
"summary": "A newly created todo",
|
|
91
|
+
"value": {
|
|
92
|
+
"id": 4,
|
|
93
|
+
"title": "Deploy application",
|
|
94
|
+
"completed": false,
|
|
95
|
+
"userId": 789
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"400": {
|
|
103
|
+
"description": "Invalid request body"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"operationId": "55ee860b-fe7e-4d66-a228-bb5320c3305d",
|
|
107
|
+
"x-zuplo-route": {
|
|
108
|
+
"corsPolicy": "none",
|
|
109
|
+
"handler": {
|
|
110
|
+
"export": "urlForwardHandler",
|
|
111
|
+
"module": "$import(@zuplo/runtime)",
|
|
112
|
+
"options": {
|
|
113
|
+
"baseUrl": "https://echo.zuplo.io"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"policies": {
|
|
117
|
+
"inbound": ["mock-api-inbound"]
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"/todos/{id}": {
|
|
123
|
+
"put": {
|
|
124
|
+
"summary": "Update a todo",
|
|
125
|
+
"description": "**Updates an existing todo item** by its unique identifier. You can modify any combination of the todo's properties including title, completion status, and user assignment. All changes are applied atomically to ensure data consistency.",
|
|
126
|
+
"parameters": [
|
|
127
|
+
{
|
|
128
|
+
"name": "id",
|
|
129
|
+
"in": "path",
|
|
130
|
+
"required": true,
|
|
131
|
+
"schema": {
|
|
132
|
+
"type": "integer"
|
|
133
|
+
},
|
|
134
|
+
"description": "The todo ID"
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"requestBody": {
|
|
138
|
+
"required": true,
|
|
139
|
+
"content": {
|
|
140
|
+
"application/json": {
|
|
141
|
+
"schema": {
|
|
142
|
+
"$ref": "#/components/schemas/UpdateTodo"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"responses": {
|
|
148
|
+
"200": {
|
|
149
|
+
"description": "Todo updated successfully",
|
|
150
|
+
"content": {
|
|
151
|
+
"application/json": {
|
|
152
|
+
"schema": {
|
|
153
|
+
"$ref": "#/components/schemas/Todo"
|
|
154
|
+
},
|
|
155
|
+
"examples": {
|
|
156
|
+
"updated_todo": {
|
|
157
|
+
"summary": "A todo that has been updated",
|
|
158
|
+
"value": {
|
|
159
|
+
"id": 1,
|
|
160
|
+
"title": "Buy groceries and cook dinner",
|
|
161
|
+
"completed": true,
|
|
162
|
+
"userId": 123
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"400": {
|
|
170
|
+
"description": "Invalid request body"
|
|
171
|
+
},
|
|
172
|
+
"404": {
|
|
173
|
+
"description": "Todo not found"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"operationId": "4569a607-338e-4d66-80f7-17f911778b1d",
|
|
177
|
+
"x-zuplo-route": {
|
|
178
|
+
"corsPolicy": "none",
|
|
179
|
+
"handler": {
|
|
180
|
+
"export": "urlForwardHandler",
|
|
181
|
+
"module": "$import(@zuplo/runtime)",
|
|
182
|
+
"options": {
|
|
183
|
+
"baseUrl": "https://echo.zuplo.io"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"policies": {
|
|
187
|
+
"inbound": ["mock-api-inbound"]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"delete": {
|
|
192
|
+
"summary": "Delete a todo",
|
|
193
|
+
"description": "**Permanently removes a todo item** from the system using its unique identifier. This operation cannot be undone, so use with caution. The endpoint will return a 404 error if the specified todo does not exist.",
|
|
194
|
+
"parameters": [
|
|
195
|
+
{
|
|
196
|
+
"name": "id",
|
|
197
|
+
"in": "path",
|
|
198
|
+
"required": true,
|
|
199
|
+
"schema": {
|
|
200
|
+
"type": "integer"
|
|
201
|
+
},
|
|
202
|
+
"description": "The todo ID"
|
|
203
|
+
}
|
|
204
|
+
],
|
|
205
|
+
"responses": {
|
|
206
|
+
"204": {
|
|
207
|
+
"description": "Todo deleted successfully"
|
|
208
|
+
},
|
|
209
|
+
"404": {
|
|
210
|
+
"description": "Todo not found"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"operationId": "888a8d15-aa30-45fe-8957-b07a8bcdd7ca",
|
|
214
|
+
"x-zuplo-route": {
|
|
215
|
+
"corsPolicy": "none",
|
|
216
|
+
"handler": {
|
|
217
|
+
"export": "urlForwardHandler",
|
|
218
|
+
"module": "$import(@zuplo/runtime)",
|
|
219
|
+
"options": {
|
|
220
|
+
"baseUrl": "https://echo.zuplo.io"
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"policies": {
|
|
224
|
+
"inbound": ["mock-api-inbound"]
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"components": {
|
|
231
|
+
"schemas": {
|
|
232
|
+
"Todo": {
|
|
233
|
+
"type": "object",
|
|
234
|
+
"properties": {
|
|
235
|
+
"id": {
|
|
236
|
+
"type": "integer",
|
|
237
|
+
"description": "The todo ID"
|
|
238
|
+
},
|
|
239
|
+
"title": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"description": "The todo title"
|
|
242
|
+
},
|
|
243
|
+
"completed": {
|
|
244
|
+
"type": "boolean",
|
|
245
|
+
"description": "Whether the todo is completed"
|
|
246
|
+
},
|
|
247
|
+
"userId": {
|
|
248
|
+
"type": "integer",
|
|
249
|
+
"description": "The user ID who owns the todo"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"required": ["id", "title", "completed", "userId"]
|
|
253
|
+
},
|
|
254
|
+
"CreateTodo": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"properties": {
|
|
257
|
+
"title": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"description": "The todo title"
|
|
260
|
+
},
|
|
261
|
+
"completed": {
|
|
262
|
+
"type": "boolean",
|
|
263
|
+
"description": "Whether the todo is completed",
|
|
264
|
+
"default": false
|
|
265
|
+
},
|
|
266
|
+
"userId": {
|
|
267
|
+
"type": "integer",
|
|
268
|
+
"description": "The user ID who owns the todo"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"required": ["title", "userId"]
|
|
272
|
+
},
|
|
273
|
+
"UpdateTodo": {
|
|
274
|
+
"type": "object",
|
|
275
|
+
"properties": {
|
|
276
|
+
"title": {
|
|
277
|
+
"type": "string",
|
|
278
|
+
"description": "The todo title"
|
|
279
|
+
},
|
|
280
|
+
"completed": {
|
|
281
|
+
"type": "boolean",
|
|
282
|
+
"description": "Whether the todo is completed"
|
|
283
|
+
},
|
|
284
|
+
"userId": {
|
|
285
|
+
"type": "integer",
|
|
286
|
+
"description": "The user ID who owns the todo"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
8
292
|
}
|
|
Binary file
|
|
@@ -1,15 +1,126 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
description: Welcome to your new Zudoku documentation site.
|
|
3
|
+
sidebar_label: My Developer Portal
|
|
4
|
+
sidebar_icon: panel-top
|
|
5
|
+
category: ""
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
<img src="./banner.jpg" />
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
# Welcome to Better API Documentation
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
Welcome to your new developer portal that makes sense. 🎉
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
This is your new developer portal, built with ["Zudoku by Zuplo"](https://github.com/zuplo/zudoku) and designed to elevate your API documentation experience. We've streamlined the setup process so you can focus on what matters most: creating exceptional developer experiences.
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Think of this as your API's professional showcase—presenting your endpoints and documentation in the best possible light. Whether you're launching innovative new features or improving existing services, this portal provides the foundation for clear, accessible, and engaging developer documentation.
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
Let's explore what we've configured for you and how you can customize it to perfectly match your needs.
|
|
19
|
+
|
|
20
|
+
## Let's Review Your Configuration
|
|
21
|
+
|
|
22
|
+
The developer portal is configured in the `zudoku.config.tsx` file. We've created a starter configuration to get you up and running quickly.
|
|
23
|
+
Let's walk you through everything we've set up so you know how to customize it:
|
|
24
|
+
|
|
25
|
+
<Stepper>
|
|
26
|
+
|
|
27
|
+
1. **Change the Basics**
|
|
28
|
+
|
|
29
|
+
First, you may want to change the title and banner we've put in place. These are part of the `page` section in your configuration.
|
|
30
|
+
|
|
31
|
+
:::tip
|
|
32
|
+
**Have a company logo?** Learn how you can [add your logo](https://zuplo.com/docs/dev-portal/zudoku/configuration/page#logo) in our documentation.
|
|
33
|
+
:::
|
|
34
|
+
|
|
35
|
+
```jsx
|
|
36
|
+
{
|
|
37
|
+
// ...
|
|
38
|
+
"page": {
|
|
39
|
+
"pageTitle": "My Developer Portal",
|
|
40
|
+
"banner": {
|
|
41
|
+
"message": (
|
|
42
|
+
<div className="w-full text-center">
|
|
43
|
+
<strong>Congrats!</strong> 🙌 You just created your first developer
|
|
44
|
+
portal.
|
|
45
|
+
</div>
|
|
46
|
+
),
|
|
47
|
+
"color": "info",
|
|
48
|
+
"dismissible": true,
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
1. **API Reference**
|
|
54
|
+
|
|
55
|
+
Your [API Reference](/api) is generated from your Zuplo OpenAPI file in `../routes.oas.json`—you can add other APIs whenever you need them.
|
|
56
|
+
Improve your documentation by adding more details to the OpenAPI file.
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
// ...
|
|
61
|
+
"apis": {
|
|
62
|
+
"type": "file",
|
|
63
|
+
"input": "../config/routes.oas.json",
|
|
64
|
+
"navigationId": "api"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
1. **Authentication & Login**
|
|
70
|
+
|
|
71
|
+
We've configured your project to use [Auth0](https://auth0.com) as an authentication provider with our demo account. We support many authentication providers—check the [documentation on how to configure](https://zuplo.com/docs/dev-portal/zudoku/configuration/authentication#authentication-providers) each one.
|
|
72
|
+
|
|
73
|
+
:::caution
|
|
74
|
+
You must change the authentication provider before taking this to **production**. Using our demo provider is not secure for production use.
|
|
75
|
+
:::
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
// ...
|
|
80
|
+
"authentication": {
|
|
81
|
+
"type": "auth0",
|
|
82
|
+
"domain": "auth.zuplo.io",
|
|
83
|
+
"clientId": "kWQs12Q9Og4w6zzI82qJSa3klN1sMtvz",
|
|
84
|
+
"audience": "https://api.example.com/"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
1. **API Keys**
|
|
90
|
+
|
|
91
|
+
We've enabled API Keys on your developer portal. This connects to the API Key Service in Zuplo.
|
|
92
|
+
To add API Keys for your users, create a consumer with the matching email address in **Services => API Key Service** in Zuplo, or [create a Consumer using the Zuplo API](https://zuplo.com/docs/api/api-keys-consumers#creates-a-consumer).
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
// ...
|
|
97
|
+
"apiKeys": {
|
|
98
|
+
"enabled": true
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
</Stepper>
|
|
104
|
+
|
|
105
|
+
## Make It Yours
|
|
106
|
+
|
|
107
|
+
You can customize the look and feel of your documentation site by modifying the `theme` section in `zudoku.config.tsx`. Why not try changing the primary color of your site?
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
// ...
|
|
112
|
+
"theme": {
|
|
113
|
+
"light": {
|
|
114
|
+
"primary": "316 100% 50%",
|
|
115
|
+
"primaryForeground": "360 100% 100%"
|
|
116
|
+
},
|
|
117
|
+
"dark": {
|
|
118
|
+
"primary": "316 100% 50%",
|
|
119
|
+
"primaryForeground": "360 100% 100%"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// ...
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
We have extensive customization options available. From colors to fonts and borders, find the [full list of options](https://zuplo.com/docs/dev-portal/zudoku/customization/colors-theme) in our documentation.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { ZudokuConfig } from "zudoku";
|
|
2
|
+
|
|
3
|
+
const config: ZudokuConfig = {
|
|
4
|
+
page: {
|
|
5
|
+
pageTitle: "My Developer Portal",
|
|
6
|
+
banner: {
|
|
7
|
+
message: (
|
|
8
|
+
<div className="w-full text-center">
|
|
9
|
+
<strong>Congrats!</strong> 🙌 You just created your first developer
|
|
10
|
+
portal.
|
|
11
|
+
</div>
|
|
12
|
+
),
|
|
13
|
+
color: "info",
|
|
14
|
+
dismissible: true,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
basePath: "/docs",
|
|
18
|
+
topNavigation: [
|
|
19
|
+
{ id: "docs", label: "Documentation" },
|
|
20
|
+
{ id: "api", label: "API Reference" },
|
|
21
|
+
],
|
|
22
|
+
sidebar: {
|
|
23
|
+
docs: [
|
|
24
|
+
{
|
|
25
|
+
type: "category",
|
|
26
|
+
label: "Getting Started",
|
|
27
|
+
icon: "sparkles",
|
|
28
|
+
items: [
|
|
29
|
+
"/introduction",
|
|
30
|
+
{
|
|
31
|
+
type: "link",
|
|
32
|
+
icon: "folder-cog",
|
|
33
|
+
badge: {
|
|
34
|
+
label: "New",
|
|
35
|
+
color: "purple",
|
|
36
|
+
},
|
|
37
|
+
label: "API Reference",
|
|
38
|
+
href: "/api",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: "category",
|
|
44
|
+
label: "Useful Links",
|
|
45
|
+
collapsible: false,
|
|
46
|
+
icon: "link",
|
|
47
|
+
items: [
|
|
48
|
+
{
|
|
49
|
+
type: "link",
|
|
50
|
+
label: "Zuplo Docs",
|
|
51
|
+
href: "https://zuplo.com/docs/dev-portal/introduction",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: "link",
|
|
55
|
+
label: "Developer Portal Docs",
|
|
56
|
+
href: "https://zuplo.com/docs/dev-portal/introduction",
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
redirects: [{ from: "/", to: "/introduction" }],
|
|
63
|
+
apis: {
|
|
64
|
+
type: "file",
|
|
65
|
+
input: "../config/routes.oas.json",
|
|
66
|
+
navigationId: "api",
|
|
67
|
+
},
|
|
68
|
+
docs: {
|
|
69
|
+
files: "/pages/**/*.mdx",
|
|
70
|
+
},
|
|
71
|
+
authentication: {
|
|
72
|
+
type: "auth0",
|
|
73
|
+
domain: "auth.zuplo.io",
|
|
74
|
+
clientId: "v0cOpST3pX6NIs1VGLVvNjaN3mSBomKk",
|
|
75
|
+
audience: "https://api.example.com/",
|
|
76
|
+
},
|
|
77
|
+
apiKeys: {
|
|
78
|
+
enabled: true,
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export default config;
|
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { ZudokuConfig } from "zudoku";
|
|
2
|
-
|
|
3
|
-
const config: ZudokuConfig = {
|
|
4
|
-
topNavigation: [
|
|
5
|
-
{ id: "docs", label: "Documentation" },
|
|
6
|
-
{ id: "api", label: "API Reference" },
|
|
7
|
-
],
|
|
8
|
-
sidebar: {
|
|
9
|
-
docs: [
|
|
10
|
-
{
|
|
11
|
-
type: "category",
|
|
12
|
-
label: "Overview",
|
|
13
|
-
items: ["/introduction", "/example"],
|
|
14
|
-
},
|
|
15
|
-
],
|
|
16
|
-
},
|
|
17
|
-
redirects: [{ from: "/", to: "/introduction" }],
|
|
18
|
-
apis: {
|
|
19
|
-
type: "file",
|
|
20
|
-
input: "../config/routes.oas.json",
|
|
21
|
-
navigationId: "api",
|
|
22
|
-
},
|
|
23
|
-
docs: {
|
|
24
|
-
files: "/pages/**/*.{md,mdx}",
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default config;
|