Bansari Akhani commited on
Commit
d8ce00b
·
1 Parent(s): 6a978cd

swagger and logger

Browse files
.env.build.develop CHANGED
@@ -1,3 +1,3 @@
1
  PORT=3000
2
-
3
- AI_SERVICE_URL=http://ai:8000
 
1
  PORT=3000
2
+ APP_URL=https://develop.fusionbills.com/api
3
+ AI_SERVICE_URL=http://ai:8000
.env.build.main CHANGED
@@ -1,3 +1,3 @@
1
  PORT=3000
2
-
3
  AI_SERVICE_URL=http://ai:8000
 
1
  PORT=3000
2
+ APP_URL=
3
  AI_SERVICE_URL=http://ai:8000
.env.build.staging CHANGED
@@ -1,3 +1,4 @@
1
  PORT=3000
 
2
 
3
  AI_SERVICE_URL=http://ai:8000
 
1
  PORT=3000
2
+ APP_URL=
3
 
4
  AI_SERVICE_URL=http://ai:8000
.env.example CHANGED
@@ -7,6 +7,9 @@ DB_PORT=
7
  DB_DIALECT=
8
 
9
 
 
 
 
10
  AI_SERVICE_URL=
11
  PW_API_URL=
12
 
 
7
  DB_DIALECT=
8
 
9
 
10
+ PORT=
11
+ APP_URL=
12
+
13
  AI_SERVICE_URL=
14
  PW_API_URL=
15
 
package.json CHANGED
@@ -17,9 +17,14 @@
17
  "jsonwebtoken": "^9.0.2",
18
  "multer": "^1.4.5-lts.1",
19
  "mysql2": "^3.10.2",
 
 
 
20
  "sequelize": "^6.37.3",
21
  "sequelize-cli": "^6.6.2",
22
- "sequelize-typescript": "^2.1.6"
 
 
23
  },
24
  "devDependencies": {
25
  "@types/bcryptjs": "^2",
@@ -29,6 +34,8 @@
29
  "@types/jsonwebtoken": "^9",
30
  "@types/multer": "^1",
31
  "@types/node": "^20.14.10",
 
 
32
  "@typescript-eslint/eslint-plugin": "^7.16.1",
33
  "@typescript-eslint/parser": "^7.16.1",
34
  "eslint": "^9.7.0",
 
17
  "jsonwebtoken": "^9.0.2",
18
  "multer": "^1.4.5-lts.1",
19
  "mysql2": "^3.10.2",
20
+ "pino": "^9.3.2",
21
+ "pino-http": "^10.2.0",
22
+ "pino-pretty": "^11.2.2",
23
  "sequelize": "^6.37.3",
24
  "sequelize-cli": "^6.6.2",
25
+ "sequelize-typescript": "^2.1.6",
26
+ "swagger-jsdoc": "^6.2.8",
27
+ "swagger-ui-express": "^5.0.1"
28
  },
29
  "devDependencies": {
30
  "@types/bcryptjs": "^2",
 
34
  "@types/jsonwebtoken": "^9",
35
  "@types/multer": "^1",
36
  "@types/node": "^20.14.10",
37
+ "@types/swagger-jsdoc": "^6",
38
+ "@types/swagger-ui-express": "^4.1.6",
39
  "@typescript-eslint/eslint-plugin": "^7.16.1",
40
  "@typescript-eslint/parser": "^7.16.1",
41
  "eslint": "^9.7.0",
src/app.ts CHANGED
@@ -1,40 +1,27 @@
1
- import express from 'express';
2
- import cors from 'cors';
3
-
4
- import invoiceRouter from './routes/invoice.routes';
5
- import pwRouter from './routes/propertyware.routes';
6
- import userRouter from './routes/users';
7
- import auditLogRouter from './routes/auditLogs';
8
- import authRouter from './routes/auth';
9
- import errorLogRouter from './routes/errorLog.routes';
10
- import rolesRouter from './routes/roles.routes';
11
- import settingRouter from './routes/settings.routes';
 
12
 
13
  const app = express();
14
 
15
- const port = 3000;
16
- app.use(express.json());
17
 
18
  app.use(cors());
19
 
20
- app.get('/', (_, res) => {
21
- res.send('Service is healthy!');
22
- });
23
 
 
 
24
 
25
- app.use("/api/pw", pwRouter);
26
- app.use('/api/invoices', invoiceRouter);
27
- app.use('/api/', authRouter);
28
- app.use('/api/users/', userRouter)
29
- app.use('/api/audit-logs/', auditLogRouter)
30
- app.use('/api/error-logs/', errorLogRouter)
31
- app.use('/api/roles/', rolesRouter)
32
- app.use('/api/settings/', settingRouter)
33
-
34
- try {
35
- app.listen(port, () => {
36
- console.log(`Server running on http://localhost:${port}`)
37
- })
38
- } catch (error) {
39
- console.log(`Error occurred: ${error}`)
40
- }
 
1
+ import cors from "cors";
2
+ import dotenv from "dotenv";
3
+ import express from "express";
4
+ import pinoHttp from "pino-http";
5
+ import swaggerUi from "swagger-ui-express";
6
+
7
+ import { APP_CONFIG } from "./config/app.config";
8
+ import rootRouter from "./routes/root.routes";
9
+ import { logger } from "./utils/logger";
10
+ import { swaggerDocs } from "./utils/swagger";
11
+
12
+ dotenv.config();
13
 
14
  const app = express();
15
 
16
+ app.use(pinoHttp({ logger }));
 
17
 
18
  app.use(cors());
19
 
20
+ app.use(express.json());
 
 
21
 
22
+ app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocs));
23
+ app.use("/", rootRouter);
24
 
25
+ app.listen(APP_CONFIG.port, () => {
26
+ logger.info(`Server is running at ${APP_CONFIG.appURL} in ${APP_CONFIG.env} mode`);
27
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
src/config/app.config.ts ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import dotenv from "dotenv";
2
+
3
+ dotenv.config();
4
+
5
+ const env = process.env.NODE_ENV || "development";
6
+ const port = process.env.PORT;;
7
+ const appURL = process.env.APP_URL;
8
+
9
+ export const APP_CONFIG = {
10
+ env,
11
+ port,
12
+ appURL: env === "development" ? `http://localhost:${port}` : appURL,
13
+ };
src/routes/root.routes.ts ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import express from 'express';
2
+
3
+ import invoiceRouter from './invoice.routes';
4
+ import pwRouter from './propertyware.routes';
5
+ import userRouter from './users';
6
+ import auditLogRouter from './auditLogs';
7
+ import authRouter from './auth';
8
+ import errorLogRouter from './errorLog.routes';
9
+
10
+ const router = express.Router();
11
+
12
+ /**
13
+ * @swagger
14
+ * /:
15
+ * get:
16
+ * tags: ["Root"]
17
+ * summary: Service health check
18
+ * responses:
19
+ * 200:
20
+ * description: The health of the service
21
+ */
22
+ router.get('/', (_, res) => {
23
+ res.send('Service is healthy!');
24
+ });
25
+
26
+ router.use("/api/pw", pwRouter);
27
+ router.use('/api/invoices', invoiceRouter);
28
+ router.use('/api', authRouter);
29
+ router.use('/api/users', userRouter);
30
+ router.use('/api/audit-logs', auditLogRouter);
31
+ router.use('/api/error-logs', errorLogRouter);
32
+
33
+ export default router;
src/utils/logger.ts ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pino from "pino";
2
+
3
+ export const logger = pino({
4
+ level: "info",
5
+ transport: {
6
+ target: "pino-pretty",
7
+ options: {
8
+ colorize: true,
9
+ levelFirst: true,
10
+ translateTime: "SYS:standard",
11
+ },
12
+ },
13
+ });
src/utils/swagger.ts ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import swaggerJSDoc, { Options } from "swagger-jsdoc";
2
+
3
+ import { APP_CONFIG } from "config/app.config";
4
+
5
+ const swaggerOptions: Options = {
6
+ swaggerDefinition: {
7
+ openapi: "3.0.0",
8
+ info: {
9
+ title: "FusionBills Express API",
10
+ version: "1.0.0",
11
+ description: "FusionBills Express API Swagger",
12
+ },
13
+ servers: [
14
+ {
15
+ url: APP_CONFIG.appURL,
16
+ description: "API documentation",
17
+ },
18
+ ],
19
+ schemes: ["http", "https"],
20
+ basePath: "/",
21
+ },
22
+ apis: ["**/*.routes.ts"],
23
+ };
24
+
25
+ export const swaggerDocs = swaggerJSDoc(swaggerOptions);
yarn.lock CHANGED
@@ -5,6 +5,48 @@ __metadata:
5
  version: 8
6
  cacheKey: 10c0
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  "@aws-crypto/crc32@npm:5.2.0":
9
  version: 5.2.0
10
  resolution: "@aws-crypto/crc32@npm:5.2.0"
@@ -813,6 +855,13 @@ __metadata:
813
  languageName: node
814
  linkType: hard
815
 
 
 
 
 
 
 
 
816
  "@nodelib/fs.scandir@npm:2.1.5":
817
  version: 2.1.5
818
  resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -1604,6 +1653,13 @@ __metadata:
1604
  languageName: node
1605
  linkType: hard
1606
 
 
 
 
 
 
 
 
1607
  "@types/jsonwebtoken@npm:^9":
1608
  version: 9.0.6
1609
  resolution: "@types/jsonwebtoken@npm:9.0.6"
@@ -1699,6 +1755,23 @@ __metadata:
1699
  languageName: node
1700
  linkType: hard
1701
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1702
  "@types/validator@npm:*, @types/validator@npm:^13.7.17":
1703
  version: 13.12.0
1704
  resolution: "@types/validator@npm:13.12.0"
@@ -1831,6 +1904,15 @@ __metadata:
1831
  languageName: node
1832
  linkType: hard
1833
 
 
 
 
 
 
 
 
 
 
1834
  "accepts@npm:~1.3.8":
1835
  version: 1.3.8
1836
  resolution: "accepts@npm:1.3.8"
@@ -2002,6 +2084,13 @@ __metadata:
2002
  languageName: node
2003
  linkType: hard
2004
 
 
 
 
 
 
 
 
2005
  "available-typed-arrays@npm:^1.0.7":
2006
  version: 1.0.7
2007
  resolution: "available-typed-arrays@npm:1.0.7"
@@ -2203,7 +2292,7 @@ __metadata:
2203
  languageName: node
2204
  linkType: hard
2205
 
2206
- "base64-js@npm:^1.0.2":
2207
  version: 1.5.1
2208
  resolution: "base64-js@npm:1.5.1"
2209
  checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf
@@ -2311,6 +2400,16 @@ __metadata:
2311
  languageName: node
2312
  linkType: hard
2313
 
 
 
 
 
 
 
 
 
 
 
2314
  "busboy@npm:^1.0.0":
2315
  version: 1.6.0
2316
  resolution: "busboy@npm:1.6.0"
@@ -2360,6 +2459,13 @@ __metadata:
2360
  languageName: node
2361
  linkType: hard
2362
 
 
 
 
 
 
 
 
2363
  "callsites@npm:^3.0.0":
2364
  version: 3.1.0
2365
  resolution: "callsites@npm:3.1.0"
@@ -2463,6 +2569,13 @@ __metadata:
2463
  languageName: node
2464
  linkType: hard
2465
 
 
 
 
 
 
 
 
2466
  "combined-stream@npm:^1.0.8":
2467
  version: 1.0.8
2468
  resolution: "combined-stream@npm:1.0.8"
@@ -2472,6 +2585,13 @@ __metadata:
2472
  languageName: node
2473
  linkType: hard
2474
 
 
 
 
 
 
 
 
2475
  "commander@npm:^10.0.0":
2476
  version: 10.0.1
2477
  resolution: "commander@npm:10.0.1"
@@ -2479,6 +2599,13 @@ __metadata:
2479
  languageName: node
2480
  linkType: hard
2481
 
 
 
 
 
 
 
 
2482
  "concat-map@npm:0.0.1":
2483
  version: 0.0.1
2484
  resolution: "concat-map@npm:0.0.1"
@@ -2597,6 +2724,13 @@ __metadata:
2597
  languageName: node
2598
  linkType: hard
2599
 
 
 
 
 
 
 
 
2600
  "debug@npm:2.6.9, debug@npm:^2.6.8, debug@npm:^2.6.9":
2601
  version: 2.6.9
2602
  resolution: "debug@npm:2.6.9"
@@ -2689,6 +2823,15 @@ __metadata:
2689
  languageName: node
2690
  linkType: hard
2691
 
 
 
 
 
 
 
 
 
 
2692
  "dotenv@npm:*, dotenv@npm:^16.4.5":
2693
  version: 16.4.5
2694
  resolution: "dotenv@npm:16.4.5"
@@ -2770,6 +2913,15 @@ __metadata:
2770
  languageName: node
2771
  linkType: hard
2772
 
 
 
 
 
 
 
 
 
 
2773
  "env-paths@npm:^2.2.0":
2774
  version: 2.2.1
2775
  resolution: "env-paths@npm:2.2.1"
@@ -3044,6 +3196,13 @@ __metadata:
3044
  languageName: node
3045
  linkType: hard
3046
 
 
 
 
 
 
 
 
3047
  "events@npm:1.1.1":
3048
  version: 1.1.1
3049
  resolution: "events@npm:1.1.1"
@@ -3051,6 +3210,13 @@ __metadata:
3051
  languageName: node
3052
  linkType: hard
3053
 
 
 
 
 
 
 
 
3054
  "exponential-backoff@npm:^3.1.1":
3055
  version: 3.1.1
3056
  resolution: "exponential-backoff@npm:3.1.1"
@@ -3116,6 +3282,13 @@ __metadata:
3116
  languageName: node
3117
  linkType: hard
3118
 
 
 
 
 
 
 
 
3119
  "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
3120
  version: 3.1.3
3121
  resolution: "fast-deep-equal@npm:3.1.3"
@@ -3157,6 +3330,20 @@ __metadata:
3157
  languageName: node
3158
  linkType: hard
3159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3160
  "fast-xml-parser@npm:4.2.5":
3161
  version: 4.2.5
3162
  resolution: "fast-xml-parser@npm:4.2.5"
@@ -3190,6 +3377,8 @@ __metadata:
3190
  "@types/multer": "npm:^1"
3191
  "@types/node": "npm:^20.14.10"
3192
  "@types/sequelize": "npm:^4.28.20"
 
 
3193
  "@typescript-eslint/eslint-plugin": "npm:^7.16.1"
3194
  "@typescript-eslint/parser": "npm:^7.16.1"
3195
  aws-sdk: "npm:^2.1659.0"
@@ -3208,10 +3397,15 @@ __metadata:
3208
  multer: "npm:^1.4.5-lts.1"
3209
  mysql2: "npm:^3.10.2"
3210
  nodemon: "npm:^3.1.4"
 
 
 
3211
  prettier: "npm:^3.3.2"
3212
  sequelize: "npm:^6.37.3"
3213
  sequelize-cli: "npm:^6.6.2"
3214
  sequelize-typescript: "npm:^2.1.6"
 
 
3215
  ts-node: "npm:^10.9.2"
3216
  typescript: "npm:^5.5.3"
3217
  languageName: unknown
@@ -3441,6 +3635,20 @@ __metadata:
3441
  languageName: node
3442
  linkType: hard
3443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3444
  "glob@npm:7.2.0":
3445
  version: 7.2.0
3446
  resolution: "glob@npm:7.2.0"
@@ -3586,6 +3794,13 @@ __metadata:
3586
  languageName: node
3587
  linkType: hard
3588
 
 
 
 
 
 
 
 
3589
  "home-or-tmp@npm:^2.0.0":
3590
  version: 2.0.0
3591
  resolution: "home-or-tmp@npm:2.0.0"
@@ -3661,7 +3876,7 @@ __metadata:
3661
  languageName: node
3662
  linkType: hard
3663
 
3664
- "ieee754@npm:^1.1.4":
3665
  version: 1.2.1
3666
  resolution: "ieee754@npm:1.2.1"
3667
  checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
@@ -3922,6 +4137,13 @@ __metadata:
3922
  languageName: node
3923
  linkType: hard
3924
 
 
 
 
 
 
 
 
3925
  "js-beautify@npm:^1.14.5":
3926
  version: 1.15.1
3927
  resolution: "js-beautify@npm:1.15.1"
@@ -4097,6 +4319,13 @@ __metadata:
4097
  languageName: node
4098
  linkType: hard
4099
 
 
 
 
 
 
 
 
4100
  "lodash.includes@npm:^4.3.0":
4101
  version: 4.3.0
4102
  resolution: "lodash.includes@npm:4.3.0"
@@ -4111,6 +4340,13 @@ __metadata:
4111
  languageName: node
4112
  linkType: hard
4113
 
 
 
 
 
 
 
 
4114
  "lodash.isinteger@npm:^4.0.4":
4115
  version: 4.0.4
4116
  resolution: "lodash.isinteger@npm:4.0.4"
@@ -4146,6 +4382,13 @@ __metadata:
4146
  languageName: node
4147
  linkType: hard
4148
 
 
 
 
 
 
 
 
4149
  "lodash.once@npm:^4.0.0":
4150
  version: 4.1.1
4151
  resolution: "lodash.once@npm:4.1.1"
@@ -4623,6 +4866,13 @@ __metadata:
4623
  languageName: node
4624
  linkType: hard
4625
 
 
 
 
 
 
 
 
4626
  "on-finished@npm:2.4.1":
4627
  version: 2.4.1
4628
  resolution: "on-finished@npm:2.4.1"
@@ -4632,7 +4882,7 @@ __metadata:
4632
  languageName: node
4633
  linkType: hard
4634
 
4635
- "once@npm:^1.3.0":
4636
  version: 1.4.0
4637
  resolution: "once@npm:1.4.0"
4638
  dependencies:
@@ -4785,6 +5035,80 @@ __metadata:
4785
  languageName: node
4786
  linkType: hard
4787
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4788
  "possible-typed-array-names@npm:^1.0.0":
4789
  version: 1.0.0
4790
  resolution: "possible-typed-array-names@npm:1.0.0"
@@ -4838,6 +5162,27 @@ __metadata:
4838
  languageName: node
4839
  linkType: hard
4840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4841
  "promise-retry@npm:^2.0.1":
4842
  version: 2.0.1
4843
  resolution: "promise-retry@npm:2.0.1"
@@ -4879,6 +5224,16 @@ __metadata:
4879
  languageName: node
4880
  linkType: hard
4881
 
 
 
 
 
 
 
 
 
 
 
4882
  "punycode@npm:1.3.2":
4883
  version: 1.3.2
4884
  resolution: "punycode@npm:1.3.2"
@@ -4916,6 +5271,13 @@ __metadata:
4916
  languageName: node
4917
  linkType: hard
4918
 
 
 
 
 
 
 
 
4919
  "range-parser@npm:~1.2.1":
4920
  version: 1.2.1
4921
  resolution: "range-parser@npm:1.2.1"
@@ -4950,6 +5312,19 @@ __metadata:
4950
  languageName: node
4951
  linkType: hard
4952
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4953
  "readdirp@npm:~3.6.0":
4954
  version: 3.6.0
4955
  resolution: "readdirp@npm:3.6.0"
@@ -4959,6 +5334,13 @@ __metadata:
4959
  languageName: node
4960
  linkType: hard
4961
 
 
 
 
 
 
 
 
4962
  "regenerator-runtime@npm:^0.11.0":
4963
  version: 0.11.1
4964
  resolution: "regenerator-runtime@npm:0.11.1"
@@ -5045,7 +5427,7 @@ __metadata:
5045
  languageName: node
5046
  linkType: hard
5047
 
5048
- "safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1":
5049
  version: 5.2.1
5050
  resolution: "safe-buffer@npm:5.2.1"
5051
  checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
@@ -5059,6 +5441,13 @@ __metadata:
5059
  languageName: node
5060
  linkType: hard
5061
 
 
 
 
 
 
 
 
5062
  "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
5063
  version: 2.1.2
5064
  resolution: "safer-buffer@npm:2.1.2"
@@ -5080,6 +5469,13 @@ __metadata:
5080
  languageName: node
5081
  linkType: hard
5082
 
 
 
 
 
 
 
 
5083
  "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0":
5084
  version: 7.6.3
5085
  resolution: "semver@npm:7.6.3"
@@ -5318,6 +5714,15 @@ __metadata:
5318
  languageName: node
5319
  linkType: hard
5320
 
 
 
 
 
 
 
 
 
 
5321
  "source-map-support@npm:^0.4.15":
5322
  version: 0.4.18
5323
  resolution: "source-map-support@npm:0.4.18"
@@ -5334,6 +5739,13 @@ __metadata:
5334
  languageName: node
5335
  linkType: hard
5336
 
 
 
 
 
 
 
 
5337
  "sprintf-js@npm:^1.1.3":
5338
  version: 1.1.3
5339
  resolution: "sprintf-js@npm:1.1.3"
@@ -5393,6 +5805,15 @@ __metadata:
5393
  languageName: node
5394
  linkType: hard
5395
 
 
 
 
 
 
 
 
 
 
5396
  "string_decoder@npm:~1.1.1":
5397
  version: 1.1.1
5398
  resolution: "string_decoder@npm:1.1.1"
@@ -5475,6 +5896,49 @@ __metadata:
5475
  languageName: node
5476
  linkType: hard
5477
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5478
  "synckit@npm:^0.9.1":
5479
  version: 0.9.1
5480
  resolution: "synckit@npm:0.9.1"
@@ -5506,6 +5970,15 @@ __metadata:
5506
  languageName: node
5507
  linkType: hard
5508
 
 
 
 
 
 
 
 
 
 
5509
  "timers-ext@npm:^0.1.7":
5510
  version: 0.1.8
5511
  resolution: "timers-ext@npm:0.1.8"
@@ -5804,7 +6277,7 @@ __metadata:
5804
  languageName: node
5805
  linkType: hard
5806
 
5807
- "validator@npm:^13.9.0, validator@npm:~13.12.0":
5808
  version: 13.12.0
5809
  resolution: "validator@npm:13.12.0"
5810
  checksum: 10c0/21d48a7947c9e8498790550f56cd7971e0e3d724c73388226b109c1bac2728f4f88caddfc2f7ed4b076f9b0d004316263ac786a17e9c4edf075741200718cd32
@@ -5936,6 +6409,13 @@ __metadata:
5936
  languageName: node
5937
  linkType: hard
5938
 
 
 
 
 
 
 
 
5939
  "yargs-parser@npm:^20.2.2":
5940
  version: 20.2.9
5941
  resolution: "yargs-parser@npm:20.2.9"
@@ -5971,3 +6451,20 @@ __metadata:
5971
  checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
5972
  languageName: node
5973
  linkType: hard
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  version: 8
6
  cacheKey: 10c0
7
 
8
+ "@apidevtools/json-schema-ref-parser@npm:^9.0.6":
9
+ version: 9.1.2
10
+ resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.2"
11
+ dependencies:
12
+ "@jsdevtools/ono": "npm:^7.1.3"
13
+ "@types/json-schema": "npm:^7.0.6"
14
+ call-me-maybe: "npm:^1.0.1"
15
+ js-yaml: "npm:^4.1.0"
16
+ checksum: 10c0/ebf952eb2e00bf0919f024e72897e047fd5012f0a9e47ac361873f6de0a733b9334513cdbc73205a6b43ac4a652b8c87f55e489c39b2d60bd0bc1cb2b411e218
17
+ languageName: node
18
+ linkType: hard
19
+
20
+ "@apidevtools/openapi-schemas@npm:^2.0.4":
21
+ version: 2.1.0
22
+ resolution: "@apidevtools/openapi-schemas@npm:2.1.0"
23
+ checksum: 10c0/f4aa0f9df32e474d166c84ef91bceb18fa1c4f44b5593879529154ef340846811ea57dc2921560f157f692262827d28d988dd6e19fb21f00320e9961964176b4
24
+ languageName: node
25
+ linkType: hard
26
+
27
+ "@apidevtools/swagger-methods@npm:^3.0.2":
28
+ version: 3.0.2
29
+ resolution: "@apidevtools/swagger-methods@npm:3.0.2"
30
+ checksum: 10c0/8c390e8e50c0be7787ba0ba4c3758488bde7c66c2d995209b4b48c1f8bc988faf393cbb24a4bd1cd2d42ce5167c26538e8adea5c85eb922761b927e4dab9fa1c
31
+ languageName: node
32
+ linkType: hard
33
+
34
+ "@apidevtools/swagger-parser@npm:10.0.3":
35
+ version: 10.0.3
36
+ resolution: "@apidevtools/swagger-parser@npm:10.0.3"
37
+ dependencies:
38
+ "@apidevtools/json-schema-ref-parser": "npm:^9.0.6"
39
+ "@apidevtools/openapi-schemas": "npm:^2.0.4"
40
+ "@apidevtools/swagger-methods": "npm:^3.0.2"
41
+ "@jsdevtools/ono": "npm:^7.1.3"
42
+ call-me-maybe: "npm:^1.0.1"
43
+ z-schema: "npm:^5.0.1"
44
+ peerDependencies:
45
+ openapi-types: ">=7"
46
+ checksum: 10c0/3b43f719c2d647ac8dcf30f132834d413ce21cbf7a8d9c3b35ec91149dd25d608c8fd892358fcd61a8edd8c5140a7fb13676f948e2d87067d081a47b8c7107e9
47
+ languageName: node
48
+ linkType: hard
49
+
50
  "@aws-crypto/crc32@npm:5.2.0":
51
  version: 5.2.0
52
  resolution: "@aws-crypto/crc32@npm:5.2.0"
 
855
  languageName: node
856
  linkType: hard
857
 
858
+ "@jsdevtools/ono@npm:^7.1.3":
859
+ version: 7.1.3
860
+ resolution: "@jsdevtools/ono@npm:7.1.3"
861
+ checksum: 10c0/a9f7e3e8e3bc315a34959934a5e2f874c423cf4eae64377d3fc9de0400ed9f36cb5fd5ebce3300d2e8f4085f557c4a8b591427a583729a87841fda46e6c216b9
862
+ languageName: node
863
+ linkType: hard
864
+
865
  "@nodelib/fs.scandir@npm:2.1.5":
866
  version: 2.1.5
867
  resolution: "@nodelib/fs.scandir@npm:2.1.5"
 
1653
  languageName: node
1654
  linkType: hard
1655
 
1656
+ "@types/json-schema@npm:^7.0.6":
1657
+ version: 7.0.15
1658
+ resolution: "@types/json-schema@npm:7.0.15"
1659
+ checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
1660
+ languageName: node
1661
+ linkType: hard
1662
+
1663
  "@types/jsonwebtoken@npm:^9":
1664
  version: 9.0.6
1665
  resolution: "@types/jsonwebtoken@npm:9.0.6"
 
1755
  languageName: node
1756
  linkType: hard
1757
 
1758
+ "@types/swagger-jsdoc@npm:^6":
1759
+ version: 6.0.4
1760
+ resolution: "@types/swagger-jsdoc@npm:6.0.4"
1761
+ checksum: 10c0/fbe17d91a12e1e60a255b02e6def6877c81b356c75ffcd0e5167fbaf1476e2d6600cd7eea79e6b3e0ff7929dec33ade345147509ed3b98026f63c782b74514f6
1762
+ languageName: node
1763
+ linkType: hard
1764
+
1765
+ "@types/swagger-ui-express@npm:^4.1.6":
1766
+ version: 4.1.6
1767
+ resolution: "@types/swagger-ui-express@npm:4.1.6"
1768
+ dependencies:
1769
+ "@types/express": "npm:*"
1770
+ "@types/serve-static": "npm:*"
1771
+ checksum: 10c0/b7d10d04e70a4e35b0b98bed9ecebb51c0c9bddcb56f7132022b6022c58d643b05a7fe97e792cd6dc8d2c5d952ef173922db56137642a74b464d704fc3c8962b
1772
+ languageName: node
1773
+ linkType: hard
1774
+
1775
  "@types/validator@npm:*, @types/validator@npm:^13.7.17":
1776
  version: 13.12.0
1777
  resolution: "@types/validator@npm:13.12.0"
 
1904
  languageName: node
1905
  linkType: hard
1906
 
1907
+ "abort-controller@npm:^3.0.0":
1908
+ version: 3.0.0
1909
+ resolution: "abort-controller@npm:3.0.0"
1910
+ dependencies:
1911
+ event-target-shim: "npm:^5.0.0"
1912
+ checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5
1913
+ languageName: node
1914
+ linkType: hard
1915
+
1916
  "accepts@npm:~1.3.8":
1917
  version: 1.3.8
1918
  resolution: "accepts@npm:1.3.8"
 
2084
  languageName: node
2085
  linkType: hard
2086
 
2087
+ "atomic-sleep@npm:^1.0.0":
2088
+ version: 1.0.0
2089
+ resolution: "atomic-sleep@npm:1.0.0"
2090
+ checksum: 10c0/e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a
2091
+ languageName: node
2092
+ linkType: hard
2093
+
2094
  "available-typed-arrays@npm:^1.0.7":
2095
  version: 1.0.7
2096
  resolution: "available-typed-arrays@npm:1.0.7"
 
2292
  languageName: node
2293
  linkType: hard
2294
 
2295
+ "base64-js@npm:^1.0.2, base64-js@npm:^1.3.1":
2296
  version: 1.5.1
2297
  resolution: "base64-js@npm:1.5.1"
2298
  checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf
 
2400
  languageName: node
2401
  linkType: hard
2402
 
2403
+ "buffer@npm:^6.0.3":
2404
+ version: 6.0.3
2405
+ resolution: "buffer@npm:6.0.3"
2406
+ dependencies:
2407
+ base64-js: "npm:^1.3.1"
2408
+ ieee754: "npm:^1.2.1"
2409
+ checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0
2410
+ languageName: node
2411
+ linkType: hard
2412
+
2413
  "busboy@npm:^1.0.0":
2414
  version: 1.6.0
2415
  resolution: "busboy@npm:1.6.0"
 
2459
  languageName: node
2460
  linkType: hard
2461
 
2462
+ "call-me-maybe@npm:^1.0.1":
2463
+ version: 1.0.2
2464
+ resolution: "call-me-maybe@npm:1.0.2"
2465
+ checksum: 10c0/8eff5dbb61141ebb236ed71b4e9549e488bcb5451c48c11e5667d5c75b0532303788a1101e6978cafa2d0c8c1a727805599c2741e3e0982855c9f1d78cd06c9f
2466
+ languageName: node
2467
+ linkType: hard
2468
+
2469
  "callsites@npm:^3.0.0":
2470
  version: 3.1.0
2471
  resolution: "callsites@npm:3.1.0"
 
2569
  languageName: node
2570
  linkType: hard
2571
 
2572
+ "colorette@npm:^2.0.7":
2573
+ version: 2.0.20
2574
+ resolution: "colorette@npm:2.0.20"
2575
+ checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40
2576
+ languageName: node
2577
+ linkType: hard
2578
+
2579
  "combined-stream@npm:^1.0.8":
2580
  version: 1.0.8
2581
  resolution: "combined-stream@npm:1.0.8"
 
2585
  languageName: node
2586
  linkType: hard
2587
 
2588
+ "commander@npm:6.2.0":
2589
+ version: 6.2.0
2590
+ resolution: "commander@npm:6.2.0"
2591
+ checksum: 10c0/1b701c6726fc2b6c6a7d9ab017be9465153546a05767cdd0e15e9f9a11c07f88f64d47684b90b07e5fb103d173efb6afdf4a21f6d6c4c25f7376bd027d21062c
2592
+ languageName: node
2593
+ linkType: hard
2594
+
2595
  "commander@npm:^10.0.0":
2596
  version: 10.0.1
2597
  resolution: "commander@npm:10.0.1"
 
2599
  languageName: node
2600
  linkType: hard
2601
 
2602
+ "commander@npm:^9.4.1":
2603
+ version: 9.5.0
2604
+ resolution: "commander@npm:9.5.0"
2605
+ checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d
2606
+ languageName: node
2607
+ linkType: hard
2608
+
2609
  "concat-map@npm:0.0.1":
2610
  version: 0.0.1
2611
  resolution: "concat-map@npm:0.0.1"
 
2724
  languageName: node
2725
  linkType: hard
2726
 
2727
+ "dateformat@npm:^4.6.3":
2728
+ version: 4.6.3
2729
+ resolution: "dateformat@npm:4.6.3"
2730
+ checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6
2731
+ languageName: node
2732
+ linkType: hard
2733
+
2734
  "debug@npm:2.6.9, debug@npm:^2.6.8, debug@npm:^2.6.9":
2735
  version: 2.6.9
2736
  resolution: "debug@npm:2.6.9"
 
2823
  languageName: node
2824
  linkType: hard
2825
 
2826
+ "doctrine@npm:3.0.0":
2827
+ version: 3.0.0
2828
+ resolution: "doctrine@npm:3.0.0"
2829
+ dependencies:
2830
+ esutils: "npm:^2.0.2"
2831
+ checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520
2832
+ languageName: node
2833
+ linkType: hard
2834
+
2835
  "dotenv@npm:*, dotenv@npm:^16.4.5":
2836
  version: 16.4.5
2837
  resolution: "dotenv@npm:16.4.5"
 
2913
  languageName: node
2914
  linkType: hard
2915
 
2916
+ "end-of-stream@npm:^1.1.0":
2917
+ version: 1.4.4
2918
+ resolution: "end-of-stream@npm:1.4.4"
2919
+ dependencies:
2920
+ once: "npm:^1.4.0"
2921
+ checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975
2922
+ languageName: node
2923
+ linkType: hard
2924
+
2925
  "env-paths@npm:^2.2.0":
2926
  version: 2.2.1
2927
  resolution: "env-paths@npm:2.2.1"
 
3196
  languageName: node
3197
  linkType: hard
3198
 
3199
+ "event-target-shim@npm:^5.0.0":
3200
+ version: 5.0.1
3201
+ resolution: "event-target-shim@npm:5.0.1"
3202
+ checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b
3203
+ languageName: node
3204
+ linkType: hard
3205
+
3206
  "events@npm:1.1.1":
3207
  version: 1.1.1
3208
  resolution: "events@npm:1.1.1"
 
3210
  languageName: node
3211
  linkType: hard
3212
 
3213
+ "events@npm:^3.3.0":
3214
+ version: 3.3.0
3215
+ resolution: "events@npm:3.3.0"
3216
+ checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6
3217
+ languageName: node
3218
+ linkType: hard
3219
+
3220
  "exponential-backoff@npm:^3.1.1":
3221
  version: 3.1.1
3222
  resolution: "exponential-backoff@npm:3.1.1"
 
3282
  languageName: node
3283
  linkType: hard
3284
 
3285
+ "fast-copy@npm:^3.0.2":
3286
+ version: 3.0.2
3287
+ resolution: "fast-copy@npm:3.0.2"
3288
+ checksum: 10c0/02e8b9fd03c8c024d2987760ce126456a0e17470850b51e11a1c3254eed6832e4733ded2d93316c82bc0b36aeb991ad1ff48d1ba95effe7add7c3ab8d8eb554a
3289
+ languageName: node
3290
+ linkType: hard
3291
+
3292
  "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
3293
  version: 3.1.3
3294
  resolution: "fast-deep-equal@npm:3.1.3"
 
3330
  languageName: node
3331
  linkType: hard
3332
 
3333
+ "fast-redact@npm:^3.1.1":
3334
+ version: 3.5.0
3335
+ resolution: "fast-redact@npm:3.5.0"
3336
+ checksum: 10c0/7e2ce4aad6e7535e0775bf12bd3e4f2e53d8051d8b630e0fa9e67f68cb0b0e6070d2f7a94b1d0522ef07e32f7c7cda5755e2b677a6538f1e9070ca053c42343a
3337
+ languageName: node
3338
+ linkType: hard
3339
+
3340
+ "fast-safe-stringify@npm:^2.1.1":
3341
+ version: 2.1.1
3342
+ resolution: "fast-safe-stringify@npm:2.1.1"
3343
+ checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d
3344
+ languageName: node
3345
+ linkType: hard
3346
+
3347
  "fast-xml-parser@npm:4.2.5":
3348
  version: 4.2.5
3349
  resolution: "fast-xml-parser@npm:4.2.5"
 
3377
  "@types/multer": "npm:^1"
3378
  "@types/node": "npm:^20.14.10"
3379
  "@types/sequelize": "npm:^4.28.20"
3380
+ "@types/swagger-jsdoc": "npm:^6"
3381
+ "@types/swagger-ui-express": "npm:^4.1.6"
3382
  "@typescript-eslint/eslint-plugin": "npm:^7.16.1"
3383
  "@typescript-eslint/parser": "npm:^7.16.1"
3384
  aws-sdk: "npm:^2.1659.0"
 
3397
  multer: "npm:^1.4.5-lts.1"
3398
  mysql2: "npm:^3.10.2"
3399
  nodemon: "npm:^3.1.4"
3400
+ pino: "npm:^9.3.2"
3401
+ pino-http: "npm:^10.2.0"
3402
+ pino-pretty: "npm:^11.2.2"
3403
  prettier: "npm:^3.3.2"
3404
  sequelize: "npm:^6.37.3"
3405
  sequelize-cli: "npm:^6.6.2"
3406
  sequelize-typescript: "npm:^2.1.6"
3407
+ swagger-jsdoc: "npm:^6.2.8"
3408
+ swagger-ui-express: "npm:^5.0.1"
3409
  ts-node: "npm:^10.9.2"
3410
  typescript: "npm:^5.5.3"
3411
  languageName: unknown
 
3635
  languageName: node
3636
  linkType: hard
3637
 
3638
+ "glob@npm:7.1.6":
3639
+ version: 7.1.6
3640
+ resolution: "glob@npm:7.1.6"
3641
+ dependencies:
3642
+ fs.realpath: "npm:^1.0.0"
3643
+ inflight: "npm:^1.0.4"
3644
+ inherits: "npm:2"
3645
+ minimatch: "npm:^3.0.4"
3646
+ once: "npm:^1.3.0"
3647
+ path-is-absolute: "npm:^1.0.0"
3648
+ checksum: 10c0/2575cce9306ac534388db751f0aa3e78afedb6af8f3b529ac6b2354f66765545145dba8530abf7bff49fb399a047d3f9b6901c38ee4c9503f592960d9af67763
3649
+ languageName: node
3650
+ linkType: hard
3651
+
3652
  "glob@npm:7.2.0":
3653
  version: 7.2.0
3654
  resolution: "glob@npm:7.2.0"
 
3794
  languageName: node
3795
  linkType: hard
3796
 
3797
+ "help-me@npm:^5.0.0":
3798
+ version: 5.0.0
3799
+ resolution: "help-me@npm:5.0.0"
3800
+ checksum: 10c0/054c0e2e9ae2231c85ab5e04f75109b9d068ffcc54e58fb22079822a5ace8ff3d02c66fd45379c902ad5ab825e5d2e1451fcc2f7eab1eb49e7d488133ba4cacb
3801
+ languageName: node
3802
+ linkType: hard
3803
+
3804
  "home-or-tmp@npm:^2.0.0":
3805
  version: 2.0.0
3806
  resolution: "home-or-tmp@npm:2.0.0"
 
3876
  languageName: node
3877
  linkType: hard
3878
 
3879
+ "ieee754@npm:^1.1.4, ieee754@npm:^1.2.1":
3880
  version: 1.2.1
3881
  resolution: "ieee754@npm:1.2.1"
3882
  checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
 
4137
  languageName: node
4138
  linkType: hard
4139
 
4140
+ "joycon@npm:^3.1.1":
4141
+ version: 3.1.1
4142
+ resolution: "joycon@npm:3.1.1"
4143
+ checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae
4144
+ languageName: node
4145
+ linkType: hard
4146
+
4147
  "js-beautify@npm:^1.14.5":
4148
  version: 1.15.1
4149
  resolution: "js-beautify@npm:1.15.1"
 
4319
  languageName: node
4320
  linkType: hard
4321
 
4322
+ "lodash.get@npm:^4.4.2":
4323
+ version: 4.4.2
4324
+ resolution: "lodash.get@npm:4.4.2"
4325
+ checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e
4326
+ languageName: node
4327
+ linkType: hard
4328
+
4329
  "lodash.includes@npm:^4.3.0":
4330
  version: 4.3.0
4331
  resolution: "lodash.includes@npm:4.3.0"
 
4340
  languageName: node
4341
  linkType: hard
4342
 
4343
+ "lodash.isequal@npm:^4.5.0":
4344
+ version: 4.5.0
4345
+ resolution: "lodash.isequal@npm:4.5.0"
4346
+ checksum: 10c0/dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f
4347
+ languageName: node
4348
+ linkType: hard
4349
+
4350
  "lodash.isinteger@npm:^4.0.4":
4351
  version: 4.0.4
4352
  resolution: "lodash.isinteger@npm:4.0.4"
 
4382
  languageName: node
4383
  linkType: hard
4384
 
4385
+ "lodash.mergewith@npm:^4.6.2":
4386
+ version: 4.6.2
4387
+ resolution: "lodash.mergewith@npm:4.6.2"
4388
+ checksum: 10c0/4adbed65ff96fd65b0b3861f6899f98304f90fd71e7f1eb36c1270e05d500ee7f5ec44c02ef979b5ddbf75c0a0b9b99c35f0ad58f4011934c4d4e99e5200b3b5
4389
+ languageName: node
4390
+ linkType: hard
4391
+
4392
  "lodash.once@npm:^4.0.0":
4393
  version: 4.1.1
4394
  resolution: "lodash.once@npm:4.1.1"
 
4866
  languageName: node
4867
  linkType: hard
4868
 
4869
+ "on-exit-leak-free@npm:^2.1.0":
4870
+ version: 2.1.2
4871
+ resolution: "on-exit-leak-free@npm:2.1.2"
4872
+ checksum: 10c0/faea2e1c9d696ecee919026c32be8d6a633a7ac1240b3b87e944a380e8a11dc9c95c4a1f8fb0568de7ab8db3823e790f12bda45296b1d111e341aad3922a0570
4873
+ languageName: node
4874
+ linkType: hard
4875
+
4876
  "on-finished@npm:2.4.1":
4877
  version: 2.4.1
4878
  resolution: "on-finished@npm:2.4.1"
 
4882
  languageName: node
4883
  linkType: hard
4884
 
4885
+ "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
4886
  version: 1.4.0
4887
  resolution: "once@npm:1.4.0"
4888
  dependencies:
 
5035
  languageName: node
5036
  linkType: hard
5037
 
5038
+ "pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:^1.2.0":
5039
+ version: 1.2.0
5040
+ resolution: "pino-abstract-transport@npm:1.2.0"
5041
+ dependencies:
5042
+ readable-stream: "npm:^4.0.0"
5043
+ split2: "npm:^4.0.0"
5044
+ checksum: 10c0/b4ab59529b7a91f488440147fc58ee0827a6c1c5ca3627292339354b1381072c1a6bfa9b46d03ad27872589e8477ecf74da12cf286e1e6b665ac64a3b806bf07
5045
+ languageName: node
5046
+ linkType: hard
5047
+
5048
+ "pino-http@npm:^10.2.0":
5049
+ version: 10.2.0
5050
+ resolution: "pino-http@npm:10.2.0"
5051
+ dependencies:
5052
+ get-caller-file: "npm:^2.0.5"
5053
+ pino: "npm:^9.0.0"
5054
+ pino-std-serializers: "npm:^7.0.0"
5055
+ process-warning: "npm:^3.0.0"
5056
+ checksum: 10c0/0b79cd3602531ee5043693e2a3ccf9d955bd93759e80c0b3a458b95b241f36ca8ebc72c8050b395e9d8fcb9581ebc18ecd6b7dc136526bebe924bc5c5079374d
5057
+ languageName: node
5058
+ linkType: hard
5059
+
5060
+ "pino-pretty@npm:^11.2.2":
5061
+ version: 11.2.2
5062
+ resolution: "pino-pretty@npm:11.2.2"
5063
+ dependencies:
5064
+ colorette: "npm:^2.0.7"
5065
+ dateformat: "npm:^4.6.3"
5066
+ fast-copy: "npm:^3.0.2"
5067
+ fast-safe-stringify: "npm:^2.1.1"
5068
+ help-me: "npm:^5.0.0"
5069
+ joycon: "npm:^3.1.1"
5070
+ minimist: "npm:^1.2.6"
5071
+ on-exit-leak-free: "npm:^2.1.0"
5072
+ pino-abstract-transport: "npm:^1.0.0"
5073
+ pump: "npm:^3.0.0"
5074
+ readable-stream: "npm:^4.0.0"
5075
+ secure-json-parse: "npm:^2.4.0"
5076
+ sonic-boom: "npm:^4.0.1"
5077
+ strip-json-comments: "npm:^3.1.1"
5078
+ bin:
5079
+ pino-pretty: bin.js
5080
+ checksum: 10c0/3ce1769907886a5584f6c8123d9bc987712ad10a375797733a0fe95a238df587dac8e2b709bab291c4e30d41b0cf65808c708c96f8eb98b2778b6df60afa7e66
5081
+ languageName: node
5082
+ linkType: hard
5083
+
5084
+ "pino-std-serializers@npm:^7.0.0":
5085
+ version: 7.0.0
5086
+ resolution: "pino-std-serializers@npm:7.0.0"
5087
+ checksum: 10c0/73e694d542e8de94445a03a98396cf383306de41fd75ecc07085d57ed7a57896198508a0dec6eefad8d701044af21eb27253ccc352586a03cf0d4a0bd25b4133
5088
+ languageName: node
5089
+ linkType: hard
5090
+
5091
+ "pino@npm:^9.0.0, pino@npm:^9.3.2":
5092
+ version: 9.3.2
5093
+ resolution: "pino@npm:9.3.2"
5094
+ dependencies:
5095
+ atomic-sleep: "npm:^1.0.0"
5096
+ fast-redact: "npm:^3.1.1"
5097
+ on-exit-leak-free: "npm:^2.1.0"
5098
+ pino-abstract-transport: "npm:^1.2.0"
5099
+ pino-std-serializers: "npm:^7.0.0"
5100
+ process-warning: "npm:^4.0.0"
5101
+ quick-format-unescaped: "npm:^4.0.3"
5102
+ real-require: "npm:^0.2.0"
5103
+ safe-stable-stringify: "npm:^2.3.1"
5104
+ sonic-boom: "npm:^4.0.1"
5105
+ thread-stream: "npm:^3.0.0"
5106
+ bin:
5107
+ pino: bin.js
5108
+ checksum: 10c0/698eb2ebfcc4252da9d035fcf9c999bf27615b66ebc47f9b3d7e942750e50ebe38429e6457abcf8014d70125964ddf114e696cb8225b480d9930271708e3fb52
5109
+ languageName: node
5110
+ linkType: hard
5111
+
5112
  "possible-typed-array-names@npm:^1.0.0":
5113
  version: 1.0.0
5114
  resolution: "possible-typed-array-names@npm:1.0.0"
 
5162
  languageName: node
5163
  linkType: hard
5164
 
5165
+ "process-warning@npm:^3.0.0":
5166
+ version: 3.0.0
5167
+ resolution: "process-warning@npm:3.0.0"
5168
+ checksum: 10c0/60f3c8ddee586f0706c1e6cb5aa9c86df05774b9330d792d7c8851cf0031afd759d665404d07037e0b4901b55c44a423f07bdc465c63de07d8d23196bb403622
5169
+ languageName: node
5170
+ linkType: hard
5171
+
5172
+ "process-warning@npm:^4.0.0":
5173
+ version: 4.0.0
5174
+ resolution: "process-warning@npm:4.0.0"
5175
+ checksum: 10c0/5312a72b69d37a1b82ad03f3dfa0090dab3804a8fd995d06c28e3c002852bd82f5584217d9f4a3f197892bb2afc22d57e2c662c7e906b5abb48c0380c7b0880d
5176
+ languageName: node
5177
+ linkType: hard
5178
+
5179
+ "process@npm:^0.11.10":
5180
+ version: 0.11.10
5181
+ resolution: "process@npm:0.11.10"
5182
+ checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3
5183
+ languageName: node
5184
+ linkType: hard
5185
+
5186
  "promise-retry@npm:^2.0.1":
5187
  version: 2.0.1
5188
  resolution: "promise-retry@npm:2.0.1"
 
5224
  languageName: node
5225
  linkType: hard
5226
 
5227
+ "pump@npm:^3.0.0":
5228
+ version: 3.0.0
5229
+ resolution: "pump@npm:3.0.0"
5230
+ dependencies:
5231
+ end-of-stream: "npm:^1.1.0"
5232
+ once: "npm:^1.3.1"
5233
+ checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478
5234
+ languageName: node
5235
+ linkType: hard
5236
+
5237
  "punycode@npm:1.3.2":
5238
  version: 1.3.2
5239
  resolution: "punycode@npm:1.3.2"
 
5271
  languageName: node
5272
  linkType: hard
5273
 
5274
+ "quick-format-unescaped@npm:^4.0.3":
5275
+ version: 4.0.4
5276
+ resolution: "quick-format-unescaped@npm:4.0.4"
5277
+ checksum: 10c0/fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4
5278
+ languageName: node
5279
+ linkType: hard
5280
+
5281
  "range-parser@npm:~1.2.1":
5282
  version: 1.2.1
5283
  resolution: "range-parser@npm:1.2.1"
 
5312
  languageName: node
5313
  linkType: hard
5314
 
5315
+ "readable-stream@npm:^4.0.0":
5316
+ version: 4.5.2
5317
+ resolution: "readable-stream@npm:4.5.2"
5318
+ dependencies:
5319
+ abort-controller: "npm:^3.0.0"
5320
+ buffer: "npm:^6.0.3"
5321
+ events: "npm:^3.3.0"
5322
+ process: "npm:^0.11.10"
5323
+ string_decoder: "npm:^1.3.0"
5324
+ checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d
5325
+ languageName: node
5326
+ linkType: hard
5327
+
5328
  "readdirp@npm:~3.6.0":
5329
  version: 3.6.0
5330
  resolution: "readdirp@npm:3.6.0"
 
5334
  languageName: node
5335
  linkType: hard
5336
 
5337
+ "real-require@npm:^0.2.0":
5338
+ version: 0.2.0
5339
+ resolution: "real-require@npm:0.2.0"
5340
+ checksum: 10c0/23eea5623642f0477412ef8b91acd3969015a1501ed34992ada0e3af521d3c865bb2fe4cdbfec5fe4b505f6d1ef6a03e5c3652520837a8c3b53decff7e74b6a0
5341
+ languageName: node
5342
+ linkType: hard
5343
+
5344
  "regenerator-runtime@npm:^0.11.0":
5345
  version: 0.11.1
5346
  resolution: "regenerator-runtime@npm:0.11.1"
 
5427
  languageName: node
5428
  linkType: hard
5429
 
5430
+ "safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0":
5431
  version: 5.2.1
5432
  resolution: "safe-buffer@npm:5.2.1"
5433
  checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
 
5441
  languageName: node
5442
  linkType: hard
5443
 
5444
+ "safe-stable-stringify@npm:^2.3.1":
5445
+ version: 2.4.3
5446
+ resolution: "safe-stable-stringify@npm:2.4.3"
5447
+ checksum: 10c0/81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768
5448
+ languageName: node
5449
+ linkType: hard
5450
+
5451
  "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
5452
  version: 2.1.2
5453
  resolution: "safer-buffer@npm:2.1.2"
 
5469
  languageName: node
5470
  linkType: hard
5471
 
5472
+ "secure-json-parse@npm:^2.4.0":
5473
+ version: 2.7.0
5474
+ resolution: "secure-json-parse@npm:2.7.0"
5475
+ checksum: 10c0/f57eb6a44a38a3eeaf3548228585d769d788f59007454214fab9ed7f01fbf2e0f1929111da6db28cf0bcc1a2e89db5219a59e83eeaec3a54e413a0197ce879e4
5476
+ languageName: node
5477
+ linkType: hard
5478
+
5479
  "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0":
5480
  version: 7.6.3
5481
  resolution: "semver@npm:7.6.3"
 
5714
  languageName: node
5715
  linkType: hard
5716
 
5717
+ "sonic-boom@npm:^4.0.1":
5718
+ version: 4.0.1
5719
+ resolution: "sonic-boom@npm:4.0.1"
5720
+ dependencies:
5721
+ atomic-sleep: "npm:^1.0.0"
5722
+ checksum: 10c0/7b467f2bc8af7ff60bf210382f21c59728cc4b769af9b62c31dd88723f5cc472752d2320736cc366acc7c765ddd5bec3072c033b0faf249923f576a7453ba9d3
5723
+ languageName: node
5724
+ linkType: hard
5725
+
5726
  "source-map-support@npm:^0.4.15":
5727
  version: 0.4.18
5728
  resolution: "source-map-support@npm:0.4.18"
 
5739
  languageName: node
5740
  linkType: hard
5741
 
5742
+ "split2@npm:^4.0.0":
5743
+ version: 4.2.0
5744
+ resolution: "split2@npm:4.2.0"
5745
+ checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534
5746
+ languageName: node
5747
+ linkType: hard
5748
+
5749
  "sprintf-js@npm:^1.1.3":
5750
  version: 1.1.3
5751
  resolution: "sprintf-js@npm:1.1.3"
 
5805
  languageName: node
5806
  linkType: hard
5807
 
5808
+ "string_decoder@npm:^1.3.0":
5809
+ version: 1.3.0
5810
+ resolution: "string_decoder@npm:1.3.0"
5811
+ dependencies:
5812
+ safe-buffer: "npm:~5.2.0"
5813
+ checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d
5814
+ languageName: node
5815
+ linkType: hard
5816
+
5817
  "string_decoder@npm:~1.1.1":
5818
  version: 1.1.1
5819
  resolution: "string_decoder@npm:1.1.1"
 
5896
  languageName: node
5897
  linkType: hard
5898
 
5899
+ "swagger-jsdoc@npm:^6.2.8":
5900
+ version: 6.2.8
5901
+ resolution: "swagger-jsdoc@npm:6.2.8"
5902
+ dependencies:
5903
+ commander: "npm:6.2.0"
5904
+ doctrine: "npm:3.0.0"
5905
+ glob: "npm:7.1.6"
5906
+ lodash.mergewith: "npm:^4.6.2"
5907
+ swagger-parser: "npm:^10.0.3"
5908
+ yaml: "npm:2.0.0-1"
5909
+ bin:
5910
+ swagger-jsdoc: bin/swagger-jsdoc.js
5911
+ checksum: 10c0/7e20f08e8d90cc1e787cd82c096291cf12533359f89c70fbe4295a01f7c4734f2e82a03ba94027127bcd3da04b817abfe979f00d00ef0cd8283e449250a66215
5912
+ languageName: node
5913
+ linkType: hard
5914
+
5915
+ "swagger-parser@npm:^10.0.3":
5916
+ version: 10.0.3
5917
+ resolution: "swagger-parser@npm:10.0.3"
5918
+ dependencies:
5919
+ "@apidevtools/swagger-parser": "npm:10.0.3"
5920
+ checksum: 10c0/d1a5c05f651f21a23508a36416071630b83e91dfffd52a6d44b06ca2cd1b86304c0dd2f4c04526c999b70062fa89bde3f5d54a1436626f4350590b6c6265a098
5921
+ languageName: node
5922
+ linkType: hard
5923
+
5924
+ "swagger-ui-dist@npm:>=5.0.0":
5925
+ version: 5.17.14
5926
+ resolution: "swagger-ui-dist@npm:5.17.14"
5927
+ checksum: 10c0/cb61bba39e76d7d0d83da605a55e9504c1a5b421f9f13cced06d3e222f0a291594d417ec57b30a38aabe30d8a7e257c4977b8f0bba0e865d60f92b0a8ef4dfc1
5928
+ languageName: node
5929
+ linkType: hard
5930
+
5931
+ "swagger-ui-express@npm:^5.0.1":
5932
+ version: 5.0.1
5933
+ resolution: "swagger-ui-express@npm:5.0.1"
5934
+ dependencies:
5935
+ swagger-ui-dist: "npm:>=5.0.0"
5936
+ peerDependencies:
5937
+ express: ">=4.0.0 || >=5.0.0-beta"
5938
+ checksum: 10c0/dbe9830caef7fe455241e44e74958bac62642997e4341c1b0f38a3d684d19a4a81b431217c656792d99f046a1b5f261abf7783ede0afe41098cd4450401f6fd1
5939
+ languageName: node
5940
+ linkType: hard
5941
+
5942
  "synckit@npm:^0.9.1":
5943
  version: 0.9.1
5944
  resolution: "synckit@npm:0.9.1"
 
5970
  languageName: node
5971
  linkType: hard
5972
 
5973
+ "thread-stream@npm:^3.0.0":
5974
+ version: 3.1.0
5975
+ resolution: "thread-stream@npm:3.1.0"
5976
+ dependencies:
5977
+ real-require: "npm:^0.2.0"
5978
+ checksum: 10c0/c36118379940b77a6ef3e6f4d5dd31e97b8210c3f7b9a54eb8fe6358ab173f6d0acfaf69b9c3db024b948c0c5fd2a7df93e2e49151af02076b35ada3205ec9a6
5979
+ languageName: node
5980
+ linkType: hard
5981
+
5982
  "timers-ext@npm:^0.1.7":
5983
  version: 0.1.8
5984
  resolution: "timers-ext@npm:0.1.8"
 
6277
  languageName: node
6278
  linkType: hard
6279
 
6280
+ "validator@npm:^13.7.0, validator@npm:^13.9.0, validator@npm:~13.12.0":
6281
  version: 13.12.0
6282
  resolution: "validator@npm:13.12.0"
6283
  checksum: 10c0/21d48a7947c9e8498790550f56cd7971e0e3d724c73388226b109c1bac2728f4f88caddfc2f7ed4b076f9b0d004316263ac786a17e9c4edf075741200718cd32
 
6409
  languageName: node
6410
  linkType: hard
6411
 
6412
+ "yaml@npm:2.0.0-1":
6413
+ version: 2.0.0-1
6414
+ resolution: "yaml@npm:2.0.0-1"
6415
+ checksum: 10c0/e76eba2fbae37cd3e5bff057184be7cdca849895149d2f5660386871a501d76d2e1ec5906c48269a9fe798f214df31d342675b37bcd9d09af7c12eb6fb46a740
6416
+ languageName: node
6417
+ linkType: hard
6418
+
6419
  "yargs-parser@npm:^20.2.2":
6420
  version: 20.2.9
6421
  resolution: "yargs-parser@npm:20.2.9"
 
6451
  checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
6452
  languageName: node
6453
  linkType: hard
6454
+
6455
+ "z-schema@npm:^5.0.1":
6456
+ version: 5.0.5
6457
+ resolution: "z-schema@npm:5.0.5"
6458
+ dependencies:
6459
+ commander: "npm:^9.4.1"
6460
+ lodash.get: "npm:^4.4.2"
6461
+ lodash.isequal: "npm:^4.5.0"
6462
+ validator: "npm:^13.7.0"
6463
+ dependenciesMeta:
6464
+ commander:
6465
+ optional: true
6466
+ bin:
6467
+ z-schema: bin/z-schema
6468
+ checksum: 10c0/e4c812cfe6468c19b2a21d07d4ff8fb70359062d33400b45f89017eaa3efe9d51e85963f2b115eaaa99a16b451782249bf9b1fa8b31d35cc473e7becb3e44264
6469
+ languageName: node
6470
+ linkType: hard