@mini2/core 1.4.11 → 2.0.1-beta.0
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/app.d.ts +10 -4
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +30 -19
- package/dist/app.js.map +1 -1
- package/dist/container.d.ts +17 -2
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +36 -2
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/interfaces/app.interface.d.ts +9 -1
- package/dist/interfaces/app.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +12 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/jest.config.d.ts.map +1 -1
- package/dist/jest.config.js +1 -0
- package/dist/jest.config.js.map +1 -1
- package/dist/loader.d.ts +13 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +76 -0
- package/dist/loader.js.map +1 -0
- package/dist/{rest.d.ts → notations/controller/index.d.ts} +10 -46
- package/dist/notations/controller/index.d.ts.map +1 -0
- package/dist/{rest.js → notations/controller/index.js} +38 -20
- package/dist/notations/controller/index.js.map +1 -0
- package/dist/notations/controller/interfaces/authenticated.interface.d.ts.map +1 -0
- package/dist/notations/controller/interfaces/authenticated.interface.js.map +1 -0
- package/dist/notations/controller/middlewares/authenticated.middleware.d.ts.map +1 -0
- package/dist/{middlewares → notations/controller/middlewares}/authenticated.middleware.js +8 -3
- package/dist/notations/controller/middlewares/authenticated.middleware.js.map +1 -0
- package/dist/notations/controller/middlewares/authorized.middleware.d.ts +7 -0
- package/dist/notations/controller/middlewares/authorized.middleware.d.ts.map +1 -0
- package/dist/{middlewares → notations/controller/middlewares}/authorized.middleware.js +1 -6
- package/dist/notations/controller/middlewares/authorized.middleware.js.map +1 -0
- package/dist/{middlewares → notations/controller/middlewares}/validation.middleware.d.ts +1 -1
- package/dist/notations/controller/middlewares/validation.middleware.d.ts.map +1 -0
- package/dist/notations/controller/middlewares/validation.middleware.js.map +1 -0
- package/dist/notations/controller/rest.types.d.ts +61 -0
- package/dist/notations/controller/rest.types.d.ts.map +1 -0
- package/dist/{interfaces/queue.interface.js → notations/controller/rest.types.js} +1 -1
- package/dist/notations/controller/rest.types.js.map +1 -0
- package/dist/notations/index.d.ts +3 -0
- package/dist/notations/index.d.ts.map +1 -0
- package/dist/notations/index.js +19 -0
- package/dist/notations/index.js.map +1 -0
- package/dist/swagger.d.ts +6 -12
- package/dist/swagger.d.ts.map +1 -1
- package/dist/swagger.js +165 -27
- package/dist/swagger.js.map +1 -1
- package/dist/utils/infer-schema.d.ts +5 -0
- package/dist/utils/infer-schema.d.ts.map +1 -0
- package/dist/utils/infer-schema.js +47 -0
- package/dist/utils/infer-schema.js.map +1 -0
- package/package.json +3 -1
- package/dist/interfaces/authenticated.interface.d.ts.map +0 -1
- package/dist/interfaces/authenticated.interface.js.map +0 -1
- package/dist/interfaces/queue.interface.d.ts +0 -6
- package/dist/interfaces/queue.interface.d.ts.map +0 -1
- package/dist/interfaces/queue.interface.js.map +0 -1
- package/dist/interfaces/repository.interface.d.ts +0 -9
- package/dist/interfaces/repository.interface.d.ts.map +0 -1
- package/dist/interfaces/repository.interface.js +0 -3
- package/dist/interfaces/repository.interface.js.map +0 -1
- package/dist/middlewares/authenticated.middleware.d.ts.map +0 -1
- package/dist/middlewares/authenticated.middleware.js.map +0 -1
- package/dist/middlewares/authorized.middleware.d.ts +0 -12
- package/dist/middlewares/authorized.middleware.d.ts.map +0 -1
- package/dist/middlewares/authorized.middleware.js.map +0 -1
- package/dist/middlewares/validation.middleware.d.ts.map +0 -1
- package/dist/middlewares/validation.middleware.js.map +0 -1
- package/dist/rest.d.ts.map +0 -1
- package/dist/rest.js.map +0 -1
- /package/dist/{interfaces → notations/controller/interfaces}/authenticated.interface.d.ts +0 -0
- /package/dist/{interfaces → notations/controller/interfaces}/authenticated.interface.js +0 -0
- /package/dist/{middlewares → notations/controller/middlewares}/authenticated.middleware.d.ts +0 -0
- /package/dist/{middlewares → notations/controller/middlewares}/validation.middleware.js +0 -0
|
@@ -12,6 +12,8 @@ exports.put = put;
|
|
|
12
12
|
exports.del = del;
|
|
13
13
|
exports.patch = patch;
|
|
14
14
|
exports.validate = validate;
|
|
15
|
+
exports.preRequestScript = preRequestScript;
|
|
16
|
+
exports.testScript = testScript;
|
|
15
17
|
exports.authenticated = authenticated;
|
|
16
18
|
exports.authorized = authorized;
|
|
17
19
|
exports.middleware = middleware;
|
|
@@ -27,10 +29,12 @@ exports.buildRouterFromController = buildRouterFromController;
|
|
|
27
29
|
exports.buildApp = buildApp;
|
|
28
30
|
require("reflect-metadata");
|
|
29
31
|
const express_1 = __importDefault(require("express"));
|
|
30
|
-
const array_unify_1 = require("
|
|
32
|
+
const array_unify_1 = require("../../utils/array-unify");
|
|
31
33
|
const validation_middleware_1 = __importDefault(require("./middlewares/validation.middleware"));
|
|
32
34
|
const authenticated_middleware_1 = require("./middlewares/authenticated.middleware");
|
|
33
35
|
const authorized_middleware_1 = require("./middlewares/authorized.middleware");
|
|
36
|
+
const container_1 = require("../../container");
|
|
37
|
+
const types_1 = require("../../types");
|
|
34
38
|
class Controller {
|
|
35
39
|
constructor() {
|
|
36
40
|
const ctor = this.constructor;
|
|
@@ -53,9 +57,6 @@ class Controller {
|
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
exports.Controller = Controller;
|
|
56
|
-
/* ------------------------------------------------------------------ */
|
|
57
|
-
/* RouteRegistry */
|
|
58
|
-
/* ------------------------------------------------------------------ */
|
|
59
60
|
class RouteRegistry {
|
|
60
61
|
static getCtor(target) {
|
|
61
62
|
return typeof target === 'function'
|
|
@@ -161,6 +162,9 @@ function controller(path, name, moduleName) {
|
|
|
161
162
|
Reflect.defineMetadata(exports.keyOfName, resolvedName, constructor);
|
|
162
163
|
Reflect.defineMetadata(exports.keyOfModuleName, resolvedModuleName, constructor);
|
|
163
164
|
RouteRegistry.setBasePath(constructor, path, resolvedName, resolvedModuleName);
|
|
165
|
+
if (globalThis.MINI_AUTOLOAD) {
|
|
166
|
+
return (0, container_1.autoBind)(types_1.MINI_TYPES.IController, { scope: 'Transient' })(constructor);
|
|
167
|
+
}
|
|
164
168
|
return constructor;
|
|
165
169
|
};
|
|
166
170
|
}
|
|
@@ -176,6 +180,9 @@ function httpMethod(newOptions) {
|
|
|
176
180
|
: existingOptions.authenticated;
|
|
177
181
|
const otherHttpMiddlewares = (0, array_unify_1.arrayUnify)((newOptions.otherHttpMiddlewares ?? []).concat(existingOptions.otherHttpMiddlewares ?? []));
|
|
178
182
|
const name = newOptions.name ?? existingOptions.name;
|
|
183
|
+
const examples = (0, array_unify_1.arrayUnify)((newOptions.examples ?? []).concat(existingOptions.examples ?? []));
|
|
184
|
+
const preRequestScript = newOptions.preRequestScript ?? existingOptions.preRequestScript;
|
|
185
|
+
const testScript = newOptions.testScript ?? existingOptions.testScript;
|
|
179
186
|
const extraData = existingOptions.extraData ?? new Map();
|
|
180
187
|
if (newOptions.extraData) {
|
|
181
188
|
const newOptionsExtraData = newOptions.extraData;
|
|
@@ -222,6 +229,12 @@ function httpMethod(newOptions) {
|
|
|
222
229
|
mergedOptions.otherHttpMiddlewares = otherHttpMiddlewares;
|
|
223
230
|
if (name !== undefined)
|
|
224
231
|
mergedOptions.name = name;
|
|
232
|
+
if (examples.length)
|
|
233
|
+
mergedOptions.examples = examples;
|
|
234
|
+
if (preRequestScript !== undefined)
|
|
235
|
+
mergedOptions.preRequestScript = preRequestScript;
|
|
236
|
+
if (testScript !== undefined)
|
|
237
|
+
mergedOptions.testScript = testScript;
|
|
225
238
|
if (extraData && extraData.size > 0)
|
|
226
239
|
mergedOptions.extraData = extraData;
|
|
227
240
|
// NOT: method/param dekoratör metadataları **prototype** üzerinde tutuluyor
|
|
@@ -245,27 +258,36 @@ function httpMethod(newOptions) {
|
|
|
245
258
|
};
|
|
246
259
|
}
|
|
247
260
|
/* HTTP method sugar */
|
|
248
|
-
function get(path, name) {
|
|
249
|
-
return httpMethod({ path, method: 'get', name: name ?? path });
|
|
261
|
+
function get(path, name, options) {
|
|
262
|
+
return httpMethod({ path, method: 'get', name: name ?? path, ...options });
|
|
250
263
|
}
|
|
251
|
-
function post(path, name) {
|
|
252
|
-
return httpMethod({ path, method: 'post', name: name ?? path });
|
|
264
|
+
function post(path, name, options) {
|
|
265
|
+
return httpMethod({ path, method: 'post', name: name ?? path, ...options });
|
|
253
266
|
}
|
|
254
|
-
function put(path, name) {
|
|
255
|
-
return httpMethod({ path, method: 'put', name: name ?? path });
|
|
267
|
+
function put(path, name, options) {
|
|
268
|
+
return httpMethod({ path, method: 'put', name: name ?? path, ...options });
|
|
256
269
|
}
|
|
257
|
-
function del(path, name) {
|
|
258
|
-
return httpMethod({ path, method: 'delete', name: name ?? path });
|
|
270
|
+
function del(path, name, options) {
|
|
271
|
+
return httpMethod({ path, method: 'delete', name: name ?? path, ...options });
|
|
259
272
|
}
|
|
260
|
-
function patch(path, name) {
|
|
261
|
-
return httpMethod({ path, method: 'patch', name: name ?? path });
|
|
273
|
+
function patch(path, name, options) {
|
|
274
|
+
return httpMethod({ path, method: 'patch', name: name ?? path, ...options });
|
|
262
275
|
}
|
|
263
|
-
/* Sugar decorators */
|
|
264
276
|
function validate(options) {
|
|
265
277
|
return httpMethod({
|
|
266
278
|
validations: Array.isArray(options) ? options : [options],
|
|
267
279
|
});
|
|
268
280
|
}
|
|
281
|
+
function preRequestScript(script) {
|
|
282
|
+
return httpMethod({
|
|
283
|
+
preRequestScript: script,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
function testScript(script) {
|
|
287
|
+
return httpMethod({
|
|
288
|
+
testScript: script,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
269
291
|
function authenticated(value = true) {
|
|
270
292
|
return httpMethod({ authenticated: value });
|
|
271
293
|
}
|
|
@@ -282,7 +304,6 @@ function custom(key, value) {
|
|
|
282
304
|
extraData.set(key, value);
|
|
283
305
|
return httpMethod({ extraData: extraData });
|
|
284
306
|
}
|
|
285
|
-
/* Param dekoratörleri (prototype'a yazar) */
|
|
286
307
|
function req() {
|
|
287
308
|
return (t, k, i) => {
|
|
288
309
|
Reflect.defineMetadata(exports.keyOfReq, i, t, k);
|
|
@@ -325,9 +346,6 @@ function headers() {
|
|
|
325
346
|
RouteRegistry.setParameterIndex(t, k, 'headers', i);
|
|
326
347
|
};
|
|
327
348
|
}
|
|
328
|
-
/* ------------------------------------------------------------------ */
|
|
329
|
-
/* Router Builder (metadata'yı prototype'tan okur) */
|
|
330
|
-
/* ------------------------------------------------------------------ */
|
|
331
349
|
function buildRouterFromController(controllerInstance) {
|
|
332
350
|
const ctor = controllerInstance.constructor;
|
|
333
351
|
const proto = Object.getPrototypeOf(controllerInstance);
|
|
@@ -440,4 +458,4 @@ function buildApp(app, controllers) {
|
|
|
440
458
|
}
|
|
441
459
|
return app;
|
|
442
460
|
}
|
|
443
|
-
//# sourceMappingURL=
|
|
461
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../notations/controller/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticated.interface.d.ts","sourceRoot":"","sources":["../../../../notations/controller/interfaces/authenticated.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACrD,aAAa,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticated.interface.js","sourceRoot":"","sources":["../../../../notations/controller/interfaces/authenticated.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticated.middleware.d.ts","sourceRoot":"","sources":["../../../../notations/controller/middlewares/authenticated.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GACnC,KAAK,qBAAqB,EAC1B,MAAM,QAAQ,EACd,MAAM,YAAY,SA4BlB,CAAC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.authenticatedMiddleware = void 0;
|
|
4
|
-
const http_expection_1 = require("
|
|
4
|
+
const http_expection_1 = require("../../../expections/http.expection");
|
|
5
5
|
/** Header tabanlı auth kontrolü (throw’lu):
|
|
6
6
|
* - x-authenticated: "true" | "1" | "yes" → zorunlu
|
|
7
7
|
* - x-user-id: (opsiyonel)
|
|
8
8
|
* - x-user-permissions: "admin,editor" (opsiyonel, virgülle ayrılmış)
|
|
9
9
|
*/
|
|
10
10
|
const authenticatedMiddleware = (req, _res, next) => {
|
|
11
|
-
const isAuthHeader = String(req.headers['x-authenticated'] ?? '')
|
|
12
|
-
|
|
11
|
+
const isAuthHeader = String(req.headers['x-authenticated'] ?? '')
|
|
12
|
+
.trim()
|
|
13
|
+
.toLowerCase();
|
|
14
|
+
const isAuthenticated = isAuthHeader === 'true' ||
|
|
15
|
+
isAuthHeader === '1' ||
|
|
16
|
+
isAuthHeader === 'yes' ||
|
|
17
|
+
isAuthHeader === 'y';
|
|
13
18
|
if (!isAuthenticated) {
|
|
14
19
|
// 401 → throw (global error handler bunu 401’e map etmeli)
|
|
15
20
|
throw new http_expection_1.UnauthorizedException({ message: 'Unauthorized' });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticated.middleware.js","sourceRoot":"","sources":["../../../../notations/controller/middlewares/authenticated.middleware.ts"],"names":[],"mappings":";;;AACA,uEAA2E;AAG3E;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,CACtC,GAA0B,EAC1B,IAAc,EACd,IAAkB,EACjB,EAAE;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC/D,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IAChB,MAAM,eAAe,GACpB,YAAY,KAAK,MAAM;QACvB,YAAY,KAAK,GAAG;QACpB,YAAY,KAAK,KAAK;QACtB,YAAY,KAAK,GAAG,CAAC;IAEtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,2DAA2D;QAC3D,MAAM,IAAI,sCAAqB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAY,IAAI,SAAS,CAAC;IACjE,MAAM,WAAW,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAY,IAAI,EAAE,CAAC;IACxE,MAAM,WAAW,GAAG,WAAW;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,qCAAqC;IACrC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;IACxB,GAAW,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAEhD,IAAI,EAAE,CAAC;AACR,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NextFunction, Request, Response } from 'express';
|
|
2
|
+
export declare const authorizedMiddleware: (required: string[]) => (req: Request & {
|
|
3
|
+
user?: {
|
|
4
|
+
permissions?: string[];
|
|
5
|
+
};
|
|
6
|
+
}, _res: Response, next: NextFunction) => void;
|
|
7
|
+
//# sourceMappingURL=authorized.middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorized.middleware.d.ts","sourceRoot":"","sources":["../../../../notations/controller/middlewares/authorized.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,MAErD,KAAK,OAAO,GAAG;IAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,EACpD,MAAM,QAAQ,EACd,MAAM,YAAY,SAmBnB,CAAC"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.authorizedMiddleware = void 0;
|
|
4
|
-
const http_expection_1 = require("
|
|
5
|
-
/** Header tabanlı yetkilendirme (throw’lu):
|
|
6
|
-
* - required: gerekli permission listesi
|
|
7
|
-
* - Mevcut izinler önce req.user.permissions’tan,
|
|
8
|
-
* yoksa x-user-permissions header’ından alınır.
|
|
9
|
-
*/
|
|
4
|
+
const http_expection_1 = require("../../../expections/http.expection");
|
|
10
5
|
const authorizedMiddleware = (required) => {
|
|
11
6
|
return (req, _res, next) => {
|
|
12
7
|
const fromReq = req.user?.permissions ?? [];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorized.middleware.js","sourceRoot":"","sources":["../../../../notations/controller/middlewares/authorized.middleware.ts"],"names":[],"mappings":";;;AACA,uEAAwE;AACjE,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAE,EAAE;IAC1D,OAAO,CACN,GAAoD,EACpD,IAAc,EACd,IAAkB,EACjB,EAAE;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;aAChE,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,GACP,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,2DAA2D;YAC3D,MAAM,IAAI,mCAAkB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,oBAAoB,wBAuB/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RequestHandler } from 'express';
|
|
2
2
|
import { TransformOptions } from 'class-transformer';
|
|
3
3
|
import { ValidatorOptions } from 'class-validator';
|
|
4
|
-
import HttpException from '
|
|
4
|
+
import HttpException from '../../../expections/http.expection';
|
|
5
5
|
export type IValidation = {
|
|
6
6
|
body?: any;
|
|
7
7
|
params?: any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.middleware.d.ts","sourceRoot":"","sources":["../../../../notations/controller/middlewares/validation.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmC,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAmB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAY,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,CAAC,EAAC,aAAa,CAAC;CAC/B,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC3C,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC5C,IAAI,EAAE,MAAM,WAAW,EACvB,OAAO,CAAC,EAAE,OAAO,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,eAAe,CAAC,EAAC,aAAa,GAC5B,cAAc,CAsFhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.middleware.js","sourceRoot":"","sources":["../../../../notations/controller/middlewares/validation.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { RequestHandler } from 'express';
|
|
2
|
+
import { IValidation } from './middlewares/validation.middleware';
|
|
3
|
+
export type Method = 'get' | 'post' | 'put' | 'delete' | 'patch';
|
|
4
|
+
export type IExtraData = Map<string, any>;
|
|
5
|
+
export type ParameterSlot = 'req' | 'res' | 'next' | 'body' | 'query' | 'params' | 'headers';
|
|
6
|
+
export type RequestHandlerWithPreMiddlewareOptions = {
|
|
7
|
+
handler: RequestHandler;
|
|
8
|
+
isPre: boolean;
|
|
9
|
+
order: number;
|
|
10
|
+
};
|
|
11
|
+
export type HttpStatusCode = 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
|
|
12
|
+
export interface IRequestResponseExample<TReqBody = any, TReqParams = any, TReqQuery = any, TReqHeaders = any, TResponses extends Record<number, any> = Record<number, any>> {
|
|
13
|
+
request?: {
|
|
14
|
+
body?: TReqBody;
|
|
15
|
+
params?: TReqParams;
|
|
16
|
+
query?: TReqQuery;
|
|
17
|
+
headers?: TReqHeaders;
|
|
18
|
+
};
|
|
19
|
+
response: {
|
|
20
|
+
[K in keyof TResponses]: {
|
|
21
|
+
description: string;
|
|
22
|
+
data: TResponses[K];
|
|
23
|
+
contentType?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface RouteOptions {
|
|
28
|
+
method?: Method;
|
|
29
|
+
path?: string;
|
|
30
|
+
validations?: IValidation[];
|
|
31
|
+
permissions?: string[];
|
|
32
|
+
authenticated?: boolean;
|
|
33
|
+
otherHttpMiddlewares?: RequestHandlerWithPreMiddlewareOptions[];
|
|
34
|
+
extraData?: IExtraData;
|
|
35
|
+
name?: string;
|
|
36
|
+
examples?: IRequestResponseExample[];
|
|
37
|
+
preRequestScript?: string;
|
|
38
|
+
testScript?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface RouteDefinition extends RouteOptions {
|
|
41
|
+
methodName: string;
|
|
42
|
+
parameterIndices?: Partial<Record<ParameterSlot, number>>;
|
|
43
|
+
}
|
|
44
|
+
export interface RouteDefinitions {
|
|
45
|
+
basePath: string;
|
|
46
|
+
controllerName?: string;
|
|
47
|
+
moduleName?: string;
|
|
48
|
+
routes: RouteDefinition[];
|
|
49
|
+
}
|
|
50
|
+
export interface IControllerClassConstructor {
|
|
51
|
+
new (...args: any[]): any;
|
|
52
|
+
__routeDefinitions?: RouteDefinitions;
|
|
53
|
+
}
|
|
54
|
+
export interface IController {
|
|
55
|
+
path: string;
|
|
56
|
+
name: string;
|
|
57
|
+
moduleName: string;
|
|
58
|
+
getRouteDefinition(methodName: string): RouteDefinition;
|
|
59
|
+
getRouteDefinitions(): RouteDefinitions;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=rest.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.types.d.ts","sourceRoot":"","sources":["../../../notations/controller/rest.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest.types.js","sourceRoot":"","sources":["../../../notations/controller/rest.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../notations/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./controller/index"), exports);
|
|
18
|
+
__exportStar(require("./controller/rest.types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../notations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0DAAwC"}
|
package/dist/swagger.d.ts
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { Express } from 'express';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
servers?: {
|
|
8
|
-
url: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
}[];
|
|
11
|
-
docsPath?: string;
|
|
12
|
-
jsonPath?: string;
|
|
13
|
-
components?: any;
|
|
3
|
+
import { SwaggerOptions } from 'swagger-ui-express';
|
|
4
|
+
import { ISwaggerBasicAuth } from './interfaces/config.interface';
|
|
5
|
+
export interface ISwaggerIntegrationOptions extends SwaggerOptions {
|
|
6
|
+
basicAuth?: ISwaggerBasicAuth;
|
|
14
7
|
}
|
|
15
8
|
export declare class SwaggerIntegration {
|
|
16
9
|
private swaggerSpec;
|
|
17
10
|
private options;
|
|
18
|
-
constructor(options?:
|
|
11
|
+
constructor(options?: ISwaggerIntegrationOptions);
|
|
19
12
|
generateSwaggerSpec(controllers: any[]): void;
|
|
20
13
|
private generateSummary;
|
|
21
14
|
private generateDescription;
|
|
@@ -23,6 +16,7 @@ export declare class SwaggerIntegration {
|
|
|
23
16
|
private extractResourceName;
|
|
24
17
|
private extractPathParameters;
|
|
25
18
|
private generateSchemaFromValidation;
|
|
19
|
+
private basicAuthMiddleware;
|
|
26
20
|
setupSwagger(app: Express): void;
|
|
27
21
|
getSwaggerSpec(): any;
|
|
28
22
|
}
|
package/dist/swagger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../swagger.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../swagger.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IACjE,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,OAAO,CAA6B;gBAEhC,OAAO,GAAE,0BAA+B;IAc7C,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IAmQ7C,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,mBAAmB;IAuBpB,YAAY,CAAC,GAAG,EAAE,OAAO;IAqCzB,cAAc;CAGrB;AAED,eAAe,kBAAkB,CAAC"}
|