@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.
Files changed (78) hide show
  1. package/dist/app.d.ts +10 -4
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +30 -19
  4. package/dist/app.js.map +1 -1
  5. package/dist/container.d.ts +17 -2
  6. package/dist/container.d.ts.map +1 -1
  7. package/dist/container.js +36 -2
  8. package/dist/container.js.map +1 -1
  9. package/dist/index.d.ts +10 -8
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +13 -11
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/app.interface.d.ts +9 -1
  14. package/dist/interfaces/app.interface.d.ts.map +1 -1
  15. package/dist/interfaces/config.interface.d.ts +12 -0
  16. package/dist/interfaces/config.interface.d.ts.map +1 -1
  17. package/dist/jest.config.d.ts.map +1 -1
  18. package/dist/jest.config.js +1 -0
  19. package/dist/jest.config.js.map +1 -1
  20. package/dist/loader.d.ts +13 -0
  21. package/dist/loader.d.ts.map +1 -0
  22. package/dist/loader.js +76 -0
  23. package/dist/loader.js.map +1 -0
  24. package/dist/{rest.d.ts → notations/controller/index.d.ts} +10 -46
  25. package/dist/notations/controller/index.d.ts.map +1 -0
  26. package/dist/{rest.js → notations/controller/index.js} +38 -20
  27. package/dist/notations/controller/index.js.map +1 -0
  28. package/dist/notations/controller/interfaces/authenticated.interface.d.ts.map +1 -0
  29. package/dist/notations/controller/interfaces/authenticated.interface.js.map +1 -0
  30. package/dist/notations/controller/middlewares/authenticated.middleware.d.ts.map +1 -0
  31. package/dist/{middlewares → notations/controller/middlewares}/authenticated.middleware.js +8 -3
  32. package/dist/notations/controller/middlewares/authenticated.middleware.js.map +1 -0
  33. package/dist/notations/controller/middlewares/authorized.middleware.d.ts +7 -0
  34. package/dist/notations/controller/middlewares/authorized.middleware.d.ts.map +1 -0
  35. package/dist/{middlewares → notations/controller/middlewares}/authorized.middleware.js +1 -6
  36. package/dist/notations/controller/middlewares/authorized.middleware.js.map +1 -0
  37. package/dist/{middlewares → notations/controller/middlewares}/validation.middleware.d.ts +1 -1
  38. package/dist/notations/controller/middlewares/validation.middleware.d.ts.map +1 -0
  39. package/dist/notations/controller/middlewares/validation.middleware.js.map +1 -0
  40. package/dist/notations/controller/rest.types.d.ts +61 -0
  41. package/dist/notations/controller/rest.types.d.ts.map +1 -0
  42. package/dist/{interfaces/queue.interface.js → notations/controller/rest.types.js} +1 -1
  43. package/dist/notations/controller/rest.types.js.map +1 -0
  44. package/dist/notations/index.d.ts +3 -0
  45. package/dist/notations/index.d.ts.map +1 -0
  46. package/dist/notations/index.js +19 -0
  47. package/dist/notations/index.js.map +1 -0
  48. package/dist/swagger.d.ts +6 -12
  49. package/dist/swagger.d.ts.map +1 -1
  50. package/dist/swagger.js +165 -27
  51. package/dist/swagger.js.map +1 -1
  52. package/dist/utils/infer-schema.d.ts +5 -0
  53. package/dist/utils/infer-schema.d.ts.map +1 -0
  54. package/dist/utils/infer-schema.js +47 -0
  55. package/dist/utils/infer-schema.js.map +1 -0
  56. package/package.json +3 -1
  57. package/dist/interfaces/authenticated.interface.d.ts.map +0 -1
  58. package/dist/interfaces/authenticated.interface.js.map +0 -1
  59. package/dist/interfaces/queue.interface.d.ts +0 -6
  60. package/dist/interfaces/queue.interface.d.ts.map +0 -1
  61. package/dist/interfaces/queue.interface.js.map +0 -1
  62. package/dist/interfaces/repository.interface.d.ts +0 -9
  63. package/dist/interfaces/repository.interface.d.ts.map +0 -1
  64. package/dist/interfaces/repository.interface.js +0 -3
  65. package/dist/interfaces/repository.interface.js.map +0 -1
  66. package/dist/middlewares/authenticated.middleware.d.ts.map +0 -1
  67. package/dist/middlewares/authenticated.middleware.js.map +0 -1
  68. package/dist/middlewares/authorized.middleware.d.ts +0 -12
  69. package/dist/middlewares/authorized.middleware.d.ts.map +0 -1
  70. package/dist/middlewares/authorized.middleware.js.map +0 -1
  71. package/dist/middlewares/validation.middleware.d.ts.map +0 -1
  72. package/dist/middlewares/validation.middleware.js.map +0 -1
  73. package/dist/rest.d.ts.map +0 -1
  74. package/dist/rest.js.map +0 -1
  75. /package/dist/{interfaces → notations/controller/interfaces}/authenticated.interface.d.ts +0 -0
  76. /package/dist/{interfaces → notations/controller/interfaces}/authenticated.interface.js +0 -0
  77. /package/dist/{middlewares → notations/controller/middlewares}/authenticated.middleware.d.ts +0 -0
  78. /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("./utils/array-unify");
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=rest.js.map
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("../expections/http.expection");
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'] ?? '').trim().toLowerCase();
12
- const isAuthenticated = isAuthHeader === 'true' || isAuthHeader === '1' || isAuthHeader === 'yes' || isAuthHeader === 'y';
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("../expections/http.expection");
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 '../expections/http.expection';
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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"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=queue.interface.js.map
3
+ //# sourceMappingURL=rest.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.types.js","sourceRoot":"","sources":["../../../notations/controller/rest.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './controller/index';
2
+ export * from './controller/rest.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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
- export interface SwaggerOptions {
4
- title?: string;
5
- description?: string;
6
- version?: string;
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?: SwaggerOptions);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../swagger.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,GAAE,cAAmB;IAcjC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IA0I7C,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,4BAA4B;IAK7B,YAAY,CAAC,GAAG,EAAE,OAAO;IA6BzB,cAAc;CAGrB;AAED,eAAe,kBAAkB,CAAC"}
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"}