Spaces:
Running
Running
Commit
·
5d056c4
1
Parent(s):
7f5c5dd
update: swagger doc
Browse files- package-lock.json +23 -0
- src/lib/swagger/swagger.ts +3 -3
- src/routes.ts +18 -1
package-lock.json
CHANGED
|
@@ -929,6 +929,29 @@
|
|
| 929 |
"node": ">= 0.8"
|
| 930 |
}
|
| 931 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 932 |
"node_modules/escape-html": {
|
| 933 |
"version": "1.0.3",
|
| 934 |
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
|
|
|
| 929 |
"node": ">= 0.8"
|
| 930 |
}
|
| 931 |
},
|
| 932 |
+
"node_modules/encoding": {
|
| 933 |
+
"version": "0.1.13",
|
| 934 |
+
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
|
| 935 |
+
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
| 936 |
+
"optional": true,
|
| 937 |
+
"peer": true,
|
| 938 |
+
"dependencies": {
|
| 939 |
+
"iconv-lite": "^0.6.2"
|
| 940 |
+
}
|
| 941 |
+
},
|
| 942 |
+
"node_modules/encoding/node_modules/iconv-lite": {
|
| 943 |
+
"version": "0.6.3",
|
| 944 |
+
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
| 945 |
+
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
|
| 946 |
+
"optional": true,
|
| 947 |
+
"peer": true,
|
| 948 |
+
"dependencies": {
|
| 949 |
+
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
| 950 |
+
},
|
| 951 |
+
"engines": {
|
| 952 |
+
"node": ">=0.10.0"
|
| 953 |
+
}
|
| 954 |
+
},
|
| 955 |
"node_modules/escape-html": {
|
| 956 |
"version": "1.0.3",
|
| 957 |
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
src/lib/swagger/swagger.ts
CHANGED
|
@@ -178,10 +178,9 @@ class SwaggerRegistry {
|
|
| 178 |
const document = {
|
| 179 |
openapi: "3.0.0",
|
| 180 |
info: {
|
| 181 |
-
title: "
|
| 182 |
version: "1.0.0",
|
| 183 |
-
description:
|
| 184 |
-
"API documentation using Swagger and Express with TypeScript.",
|
| 185 |
},
|
| 186 |
servers: [
|
| 187 |
{
|
|
@@ -205,6 +204,7 @@ class SwaggerRegistry {
|
|
| 205 |
},
|
| 206 |
};
|
| 207 |
|
|
|
|
| 208 |
return document;
|
| 209 |
}
|
| 210 |
}
|
|
|
|
| 178 |
const document = {
|
| 179 |
openapi: "3.0.0",
|
| 180 |
info: {
|
| 181 |
+
title: "Modarb API Documentation",
|
| 182 |
version: "1.0.0",
|
| 183 |
+
description: "Look! Docs!",
|
|
|
|
| 184 |
},
|
| 185 |
servers: [
|
| 186 |
{
|
|
|
|
| 204 |
},
|
| 205 |
};
|
| 206 |
|
| 207 |
+
console.log(JSON.stringify(document, null, 2));
|
| 208 |
return document;
|
| 209 |
}
|
| 210 |
}
|
src/routes.ts
CHANGED
|
@@ -49,7 +49,24 @@ const setCustomRoutes = async (router: Router) => {
|
|
| 49 |
router.use(
|
| 50 |
"/docs",
|
| 51 |
swaggerUi.serve,
|
| 52 |
-
swaggerUi.setup(swaggerRegistry.generateSwaggerDocument()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
);
|
| 54 |
|
| 55 |
// Invalid URL handler
|
|
|
|
| 49 |
router.use(
|
| 50 |
"/docs",
|
| 51 |
swaggerUi.serve,
|
| 52 |
+
swaggerUi.setup(swaggerRegistry.generateSwaggerDocument(), {
|
| 53 |
+
customCss: ".swagger-ui .topbar { display: none }",
|
| 54 |
+
customSiteTitle: "API Documentation",
|
| 55 |
+
swaggerOptions: {
|
| 56 |
+
layout: "StandaloneLayout",
|
| 57 |
+
deepLinking: true,
|
| 58 |
+
docExpansion: "none",
|
| 59 |
+
filter: true,
|
| 60 |
+
tagsSorter: "alpha",
|
| 61 |
+
operationsSorter: "alpha",
|
| 62 |
+
showMutatedRequest: true,
|
| 63 |
+
showMutatedResponse: true,
|
| 64 |
+
showRequestDuration: true,
|
| 65 |
+
persistAuthorization: true,
|
| 66 |
+
displayRequestDuration: true,
|
| 67 |
+
withCredentials: true,
|
| 68 |
+
},
|
| 69 |
+
})
|
| 70 |
);
|
| 71 |
|
| 72 |
// Invalid URL handler
|