@asapjs/router 1.0.0-alpha.4 → 1.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorator/AutoInject.d.ts +25 -0
- package/dist/decorator/AutoInject.d.ts.map +1 -0
- package/dist/decorator/AutoInject.js +34 -0
- package/dist/decorator/AutoInject.js.map +1 -0
- package/dist/decorator/ErrorPayload.d.ts +5 -0
- package/dist/decorator/ErrorPayload.d.ts.map +1 -0
- package/dist/decorator/ErrorPayload.js +17 -0
- package/dist/decorator/ErrorPayload.js.map +1 -0
- package/dist/decorator/ResponsePayload.d.ts +20 -0
- package/dist/decorator/ResponsePayload.d.ts.map +1 -0
- package/dist/decorator/ResponsePayload.js +32 -0
- package/dist/decorator/ResponsePayload.js.map +1 -0
- package/dist/decorator/index.d.ts +8 -2
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/index.js +11 -3
- package/dist/decorator/index.js.map +1 -1
- package/dist/express/router.d.ts +13 -3
- package/dist/express/router.d.ts.map +1 -1
- package/dist/express/router.js +252 -101
- package/dist/express/router.js.map +1 -1
- package/dist/index.d.ts +11 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -12
- package/dist/index.js.map +1 -1
- package/dist/middleware/errorHandler.d.ts +2 -2
- package/dist/middleware/errorHandler.d.ts.map +1 -1
- package/dist/middleware/errorHandler.js +11 -3
- package/dist/middleware/errorHandler.js.map +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +23 -11
- package/dist/plugin.js.map +1 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +23 -8
- package/dist/router/index.js.map +1 -1
- package/dist/swagger/index.d.ts +15 -1
- package/dist/swagger/index.d.ts.map +1 -1
- package/dist/swagger/index.js +147 -22
- package/dist/swagger/index.js.map +1 -1
- package/dist/utils/collectMiddlewareErrors.d.ts +14 -0
- package/dist/utils/collectMiddlewareErrors.d.ts.map +1 -0
- package/dist/utils/collectMiddlewareErrors.js +31 -0
- package/dist/utils/collectMiddlewareErrors.js.map +1 -0
- package/dist/utils/defineConfig.d.ts +49 -0
- package/dist/utils/defineConfig.d.ts.map +1 -0
- package/dist/utils/defineConfig.js +28 -0
- package/dist/utils/defineConfig.js.map +1 -0
- package/dist/utils/defineMiddleware.d.ts +6 -0
- package/dist/utils/defineMiddleware.d.ts.map +1 -0
- package/dist/utils/defineMiddleware.js +43 -0
- package/dist/utils/defineMiddleware.js.map +1 -0
- package/dist/utils/registeredMiddlewares.d.ts +4 -0
- package/dist/utils/registeredMiddlewares.d.ts.map +1 -0
- package/dist/utils/registeredMiddlewares.js +12 -0
- package/dist/utils/registeredMiddlewares.js.map +1 -0
- package/dist/utils/wrapper.d.ts +15 -7
- package/dist/utils/wrapper.d.ts.map +1 -1
- package/dist/utils/wrapper.js +84 -17
- package/dist/utils/wrapper.js.map +1 -1
- package/package.json +15 -13
- package/dist/middleware/jwtVerification.d.ts +0 -11
- package/dist/middleware/jwtVerification.d.ts.map +0 -1
- package/dist/middleware/jwtVerification.js +0 -38
- package/dist/middleware/jwtVerification.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/middleware/errorHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/middleware/errorHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,qBAAa,aAAc,SAAQ,KAAK;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;gBAEX,MAAM,GAAE,MAAY,EAAE,OAAO,GAAE,MAAgC;CAK3E;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,MAAM,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,YAAY,mDAUtF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HttpException = void 0;
|
|
4
|
+
const error_1 = require("@asapjs/error");
|
|
4
5
|
class HttpException extends Error {
|
|
5
6
|
constructor(status = 500, message = '알 수 없는 서버 오류가 발생했습니다.') {
|
|
6
7
|
super(message);
|
|
@@ -9,9 +10,16 @@ class HttpException extends Error {
|
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
exports.HttpException = HttpException;
|
|
12
|
-
const errorHandler = (error,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const errorHandler = (error, _req, res, _next) => {
|
|
14
|
+
if (error instanceof error_1.HttpError) {
|
|
15
|
+
return res.status(error.status).json(error.toJSON());
|
|
16
|
+
}
|
|
17
|
+
if (error && typeof error === 'object' && 'status' in error && 'message' in error) {
|
|
18
|
+
const { status, message } = error;
|
|
19
|
+
return res.status(status).json(new error_1.HttpError(status, 'HTTP_EXCEPTION', String(message)).toJSON());
|
|
20
|
+
}
|
|
21
|
+
const message = error instanceof Error ? error.message : '알 수 없는 서버 오류가 발생했습니다.';
|
|
22
|
+
res.status(500).json(new error_1.HttpError(500, 'INTERNAL_SERVER_ERROR', message).toJSON());
|
|
15
23
|
};
|
|
16
24
|
exports.default = errorHandler;
|
|
17
25
|
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/middleware/errorHandler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/middleware/errorHandler.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAG1C,MAAa,aAAc,SAAQ,KAAK;IAIvC,YAAY,SAAiB,GAAG,EAAE,UAAkB,uBAAuB;QAC1E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AATD,sCASC;AAED,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,IAAa,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;IAC1F,IAAI,KAAK,YAAY,iBAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACnF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAA4C,CAAC;QACzE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACjF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAY/E,qBAAa,YAAa,YAAW,YAAY;IAChD,IAAI,SAAoB;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAsB;IAE3B,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAuCzD,UAAU;IAmCxB,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,eAAe;CAevB"}
|
package/dist/plugin.js
CHANGED
|
@@ -14,15 +14,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.RouterPlugin = void 0;
|
|
16
16
|
const common_1 = require("@asapjs/common");
|
|
17
|
-
const
|
|
17
|
+
const schema_1 = require("@asapjs/schema");
|
|
18
18
|
const body_parser_1 = __importDefault(require("body-parser"));
|
|
19
19
|
const cors_1 = __importDefault(require("cors"));
|
|
20
|
-
const
|
|
20
|
+
const express_1 = __importDefault(require("express"));
|
|
21
21
|
const express_basic_auth_1 = __importDefault(require("express-basic-auth"));
|
|
22
|
+
const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
22
23
|
const errorHandler_1 = __importDefault(require("./middleware/errorHandler"));
|
|
23
|
-
const wrapper_1 = __importDefault(require("./utils/wrapper"));
|
|
24
24
|
const swagger_1 = require("./swagger");
|
|
25
25
|
const generateSchemeRefWithName_1 = __importDefault(require("./utils/generateSchemeRefWithName"));
|
|
26
|
+
const registeredMiddlewares_1 = require("./utils/registeredMiddlewares");
|
|
27
|
+
const wrapper_1 = __importDefault(require("./utils/wrapper"));
|
|
26
28
|
class RouterPlugin {
|
|
27
29
|
constructor() {
|
|
28
30
|
this.name = '@asapjs/router';
|
|
@@ -34,7 +36,11 @@ class RouterPlugin {
|
|
|
34
36
|
// Inject swagger functions into sequelize if available
|
|
35
37
|
if (config.extensions.includes('@asapjs/sequelize')) {
|
|
36
38
|
try {
|
|
37
|
-
const { setSwaggerFunctions } = require('@asapjs/sequelize');
|
|
39
|
+
const { setSwaggerFunctions, registerSequelizeTypes } = require('@asapjs/sequelize');
|
|
40
|
+
if (!schema_1.registry.has('sequelize')) {
|
|
41
|
+
schema_1.registry.register(schema_1.sequelizePlugin);
|
|
42
|
+
}
|
|
43
|
+
registerSequelizeTypes();
|
|
38
44
|
setSwaggerFunctions(swagger_1.addScheme, generateSchemeRefWithName_1.default);
|
|
39
45
|
}
|
|
40
46
|
catch (error) {
|
|
@@ -85,7 +91,7 @@ class RouterPlugin {
|
|
|
85
91
|
catch (err) {
|
|
86
92
|
res.status(500).send(err);
|
|
87
93
|
}
|
|
88
|
-
})));
|
|
94
|
+
}), null));
|
|
89
95
|
this.setupSwagger();
|
|
90
96
|
this.setupSequelizeRoutes();
|
|
91
97
|
this.setupConsoleRoutes();
|
|
@@ -93,6 +99,8 @@ class RouterPlugin {
|
|
|
93
99
|
}
|
|
94
100
|
setupSwagger() {
|
|
95
101
|
var _a, _b;
|
|
102
|
+
const swaggerUiPath = `${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger-ui.html`;
|
|
103
|
+
const swaggerUiPaths = [swaggerUiPath, `${swaggerUiPath}/`];
|
|
96
104
|
const options = {
|
|
97
105
|
swaggerOptions: {
|
|
98
106
|
url: `${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger.json`,
|
|
@@ -101,7 +109,7 @@ class RouterPlugin {
|
|
|
101
109
|
};
|
|
102
110
|
if (((_a = this.config.swagger) === null || _a === void 0 ? void 0 : _a.useAuth) && ((_b = this.config.swagger) === null || _b === void 0 ? void 0 : _b.userObject)) {
|
|
103
111
|
common_1.logger.info('@router SWAGGER useAuth is Active');
|
|
104
|
-
this.app.use(
|
|
112
|
+
this.app.use(swaggerUiPaths, (0, express_basic_auth_1.default)({
|
|
105
113
|
users: this.config.swagger.userObject,
|
|
106
114
|
challenge: true,
|
|
107
115
|
realm: 'Developer',
|
|
@@ -109,12 +117,12 @@ class RouterPlugin {
|
|
|
109
117
|
}
|
|
110
118
|
else {
|
|
111
119
|
common_1.logger.warn('@router SWAGGER useAuth is disabled! Please add config.swagger.useAuth & config.swagger.userObject');
|
|
112
|
-
this.app.use(
|
|
120
|
+
this.app.use(swaggerUiPaths, swagger_ui_express_1.default.serveFiles(undefined, options), swagger_ui_express_1.default.setup(undefined, options));
|
|
113
121
|
}
|
|
114
122
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger.json`, (0, wrapper_1.default)((_a) => __awaiter(this, [_a], void 0, function* ({ req }) {
|
|
115
123
|
const swaggerData = (0, swagger_1.getSwaggerData)(req);
|
|
116
124
|
return swaggerData;
|
|
117
|
-
})));
|
|
125
|
+
}), null));
|
|
118
126
|
}
|
|
119
127
|
setupSequelizeRoutes() {
|
|
120
128
|
if (this.config.extensions.includes('@asapjs/sequelize')) {
|
|
@@ -122,12 +130,12 @@ class RouterPlugin {
|
|
|
122
130
|
const { modelsSync } = require('@asapjs/sequelize');
|
|
123
131
|
yield modelsSync();
|
|
124
132
|
return true;
|
|
125
|
-
})));
|
|
133
|
+
}), null));
|
|
126
134
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/generate-dbml`, (0, wrapper_1.default)(() => __awaiter(this, void 0, void 0, function* () {
|
|
127
135
|
const { getDBMLData } = require('@asapjs/sequelize');
|
|
128
136
|
const data = yield getDBMLData();
|
|
129
137
|
return true;
|
|
130
|
-
})));
|
|
138
|
+
}), null));
|
|
131
139
|
}
|
|
132
140
|
}
|
|
133
141
|
setupConsoleRoutes() {
|
|
@@ -137,10 +145,11 @@ class RouterPlugin {
|
|
|
137
145
|
const result = yield getConsoleData();
|
|
138
146
|
console.log('result', result);
|
|
139
147
|
return { result };
|
|
140
|
-
})));
|
|
148
|
+
}), null));
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
151
|
initMiddlewares() {
|
|
152
|
+
var _a;
|
|
144
153
|
this.app.use((0, cors_1.default)());
|
|
145
154
|
this.app.use(body_parser_1.default.json({ limit: '200mb' }));
|
|
146
155
|
this.app.use(body_parser_1.default.urlencoded({ limit: '200mb', extended: true }));
|
|
@@ -151,6 +160,9 @@ class RouterPlugin {
|
|
|
151
160
|
this.app.use(middleware);
|
|
152
161
|
});
|
|
153
162
|
}
|
|
163
|
+
if ((_a = this.config.router) === null || _a === void 0 ? void 0 : _a.middleware) {
|
|
164
|
+
(0, registeredMiddlewares_1.setRegisteredMiddlewares)(this.config.router.middleware);
|
|
165
|
+
}
|
|
154
166
|
}
|
|
155
167
|
}
|
|
156
168
|
exports.RouterPlugin = RouterPlugin;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAW9B,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAM;IAEb,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;gBAEpB,OAAO,EAAE,MAAM;IAqB3B,OAAO,CAAC,UAAU;IA0GlB,OAAO,CAAC,eAAe;CAYxB"}
|
package/dist/router/index.js
CHANGED
|
@@ -21,11 +21,24 @@ const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
|
21
21
|
const errorHandler_1 = __importDefault(require("../middleware/errorHandler"));
|
|
22
22
|
const wrapper_1 = __importDefault(require("../utils/wrapper"));
|
|
23
23
|
const swagger_1 = require("../swagger");
|
|
24
|
+
const schema_1 = require("@asapjs/schema");
|
|
24
25
|
// Sequelize imports will be dynamically loaded when needed
|
|
25
26
|
class RouterModule {
|
|
26
27
|
constructor(dirname) {
|
|
27
28
|
this.config = (0, common_1.getConfig)();
|
|
28
29
|
this.app = (0, express_1.default)();
|
|
30
|
+
if (this.config.extensions.includes('@asapjs/sequelize')) {
|
|
31
|
+
try {
|
|
32
|
+
const { registerSequelizeTypes } = require('@asapjs/sequelize');
|
|
33
|
+
if (!schema_1.registry.has('sequelize')) {
|
|
34
|
+
schema_1.registry.register(schema_1.sequelizePlugin);
|
|
35
|
+
}
|
|
36
|
+
registerSequelizeTypes();
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
common_1.logger.error('Failed to pre-register sequelize schema types in router module', error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
29
42
|
this.initMiddlewares();
|
|
30
43
|
this.initRouter(dirname);
|
|
31
44
|
this.app.use(errorHandler_1.default);
|
|
@@ -53,18 +66,20 @@ class RouterModule {
|
|
|
53
66
|
catch (err) {
|
|
54
67
|
res.status(500).send(err);
|
|
55
68
|
}
|
|
56
|
-
})));
|
|
69
|
+
}), null));
|
|
57
70
|
const options = {
|
|
58
71
|
swaggerOptions: {
|
|
59
72
|
url: `${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger.json`,
|
|
60
73
|
persistAuthorization: true,
|
|
61
74
|
},
|
|
62
75
|
};
|
|
76
|
+
const swaggerUiPath = `${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger-ui.html`;
|
|
77
|
+
const swaggerUiPaths = [swaggerUiPath, `${swaggerUiPath}/`];
|
|
63
78
|
// conditional Swagger UI password setup logic
|
|
64
79
|
const config = (0, common_1.getConfig)();
|
|
65
80
|
if (((_a = config === null || config === void 0 ? void 0 : config.swagger) === null || _a === void 0 ? void 0 : _a.useAuth) && ((_b = config === null || config === void 0 ? void 0 : config.swagger) === null || _b === void 0 ? void 0 : _b.userObject)) {
|
|
66
81
|
common_1.logger.info('@router SWAGGER useAuth is Active');
|
|
67
|
-
this.app.use(
|
|
82
|
+
this.app.use(swaggerUiPaths, (0, express_basic_auth_1.default)({
|
|
68
83
|
users: (_c = config === null || config === void 0 ? void 0 : config.swagger) === null || _c === void 0 ? void 0 : _c.userObject,
|
|
69
84
|
challenge: true,
|
|
70
85
|
realm: 'Developer',
|
|
@@ -74,27 +89,27 @@ class RouterModule {
|
|
|
74
89
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger.json`, (0, wrapper_1.default)((_a) => __awaiter(this, [_a], void 0, function* ({ req }) {
|
|
75
90
|
const swaggerData = (0, swagger_1.getSwaggerData)(req);
|
|
76
91
|
return swaggerData;
|
|
77
|
-
})));
|
|
92
|
+
}), null));
|
|
78
93
|
}
|
|
79
94
|
else {
|
|
80
95
|
common_1.logger.warn('@router SWAGGER useAuth is disabled! Please add config.swagger.useAuth & config.swagger.userObject');
|
|
81
|
-
this.app.use(
|
|
96
|
+
this.app.use(swaggerUiPaths, swagger_ui_express_1.default.serveFiles(undefined, options), swagger_ui_express_1.default.setup(undefined, options));
|
|
82
97
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/swagger.json`, (0, wrapper_1.default)((_a) => __awaiter(this, [_a], void 0, function* ({ req }) {
|
|
83
98
|
const swaggerData = (0, swagger_1.getSwaggerData)(req);
|
|
84
99
|
return swaggerData;
|
|
85
|
-
})));
|
|
100
|
+
}), null));
|
|
86
101
|
}
|
|
87
102
|
if (this.config.extensions.includes('@asapjs/sequelize')) {
|
|
88
103
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/sync`, (0, wrapper_1.default)(() => __awaiter(this, void 0, void 0, function* () {
|
|
89
104
|
const { modelsSync } = require('@asapjs/sequelize');
|
|
90
105
|
yield modelsSync();
|
|
91
106
|
return true;
|
|
92
|
-
})));
|
|
107
|
+
}), null));
|
|
93
108
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/docs/generate-dbml`, (0, wrapper_1.default)(() => __awaiter(this, void 0, void 0, function* () {
|
|
94
109
|
const { getDBMLData } = require('@asapjs/sequelize');
|
|
95
110
|
const data = yield getDBMLData();
|
|
96
111
|
return true;
|
|
97
|
-
})));
|
|
112
|
+
}), null));
|
|
98
113
|
}
|
|
99
114
|
if (this.config.extensions.includes('@asapjs/console')) {
|
|
100
115
|
this.app.get(`${this.config.basePath ? `/${this.config.basePath}` : ''}/console/data`, (0, wrapper_1.default)(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -102,7 +117,7 @@ class RouterModule {
|
|
|
102
117
|
const result = yield getConsoleData();
|
|
103
118
|
console.log('result', result);
|
|
104
119
|
return { result };
|
|
105
|
-
})));
|
|
120
|
+
}), null));
|
|
106
121
|
}
|
|
107
122
|
}
|
|
108
123
|
initMiddlewares() {
|
package/dist/router/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,4EAA2C;AAE3C,sDAA8B;AAC9B,8DAAqC;AACrC,gDAAwB;AACxB,4EAA2C;AAE3C,8EAAsD;AACtD,+DAAuC;AACvC,wCAA4C;AAC5C,2DAA2D;AAE3D,MAAqB,YAAY;IAK/B,YAAY,OAAe;QACzB,IAAI,CAAC,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
|
package/dist/swagger/index.d.ts
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface ExportOptions {
|
|
2
|
+
/** Override server URL (e.g. "https://127.0.0.1:16568") */
|
|
3
|
+
serverUrl?: string;
|
|
4
|
+
/** Override API title */
|
|
5
|
+
title?: string;
|
|
6
|
+
/** Override API version */
|
|
7
|
+
version?: string;
|
|
8
|
+
/** Override API description */
|
|
9
|
+
description?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const addPaths: (data: any) => Promise<void>;
|
|
12
|
+
export declare const addScheme: (data: any) => Promise<void>;
|
|
13
|
+
export declare const getSwaggerData: (req: any) => {
|
|
2
14
|
[key: string]: any;
|
|
3
15
|
} | null;
|
|
16
|
+
export declare const exportToFile: (filePath: string, options?: ExportOptions) => void;
|
|
17
|
+
export declare const getSwaggerDataStatic: (options?: ExportOptions) => Record<string, any>;
|
|
4
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AA8KD,eAAO,MAAM,QAAQ,SAnKW,GAAG,kBAmKK,CAAC;AACzC,eAAO,MAAM,SAAS,SAhKW,GAAG,kBAgKM,CAAC;AAC3C,eAAO,MAAM,cAAc,QA3HI,GAAG;;QA2HkB,CAAC;AACrD,eAAO,MAAM,YAAY,aAjHS,MAAM,YAAY,aAAa,KAAG,IAiHpB,CAAC;AACjD,eAAO,MAAM,oBAAoB,aApES,aAAa,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAoEZ,CAAC"}
|
package/dist/swagger/index.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -22,11 +55,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
22
55
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
56
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
57
|
};
|
|
25
|
-
var _a;
|
|
26
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.getSwaggerData = exports.addScheme = exports.addPaths = void 0;
|
|
59
|
+
exports.getSwaggerDataStatic = exports.exportToFile = exports.getSwaggerData = exports.addScheme = exports.addPaths = void 0;
|
|
28
60
|
/* eslint-disable no-nested-ternary */
|
|
29
61
|
const common_1 = require("@asapjs/common");
|
|
62
|
+
const fs = __importStar(require("fs"));
|
|
63
|
+
const path = __importStar(require("path"));
|
|
30
64
|
const default_swagger_json_1 = __importDefault(require("../assets/default-swagger.json"));
|
|
31
65
|
const methods = ['get', 'post', 'put', 'delete'];
|
|
32
66
|
class DocsApplication {
|
|
@@ -43,19 +77,110 @@ class DocsApplication {
|
|
|
43
77
|
});
|
|
44
78
|
this.generateSwaggerData = (req) => {
|
|
45
79
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
80
|
+
try {
|
|
81
|
+
const config = (0, common_1.getConfig)();
|
|
82
|
+
this.swaggerData.info.title = ((_a = config === null || config === void 0 ? void 0 : config.swagger) === null || _a === void 0 ? void 0 : _a.name) || '';
|
|
83
|
+
this.swaggerData.info.version = ((_b = config === null || config === void 0 ? void 0 : config.swagger) === null || _b === void 0 ? void 0 : _b.version) || '';
|
|
84
|
+
this.swaggerData.info.description = ((_c = config === null || config === void 0 ? void 0 : config.swagger) === null || _c === void 0 ? void 0 : _c.description) || '';
|
|
85
|
+
this.swaggerData.components.securitySchemes.OAuthLogin.flows.password.tokenUrl =
|
|
86
|
+
((_d = config === null || config === void 0 ? void 0 : config.swagger) === null || _d === void 0 ? void 0 : _d.auth_url) || '';
|
|
87
|
+
this.swaggerData.servers = [
|
|
88
|
+
{
|
|
89
|
+
url: `${(_e = config === null || config === void 0 ? void 0 : config.swagger) === null || _e === void 0 ? void 0 : _e.scheme}://${req.headers.host}${(config === null || config === void 0 ? void 0 : config.basePath) ? `/${config === null || config === void 0 ? void 0 : config.basePath}` : ''}`,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
url: `${(_f = config === null || config === void 0 ? void 0 : config.swagger) === null || _f === void 0 ? void 0 : _f.scheme}://${(_g = config === null || config === void 0 ? void 0 : config.swagger) === null || _g === void 0 ? void 0 : _g.host}${(config === null || config === void 0 ? void 0 : config.basePath) ? `/${config === null || config === void 0 ? void 0 : config.basePath}` : ''}`,
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
this.generatePathsAndSchemes();
|
|
96
|
+
this.generatedSwaggerData = Object.assign({}, this.swaggerData);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
common_1.logger.error('@router swagger.json generation failed', err, {
|
|
100
|
+
operation: 'generateSwaggerData',
|
|
101
|
+
context: {
|
|
102
|
+
pathCount: this.swaggerPath.length,
|
|
103
|
+
schemeCount: this.swaggerScheme.length,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
throw err;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
this.getSwaggerData = (req) => {
|
|
110
|
+
if (this.generatedSwaggerData === null) {
|
|
111
|
+
this.generateSwaggerData(req);
|
|
112
|
+
}
|
|
113
|
+
return this.generatedSwaggerData;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Export swagger data to a JSON file without requiring an HTTP request.
|
|
117
|
+
* Uses config values for server URL, or accepts overrides via options.
|
|
118
|
+
*/
|
|
119
|
+
this.exportToFile = (filePath, options) => {
|
|
120
|
+
var _a, _b, _c, _d, _e, _f;
|
|
121
|
+
try {
|
|
122
|
+
const config = (0, common_1.getConfig)();
|
|
123
|
+
const title = (options === null || options === void 0 ? void 0 : options.title) || ((_a = config === null || config === void 0 ? void 0 : config.swagger) === null || _a === void 0 ? void 0 : _a.name) || '';
|
|
124
|
+
const version = (options === null || options === void 0 ? void 0 : options.version) || ((_b = config === null || config === void 0 ? void 0 : config.swagger) === null || _b === void 0 ? void 0 : _b.version) || '';
|
|
125
|
+
const description = (options === null || options === void 0 ? void 0 : options.description) || ((_c = config === null || config === void 0 ? void 0 : config.swagger) === null || _c === void 0 ? void 0 : _c.description) || '';
|
|
126
|
+
this.swaggerData.info.title = title;
|
|
127
|
+
this.swaggerData.info.version = version;
|
|
128
|
+
this.swaggerData.info.description = description;
|
|
129
|
+
this.swaggerData.components.securitySchemes.OAuthLogin.flows.password.tokenUrl =
|
|
130
|
+
((_d = config === null || config === void 0 ? void 0 : config.swagger) === null || _d === void 0 ? void 0 : _d.auth_url) || '';
|
|
131
|
+
if (options === null || options === void 0 ? void 0 : options.serverUrl) {
|
|
132
|
+
this.swaggerData.servers = [{ url: options.serverUrl }];
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const scheme = ((_e = config === null || config === void 0 ? void 0 : config.swagger) === null || _e === void 0 ? void 0 : _e.scheme) || 'https';
|
|
136
|
+
const host = ((_f = config === null || config === void 0 ? void 0 : config.swagger) === null || _f === void 0 ? void 0 : _f.host) || 'localhost';
|
|
137
|
+
const basePath = (config === null || config === void 0 ? void 0 : config.basePath) ? `/${config.basePath}` : '';
|
|
138
|
+
this.swaggerData.servers = [{ url: `${scheme}://${host}${basePath}` }];
|
|
139
|
+
}
|
|
140
|
+
this.generatePathsAndSchemes();
|
|
141
|
+
const dir = path.dirname(filePath);
|
|
142
|
+
if (!fs.existsSync(dir)) {
|
|
143
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
144
|
+
}
|
|
145
|
+
fs.writeFileSync(filePath, JSON.stringify(this.swaggerData, null, 2), 'utf-8');
|
|
146
|
+
common_1.logger.info(`@router swagger.json exported to ${filePath}`);
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
common_1.logger.error('@router swagger.json export failed', err, {
|
|
150
|
+
operation: 'exportToFile',
|
|
151
|
+
filePath,
|
|
152
|
+
});
|
|
153
|
+
throw err;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Get swagger data as a plain object without requiring an HTTP request.
|
|
158
|
+
* Uses config values for server URL, or accepts overrides via options.
|
|
159
|
+
*/
|
|
160
|
+
this.getSwaggerDataStatic = (options) => {
|
|
161
|
+
var _a, _b, _c, _d, _e, _f;
|
|
46
162
|
const config = (0, common_1.getConfig)();
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.swaggerData.
|
|
51
|
-
this.swaggerData.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
163
|
+
const title = (options === null || options === void 0 ? void 0 : options.title) || ((_a = config === null || config === void 0 ? void 0 : config.swagger) === null || _a === void 0 ? void 0 : _a.name) || '';
|
|
164
|
+
const version = (options === null || options === void 0 ? void 0 : options.version) || ((_b = config === null || config === void 0 ? void 0 : config.swagger) === null || _b === void 0 ? void 0 : _b.version) || '';
|
|
165
|
+
const description = (options === null || options === void 0 ? void 0 : options.description) || ((_c = config === null || config === void 0 ? void 0 : config.swagger) === null || _c === void 0 ? void 0 : _c.description) || '';
|
|
166
|
+
this.swaggerData.info.title = title;
|
|
167
|
+
this.swaggerData.info.version = version;
|
|
168
|
+
this.swaggerData.info.description = description;
|
|
169
|
+
this.swaggerData.components.securitySchemes.OAuthLogin.flows.password.tokenUrl =
|
|
170
|
+
((_d = config === null || config === void 0 ? void 0 : config.swagger) === null || _d === void 0 ? void 0 : _d.auth_url) || '';
|
|
171
|
+
if (options === null || options === void 0 ? void 0 : options.serverUrl) {
|
|
172
|
+
this.swaggerData.servers = [{ url: options.serverUrl }];
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const scheme = ((_e = config === null || config === void 0 ? void 0 : config.swagger) === null || _e === void 0 ? void 0 : _e.scheme) || 'https';
|
|
176
|
+
const host = ((_f = config === null || config === void 0 ? void 0 : config.swagger) === null || _f === void 0 ? void 0 : _f.host) || 'localhost';
|
|
177
|
+
const basePath = (config === null || config === void 0 ? void 0 : config.basePath) ? `/${config.basePath}` : '';
|
|
178
|
+
this.swaggerData.servers = [{ url: `${scheme}://${host}${basePath}` }];
|
|
179
|
+
}
|
|
180
|
+
this.generatePathsAndSchemes();
|
|
181
|
+
return Object.assign({}, this.swaggerData);
|
|
182
|
+
};
|
|
183
|
+
this.generatePathsAndSchemes = () => {
|
|
59
184
|
this.swaggerPath.sort((a, b) => {
|
|
60
185
|
var _a, _b, _c, _d;
|
|
61
186
|
const ix1 = methods.indexOf(a.method.toLowerCase());
|
|
@@ -74,6 +199,7 @@ class DocsApplication {
|
|
|
74
199
|
? -1
|
|
75
200
|
: 0;
|
|
76
201
|
});
|
|
202
|
+
this.swaggerData.paths = {};
|
|
77
203
|
this.swaggerPath.forEach((v) => {
|
|
78
204
|
var _a;
|
|
79
205
|
if (!this.swaggerData.paths[v.path])
|
|
@@ -81,20 +207,19 @@ class DocsApplication {
|
|
|
81
207
|
const { path: _, method: __ } = v, props = __rest(v, ["path", "method"]);
|
|
82
208
|
this.swaggerData.paths[v.path][(_a = v.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()] = props;
|
|
83
209
|
});
|
|
210
|
+
this.swaggerData.components.schemas = {};
|
|
84
211
|
this.swaggerScheme.forEach((v) => {
|
|
85
212
|
if (!this.swaggerData.components.schemas[v.name])
|
|
86
213
|
this.swaggerData.components.schemas[v.name] = {};
|
|
87
214
|
this.swaggerData.components.schemas[v.name] = v.data;
|
|
88
215
|
});
|
|
89
|
-
this.generatedSwaggerData = Object.assign({}, this.swaggerData);
|
|
90
|
-
};
|
|
91
|
-
this.getSwaggerData = (req) => {
|
|
92
|
-
if (this.generatedSwaggerData === null) {
|
|
93
|
-
this.generateSwaggerData(req);
|
|
94
|
-
}
|
|
95
|
-
return this.generatedSwaggerData;
|
|
96
216
|
};
|
|
97
217
|
}
|
|
98
218
|
}
|
|
99
|
-
|
|
219
|
+
const docsApp = new DocsApplication();
|
|
220
|
+
exports.addPaths = docsApp.addPaths;
|
|
221
|
+
exports.addScheme = docsApp.addScheme;
|
|
222
|
+
exports.getSwaggerData = docsApp.getSwaggerData;
|
|
223
|
+
exports.exportToFile = docsApp.exportToFile;
|
|
224
|
+
exports.getSwaggerDataStatic = docsApp.getSwaggerDataStatic;
|
|
100
225
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,2CAAmD;AACnD,uCAAyB;AACzB,2CAA6B;AAC7B,0FAA4D;AAE5D,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAajD,MAAM,eAAe;IAArB;QACQ,gBAAW,qBAAgC,8BAAc,EAAG;QAE3D,gBAAW,GAAU,EAAE,CAAC;QAExB,kBAAa,GAAU,EAAE,CAAC;QAE1B,yBAAoB,GAAkC,IAAI,CAAC;QAE5D,aAAQ,GAAG,CAAO,IAAS,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAa,CAAC,CAAC;QACtC,CAAC,CAAA,CAAC;QAEK,cAAS,GAAG,CAAO,IAAS,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAa,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC;QAEK,wBAAmB,GAAG,CAAC,GAAQ,EAAE,EAAE;;YACzC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;gBAE3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,KAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,KAAI,EAAE,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,WAAW,KAAI,EAAE,CAAC;gBAEvE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ;oBAC7E,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,QAAQ,KAAI,EAAE,CAAC;gBAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG;oBAC1B;wBACC,GAAG,EAAE,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBACxG;oBACD;wBACC,GAAG,EAAE,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,MAAM,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBAC7G;iBACD,CAAC;gBAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,oBAAoB,qBAAQ,IAAI,CAAC,WAAW,CAAE,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,eAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,EAAE;oBAC3D,SAAS,EAAE,qBAAqB;oBAChC,OAAO,EAAE;wBACR,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;qBACtC;iBACD,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC,CAAC;QAEK,mBAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;QAClC,CAAC,CAAC;QAEF;;;WAGG;QACI,iBAAY,GAAG,CAAC,QAAgB,EAAE,OAAuB,EAAQ,EAAE;;YACzE,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;gBAE3B,MAAM,KAAK,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,CAAA,IAAI,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,CAAA,IAAI,EAAE,CAAC;gBACnE,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,WAAW,CAAA,IAAI,EAAE,CAAC;gBAE/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAEhD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ;oBAC7E,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,QAAQ,KAAI,EAAE,CAAC;gBAEjC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACP,MAAM,MAAM,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,KAAI,OAAO,CAAC;oBAClD,MAAM,IAAI,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,KAAI,WAAW,CAAC;oBAClD,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,IAAI,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,CAAC;gBAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/E,eAAM,CAAC,IAAI,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,eAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,EAAE;oBACvD,SAAS,EAAE,cAAc;oBACzB,QAAQ;iBACR,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC,CAAC;QAEF;;;WAGG;QACI,yBAAoB,GAAG,CAAC,OAAuB,EAAuB,EAAE;;YAC9E,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;YAE3B,MAAM,KAAK,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,CAAA,IAAI,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,CAAA,IAAI,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,WAAW,CAAA,IAAI,EAAE,CAAC;YAE/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAEhD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBAC7E,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,QAAQ,KAAI,EAAE,CAAC;YAEjC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,MAAM,MAAM,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,MAAM,KAAI,OAAO,CAAC;gBAClD,MAAM,IAAI,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,IAAI,KAAI,WAAW,CAAC;gBAClD,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,IAAI,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,yBAAY,IAAI,CAAC,WAAW,EAAG;QAChC,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;4BAChB,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;gCAChB,CAAC,CAAC,CAAC,CAAC;gCACJ,CAAC,CAAC,GAAG,GAAG,GAAG;oCACV,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,GAAG,GAAG,GAAG;wCACV,CAAC,CAAC,CAAC,CAAC;wCACJ,CAAC,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;gBACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAe,CAAC,EAAX,KAAK,UAAK,CAAC,EAArC,kBAAiC,CAAI,CAAC;gBAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAA,CAAC,CAAC,MAAM,0CAAE,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACtD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;CAAA;AAED,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;AAEzB,QAAA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC5B,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAC9B,QAAA,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;AACxC,QAAA,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACpC,QAAA,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ErrorCreator } from '@asapjs/error';
|
|
2
|
+
import type { TypedMiddleware } from '@asapjs/types';
|
|
3
|
+
/**
|
|
4
|
+
* 미들웨어 목록에서 현재 routeOptions 기준으로 포함할 에러들을 수집한다.
|
|
5
|
+
* - __errors가 배열이면 그대로 반환
|
|
6
|
+
* - __errors가 함수이면 routeOptions를 넘겨 호출한 결과를 반환
|
|
7
|
+
* - __errors가 없는 기존 미들웨어는 빈 배열 반환 (backward compatible)
|
|
8
|
+
*/
|
|
9
|
+
export declare function collectMiddlewareErrors(middlewares: readonly TypedMiddleware<any, any>[], routeOptions: Record<string, any>): ErrorCreator[];
|
|
10
|
+
/**
|
|
11
|
+
* errorCode 기준으로 중복 에러를 제거한다.
|
|
12
|
+
*/
|
|
13
|
+
export declare function deduplicateErrors(errors: ErrorCreator[]): ErrorCreator[];
|
|
14
|
+
//# sourceMappingURL=collectMiddlewareErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectMiddlewareErrors.d.ts","sourceRoot":"","sources":["../../src/utils/collectMiddlewareErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EACjD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,YAAY,EAAE,CAUhB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAOxE"}
|