experimental: api doc
This commit is contained in:
parent
25a20c4ad2
commit
cef53c0db9
3 changed files with 47 additions and 35 deletions
|
|
@ -21,7 +21,6 @@
|
|||
"@types/cors": "^2.8.17",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/node": "^20.16.13",
|
||||
"@types/swagger-ui-express": "^4.1.6",
|
||||
"nodemon": "^3.1.7",
|
||||
"prettier": "^3.3.3",
|
||||
"prisma": "^5.21.1",
|
||||
|
|
@ -33,6 +32,7 @@
|
|||
"@elastic/elasticsearch": "^8.15.1",
|
||||
"@fast-csv/parse": "^5.0.0",
|
||||
"@prisma/client": "^5.21.1",
|
||||
"@scalar/express-api-reference": "^0.4.165",
|
||||
"@tsoa/runtime": "^6.5.1",
|
||||
"@types/morgan": "^1.9.9",
|
||||
"cors": "^2.8.5",
|
||||
|
|
@ -44,7 +44,6 @@
|
|||
"morgan": "^1.10.0",
|
||||
"prisma-extension-kysely": "^2.1.0",
|
||||
"promise.any": "^2.0.6",
|
||||
"swagger-ui-express": "^5.0.1",
|
||||
"tsoa": "^6.5.1",
|
||||
"winston": "^3.15.0",
|
||||
"winston-elasticsearch": "^0.19.0"
|
||||
|
|
|
|||
74
pnpm-lock.yaml
generated
74
pnpm-lock.yaml
generated
|
|
@ -17,6 +17,9 @@ importers:
|
|||
'@prisma/client':
|
||||
specifier: ^5.21.1
|
||||
version: 5.21.1(prisma@5.21.1)
|
||||
'@scalar/express-api-reference':
|
||||
specifier: ^0.4.165
|
||||
version: 0.4.165
|
||||
'@tsoa/runtime':
|
||||
specifier: ^6.5.1
|
||||
version: 6.5.1
|
||||
|
|
@ -50,9 +53,6 @@ importers:
|
|||
promise.any:
|
||||
specifier: ^2.0.6
|
||||
version: 2.0.6
|
||||
swagger-ui-express:
|
||||
specifier: ^5.0.1
|
||||
version: 5.0.1(express@4.21.1)
|
||||
tsoa:
|
||||
specifier: ^6.5.1
|
||||
version: 6.5.1
|
||||
|
|
@ -72,9 +72,6 @@ importers:
|
|||
'@types/node':
|
||||
specifier: ^20.16.13
|
||||
version: 20.16.13
|
||||
'@types/swagger-ui-express':
|
||||
specifier: ^4.1.6
|
||||
version: 4.1.6
|
||||
nodemon:
|
||||
specifier: ^3.1.7
|
||||
version: 3.1.7
|
||||
|
|
@ -354,6 +351,18 @@ packages:
|
|||
'@prisma/prisma-schema-wasm@5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59':
|
||||
resolution: {integrity: sha512-+zUI7NQDXfcNnU8HgrAj4jRMv8yRfITLzcfv0Urf0adKimM+hkkVG4rX38i9zWMlxekkEBw7NLFx3Gxxy8d3iQ==}
|
||||
|
||||
'@scalar/express-api-reference@0.4.165':
|
||||
resolution: {integrity: sha512-Bpam2htoq6Oq+vlW05qlEyw1libyoA2i44DwN+1gHH9s6toydEIkFdlAS00gor+3WwN+ogdBeAyfJDZlqUj7Bw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@scalar/openapi-types@0.1.4':
|
||||
resolution: {integrity: sha512-+wRXgmqzgDnj8Dxqf4OOPMPo4or/LRd1Bsy4pnrIW0yBt8rKSdtBb+jH/aRnhgDDmKVjWxJ+KFk7WlSKvZwNTw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@scalar/types@0.0.17':
|
||||
resolution: {integrity: sha512-wUrvNnYFMULsHENX/9TP3oyECRTtZsP06mOZU+RlWg9sRtzWVTjlBCahkgUETL93J+Bz2RLFSKVgPyNN4fpIpA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@tsconfig/node10@1.0.11':
|
||||
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
|
||||
|
||||
|
|
@ -457,12 +466,12 @@ packages:
|
|||
'@types/serve-static@1.15.5':
|
||||
resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
|
||||
|
||||
'@types/swagger-ui-express@4.1.6':
|
||||
resolution: {integrity: sha512-UVSiGYXa5IzdJJG3hrc86e8KdZWLYxyEsVoUI4iPXc7CO4VZ3AfNP8d/8+hrDRIqz+HAaSMtZSqAsF3Nq2X/Dg==}
|
||||
|
||||
'@types/triple-beam@1.3.5':
|
||||
resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
|
||||
|
||||
'@unhead/schema@1.11.10':
|
||||
resolution: {integrity: sha512-lXh7cm5XtFaw3gc+ZVXTSfIHXiBpAywbjtEiOsz5TR4GxOjj2rtfOAl4C3Difk1yupP6L2otYmOZdn/i8EXSJg==}
|
||||
|
||||
'@zxing/text-encoding@0.9.0':
|
||||
resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
|
||||
|
||||
|
|
@ -1173,6 +1182,9 @@ packages:
|
|||
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
hookable@5.5.3:
|
||||
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
|
||||
|
||||
hosted-git-info@2.8.9:
|
||||
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
|
||||
|
||||
|
|
@ -2215,15 +2227,6 @@ packages:
|
|||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
swagger-ui-dist@5.13.0:
|
||||
resolution: {integrity: sha512-uaWhh6j18IIs5tOX0arvIBnVINAzpTXaQXkr7qAk8zoupegJVg0UU/5+S/FgsgVCnzVsJ9d7QLjIxkswEeTg0Q==}
|
||||
|
||||
swagger-ui-express@5.0.1:
|
||||
resolution: {integrity: sha512-SrNU3RiBGTLLmFU8GIJdOdanJTl4TOmT27tt3bWWHppqYmAZ6IDuEuBvMU6nZq0zLEe6b/1rACXCgLZqO6ZfrA==}
|
||||
engines: {node: '>= v0.10.32'}
|
||||
peerDependencies:
|
||||
express: '>=4.0.0 || >=5.0.0-beta'
|
||||
|
||||
tar-stream@2.2.0:
|
||||
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
|
@ -2501,6 +2504,9 @@ packages:
|
|||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
zhead@2.2.4:
|
||||
resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==}
|
||||
|
||||
zip-stream@4.1.1:
|
||||
resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==}
|
||||
engines: {node: '>= 10'}
|
||||
|
|
@ -2950,6 +2956,17 @@ snapshots:
|
|||
|
||||
'@prisma/prisma-schema-wasm@5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59': {}
|
||||
|
||||
'@scalar/express-api-reference@0.4.165':
|
||||
dependencies:
|
||||
'@scalar/types': 0.0.17
|
||||
|
||||
'@scalar/openapi-types@0.1.4': {}
|
||||
|
||||
'@scalar/types@0.0.17':
|
||||
dependencies:
|
||||
'@scalar/openapi-types': 0.1.4
|
||||
'@unhead/schema': 1.11.10
|
||||
|
||||
'@tsconfig/node10@1.0.11': {}
|
||||
|
||||
'@tsconfig/node12@1.0.11': {}
|
||||
|
|
@ -3095,13 +3112,13 @@ snapshots:
|
|||
'@types/mime': 4.0.0
|
||||
'@types/node': 20.16.13
|
||||
|
||||
'@types/swagger-ui-express@4.1.6':
|
||||
dependencies:
|
||||
'@types/express': 4.17.21
|
||||
'@types/serve-static': 1.15.5
|
||||
|
||||
'@types/triple-beam@1.3.5': {}
|
||||
|
||||
'@unhead/schema@1.11.10':
|
||||
dependencies:
|
||||
hookable: 5.5.3
|
||||
zhead: 2.2.4
|
||||
|
||||
'@zxing/text-encoding@0.9.0':
|
||||
optional: true
|
||||
|
||||
|
|
@ -4024,6 +4041,8 @@ snapshots:
|
|||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
|
||||
hookable@5.5.3: {}
|
||||
|
||||
hosted-git-info@2.8.9: {}
|
||||
|
||||
hpagent@1.2.0: {}
|
||||
|
|
@ -5081,13 +5100,6 @@ snapshots:
|
|||
|
||||
supports-preserve-symlinks-flag@1.0.0: {}
|
||||
|
||||
swagger-ui-dist@5.13.0: {}
|
||||
|
||||
swagger-ui-express@5.0.1(express@4.21.1):
|
||||
dependencies:
|
||||
express: 4.21.1
|
||||
swagger-ui-dist: 5.13.0
|
||||
|
||||
tar-stream@2.2.0:
|
||||
dependencies:
|
||||
bl: 4.1.0
|
||||
|
|
@ -5408,6 +5420,8 @@ snapshots:
|
|||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
zhead@2.2.4: {}
|
||||
|
||||
zip-stream@4.1.1:
|
||||
dependencies:
|
||||
archiver-utils: 3.0.4
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
import "dotenv/config";
|
||||
import cors from "cors";
|
||||
import express, { json, urlencoded } from "express";
|
||||
import swaggerUi from "swagger-ui-express";
|
||||
import swaggerDocument from "./swagger.json";
|
||||
import error from "./middlewares/error";
|
||||
import morgan from "./middlewares/morgan";
|
||||
import { RegisterRoutes } from "./routes";
|
||||
import { initThailandAreaDatabase } from "./utils/thailand-area";
|
||||
import { initFirstAdmin } from "./utils/database";
|
||||
import { apiReference } from "@scalar/express-api-reference";
|
||||
|
||||
const APP_HOST = process.env.APP_HOST || "0.0.0.0";
|
||||
const APP_PORT = +(process.env.APP_PORT || 3000);
|
||||
|
|
@ -31,7 +30,7 @@ const APP_PORT = +(process.env.APP_PORT || 3000);
|
|||
app.use(morgan);
|
||||
|
||||
app.use("/", express.static("static"));
|
||||
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
|
||||
app.use("/api-docs", apiReference({ theme: "kepler", spec: { url: "/api/openapi" } }));
|
||||
|
||||
RegisterRoutes(app);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue