Spaces:
Running
Running
Commit
·
721abf7
1
Parent(s):
6b93ce2
feat: init docs
Browse files- package-lock.json +390 -38
- package.json +2 -1
- src/lib/responses/json-response.ts +11 -11
- src/lib/responses/json-responses-params.d.ts +7 -4
- src/lib/responses/json-responses.d.ts +7 -4
- src/modules/console/common/models/admin.model.ts +0 -1
- src/modules/console/modules/admins/controllers/admins.controller.docs.ts +41 -0
- src/modules/console/modules/admins/controllers/admins.controller.ts +23 -7
- src/routes.ts +20 -3
package-lock.json
CHANGED
|
@@ -25,7 +25,8 @@
|
|
| 25 |
"mongoose": "^8.0.3",
|
| 26 |
"npm": "^10.2.5",
|
| 27 |
"path": "^0.12.7",
|
| 28 |
-
"tsc-alias": "^1.8.8"
|
|
|
|
| 29 |
},
|
| 30 |
"devDependencies": {
|
| 31 |
"@types/express": "^4.17.21",
|
|
@@ -36,11 +37,15 @@
|
|
| 36 |
"typescript": "^5.3.3"
|
| 37 |
}
|
| 38 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
"node_modules/@cspotcode/source-map-support": {
|
| 40 |
"version": "0.8.1",
|
| 41 |
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
| 42 |
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
| 43 |
-
"dev": true,
|
| 44 |
"dependencies": {
|
| 45 |
"@jridgewell/trace-mapping": "0.3.9"
|
| 46 |
},
|
|
@@ -160,7 +165,6 @@
|
|
| 160 |
"version": "3.1.1",
|
| 161 |
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
|
| 162 |
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
|
| 163 |
-
"dev": true,
|
| 164 |
"engines": {
|
| 165 |
"node": ">=6.0.0"
|
| 166 |
}
|
|
@@ -168,14 +172,12 @@
|
|
| 168 |
"node_modules/@jridgewell/sourcemap-codec": {
|
| 169 |
"version": "1.4.15",
|
| 170 |
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
| 171 |
-
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
|
| 172 |
-
"dev": true
|
| 173 |
},
|
| 174 |
"node_modules/@jridgewell/trace-mapping": {
|
| 175 |
"version": "0.3.9",
|
| 176 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
| 177 |
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
| 178 |
-
"dev": true,
|
| 179 |
"dependencies": {
|
| 180 |
"@jridgewell/resolve-uri": "^3.0.3",
|
| 181 |
"@jridgewell/sourcemap-codec": "^1.4.10"
|
|
@@ -284,32 +286,28 @@
|
|
| 284 |
"node_modules/@tsconfig/node10": {
|
| 285 |
"version": "1.0.9",
|
| 286 |
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
|
| 287 |
-
"integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
|
| 288 |
-
"dev": true
|
| 289 |
},
|
| 290 |
"node_modules/@tsconfig/node12": {
|
| 291 |
"version": "1.0.11",
|
| 292 |
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
| 293 |
-
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
|
| 294 |
-
"dev": true
|
| 295 |
},
|
| 296 |
"node_modules/@tsconfig/node14": {
|
| 297 |
"version": "1.0.3",
|
| 298 |
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
| 299 |
-
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
|
| 300 |
-
"dev": true
|
| 301 |
},
|
| 302 |
"node_modules/@tsconfig/node16": {
|
| 303 |
"version": "1.0.4",
|
| 304 |
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
| 305 |
-
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
|
| 306 |
-
"dev": true
|
| 307 |
},
|
| 308 |
"node_modules/@types/body-parser": {
|
| 309 |
"version": "1.19.5",
|
| 310 |
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
|
| 311 |
"integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
|
| 312 |
-
"
|
| 313 |
"dependencies": {
|
| 314 |
"@types/connect": "*",
|
| 315 |
"@types/node": "*"
|
|
@@ -319,7 +317,7 @@
|
|
| 319 |
"version": "3.4.38",
|
| 320 |
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
|
| 321 |
"integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
|
| 322 |
-
"
|
| 323 |
"dependencies": {
|
| 324 |
"@types/node": "*"
|
| 325 |
}
|
|
@@ -328,7 +326,7 @@
|
|
| 328 |
"version": "4.17.21",
|
| 329 |
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
|
| 330 |
"integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
|
| 331 |
-
"
|
| 332 |
"dependencies": {
|
| 333 |
"@types/body-parser": "*",
|
| 334 |
"@types/express-serve-static-core": "^4.17.33",
|
|
@@ -340,7 +338,7 @@
|
|
| 340 |
"version": "4.17.41",
|
| 341 |
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
|
| 342 |
"integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
|
| 343 |
-
"
|
| 344 |
"dependencies": {
|
| 345 |
"@types/node": "*",
|
| 346 |
"@types/qs": "*",
|
|
@@ -361,13 +359,26 @@
|
|
| 361 |
"version": "2.0.4",
|
| 362 |
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
|
| 363 |
"integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
|
| 364 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
},
|
| 366 |
"node_modules/@types/mime": {
|
| 367 |
"version": "1.3.5",
|
| 368 |
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
|
| 369 |
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
|
| 370 |
-
"
|
| 371 |
},
|
| 372 |
"node_modules/@types/minimatch": {
|
| 373 |
"version": "5.1.2",
|
|
@@ -386,19 +397,19 @@
|
|
| 386 |
"version": "6.9.11",
|
| 387 |
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
|
| 388 |
"integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
|
| 389 |
-
"
|
| 390 |
},
|
| 391 |
"node_modules/@types/range-parser": {
|
| 392 |
"version": "1.2.7",
|
| 393 |
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
|
| 394 |
"integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
|
| 395 |
-
"
|
| 396 |
},
|
| 397 |
"node_modules/@types/send": {
|
| 398 |
"version": "0.17.4",
|
| 399 |
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
|
| 400 |
"integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
|
| 401 |
-
"
|
| 402 |
"dependencies": {
|
| 403 |
"@types/mime": "^1",
|
| 404 |
"@types/node": "*"
|
|
@@ -408,7 +419,7 @@
|
|
| 408 |
"version": "1.15.5",
|
| 409 |
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
|
| 410 |
"integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
|
| 411 |
-
"
|
| 412 |
"dependencies": {
|
| 413 |
"@types/http-errors": "*",
|
| 414 |
"@types/mime": "*",
|
|
@@ -462,7 +473,6 @@
|
|
| 462 |
"version": "8.11.2",
|
| 463 |
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
|
| 464 |
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
|
| 465 |
-
"dev": true,
|
| 466 |
"bin": {
|
| 467 |
"acorn": "bin/acorn"
|
| 468 |
},
|
|
@@ -474,7 +484,6 @@
|
|
| 474 |
"version": "8.3.1",
|
| 475 |
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
|
| 476 |
"integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
|
| 477 |
-
"dev": true,
|
| 478 |
"engines": {
|
| 479 |
"node": ">=0.4.0"
|
| 480 |
}
|
|
@@ -541,8 +550,7 @@
|
|
| 541 |
"node_modules/arg": {
|
| 542 |
"version": "4.1.3",
|
| 543 |
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
| 544 |
-
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
|
| 545 |
-
"dev": true
|
| 546 |
},
|
| 547 |
"node_modules/array-flatten": {
|
| 548 |
"version": "1.1.1",
|
|
@@ -682,6 +690,49 @@
|
|
| 682 |
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
|
| 683 |
"integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
|
| 684 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 685 |
"node_modules/color-convert": {
|
| 686 |
"version": "2.0.1",
|
| 687 |
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
@@ -771,8 +822,7 @@
|
|
| 771 |
"node_modules/create-require": {
|
| 772 |
"version": "1.1.1",
|
| 773 |
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
| 774 |
-
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
|
| 775 |
-
"dev": true
|
| 776 |
},
|
| 777 |
"node_modules/cross-spawn": {
|
| 778 |
"version": "7.0.3",
|
|
@@ -850,7 +900,6 @@
|
|
| 850 |
"version": "4.0.2",
|
| 851 |
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
| 852 |
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
| 853 |
-
"dev": true,
|
| 854 |
"engines": {
|
| 855 |
"node": ">=0.3.1"
|
| 856 |
}
|
|
@@ -917,6 +966,14 @@
|
|
| 917 |
"node": ">= 0.8"
|
| 918 |
}
|
| 919 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 920 |
"node_modules/escape-html": {
|
| 921 |
"version": "1.0.3",
|
| 922 |
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
|
@@ -930,6 +987,11 @@
|
|
| 930 |
"node": ">= 0.6"
|
| 931 |
}
|
| 932 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 933 |
"node_modules/express": {
|
| 934 |
"version": "4.18.2",
|
| 935 |
"resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
|
|
@@ -1096,6 +1158,25 @@
|
|
| 1096 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
| 1097 |
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
| 1098 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1099 |
"node_modules/foreground-child": {
|
| 1100 |
"version": "3.1.1",
|
| 1101 |
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
|
|
@@ -1205,6 +1286,14 @@
|
|
| 1205 |
"node": ">=10"
|
| 1206 |
}
|
| 1207 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1208 |
"node_modules/get-intrinsic": {
|
| 1209 |
"version": "1.2.2",
|
| 1210 |
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
|
|
@@ -1381,6 +1470,42 @@
|
|
| 1381 |
"node": ">= 0.8"
|
| 1382 |
}
|
| 1383 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1384 |
"node_modules/https-proxy-agent": {
|
| 1385 |
"version": "5.0.1",
|
| 1386 |
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
|
@@ -1506,6 +1631,17 @@
|
|
| 1506 |
"node": ">=0.12.0"
|
| 1507 |
}
|
| 1508 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1509 |
"node_modules/isexe": {
|
| 1510 |
"version": "2.0.0",
|
| 1511 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
@@ -1540,6 +1676,15 @@
|
|
| 1540 |
"@sideway/pinpoint": "^2.0.0"
|
| 1541 |
}
|
| 1542 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1543 |
"node_modules/json5": {
|
| 1544 |
"version": "2.2.3",
|
| 1545 |
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
|
@@ -1671,8 +1816,7 @@
|
|
| 1671 |
"node_modules/make-error": {
|
| 1672 |
"version": "1.3.6",
|
| 1673 |
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
| 1674 |
-
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
|
| 1675 |
-
"dev": true
|
| 1676 |
},
|
| 1677 |
"node_modules/media-typer": {
|
| 1678 |
"version": "0.3.0",
|
|
@@ -4807,6 +4951,11 @@
|
|
| 4807 |
"wrappy": "1"
|
| 4808 |
}
|
| 4809 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4810 |
"node_modules/parseurl": {
|
| 4811 |
"version": "1.3.3",
|
| 4812 |
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
|
@@ -4824,6 +4973,11 @@
|
|
| 4824 |
"util": "^0.10.3"
|
| 4825 |
}
|
| 4826 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4827 |
"node_modules/path-is-absolute": {
|
| 4828 |
"version": "1.0.1",
|
| 4829 |
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
|
@@ -5011,6 +5165,19 @@
|
|
| 5011 |
"node": ">=8.10.0"
|
| 5012 |
}
|
| 5013 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5014 |
"node_modules/resolve": {
|
| 5015 |
"version": "1.22.8",
|
| 5016 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
|
@@ -5111,6 +5278,14 @@
|
|
| 5111 |
}
|
| 5112 |
]
|
| 5113 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5114 |
"node_modules/safer-buffer": {
|
| 5115 |
"version": "2.1.2",
|
| 5116 |
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
|
@@ -5406,6 +5581,25 @@
|
|
| 5406 |
"url": "https://github.com/sponsors/ljharb"
|
| 5407 |
}
|
| 5408 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5409 |
"node_modules/tar": {
|
| 5410 |
"version": "6.2.0",
|
| 5411 |
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
|
@@ -5477,7 +5671,6 @@
|
|
| 5477 |
"version": "10.9.2",
|
| 5478 |
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
| 5479 |
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
| 5480 |
-
"dev": true,
|
| 5481 |
"dependencies": {
|
| 5482 |
"@cspotcode/source-map-support": "^0.8.0",
|
| 5483 |
"@tsconfig/node10": "^1.0.7",
|
|
@@ -5624,6 +5817,81 @@
|
|
| 5624 |
"node": ">=6"
|
| 5625 |
}
|
| 5626 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5627 |
"node_modules/type-is": {
|
| 5628 |
"version": "1.6.18",
|
| 5629 |
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
|
@@ -5640,7 +5908,60 @@
|
|
| 5640 |
"version": "5.3.3",
|
| 5641 |
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
| 5642 |
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
| 5643 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5644 |
"bin": {
|
| 5645 |
"tsc": "bin/tsc",
|
| 5646 |
"tsserver": "bin/tsserver"
|
|
@@ -5697,8 +6018,7 @@
|
|
| 5697 |
"node_modules/v8-compile-cache-lib": {
|
| 5698 |
"version": "3.0.1",
|
| 5699 |
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
| 5700 |
-
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
|
| 5701 |
-
"dev": true
|
| 5702 |
},
|
| 5703 |
"node_modules/vary": {
|
| 5704 |
"version": "1.1.2",
|
|
@@ -5857,16 +6177,48 @@
|
|
| 5857 |
"node": ">=0.4"
|
| 5858 |
}
|
| 5859 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5860 |
"node_modules/yallist": {
|
| 5861 |
"version": "4.0.0",
|
| 5862 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
| 5863 |
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
| 5864 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5865 |
"node_modules/yn": {
|
| 5866 |
"version": "3.1.1",
|
| 5867 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
| 5868 |
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
| 5869 |
-
"dev": true,
|
| 5870 |
"engines": {
|
| 5871 |
"node": ">=6"
|
| 5872 |
}
|
|
|
|
| 25 |
"mongoose": "^8.0.3",
|
| 26 |
"npm": "^10.2.5",
|
| 27 |
"path": "^0.12.7",
|
| 28 |
+
"tsc-alias": "^1.8.8",
|
| 29 |
+
"tspec": "^0.1.112"
|
| 30 |
},
|
| 31 |
"devDependencies": {
|
| 32 |
"@types/express": "^4.17.21",
|
|
|
|
| 37 |
"typescript": "^5.3.3"
|
| 38 |
}
|
| 39 |
},
|
| 40 |
+
"node_modules/@cloudflare/json-schema-walker": {
|
| 41 |
+
"version": "0.1.1",
|
| 42 |
+
"resolved": "https://registry.npmjs.org/@cloudflare/json-schema-walker/-/json-schema-walker-0.1.1.tgz",
|
| 43 |
+
"integrity": "sha512-P3n0hEgk1m6uKWgL4Yb1owzXVG4pM70G4kRnDQxZXiVvfCRtaqiHu+ZRiRPzmwGBiLTO1LWc2yR1M8oz0YkXww=="
|
| 44 |
+
},
|
| 45 |
"node_modules/@cspotcode/source-map-support": {
|
| 46 |
"version": "0.8.1",
|
| 47 |
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
| 48 |
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
|
|
|
| 49 |
"dependencies": {
|
| 50 |
"@jridgewell/trace-mapping": "0.3.9"
|
| 51 |
},
|
|
|
|
| 165 |
"version": "3.1.1",
|
| 166 |
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
|
| 167 |
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
|
|
|
|
| 168 |
"engines": {
|
| 169 |
"node": ">=6.0.0"
|
| 170 |
}
|
|
|
|
| 172 |
"node_modules/@jridgewell/sourcemap-codec": {
|
| 173 |
"version": "1.4.15",
|
| 174 |
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
| 175 |
+
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
|
|
|
|
| 176 |
},
|
| 177 |
"node_modules/@jridgewell/trace-mapping": {
|
| 178 |
"version": "0.3.9",
|
| 179 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
| 180 |
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
|
|
|
| 181 |
"dependencies": {
|
| 182 |
"@jridgewell/resolve-uri": "^3.0.3",
|
| 183 |
"@jridgewell/sourcemap-codec": "^1.4.10"
|
|
|
|
| 286 |
"node_modules/@tsconfig/node10": {
|
| 287 |
"version": "1.0.9",
|
| 288 |
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
|
| 289 |
+
"integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
|
|
|
|
| 290 |
},
|
| 291 |
"node_modules/@tsconfig/node12": {
|
| 292 |
"version": "1.0.11",
|
| 293 |
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
| 294 |
+
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
|
|
|
|
| 295 |
},
|
| 296 |
"node_modules/@tsconfig/node14": {
|
| 297 |
"version": "1.0.3",
|
| 298 |
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
| 299 |
+
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
|
|
|
|
| 300 |
},
|
| 301 |
"node_modules/@tsconfig/node16": {
|
| 302 |
"version": "1.0.4",
|
| 303 |
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
| 304 |
+
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
|
|
|
|
| 305 |
},
|
| 306 |
"node_modules/@types/body-parser": {
|
| 307 |
"version": "1.19.5",
|
| 308 |
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
|
| 309 |
"integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
|
| 310 |
+
"devOptional": true,
|
| 311 |
"dependencies": {
|
| 312 |
"@types/connect": "*",
|
| 313 |
"@types/node": "*"
|
|
|
|
| 317 |
"version": "3.4.38",
|
| 318 |
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
|
| 319 |
"integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
|
| 320 |
+
"devOptional": true,
|
| 321 |
"dependencies": {
|
| 322 |
"@types/node": "*"
|
| 323 |
}
|
|
|
|
| 326 |
"version": "4.17.21",
|
| 327 |
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
|
| 328 |
"integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
|
| 329 |
+
"devOptional": true,
|
| 330 |
"dependencies": {
|
| 331 |
"@types/body-parser": "*",
|
| 332 |
"@types/express-serve-static-core": "^4.17.33",
|
|
|
|
| 338 |
"version": "4.17.41",
|
| 339 |
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
|
| 340 |
"integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
|
| 341 |
+
"devOptional": true,
|
| 342 |
"dependencies": {
|
| 343 |
"@types/node": "*",
|
| 344 |
"@types/qs": "*",
|
|
|
|
| 359 |
"version": "2.0.4",
|
| 360 |
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
|
| 361 |
"integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
|
| 362 |
+
"devOptional": true
|
| 363 |
+
},
|
| 364 |
+
"node_modules/@types/http-proxy": {
|
| 365 |
+
"version": "1.17.14",
|
| 366 |
+
"resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz",
|
| 367 |
+
"integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==",
|
| 368 |
+
"dependencies": {
|
| 369 |
+
"@types/node": "*"
|
| 370 |
+
}
|
| 371 |
+
},
|
| 372 |
+
"node_modules/@types/json-schema": {
|
| 373 |
+
"version": "7.0.15",
|
| 374 |
+
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
| 375 |
+
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
|
| 376 |
},
|
| 377 |
"node_modules/@types/mime": {
|
| 378 |
"version": "1.3.5",
|
| 379 |
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
|
| 380 |
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
|
| 381 |
+
"devOptional": true
|
| 382 |
},
|
| 383 |
"node_modules/@types/minimatch": {
|
| 384 |
"version": "5.1.2",
|
|
|
|
| 397 |
"version": "6.9.11",
|
| 398 |
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
|
| 399 |
"integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
|
| 400 |
+
"devOptional": true
|
| 401 |
},
|
| 402 |
"node_modules/@types/range-parser": {
|
| 403 |
"version": "1.2.7",
|
| 404 |
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
|
| 405 |
"integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
|
| 406 |
+
"devOptional": true
|
| 407 |
},
|
| 408 |
"node_modules/@types/send": {
|
| 409 |
"version": "0.17.4",
|
| 410 |
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
|
| 411 |
"integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
|
| 412 |
+
"devOptional": true,
|
| 413 |
"dependencies": {
|
| 414 |
"@types/mime": "^1",
|
| 415 |
"@types/node": "*"
|
|
|
|
| 419 |
"version": "1.15.5",
|
| 420 |
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
|
| 421 |
"integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
|
| 422 |
+
"devOptional": true,
|
| 423 |
"dependencies": {
|
| 424 |
"@types/http-errors": "*",
|
| 425 |
"@types/mime": "*",
|
|
|
|
| 473 |
"version": "8.11.2",
|
| 474 |
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
|
| 475 |
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
|
|
|
|
| 476 |
"bin": {
|
| 477 |
"acorn": "bin/acorn"
|
| 478 |
},
|
|
|
|
| 484 |
"version": "8.3.1",
|
| 485 |
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
|
| 486 |
"integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
|
|
|
|
| 487 |
"engines": {
|
| 488 |
"node": ">=0.4.0"
|
| 489 |
}
|
|
|
|
| 550 |
"node_modules/arg": {
|
| 551 |
"version": "4.1.3",
|
| 552 |
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
| 553 |
+
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
|
|
|
|
| 554 |
},
|
| 555 |
"node_modules/array-flatten": {
|
| 556 |
"version": "1.1.1",
|
|
|
|
| 690 |
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
|
| 691 |
"integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
|
| 692 |
},
|
| 693 |
+
"node_modules/cliui": {
|
| 694 |
+
"version": "8.0.1",
|
| 695 |
+
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
| 696 |
+
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
| 697 |
+
"dependencies": {
|
| 698 |
+
"string-width": "^4.2.0",
|
| 699 |
+
"strip-ansi": "^6.0.1",
|
| 700 |
+
"wrap-ansi": "^7.0.0"
|
| 701 |
+
},
|
| 702 |
+
"engines": {
|
| 703 |
+
"node": ">=12"
|
| 704 |
+
}
|
| 705 |
+
},
|
| 706 |
+
"node_modules/cliui/node_modules/ansi-styles": {
|
| 707 |
+
"version": "4.3.0",
|
| 708 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
| 709 |
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
| 710 |
+
"dependencies": {
|
| 711 |
+
"color-convert": "^2.0.1"
|
| 712 |
+
},
|
| 713 |
+
"engines": {
|
| 714 |
+
"node": ">=8"
|
| 715 |
+
},
|
| 716 |
+
"funding": {
|
| 717 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 718 |
+
}
|
| 719 |
+
},
|
| 720 |
+
"node_modules/cliui/node_modules/wrap-ansi": {
|
| 721 |
+
"version": "7.0.0",
|
| 722 |
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
| 723 |
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
| 724 |
+
"dependencies": {
|
| 725 |
+
"ansi-styles": "^4.0.0",
|
| 726 |
+
"string-width": "^4.1.0",
|
| 727 |
+
"strip-ansi": "^6.0.0"
|
| 728 |
+
},
|
| 729 |
+
"engines": {
|
| 730 |
+
"node": ">=10"
|
| 731 |
+
},
|
| 732 |
+
"funding": {
|
| 733 |
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
| 734 |
+
}
|
| 735 |
+
},
|
| 736 |
"node_modules/color-convert": {
|
| 737 |
"version": "2.0.1",
|
| 738 |
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
|
|
| 822 |
"node_modules/create-require": {
|
| 823 |
"version": "1.1.1",
|
| 824 |
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
| 825 |
+
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
|
|
|
|
| 826 |
},
|
| 827 |
"node_modules/cross-spawn": {
|
| 828 |
"version": "7.0.3",
|
|
|
|
| 900 |
"version": "4.0.2",
|
| 901 |
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
| 902 |
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
|
|
|
| 903 |
"engines": {
|
| 904 |
"node": ">=0.3.1"
|
| 905 |
}
|
|
|
|
| 966 |
"node": ">= 0.8"
|
| 967 |
}
|
| 968 |
},
|
| 969 |
+
"node_modules/escalade": {
|
| 970 |
+
"version": "3.1.2",
|
| 971 |
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
|
| 972 |
+
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
|
| 973 |
+
"engines": {
|
| 974 |
+
"node": ">=6"
|
| 975 |
+
}
|
| 976 |
+
},
|
| 977 |
"node_modules/escape-html": {
|
| 978 |
"version": "1.0.3",
|
| 979 |
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
|
|
|
| 987 |
"node": ">= 0.6"
|
| 988 |
}
|
| 989 |
},
|
| 990 |
+
"node_modules/eventemitter3": {
|
| 991 |
+
"version": "4.0.7",
|
| 992 |
+
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
| 993 |
+
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
|
| 994 |
+
},
|
| 995 |
"node_modules/express": {
|
| 996 |
"version": "4.18.2",
|
| 997 |
"resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
|
|
|
|
| 1158 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
| 1159 |
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
| 1160 |
},
|
| 1161 |
+
"node_modules/follow-redirects": {
|
| 1162 |
+
"version": "1.15.6",
|
| 1163 |
+
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
| 1164 |
+
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
| 1165 |
+
"funding": [
|
| 1166 |
+
{
|
| 1167 |
+
"type": "individual",
|
| 1168 |
+
"url": "https://github.com/sponsors/RubenVerborgh"
|
| 1169 |
+
}
|
| 1170 |
+
],
|
| 1171 |
+
"engines": {
|
| 1172 |
+
"node": ">=4.0"
|
| 1173 |
+
},
|
| 1174 |
+
"peerDependenciesMeta": {
|
| 1175 |
+
"debug": {
|
| 1176 |
+
"optional": true
|
| 1177 |
+
}
|
| 1178 |
+
}
|
| 1179 |
+
},
|
| 1180 |
"node_modules/foreground-child": {
|
| 1181 |
"version": "3.1.1",
|
| 1182 |
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
|
|
|
|
| 1286 |
"node": ">=10"
|
| 1287 |
}
|
| 1288 |
},
|
| 1289 |
+
"node_modules/get-caller-file": {
|
| 1290 |
+
"version": "2.0.5",
|
| 1291 |
+
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
| 1292 |
+
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
| 1293 |
+
"engines": {
|
| 1294 |
+
"node": "6.* || 8.* || >= 10.*"
|
| 1295 |
+
}
|
| 1296 |
+
},
|
| 1297 |
"node_modules/get-intrinsic": {
|
| 1298 |
"version": "1.2.2",
|
| 1299 |
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
|
|
|
|
| 1470 |
"node": ">= 0.8"
|
| 1471 |
}
|
| 1472 |
},
|
| 1473 |
+
"node_modules/http-proxy": {
|
| 1474 |
+
"version": "1.18.1",
|
| 1475 |
+
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
|
| 1476 |
+
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
|
| 1477 |
+
"dependencies": {
|
| 1478 |
+
"eventemitter3": "^4.0.0",
|
| 1479 |
+
"follow-redirects": "^1.0.0",
|
| 1480 |
+
"requires-port": "^1.0.0"
|
| 1481 |
+
},
|
| 1482 |
+
"engines": {
|
| 1483 |
+
"node": ">=8.0.0"
|
| 1484 |
+
}
|
| 1485 |
+
},
|
| 1486 |
+
"node_modules/http-proxy-middleware": {
|
| 1487 |
+
"version": "2.0.6",
|
| 1488 |
+
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
|
| 1489 |
+
"integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
|
| 1490 |
+
"dependencies": {
|
| 1491 |
+
"@types/http-proxy": "^1.17.8",
|
| 1492 |
+
"http-proxy": "^1.18.1",
|
| 1493 |
+
"is-glob": "^4.0.1",
|
| 1494 |
+
"is-plain-obj": "^3.0.0",
|
| 1495 |
+
"micromatch": "^4.0.2"
|
| 1496 |
+
},
|
| 1497 |
+
"engines": {
|
| 1498 |
+
"node": ">=12.0.0"
|
| 1499 |
+
},
|
| 1500 |
+
"peerDependencies": {
|
| 1501 |
+
"@types/express": "^4.17.13"
|
| 1502 |
+
},
|
| 1503 |
+
"peerDependenciesMeta": {
|
| 1504 |
+
"@types/express": {
|
| 1505 |
+
"optional": true
|
| 1506 |
+
}
|
| 1507 |
+
}
|
| 1508 |
+
},
|
| 1509 |
"node_modules/https-proxy-agent": {
|
| 1510 |
"version": "5.0.1",
|
| 1511 |
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
|
|
|
| 1631 |
"node": ">=0.12.0"
|
| 1632 |
}
|
| 1633 |
},
|
| 1634 |
+
"node_modules/is-plain-obj": {
|
| 1635 |
+
"version": "3.0.0",
|
| 1636 |
+
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
|
| 1637 |
+
"integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
|
| 1638 |
+
"engines": {
|
| 1639 |
+
"node": ">=10"
|
| 1640 |
+
},
|
| 1641 |
+
"funding": {
|
| 1642 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1643 |
+
}
|
| 1644 |
+
},
|
| 1645 |
"node_modules/isexe": {
|
| 1646 |
"version": "2.0.0",
|
| 1647 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
|
|
| 1676 |
"@sideway/pinpoint": "^2.0.0"
|
| 1677 |
}
|
| 1678 |
},
|
| 1679 |
+
"node_modules/json-schema-to-openapi-schema": {
|
| 1680 |
+
"version": "0.4.0",
|
| 1681 |
+
"resolved": "https://registry.npmjs.org/json-schema-to-openapi-schema/-/json-schema-to-openapi-schema-0.4.0.tgz",
|
| 1682 |
+
"integrity": "sha512-/DY8s4l28M5ZIJBhmcUFWbZChJV5v7RCA7RMVxubyD1l5KwIceUq6+EUnqQ2q3wh/2D3Zn8bNSeAu1i2X+sMHQ==",
|
| 1683 |
+
"deprecated": "This package is no longer maintained. Use @openapi-contrib/json-schema-to-openapi-schema instead.",
|
| 1684 |
+
"dependencies": {
|
| 1685 |
+
"@cloudflare/json-schema-walker": "^0.1.1"
|
| 1686 |
+
}
|
| 1687 |
+
},
|
| 1688 |
"node_modules/json5": {
|
| 1689 |
"version": "2.2.3",
|
| 1690 |
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
|
|
|
| 1816 |
"node_modules/make-error": {
|
| 1817 |
"version": "1.3.6",
|
| 1818 |
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
| 1819 |
+
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
|
|
|
|
| 1820 |
},
|
| 1821 |
"node_modules/media-typer": {
|
| 1822 |
"version": "0.3.0",
|
|
|
|
| 4951 |
"wrappy": "1"
|
| 4952 |
}
|
| 4953 |
},
|
| 4954 |
+
"node_modules/openapi-types": {
|
| 4955 |
+
"version": "12.1.3",
|
| 4956 |
+
"resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz",
|
| 4957 |
+
"integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="
|
| 4958 |
+
},
|
| 4959 |
"node_modules/parseurl": {
|
| 4960 |
"version": "1.3.3",
|
| 4961 |
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
|
|
|
| 4973 |
"util": "^0.10.3"
|
| 4974 |
}
|
| 4975 |
},
|
| 4976 |
+
"node_modules/path-equal": {
|
| 4977 |
+
"version": "1.2.5",
|
| 4978 |
+
"resolved": "https://registry.npmjs.org/path-equal/-/path-equal-1.2.5.tgz",
|
| 4979 |
+
"integrity": "sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g=="
|
| 4980 |
+
},
|
| 4981 |
"node_modules/path-is-absolute": {
|
| 4982 |
"version": "1.0.1",
|
| 4983 |
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
|
|
|
| 5165 |
"node": ">=8.10.0"
|
| 5166 |
}
|
| 5167 |
},
|
| 5168 |
+
"node_modules/require-directory": {
|
| 5169 |
+
"version": "2.1.1",
|
| 5170 |
+
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
| 5171 |
+
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
| 5172 |
+
"engines": {
|
| 5173 |
+
"node": ">=0.10.0"
|
| 5174 |
+
}
|
| 5175 |
+
},
|
| 5176 |
+
"node_modules/requires-port": {
|
| 5177 |
+
"version": "1.0.0",
|
| 5178 |
+
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
| 5179 |
+
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
|
| 5180 |
+
},
|
| 5181 |
"node_modules/resolve": {
|
| 5182 |
"version": "1.22.8",
|
| 5183 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
|
|
|
| 5278 |
}
|
| 5279 |
]
|
| 5280 |
},
|
| 5281 |
+
"node_modules/safe-stable-stringify": {
|
| 5282 |
+
"version": "2.4.3",
|
| 5283 |
+
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
|
| 5284 |
+
"integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
|
| 5285 |
+
"engines": {
|
| 5286 |
+
"node": ">=10"
|
| 5287 |
+
}
|
| 5288 |
+
},
|
| 5289 |
"node_modules/safer-buffer": {
|
| 5290 |
"version": "2.1.2",
|
| 5291 |
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
|
|
|
| 5581 |
"url": "https://github.com/sponsors/ljharb"
|
| 5582 |
}
|
| 5583 |
},
|
| 5584 |
+
"node_modules/swagger-ui-dist": {
|
| 5585 |
+
"version": "5.14.0",
|
| 5586 |
+
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.14.0.tgz",
|
| 5587 |
+
"integrity": "sha512-7qsKvc3gs5dnEIOclY4xkzacY85Pu9a/Gzkf+eezKLQ4BpErlI8BxYWADhnCx6PmFyU4fxH4AMKH+/d3Kml0Gg=="
|
| 5588 |
+
},
|
| 5589 |
+
"node_modules/swagger-ui-express": {
|
| 5590 |
+
"version": "4.6.3",
|
| 5591 |
+
"resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.6.3.tgz",
|
| 5592 |
+
"integrity": "sha512-CDje4PndhTD2HkgyKH3pab+LKspDeB/NhPN2OF1j+piYIamQqBYwAXWESOT1Yju2xFg51bRW9sUng2WxDjzArw==",
|
| 5593 |
+
"dependencies": {
|
| 5594 |
+
"swagger-ui-dist": ">=4.11.0"
|
| 5595 |
+
},
|
| 5596 |
+
"engines": {
|
| 5597 |
+
"node": ">= v0.10.32"
|
| 5598 |
+
},
|
| 5599 |
+
"peerDependencies": {
|
| 5600 |
+
"express": ">=4.0.0 || >=5.0.0-beta"
|
| 5601 |
+
}
|
| 5602 |
+
},
|
| 5603 |
"node_modules/tar": {
|
| 5604 |
"version": "6.2.0",
|
| 5605 |
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
|
|
|
|
| 5671 |
"version": "10.9.2",
|
| 5672 |
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
| 5673 |
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
|
|
|
| 5674 |
"dependencies": {
|
| 5675 |
"@cspotcode/source-map-support": "^0.8.0",
|
| 5676 |
"@tsconfig/node10": "^1.0.7",
|
|
|
|
| 5817 |
"node": ">=6"
|
| 5818 |
}
|
| 5819 |
},
|
| 5820 |
+
"node_modules/tspec": {
|
| 5821 |
+
"version": "0.1.112",
|
| 5822 |
+
"resolved": "https://registry.npmjs.org/tspec/-/tspec-0.1.112.tgz",
|
| 5823 |
+
"integrity": "sha512-rkTAZ5czVp/ZrRLD0Vydl2xHz+Tw+rZkya64Fysk1qMpHnQDIMyItqgY6IQ7tj2jxB9Y22kuRbCfxzrzznMU6g==",
|
| 5824 |
+
"dependencies": {
|
| 5825 |
+
"debug": "^4.3.4",
|
| 5826 |
+
"express": "^4.18.2",
|
| 5827 |
+
"glob": "^8.1.0",
|
| 5828 |
+
"http-proxy-middleware": "^2.0.6",
|
| 5829 |
+
"json-schema-to-openapi-schema": "^0.4.0",
|
| 5830 |
+
"openapi-types": "^12.0.2",
|
| 5831 |
+
"swagger-ui-express": "^4.6.2",
|
| 5832 |
+
"typescript": "~5.1.0",
|
| 5833 |
+
"typescript-json-schema": "^0.62.0",
|
| 5834 |
+
"yargs": "^17.7.1"
|
| 5835 |
+
},
|
| 5836 |
+
"bin": {
|
| 5837 |
+
"tspec": "dist/cli.js"
|
| 5838 |
+
},
|
| 5839 |
+
"engines": {
|
| 5840 |
+
"node": ">=12.0.0"
|
| 5841 |
+
},
|
| 5842 |
+
"peerDependencies": {
|
| 5843 |
+
"express": "^4.17.1"
|
| 5844 |
+
}
|
| 5845 |
+
},
|
| 5846 |
+
"node_modules/tspec/node_modules/brace-expansion": {
|
| 5847 |
+
"version": "2.0.1",
|
| 5848 |
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
| 5849 |
+
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
| 5850 |
+
"dependencies": {
|
| 5851 |
+
"balanced-match": "^1.0.0"
|
| 5852 |
+
}
|
| 5853 |
+
},
|
| 5854 |
+
"node_modules/tspec/node_modules/glob": {
|
| 5855 |
+
"version": "8.1.0",
|
| 5856 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
|
| 5857 |
+
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
| 5858 |
+
"dependencies": {
|
| 5859 |
+
"fs.realpath": "^1.0.0",
|
| 5860 |
+
"inflight": "^1.0.4",
|
| 5861 |
+
"inherits": "2",
|
| 5862 |
+
"minimatch": "^5.0.1",
|
| 5863 |
+
"once": "^1.3.0"
|
| 5864 |
+
},
|
| 5865 |
+
"engines": {
|
| 5866 |
+
"node": ">=12"
|
| 5867 |
+
},
|
| 5868 |
+
"funding": {
|
| 5869 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 5870 |
+
}
|
| 5871 |
+
},
|
| 5872 |
+
"node_modules/tspec/node_modules/minimatch": {
|
| 5873 |
+
"version": "5.1.6",
|
| 5874 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
|
| 5875 |
+
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
| 5876 |
+
"dependencies": {
|
| 5877 |
+
"brace-expansion": "^2.0.1"
|
| 5878 |
+
},
|
| 5879 |
+
"engines": {
|
| 5880 |
+
"node": ">=10"
|
| 5881 |
+
}
|
| 5882 |
+
},
|
| 5883 |
+
"node_modules/tspec/node_modules/typescript": {
|
| 5884 |
+
"version": "5.1.6",
|
| 5885 |
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
|
| 5886 |
+
"integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
|
| 5887 |
+
"bin": {
|
| 5888 |
+
"tsc": "bin/tsc",
|
| 5889 |
+
"tsserver": "bin/tsserver"
|
| 5890 |
+
},
|
| 5891 |
+
"engines": {
|
| 5892 |
+
"node": ">=14.17"
|
| 5893 |
+
}
|
| 5894 |
+
},
|
| 5895 |
"node_modules/type-is": {
|
| 5896 |
"version": "1.6.18",
|
| 5897 |
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
|
|
|
| 5908 |
"version": "5.3.3",
|
| 5909 |
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
| 5910 |
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
| 5911 |
+
"bin": {
|
| 5912 |
+
"tsc": "bin/tsc",
|
| 5913 |
+
"tsserver": "bin/tsserver"
|
| 5914 |
+
},
|
| 5915 |
+
"engines": {
|
| 5916 |
+
"node": ">=14.17"
|
| 5917 |
+
}
|
| 5918 |
+
},
|
| 5919 |
+
"node_modules/typescript-json-schema": {
|
| 5920 |
+
"version": "0.62.0",
|
| 5921 |
+
"resolved": "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.62.0.tgz",
|
| 5922 |
+
"integrity": "sha512-qRO6pCgyjKJ230QYdOxDRpdQrBeeino4v5p2rYmSD72Jf4rD3O+cJcROv46sQukm46CLWoeusqvBgKpynEv25g==",
|
| 5923 |
+
"dependencies": {
|
| 5924 |
+
"@types/json-schema": "^7.0.9",
|
| 5925 |
+
"@types/node": "^16.9.2",
|
| 5926 |
+
"glob": "^7.1.7",
|
| 5927 |
+
"path-equal": "^1.2.5",
|
| 5928 |
+
"safe-stable-stringify": "^2.2.0",
|
| 5929 |
+
"ts-node": "^10.9.1",
|
| 5930 |
+
"typescript": "~5.1.0",
|
| 5931 |
+
"yargs": "^17.1.1"
|
| 5932 |
+
},
|
| 5933 |
+
"bin": {
|
| 5934 |
+
"typescript-json-schema": "bin/typescript-json-schema"
|
| 5935 |
+
}
|
| 5936 |
+
},
|
| 5937 |
+
"node_modules/typescript-json-schema/node_modules/@types/node": {
|
| 5938 |
+
"version": "16.18.95",
|
| 5939 |
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.95.tgz",
|
| 5940 |
+
"integrity": "sha512-z9w+CcR7ahc7UhsKe+PGB25nmPmCERQBAdLdFHhoZ6+FfgSr7gUvdQI0eLH2t7ue8u5wKsLdde6cHKPjhC8vGg=="
|
| 5941 |
+
},
|
| 5942 |
+
"node_modules/typescript-json-schema/node_modules/glob": {
|
| 5943 |
+
"version": "7.2.3",
|
| 5944 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
| 5945 |
+
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
| 5946 |
+
"dependencies": {
|
| 5947 |
+
"fs.realpath": "^1.0.0",
|
| 5948 |
+
"inflight": "^1.0.4",
|
| 5949 |
+
"inherits": "2",
|
| 5950 |
+
"minimatch": "^3.1.1",
|
| 5951 |
+
"once": "^1.3.0",
|
| 5952 |
+
"path-is-absolute": "^1.0.0"
|
| 5953 |
+
},
|
| 5954 |
+
"engines": {
|
| 5955 |
+
"node": "*"
|
| 5956 |
+
},
|
| 5957 |
+
"funding": {
|
| 5958 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 5959 |
+
}
|
| 5960 |
+
},
|
| 5961 |
+
"node_modules/typescript-json-schema/node_modules/typescript": {
|
| 5962 |
+
"version": "5.1.6",
|
| 5963 |
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
|
| 5964 |
+
"integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
|
| 5965 |
"bin": {
|
| 5966 |
"tsc": "bin/tsc",
|
| 5967 |
"tsserver": "bin/tsserver"
|
|
|
|
| 6018 |
"node_modules/v8-compile-cache-lib": {
|
| 6019 |
"version": "3.0.1",
|
| 6020 |
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
| 6021 |
+
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
|
|
|
|
| 6022 |
},
|
| 6023 |
"node_modules/vary": {
|
| 6024 |
"version": "1.1.2",
|
|
|
|
| 6177 |
"node": ">=0.4"
|
| 6178 |
}
|
| 6179 |
},
|
| 6180 |
+
"node_modules/y18n": {
|
| 6181 |
+
"version": "5.0.8",
|
| 6182 |
+
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
| 6183 |
+
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
| 6184 |
+
"engines": {
|
| 6185 |
+
"node": ">=10"
|
| 6186 |
+
}
|
| 6187 |
+
},
|
| 6188 |
"node_modules/yallist": {
|
| 6189 |
"version": "4.0.0",
|
| 6190 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
| 6191 |
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
| 6192 |
},
|
| 6193 |
+
"node_modules/yargs": {
|
| 6194 |
+
"version": "17.7.2",
|
| 6195 |
+
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
| 6196 |
+
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
| 6197 |
+
"dependencies": {
|
| 6198 |
+
"cliui": "^8.0.1",
|
| 6199 |
+
"escalade": "^3.1.1",
|
| 6200 |
+
"get-caller-file": "^2.0.5",
|
| 6201 |
+
"require-directory": "^2.1.1",
|
| 6202 |
+
"string-width": "^4.2.3",
|
| 6203 |
+
"y18n": "^5.0.5",
|
| 6204 |
+
"yargs-parser": "^21.1.1"
|
| 6205 |
+
},
|
| 6206 |
+
"engines": {
|
| 6207 |
+
"node": ">=12"
|
| 6208 |
+
}
|
| 6209 |
+
},
|
| 6210 |
+
"node_modules/yargs-parser": {
|
| 6211 |
+
"version": "21.1.1",
|
| 6212 |
+
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
| 6213 |
+
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
| 6214 |
+
"engines": {
|
| 6215 |
+
"node": ">=12"
|
| 6216 |
+
}
|
| 6217 |
+
},
|
| 6218 |
"node_modules/yn": {
|
| 6219 |
"version": "3.1.1",
|
| 6220 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
| 6221 |
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
|
|
|
| 6222 |
"engines": {
|
| 6223 |
"node": ">=6"
|
| 6224 |
}
|
package.json
CHANGED
|
@@ -36,6 +36,7 @@
|
|
| 36 |
"mongoose": "^8.0.3",
|
| 37 |
"npm": "^10.2.5",
|
| 38 |
"path": "^0.12.7",
|
| 39 |
-
"tsc-alias": "^1.8.8"
|
|
|
|
| 40 |
}
|
| 41 |
}
|
|
|
|
| 36 |
"mongoose": "^8.0.3",
|
| 37 |
"npm": "^10.2.5",
|
| 38 |
"path": "^0.12.7",
|
| 39 |
+
"tsc-alias": "^1.8.8",
|
| 40 |
+
"tspec": "^0.1.112"
|
| 41 |
}
|
| 42 |
}
|
src/lib/responses/json-response.ts
CHANGED
|
@@ -23,21 +23,21 @@ export abstract class JsonResponse {
|
|
| 23 |
* @param res - Optional Express response object to send the response.
|
| 24 |
* @returns The success response object or the Express response object if provided.
|
| 25 |
*/
|
| 26 |
-
static success(props: IJSONSuccessResponseProps): IJSONSuccessResponse
|
| 27 |
-
static success(
|
| 28 |
-
props: IJSONSuccessResponseProps
|
| 29 |
-
res: Response<IJSONSuccessResponse
|
| 30 |
-
): Response<IJSONSuccessResponse
|
| 31 |
-
static success(
|
| 32 |
-
props: IJSONSuccessResponseProps
|
| 33 |
-
res?: Response<IJSONSuccessResponse
|
| 34 |
-
): IJSONSuccessResponse | Response<IJSONSuccessResponse
|
| 35 |
const data = {
|
| 36 |
status: props.status || 200,
|
| 37 |
message: props.message || "Success",
|
| 38 |
data: props.data || null,
|
| 39 |
-
meta: props.meta,
|
| 40 |
-
} satisfies IJSONSuccessResponse
|
| 41 |
|
| 42 |
return (res && res.status(data.status).json(data)) || data;
|
| 43 |
}
|
|
|
|
| 23 |
* @param res - Optional Express response object to send the response.
|
| 24 |
* @returns The success response object or the Express response object if provided.
|
| 25 |
*/
|
| 26 |
+
static success<T>(props: IJSONSuccessResponseProps<T>): IJSONSuccessResponse<T>;
|
| 27 |
+
static success<T>(
|
| 28 |
+
props: IJSONSuccessResponseProps<T>,
|
| 29 |
+
res: Response<IJSONSuccessResponse<T>>
|
| 30 |
+
): Response<IJSONSuccessResponse<T>>;
|
| 31 |
+
static success<T>(
|
| 32 |
+
props: IJSONSuccessResponseProps<T>,
|
| 33 |
+
res?: Response<IJSONSuccessResponse<T>>
|
| 34 |
+
): IJSONSuccessResponse<T> | Response<IJSONSuccessResponse<T>> {
|
| 35 |
const data = {
|
| 36 |
status: props.status || 200,
|
| 37 |
message: props.message || "Success",
|
| 38 |
data: props.data || null,
|
| 39 |
+
meta: (props as any).meta,
|
| 40 |
+
} satisfies IJSONSuccessResponse<T>;
|
| 41 |
|
| 42 |
return (res && res.status(data.status).json(data)) || data;
|
| 43 |
}
|
src/lib/responses/json-responses-params.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
| 1 |
-
export
|
| 2 |
status?: number;
|
| 3 |
message?: string;
|
| 4 |
-
data?:
|
| 5 |
-
|
|
|
|
|
|
|
|
|
|
| 6 |
total: number;
|
| 7 |
page: number;
|
| 8 |
perPage: number;
|
| 9 |
};
|
| 10 |
-
}
|
| 11 |
|
| 12 |
export interface IJSONErrorResponseProps {
|
| 13 |
status?: number;
|
|
|
|
| 1 |
+
export type IJSONSuccessResponseProps<T extends Record<string, any> | Record<string, any>[]> = {
|
| 2 |
status?: number;
|
| 3 |
message?: string;
|
| 4 |
+
data?: T | null;
|
| 5 |
+
}
|
| 6 |
+
&
|
| 7 |
+
(T extends any[] ? {
|
| 8 |
+
meta: {
|
| 9 |
total: number;
|
| 10 |
page: number;
|
| 11 |
perPage: number;
|
| 12 |
};
|
| 13 |
+
} : {});
|
| 14 |
|
| 15 |
export interface IJSONErrorResponseProps {
|
| 16 |
status?: number;
|
src/lib/responses/json-responses.d.ts
CHANGED
|
@@ -3,14 +3,17 @@ interface IJSONResponse {
|
|
| 3 |
message: string;
|
| 4 |
}
|
| 5 |
|
| 6 |
-
export
|
| 7 |
-
data:
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
| 9 |
total: number;
|
| 10 |
page: number;
|
| 11 |
perPage: number;
|
| 12 |
};
|
| 13 |
-
}
|
| 14 |
|
| 15 |
export interface IJSONErrorResponse extends IJSONResponse {
|
| 16 |
error: string;
|
|
|
|
| 3 |
message: string;
|
| 4 |
}
|
| 5 |
|
| 6 |
+
export type IJSONSuccessResponse<T extends Record<string, any> | Record<string, any>[]> = IJSONResponse & {
|
| 7 |
+
data: T;
|
| 8 |
+
}
|
| 9 |
+
&
|
| 10 |
+
(T extends any[] ? {
|
| 11 |
+
meta: {
|
| 12 |
total: number;
|
| 13 |
page: number;
|
| 14 |
perPage: number;
|
| 15 |
};
|
| 16 |
+
} : {});
|
| 17 |
|
| 18 |
export interface IJSONErrorResponse extends IJSONResponse {
|
| 19 |
error: string;
|
src/modules/console/common/models/admin.model.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
import mongoose, { UpdateQuery } from "mongoose";
|
| 2 |
import bcrypt from "bcrypt";
|
| 3 |
-
import { config } from "../../../../configs/config";
|
| 4 |
import { Role } from "@common/enums/role.enum";
|
| 5 |
import { saltrounds } from "@common/models/user.model";
|
| 6 |
|
|
|
|
| 1 |
import mongoose, { UpdateQuery } from "mongoose";
|
| 2 |
import bcrypt from "bcrypt";
|
|
|
|
| 3 |
import { Role } from "@common/enums/role.enum";
|
| 4 |
import { saltrounds } from "@common/models/user.model";
|
| 5 |
|
src/modules/console/modules/admins/controllers/admins.controller.docs.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { AdminSerialization } from "modules/console/common/serializers/admin.serialization";
|
| 2 |
+
import { Tspec } from "tspec";
|
| 3 |
+
import { ICreateAdmin } from "../validations/create-admin.validation";
|
| 4 |
+
import { AdminsController } from "./admins.controller";
|
| 5 |
+
|
| 6 |
+
export type AdminsControllerSpecs = Tspec.DefineApiSpec<{
|
| 7 |
+
basePath: "/api/v1/console/admins";
|
| 8 |
+
tags: ["console/admins"];
|
| 9 |
+
paths: {
|
| 10 |
+
"/": {
|
| 11 |
+
get: {
|
| 12 |
+
handler: AdminsController["list"];
|
| 13 |
+
};
|
| 14 |
+
post: {
|
| 15 |
+
body: ICreateAdmin;
|
| 16 |
+
handler: AdminsController["create"];
|
| 17 |
+
};
|
| 18 |
+
};
|
| 19 |
+
"/{id}": {
|
| 20 |
+
get: {
|
| 21 |
+
path: {
|
| 22 |
+
id: string;
|
| 23 |
+
};
|
| 24 |
+
handler: AdminsController["get"];
|
| 25 |
+
};
|
| 26 |
+
patch: {
|
| 27 |
+
path: {
|
| 28 |
+
id: string;
|
| 29 |
+
};
|
| 30 |
+
body: ICreateAdmin;
|
| 31 |
+
handler: AdminsController["update"];
|
| 32 |
+
};
|
| 33 |
+
delete: {
|
| 34 |
+
path: {
|
| 35 |
+
id: string;
|
| 36 |
+
};
|
| 37 |
+
handler: AdminsController["delete"];
|
| 38 |
+
};
|
| 39 |
+
};
|
| 40 |
+
}
|
| 41 |
+
}>;
|
src/modules/console/modules/admins/controllers/admins.controller.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { BaseController } from "@lib/controllers/controller.base";
|
|
| 4 |
import { Prefix } from "@lib/decorators/prefix.decorator";
|
| 5 |
import { Request, Response } from "express";
|
| 6 |
import { AdminsService } from "../services/admins.service";
|
| 7 |
-
import { createAdminSchema } from "../validations/create-admin.validation";
|
| 8 |
import { parsePaginationQuery } from "@helpers/pagination";
|
| 9 |
import { JsonResponse } from "@lib/responses/json-response";
|
| 10 |
import { ControllerMiddleware } from "@lib/decorators/controller-middleware.decorator";
|
|
@@ -12,6 +12,7 @@ import { AdminGuardMiddleware } from "modules/console/common/guards/admins.guard
|
|
| 12 |
import { Role } from "@common/enums/role.enum";
|
| 13 |
import { serialize } from "@helpers/serialize";
|
| 14 |
import { AdminSerialization } from "modules/console/common/serializers/admin.serialization";
|
|
|
|
| 15 |
|
| 16 |
@Prefix("/console/admins")
|
| 17 |
@ControllerMiddleware(AdminGuardMiddleware({ roles: [Role.SUPER_ADMIN] }))
|
|
@@ -39,7 +40,10 @@ export class AdminsController extends BaseController {
|
|
| 39 |
);
|
| 40 |
}
|
| 41 |
|
| 42 |
-
list = async (
|
|
|
|
|
|
|
|
|
|
| 43 |
const paginationQuery = parsePaginationQuery(req.query);
|
| 44 |
const { docs, paginationData } = await this.adminsService.list(
|
| 45 |
{},
|
|
@@ -55,20 +59,26 @@ export class AdminsController extends BaseController {
|
|
| 55 |
);
|
| 56 |
};
|
| 57 |
|
| 58 |
-
get = async (
|
|
|
|
|
|
|
|
|
|
| 59 |
const data = await this.adminsService.findOneOrFail({
|
| 60 |
_id: req.params.id,
|
| 61 |
});
|
| 62 |
|
| 63 |
return JsonResponse.success(
|
| 64 |
{
|
| 65 |
-
data: serialize(data, AdminSerialization),
|
| 66 |
},
|
| 67 |
res
|
| 68 |
);
|
| 69 |
};
|
| 70 |
|
| 71 |
-
create = async (
|
|
|
|
|
|
|
|
|
|
| 72 |
const admin = await this.adminsService.create(req.body);
|
| 73 |
|
| 74 |
return JsonResponse.success(
|
|
@@ -80,7 +90,10 @@ export class AdminsController extends BaseController {
|
|
| 80 |
);
|
| 81 |
};
|
| 82 |
|
| 83 |
-
update = async (
|
|
|
|
|
|
|
|
|
|
| 84 |
const admin = await this.adminsService.updateOne(
|
| 85 |
{
|
| 86 |
_id: req.params.id,
|
|
@@ -96,7 +109,10 @@ export class AdminsController extends BaseController {
|
|
| 96 |
);
|
| 97 |
};
|
| 98 |
|
| 99 |
-
delete = async (
|
|
|
|
|
|
|
|
|
|
| 100 |
const admin = await this.adminsService.deleteOne({
|
| 101 |
_id: req.params.id,
|
| 102 |
});
|
|
|
|
| 4 |
import { Prefix } from "@lib/decorators/prefix.decorator";
|
| 5 |
import { Request, Response } from "express";
|
| 6 |
import { AdminsService } from "../services/admins.service";
|
| 7 |
+
import { ICreateAdmin, createAdminSchema } from "../validations/create-admin.validation";
|
| 8 |
import { parsePaginationQuery } from "@helpers/pagination";
|
| 9 |
import { JsonResponse } from "@lib/responses/json-response";
|
| 10 |
import { ControllerMiddleware } from "@lib/decorators/controller-middleware.decorator";
|
|
|
|
| 12 |
import { Role } from "@common/enums/role.enum";
|
| 13 |
import { serialize } from "@helpers/serialize";
|
| 14 |
import { AdminSerialization } from "modules/console/common/serializers/admin.serialization";
|
| 15 |
+
import { IJSONSuccessResponse } from "@lib/responses/json-responses";
|
| 16 |
|
| 17 |
@Prefix("/console/admins")
|
| 18 |
@ControllerMiddleware(AdminGuardMiddleware({ roles: [Role.SUPER_ADMIN] }))
|
|
|
|
| 40 |
);
|
| 41 |
}
|
| 42 |
|
| 43 |
+
list = async (
|
| 44 |
+
req: Request,
|
| 45 |
+
res: Response<IJSONSuccessResponse<AdminSerialization[]>>
|
| 46 |
+
): Promise<Response> => {
|
| 47 |
const paginationQuery = parsePaginationQuery(req.query);
|
| 48 |
const { docs, paginationData } = await this.adminsService.list(
|
| 49 |
{},
|
|
|
|
| 59 |
);
|
| 60 |
};
|
| 61 |
|
| 62 |
+
get = async (
|
| 63 |
+
req: Request<{ id: string }>,
|
| 64 |
+
res: Response<IJSONSuccessResponse<AdminSerialization>>
|
| 65 |
+
): Promise<Response> => {
|
| 66 |
const data = await this.adminsService.findOneOrFail({
|
| 67 |
_id: req.params.id,
|
| 68 |
});
|
| 69 |
|
| 70 |
return JsonResponse.success(
|
| 71 |
{
|
| 72 |
+
data: serialize(data, AdminSerialization) as AdminSerialization,
|
| 73 |
},
|
| 74 |
res
|
| 75 |
);
|
| 76 |
};
|
| 77 |
|
| 78 |
+
create = async (
|
| 79 |
+
req: Request<{}, {}, ICreateAdmin>,
|
| 80 |
+
res: Response<IJSONSuccessResponse<AdminSerialization>>
|
| 81 |
+
): Promise<Response> => {
|
| 82 |
const admin = await this.adminsService.create(req.body);
|
| 83 |
|
| 84 |
return JsonResponse.success(
|
|
|
|
| 90 |
);
|
| 91 |
};
|
| 92 |
|
| 93 |
+
update = async (
|
| 94 |
+
req: Request<{ id: string }, {}, ICreateAdmin>,
|
| 95 |
+
res: Response<IJSONSuccessResponse<AdminSerialization>>
|
| 96 |
+
): Promise<Response> => {
|
| 97 |
const admin = await this.adminsService.updateOne(
|
| 98 |
{
|
| 99 |
_id: req.params.id,
|
|
|
|
| 109 |
);
|
| 110 |
};
|
| 111 |
|
| 112 |
+
delete = async (
|
| 113 |
+
req: Request<{ id: string }>,
|
| 114 |
+
res: Response<IJSONSuccessResponse<AdminSerialization>>
|
| 115 |
+
): Promise<Response> => {
|
| 116 |
const admin = await this.adminsService.deleteOne({
|
| 117 |
_id: req.params.id,
|
| 118 |
});
|
src/routes.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Router, Express } from "express";
|
|
| 2 |
|
| 3 |
import * as glob from "glob";
|
| 4 |
import path from "path";
|
|
|
|
| 5 |
import { BaseController } from "./lib/controllers/controller.base";
|
| 6 |
import { validationErrorHandler } from "./helpers/validation.helper";
|
| 7 |
import { JsonResponse } from "@lib/responses/json-response";
|
|
@@ -16,7 +17,7 @@ export const setAppRoutes = async (app: Express) => {
|
|
| 16 |
const mainRouter = Router();
|
| 17 |
|
| 18 |
await importControllers(mainRouter);
|
| 19 |
-
setCustomRoutes(mainRouter);
|
| 20 |
|
| 21 |
app.use("/api/v1", mainRouter);
|
| 22 |
};
|
|
@@ -28,7 +29,7 @@ export const setAppRoutes = async (app: Express) => {
|
|
| 28 |
*
|
| 29 |
* @param router - The router object to set the routes on.
|
| 30 |
*/
|
| 31 |
-
const setCustomRoutes = (router: Router) => {
|
| 32 |
// Health check route
|
| 33 |
router.get("/health", (_req: any, res: any) => {
|
| 34 |
JsonResponse.success(
|
|
@@ -43,8 +44,24 @@ const setCustomRoutes = (router: Router) => {
|
|
| 43 |
// Validation error handler
|
| 44 |
router.use(validationErrorHandler);
|
| 45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
// Invalid URL handler
|
| 47 |
-
router.all("*", (
|
|
|
|
| 48 |
JsonResponse.error(
|
| 49 |
{
|
| 50 |
error: "Invalid URL!",
|
|
|
|
| 2 |
|
| 3 |
import * as glob from "glob";
|
| 4 |
import path from "path";
|
| 5 |
+
import { TspecDocsMiddleware } from "tspec";
|
| 6 |
import { BaseController } from "./lib/controllers/controller.base";
|
| 7 |
import { validationErrorHandler } from "./helpers/validation.helper";
|
| 8 |
import { JsonResponse } from "@lib/responses/json-response";
|
|
|
|
| 17 |
const mainRouter = Router();
|
| 18 |
|
| 19 |
await importControllers(mainRouter);
|
| 20 |
+
await setCustomRoutes(mainRouter);
|
| 21 |
|
| 22 |
app.use("/api/v1", mainRouter);
|
| 23 |
};
|
|
|
|
| 29 |
*
|
| 30 |
* @param router - The router object to set the routes on.
|
| 31 |
*/
|
| 32 |
+
const setCustomRoutes = async (router: Router) => {
|
| 33 |
// Health check route
|
| 34 |
router.get("/health", (_req: any, res: any) => {
|
| 35 |
JsonResponse.success(
|
|
|
|
| 44 |
// Validation error handler
|
| 45 |
router.use(validationErrorHandler);
|
| 46 |
|
| 47 |
+
// docs
|
| 48 |
+
router.use("/docs", await TspecDocsMiddleware({
|
| 49 |
+
openapi: {
|
| 50 |
+
title: 'API Documentation',
|
| 51 |
+
version: '0.0.1',
|
| 52 |
+
securityDefinitions: {
|
| 53 |
+
jwt: {
|
| 54 |
+
type: 'http',
|
| 55 |
+
scheme: 'bearer',
|
| 56 |
+
bearerFormat: 'JWT',
|
| 57 |
+
}
|
| 58 |
+
}
|
| 59 |
+
}
|
| 60 |
+
}));
|
| 61 |
+
|
| 62 |
// Invalid URL handler
|
| 63 |
+
router.all("*", (req: any, res: any) => {
|
| 64 |
+
|
| 65 |
JsonResponse.error(
|
| 66 |
{
|
| 67 |
error: "Invalid URL!",
|