@asapjs/router 0.0.6 → 0.0.9

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.
@@ -1,25 +1,9 @@
1
1
  {
2
2
  "openapi": "3.0.0",
3
- "servers": [
4
- {
5
- "url": "https://ms.dev.pangaiacreators.com/shop",
6
- "description": "pangaia-b4c-ms-shop-dev",
7
- "variables": {}
8
- },
9
- {
10
- "url": "https://ms.stg.pangaiacreators.com/shop",
11
- "description": "pangaia-b4c-ms-shop-stg",
12
- "variables": {}
13
- },
14
- {
15
- "url": "http://localhost:3000/shop",
16
- "description": "localhost",
17
- "variables": {}
18
- }
19
- ],
3
+ "servers": [],
20
4
  "info": {
21
- "version": "0.0.1",
22
- "title": "pangaia-b4c-ms-shop",
5
+ "version": "",
6
+ "title": "",
23
7
  "description": "",
24
8
  "termsOfService": "",
25
9
  "contact": {},
@@ -1,10 +1,11 @@
1
+ import type { DtoOrTypeIs } from '@asapjs/sequelize';
1
2
  interface IPreference {
2
3
  path: string;
3
4
  title?: string;
4
5
  auth?: boolean;
5
- request?: returnTypeFunc;
6
- response?: returnTypeFunc;
7
- query?: () => any;
6
+ body?: DtoOrTypeIs;
7
+ query?: DtoOrTypeIs;
8
+ response?: DtoOrTypeIs;
8
9
  middleware?: any[];
9
10
  excute: any;
10
11
  }
@@ -34,5 +35,23 @@ declare type returnTypeFuncReturn = {
34
35
  declare type returnTypeFunc = () => returnTypeFuncReturn;
35
36
  export declare const requestType: (Dto: AsConstructor<any> | true, innerType?: returnTypeBodyOrQuery | undefined, isArray?: boolean | undefined) => returnTypeFunc;
36
37
  export declare const responseType: (Dto: AsConstructor<any> | true, innerType?: returnTypeBodyOrQuery | undefined, isArray?: boolean | undefined) => returnTypeFunc;
38
+ interface User {
39
+ id?: number;
40
+ }
41
+ export interface ExcuteArgs {
42
+ path?: {
43
+ [key: string]: unknown;
44
+ };
45
+ query: {
46
+ [key: string]: unknown;
47
+ };
48
+ body: {
49
+ [key: string]: unknown;
50
+ };
51
+ files?: {
52
+ [key: string]: unknown;
53
+ };
54
+ user?: User;
55
+ }
37
56
  export {};
38
57
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/express/router.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;CACb;AASD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,QAAQ,SAAO;IAEf,aAAa,6CAAmB;IAEvC,OAAO,CAAC,mBAAmB,CAUxB;IAEH,OAAO,CAAC,uBAAuB,CAc5B;IAEH,OAAO,CAAC,oBAAoB,CAezB;IAEH,OAAO,CAAC,0BAA0B,CAgEhC;IAEK,MAAM,WAAY,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,eAAe,WAAW,UAOlF;IAEK,MAAM;uBAT4D,WAAW;wBAAX,WAAW;uBAAX,WAAW;0BAAX,WAAW;MAclF;CACH;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC;CACX;AAED,aAAK,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C,aAAK,oBAAoB,GACrB;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,GAAG,CAAC;CACX,GACD,SAAS,GACT,IAAI,CAAC;AAET,aAAK,cAAc,GAAG,MAAM,oBAAoB,CAAC;AAgBjD,eAAO,MAAM,WAAW,QAZb,cAAc,GAAG,CAAC,GAAG,IAAI,mFAA2D,cAY/C,CAAC;AACjD,eAAO,MAAM,YAAY,QAbd,cAAc,GAAG,CAAC,GAAG,IAAI,mFAA2D,cAa7C,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/express/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AASrD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;CACb;AASD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,QAAQ,SAAO;IAEf,aAAa,6CAAmB;IAEvC,OAAO,CAAC,mBAAmB,CAOxB;IAEH,OAAO,CAAC,uBAAuB,CAc5B;IAEH,OAAO,CAAC,oBAAoB,CAczB;IAEH,OAAO,CAAC,0BAA0B,CAwEhC;IAEK,MAAM,WAAY,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,eAAe,WAAW,UAKlF;IAEK,MAAM;uBAP4D,WAAW;wBAAX,WAAW;uBAAX,WAAW;0BAAX,WAAW;MAYlF;CACH;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC;CACX;AAED,aAAK,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C,aAAK,oBAAoB,GACrB;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,GAAG,CAAC;CACX,GACD,SAAS,GACT,IAAI,CAAC;AAET,aAAK,cAAc,GAAG,MAAM,oBAAoB,CAAC;AAqBjD,eAAO,MAAM,WAAW,QAjBb,cAAc,GAAG,CAAC,GAAG,IAAI,mFAA2D,cAiB/C,CAAC;AACjD,eAAO,MAAM,YAAY,QAlBd,cAAc,GAAG,CAAC,GAAG,IAAI,mFAA2D,cAkB7C,CAAC;AAEnD,UAAU,IAAI;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACjC,KAAK,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACnC,IAAI,CAAC,EAAE,IAAI,CAAC;CACb"}
@@ -8,6 +8,7 @@ const express_1 = require("express");
8
8
  const swagger_1 = require("../swagger");
9
9
  const jwtVerification_1 = __importDefault(require("../middleware/jwtVerification"));
10
10
  const wrapper_1 = __importDefault(require("../utils/wrapper"));
11
+ const isClass_1 = __importDefault(require("../utils/isClass"));
11
12
  class RouterController {
12
13
  constructor() {
13
14
  this.basePath = '/';
@@ -16,10 +17,7 @@ class RouterController {
16
17
  required: true,
17
18
  content: {
18
19
  'application/json': {
19
- schema: {
20
- type: 'string',
21
- example: req,
22
- },
20
+ schema: req,
23
21
  },
24
22
  },
25
23
  });
@@ -41,12 +39,11 @@ class RouterController {
41
39
  this.generateResponseBody = (res) => ({
42
40
  '200': {
43
41
  description: '',
44
- headers: {},
45
42
  content: {
46
43
  'application/json': {
47
44
  schema: {
48
- type: 'string',
49
- example: {
45
+ type: 'object',
46
+ properties: {
50
47
  result: res,
51
48
  },
52
49
  },
@@ -54,7 +51,7 @@ class RouterController {
54
51
  },
55
52
  },
56
53
  });
57
- this.generateSwaggerDefaultsSet = (target, title, path, method, req, res) => {
54
+ this.generateSwaggerDefaultsSet = (target, title, path, method, body, query, response) => {
58
55
  var _a, _b, _c, _d;
59
56
  const swaggerPath = path === '/' ? target.basePath : target.basePath + path;
60
57
  const realPath = swaggerPath.includes(':')
@@ -76,32 +73,35 @@ class RouterController {
76
73
  summary: title,
77
74
  description: '',
78
75
  };
79
- if (req === undefined) {
76
+ if (body !== undefined) {
77
+ if ((0, isClass_1.default)(body)) {
78
+ const data = new body().swagger();
79
+ result.requestBody = this.generateRequestBody(data);
80
+ }
81
+ else {
82
+ const data = (_b = (_a = body === null || body === void 0 ? void 0 : body()) === null || _a === void 0 ? void 0 : _a.toSwagger) === null || _b === void 0 ? void 0 : _b.call(_a);
83
+ result.requestBody = this.generateRequestBody(data);
84
+ }
80
85
  }
81
- else if (req === true) {
82
- result.requestBody = this.generateRequestBody(req);
83
- }
84
- else if (req.type === 'query') {
85
- Object.keys(req.data).forEach((key) => {
86
+ if (query !== undefined) {
87
+ const data = new query().swagger();
88
+ Object.keys(data.properties).forEach((key) => {
86
89
  parameters.push({
87
90
  in: 'query',
88
91
  name: key,
89
- schema: {
90
- type: 'string',
91
- },
92
+ schema: data.properties[key],
92
93
  });
93
94
  });
94
95
  }
95
- else if (((_d = (_a = req === null || req === void 0 ? void 0 : req.data) === null || _a === void 0 ? void 0 : _a[(_c = (_b = Object === null || Object === void 0 ? void 0 : Object.keys) === null || _b === void 0 ? void 0 : _b.call(Object, req === null || req === void 0 ? void 0 : req.data)) === null || _c === void 0 ? void 0 : _c[0]]) === null || _d === void 0 ? void 0 : _d.format) === 'binary') {
96
- result.requestBody = this.generateFileRequestBody();
97
- }
98
- else if (req) {
99
- result.requestBody = this.generateRequestBody(req.data);
100
- }
101
- if (res === undefined) {
102
- }
103
- else if (res) {
104
- result.responses = this.generateResponseBody(res === true ? true : res.data);
96
+ if (response !== undefined) {
97
+ if ((0, isClass_1.default)(response)) {
98
+ const data = new response().swagger();
99
+ result.responses = this.generateResponseBody(data);
100
+ }
101
+ else {
102
+ const data = (_d = (_c = response === null || response === void 0 ? void 0 : response()) === null || _c === void 0 ? void 0 : _c.toSwagger) === null || _d === void 0 ? void 0 : _d.call(_c);
103
+ result.responses = this.generateResponseBody(data);
104
+ }
105
105
  }
106
106
  if (parameters.length > 0) {
107
107
  result.parameters = parameters;
@@ -109,10 +109,8 @@ class RouterController {
109
109
  return result;
110
110
  };
111
111
  this.excute = (method) => (options) => {
112
- const { path, middleware = [], auth = false, excute, title, request, response } = options;
113
- const requestType = request === null || request === void 0 ? void 0 : request();
114
- const responseType = response === null || response === void 0 ? void 0 : response();
115
- const swaggerPathInfo = this.generateSwaggerDefaultsSet(this, title || '', path, method, requestType, responseType);
112
+ const { path, middleware = [], auth = false, excute, title, body, query, response } = options;
113
+ const swaggerPathInfo = this.generateSwaggerDefaultsSet(this, title || '', path, method, body, query, response);
116
114
  (0, swagger_1.addPaths)(swaggerPathInfo);
117
115
  this.expressRouter[method](path, (0, jwtVerification_1.default)(auth), ...middleware, (0, wrapper_1.default)(excute));
118
116
  };
@@ -131,7 +129,12 @@ const returnType = (type) => (Dto, innerType = 'body', isArray = false) => () =>
131
129
  if (Dto === true)
132
130
  return true;
133
131
  const dto = new Dto().swagger();
134
- const data = isArray ? [dto] : dto;
132
+ const data = isArray
133
+ ? {
134
+ type: 'array',
135
+ items: dto,
136
+ }
137
+ : dto;
135
138
  return { type: innerType, data };
136
139
  };
137
140
  exports.requestType = returnType('request');
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/express/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/express/router.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export { default as RouterModule } from './router/index';
2
2
  export { default as RouterController, requestType, responseType } from './express/router';
3
3
  export { default as jwtVerification } from './middleware/jwtVerification';
4
4
  export { HttpException } from './middleware/errorHandler';
5
+ export { ExecuteArgs } from './utils/wrapper';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,7 +2,7 @@ import { Request, Response, NextFunction } from 'express';
2
2
  declare global {
3
3
  namespace Express {
4
4
  interface Request {
5
- decoded: any;
5
+ user: any;
6
6
  }
7
7
  }
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jwtVerification.d.ts","sourceRoot":"","sources":["../../src/middleware/jwtVerification.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK1D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,OAAO,EAAE,GAAG,CAAC;SACd;KACF;CACF;AAED,QAAA,MAAM,eAAe,UACZ,OAAO,WACR,OAAO,OAAO,QAAQ,QAAQ,YAAY,SA0B/C,CAAC;AAEJ,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"jwtVerification.d.ts","sourceRoot":"","sources":["../../src/middleware/jwtVerification.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK1D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,IAAI,EAAE,GAAG,CAAC;SACX;KACF;CACF;AAED,QAAA,MAAM,eAAe,UACZ,OAAO,WACR,OAAO,OAAO,QAAQ,QAAQ,YAAY,SA2B/C,CAAC;AAEJ,eAAe,eAAe,CAAC"}
@@ -16,7 +16,7 @@ const jwtVerification = (auth = false) => (req, res, next) => {
16
16
  }
17
17
  else {
18
18
  const token = authorization.split(' ')[1];
19
- jsonwebtoken_1.default.verify(token, (0, core_1.getConfig)().JWT_SECRET, (err, decoded) => {
19
+ jsonwebtoken_1.default.verify(token, (0, core_1.getConfig)().auth.jwt_secret, (err, decoded) => {
20
20
  if (err && auth === true) {
21
21
  if (err.message === 'invalid signature') {
22
22
  return res.status(403).json({
@@ -29,7 +29,8 @@ const jwtVerification = (auth = false) => (req, res, next) => {
29
29
  message: 'Unauthorized access. Please Refresh Token',
30
30
  });
31
31
  }
32
- req.decoded = decoded;
32
+ req.user = decoded;
33
+ console.log('decoded', decoded);
33
34
  next();
34
35
  });
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jwtVerification.js","sourceRoot":"","sources":["../../src/middleware/jwtVerification.ts"],"names":[],"mappings":";;;;;AAAA,uCAAyC;AAGzC,gEAA+B;AAE/B,iDAA+C;AAU/C,MAAM,eAAe,GACnB,CAAC,OAAgB,KAAK,EAAE,EAAE,CAC1B,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,aAAa,EAAE;QAClB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,4BAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;SACnD;QACD,IAAI,EAAE,CAAC;KACR;SAAM;QACL,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAG,IAAA,gBAAS,GAAU,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,OAAY,EAAE,EAAE;YAC5E,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;gBACxB,IAAI,GAAG,CAAC,OAAO,KAAK,mBAAmB,EAAE;oBACvC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,8CAA8C;qBACxD,CAAC,CAAC;iBACJ;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,2CAA2C;iBACrD,CAAC,CAAC;aACJ;YACK,GAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAEJ,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"jwtVerification.js","sourceRoot":"","sources":["../../src/middleware/jwtVerification.ts"],"names":[],"mappings":";;;;;AAAA,uCAAyC;AAGzC,gEAA+B;AAE/B,iDAA+C;AAU/C,MAAM,eAAe,GACnB,CAAC,OAAgB,KAAK,EAAE,EAAE,CAC1B,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,aAAa,EAAE;QAClB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,4BAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;SACnD;QACD,IAAI,EAAE,CAAC;KACR;SAAM;QACL,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAG,IAAA,gBAAS,GAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,OAAY,EAAE,EAAE;YACjF,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;gBACxB,IAAI,GAAG,CAAC,OAAO,KAAK,mBAAmB,EAAE;oBACvC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,8CAA8C;qBACxD,CAAC,CAAC;iBACJ;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,2CAA2C;iBACrD,CAAC,CAAC;aACJ;YACD,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAEJ,kBAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,OAA8B,MAAM,SAAS,CAAC;AASrD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAM;IAEb,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;gBAEpB,OAAO,EAAE,MAAM;IAQ3B,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAM;IAEb,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;gBAEpB,OAAO,EAAE,MAAM;IAQ3B,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,eAAe;CAKxB"}
@@ -47,9 +47,9 @@ class RouterModule {
47
47
  },
48
48
  };
49
49
  this.app.use(`/${this.config.basePath}/docs/swagger-ui.html`, swagger_ui_express_1.default.serveFiles(undefined, options), swagger_ui_express_1.default.setup(undefined, options));
50
- this.app.get(`/${this.config.basePath}/docs/swagger.json`, (0, wrapper_1.default)((req, res) => __awaiter(this, void 0, void 0, function* () {
50
+ this.app.get(`/${this.config.basePath}/docs/swagger.json`, (0, wrapper_1.default)(() => __awaiter(this, void 0, void 0, function* () {
51
51
  const swaggerData = (0, swagger_1.getSwaggerData)();
52
- res.json(swaggerData);
52
+ return swaggerData;
53
53
  })));
54
54
  }
55
55
  initMiddlewares() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAyC;AAEzC,sDAAqD;AACrD,8DAAqC;AACrC,gDAAwB;AACxB,4EAA2C;AAE3C,8EAAsD;AACtD,+DAAuC;AACvC,wCAA4C;AAE5C,MAAqB,YAAY;IAK/B,YAAY,OAAe;QACzB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAS,GAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAY,CAAC,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,MAAM,MAAM,GAAmB,iBAAO,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACnD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG;YACd,cAAc,EAAE;gBACd,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoB;aAClD;SACF,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,uBAAuB,EAC/C,4BAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EACxC,4BAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoB,EAC5C,IAAA,iBAAO,EAAC,CAAO,GAAY,EAAE,GAAa,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AAlDD,+BAkDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAyC;AAEzC,sDAA8B;AAC9B,8DAAqC;AACrC,gDAAwB;AACxB,4EAA2C;AAE3C,8EAAsD;AACtD,+DAAuC;AACvC,wCAA4C;AAE5C,MAAqB,YAAY;IAK/B,YAAY,OAAe;QACzB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAS,GAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAY,CAAC,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,MAAM,MAAM,GAAmB,iBAAO,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACnD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG;YACd,cAAc,EAAE;gBACd,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoB;aAClD;SACF,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,uBAAuB,EAC/C,4BAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EACxC,4BAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoB,EAC5C,IAAA,iBAAO,EAAC,GAAS,EAAE;YACjB,MAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;YACrC,OAAO,WAAW,CAAC;QACrB,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AAlDD,+BAkDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAQ,QAAQ,SAvCU,GAAG,oBAuCX,cAAc;;QAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"AAgEA,eAAO,MAAQ,QAAQ,SAnDU,GAAG,oBAmDX,cAAc;;QAA0B,CAAC"}
@@ -15,8 +15,9 @@ var _a;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.getSwaggerData = exports.addPaths = void 0;
17
17
  /* eslint-disable no-nested-ternary */
18
+ const core_1 = require("@asapjs/core");
18
19
  const default_swagger_json_1 = __importDefault(require("../assets/default-swagger.json"));
19
- const methods = ["get", "post", "put", "delete"];
20
+ const methods = ['get', 'post', 'put', 'delete'];
20
21
  class DocsApplication {
21
22
  constructor() {
22
23
  this.swaggerData = Object.assign({}, default_swagger_json_1.default);
@@ -26,6 +27,16 @@ class DocsApplication {
26
27
  this.swaggerPath.push(data);
27
28
  });
28
29
  this.generateSwaggerData = () => {
30
+ var _a, _b, _c, _d, _e;
31
+ const config = (0, core_1.getConfig)();
32
+ this.swaggerData.info.title = ((_a = config === null || config === void 0 ? void 0 : config.swagger) === null || _a === void 0 ? void 0 : _a.name) || '';
33
+ this.swaggerData.info.version = ((_b = config === null || config === void 0 ? void 0 : config.swagger) === null || _b === void 0 ? void 0 : _b.version) || '';
34
+ this.swaggerData.info.description = ((_c = config === null || config === void 0 ? void 0 : config.swagger) === null || _c === void 0 ? void 0 : _c.description) || '';
35
+ this.swaggerData.servers = [
36
+ {
37
+ url: `${(_d = config === null || config === void 0 ? void 0 : config.swagger) === null || _d === void 0 ? void 0 : _d.scheme}://${(_e = config === null || config === void 0 ? void 0 : config.swagger) === null || _e === void 0 ? void 0 : _e.host}${(config === null || config === void 0 ? void 0 : config.basePath) ? `/${config === null || config === void 0 ? void 0 : config.basePath}` : ''}`,
38
+ },
39
+ ];
29
40
  this.swaggerPath.sort((a, b) => {
30
41
  var _a, _b, _c, _d;
31
42
  const ix1 = methods.indexOf(a.method.toLowerCase());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sCAAsC;AACtC,0FAA4D;AAE5D,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEjD,MAAM,eAAe;IAArB;QACS,gBAAW,qBAAgC,8BAAc,EAAG;QAE3D,gBAAW,GAAG,EAAE,CAAC;QAEjB,yBAAoB,GAAkC,IAAI,CAAC;QAE5D,aAAQ,GAAG,CAAO,IAAS,EAAE,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAa,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC;QAEK,wBAAmB,GAAG,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;;gBACvC,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;oBAC5C,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;wBACzC,CAAC,CAAC,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;4BACjB,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;gCACjB,CAAC,CAAC,CAAC,CAAC;gCACJ,CAAC,CAAC,GAAG,GAAG,GAAG;oCACX,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,GAAG,GAAG,GAAG;wCACX,CAAC,CAAC,CAAC,CAAC;wCACJ,CAAC,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;gBAClC,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,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAA,CAAC,CAAC,MAAM,0CAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,qBAAQ,IAAI,CAAC,WAAW,CAAE,CAAC;QACtD,CAAC,CAAC;QAEK,mBAAc,GAAG,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;gBACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;YACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;CAAA;AAEY,KAA+B,IAAI,eAAe,EAAE,EAAlD,gBAAQ,gBAAE,sBAAc,qBAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: (v: any) => boolean;
2
+ export default _default;
3
+ //# sourceMappingURL=isClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isClass.d.ts","sourceRoot":"","sources":["../../src/utils/isClass.ts"],"names":[],"mappings":"4BAAmB,GAAG;AAAtB,wBAAmE"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = (v) => { var _a; return ((_a = v === null || v === void 0 ? void 0 : v.prototype) === null || _a === void 0 ? void 0 : _a.constructor) !== undefined; };
4
+ //# sourceMappingURL=isClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isClass.js","sourceRoot":"","sources":["../../src/utils/isClass.ts"],"names":[],"mappings":";;AAAA,kBAAe,CAAC,CAAM,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAS,0CAAE,WAAW,MAAK,SAAS,CAAA,EAAA,CAAC"}
@@ -1,5 +1,21 @@
1
1
  import { NextFunction, Request, Response } from 'express';
2
2
  declare type Callback = (request: Request<any, any, any, any>, response: Response, next: NextFunction) => Promise<unknown>;
3
- export default function Wrapper(cb: Callback): Callback;
3
+ export interface ExecuteArgs<P = {}, Q = {}, B = {}> {
4
+ req: Request;
5
+ path?: P | {
6
+ [key: string]: any;
7
+ };
8
+ query: Q & {
9
+ [key: string]: any;
10
+ };
11
+ body: B & {
12
+ [key: string]: any;
13
+ };
14
+ files?: {
15
+ [key: string]: any;
16
+ };
17
+ user?: any;
18
+ }
19
+ export default function Wrapper(cb: (args: ExecuteArgs) => Promise<unknown>): Callback;
4
20
  export {};
5
21
  //# sourceMappingURL=wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG1D,aAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAsBtD"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../src/utils/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG1D,aAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;IACjD,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,KAAK,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CA8BrF"}
@@ -14,8 +14,16 @@ function Wrapper(cb) {
14
14
  return function _Wrapper(req, res, next) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
16
  try {
17
- const result = yield cb(req, res, next);
18
- return result;
17
+ const user = req.user;
18
+ const args = {
19
+ req,
20
+ query: req.query,
21
+ path: req.params,
22
+ body: req.body,
23
+ user,
24
+ };
25
+ const output = yield cb(args);
26
+ res.status(200).json(output);
19
27
  }
20
28
  catch (err) {
21
29
  console.log(err);
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/utils/wrapper.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,uCAAsC;AAItC,SAAwB,OAAO,CAAC,EAAY;IAC1C,OAAO,SAAe,QAAQ,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC5E,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,aAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;oBAClD,MAAM,MAAM,GAAG,GAAG,CAAC;oBACnB,MAAM,OAAO,GAAG,oBAAoB,CAAC;oBACrC,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;wBAC7B,MAAM;wBACN,OAAO;qBACR,CAAC,CAAC;iBACJ;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;aACJ;QACH,CAAC;KAAA,CAAC;AACJ,CAAC;AAtBD,0BAsBC"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../src/utils/wrapper.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,uCAAsC;AAatC,SAAwB,OAAO,CAAC,EAA2C;IACzE,OAAO,SAAe,QAAQ,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC5E,IAAI;gBACF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACtB,MAAM,IAAI,GAAgB;oBACxB,GAAG;oBACH,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI,EAAE,GAAG,CAAC,MAAM;oBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI;iBACL,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,aAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;oBAClD,MAAM,MAAM,GAAG,GAAG,CAAC;oBACnB,MAAM,OAAO,GAAG,oBAAoB,CAAC;oBACrC,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;wBAC7B,MAAM;wBACN,OAAO;qBACR,CAAC,CAAC;iBACJ;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;aACJ;QACH,CAAC;KAAA,CAAC;AACJ,CAAC;AA9BD,0BA8BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asapjs/router",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -21,6 +21,8 @@
21
21
  "winston": "^3.6.0"
22
22
  },
23
23
  "devDependencies": {
24
+ "@asapjs/core": "^0.1.0",
25
+ "@asapjs/sequelize": "^0.1.0",
24
26
  "@types/body-parser": "^1.19.2",
25
27
  "@types/cors": "^2.8.12",
26
28
  "@types/express": "^4.17.13",
@@ -28,8 +30,5 @@
28
30
  "@types/node": "^17.0.21",
29
31
  "@types/swagger-ui-express": "^4.1.3",
30
32
  "typescript": "^4.6.2"
31
- },
32
- "peerDependencies": {
33
- "@asapjs/core": "^0.0.6"
34
33
  }
35
34
  }
package/.prettierrc DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "semi": true,
4
- "useTabs": false,
5
- "tabWidth": 2,
6
- "trailingComma": "all",
7
- "printWidth": 120
8
- }
@@ -1,60 +0,0 @@
1
- {
2
- "openapi": "3.0.0",
3
- "servers": [
4
- {
5
- "url": "https://ms.dev.pangaiacreators.com/shop",
6
- "description": "pangaia-b4c-ms-shop-dev",
7
- "variables": {}
8
- },
9
- {
10
- "url": "https://ms.stg.pangaiacreators.com/shop",
11
- "description": "pangaia-b4c-ms-shop-stg",
12
- "variables": {}
13
- },
14
- {
15
- "url": "http://localhost:3000/shop",
16
- "description": "localhost",
17
- "variables": {}
18
- }
19
- ],
20
- "info": {
21
- "version": "0.0.1",
22
- "title": "pangaia-b4c-ms-shop",
23
- "description": "",
24
- "termsOfService": "",
25
- "contact": {},
26
- "license": {
27
- "name": ""
28
- }
29
- },
30
- "paths": {},
31
- "components": {
32
- "schemas": {},
33
- "securitySchemes": {
34
- "bearerAuth": {
35
- "type": "http",
36
- "scheme": "bearer",
37
- "bearerFormat": "JWT"
38
- },
39
- "OAuthLogin": {
40
- "type": "oauth2",
41
- "flows": {
42
- "password": {
43
- "tokenUrl": "https://ms.dev.pangaiacreators.com/auth/signin",
44
- "scopes": {}
45
- }
46
- }
47
- }
48
- }
49
- },
50
- "security": [
51
- {
52
- "OAuthLogin": []
53
- }
54
- ],
55
- "tags": [],
56
- "externalDocs": {
57
- "url": "",
58
- "description": ""
59
- }
60
- }
@@ -1,189 +0,0 @@
1
- import { Router as ExpressRouter } from 'express';
2
-
3
- import { addPaths } from '../swagger';
4
- import jwtVerification from '../middleware/jwtVerification';
5
- import Wrapper from '../utils/wrapper';
6
-
7
- interface IPreference {
8
- path: string;
9
- title?: string;
10
- auth?: boolean;
11
- request?: returnTypeFunc;
12
- response?: returnTypeFunc;
13
- query?: () => any;
14
- middleware?: any[];
15
- excute: any;
16
- }
17
-
18
- interface ISwaggerParameter {
19
- in: string;
20
- name: string;
21
- required?: boolean;
22
- schema: { type: string };
23
- }
24
-
25
- export default class RouterController {
26
- public basePath = '/';
27
-
28
- public expressRouter = ExpressRouter();
29
-
30
- private generateRequestBody = (req: any) => ({
31
- required: true,
32
- content: {
33
- 'application/json': {
34
- schema: {
35
- type: 'string',
36
- example: req,
37
- },
38
- },
39
- },
40
- });
41
-
42
- private generateFileRequestBody = () => ({
43
- content: {
44
- 'multipart/form-data': {
45
- schema: {
46
- type: 'object',
47
- properties: {
48
- file: {
49
- type: 'string',
50
- format: 'binary',
51
- },
52
- },
53
- },
54
- },
55
- },
56
- });
57
-
58
- private generateResponseBody = (res: any) => ({
59
- '200': {
60
- description: '',
61
- headers: {},
62
- content: {
63
- 'application/json': {
64
- schema: {
65
- type: 'string',
66
- example: {
67
- result: res,
68
- },
69
- },
70
- },
71
- },
72
- },
73
- });
74
-
75
- private generateSwaggerDefaultsSet = (
76
- target: any,
77
- title: string,
78
- path: string,
79
- method: string,
80
- req: returnTypeFuncReturn,
81
- res: returnTypeFuncReturn,
82
- ) => {
83
- const swaggerPath = path === '/' ? target.basePath : target.basePath + path;
84
- const realPath = swaggerPath.includes(':')
85
- ? swaggerPath
86
- .split('/')
87
- .map((v: string) => (v.includes(':') ? `{${v.replace(':', '')}}` : v))
88
- .join('/')
89
- : swaggerPath;
90
-
91
- const parameters: ISwaggerParameter[] = [];
92
-
93
- swaggerPath
94
- .split('/')
95
- .forEach(
96
- (v: string) =>
97
- v.includes(':') &&
98
- parameters.push({ in: 'path', name: v.replace(':', ''), required: true, schema: { type: 'string' } }),
99
- );
100
-
101
- const result: { [key: string]: any } = {
102
- operationId: `${method}:${realPath}`,
103
- path: realPath,
104
- method,
105
- tags: [target.tag],
106
- summary: title,
107
- description: '',
108
- };
109
-
110
- if (req === undefined) {
111
- } else if (req === true) {
112
- result.requestBody = this.generateRequestBody(req);
113
- } else if (req.type === 'query') {
114
- Object.keys(req.data).forEach((key) => {
115
- parameters.push({
116
- in: 'query',
117
- name: key,
118
- schema: {
119
- type: 'string',
120
- },
121
- });
122
- });
123
- } else if (req?.data?.[Object?.keys?.(req?.data)?.[0]]?.format === 'binary') {
124
- result.requestBody = this.generateFileRequestBody();
125
- } else if (req) {
126
- result.requestBody = this.generateRequestBody(req.data);
127
- }
128
-
129
- if (res === undefined) {
130
- } else if (res) {
131
- result.responses = this.generateResponseBody(res === true ? true : res.data);
132
- }
133
-
134
- if (parameters.length > 0) {
135
- result.parameters = parameters;
136
- }
137
-
138
- return result;
139
- };
140
-
141
- public excute = (method: 'get' | 'post' | 'put' | 'delete') => (options: IPreference) => {
142
- const { path, middleware = [], auth = false, excute, title, request, response }: IPreference = options;
143
- const requestType = request?.();
144
- const responseType = response?.();
145
- const swaggerPathInfo = this.generateSwaggerDefaultsSet(this, title || '', path, method, requestType, responseType);
146
- addPaths(swaggerPathInfo);
147
- this.expressRouter[method](path, jwtVerification(auth), ...middleware, Wrapper(excute));
148
- };
149
-
150
- public router = {
151
- get: this.excute('get'),
152
- post: this.excute('post'),
153
- put: this.excute('put'),
154
- delete: this.excute('delete'),
155
- };
156
- }
157
-
158
- interface AsConstructor<T> {
159
- new (): T;
160
- }
161
- type returnTypeReqOrRes = 'request' | 'response';
162
- type returnTypeBodyOrQuery = 'body' | 'query';
163
-
164
- type returnTypeFuncReturn =
165
- | {
166
- type: returnTypeBodyOrQuery;
167
- data: any;
168
- }
169
- | undefined
170
- | true;
171
-
172
- type returnTypeFunc = () => returnTypeFuncReturn;
173
-
174
- type returnTypeFuncPre = (
175
- type: returnTypeReqOrRes,
176
- ) => (Dto: AsConstructor<any> | true, innerType?: returnTypeBodyOrQuery, isArray?: boolean) => returnTypeFunc;
177
-
178
- const returnType: returnTypeFuncPre =
179
- (type) =>
180
- (Dto, innerType = 'body', isArray = false) =>
181
- () => {
182
- if (Dto === undefined) return undefined;
183
- if (Dto === true) return true;
184
- const dto = new Dto().swagger();
185
- const data = isArray ? [dto] : dto;
186
- return { type: innerType, data };
187
- };
188
- export const requestType = returnType('request');
189
- export const responseType = returnType('response');
package/src/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export { default as RouterModule } from './router/index';
2
- export { default as RouterController, requestType, responseType } from './express/router';
3
- export { default as jwtVerification } from './middleware/jwtVerification';
4
- export { HttpException } from './middleware/errorHandler';
@@ -1,20 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
-
3
- export class HttpException extends Error {
4
- public status: number;
5
-
6
- public message: string;
7
-
8
- constructor(status: number = 500, message: string = '알 수 없는 서버 오류가 발생했습니다.') {
9
- super(message);
10
- this.status = status;
11
- this.message = message;
12
- }
13
- }
14
-
15
- const errorHandler = (error: HttpException, req: Request, res: Response, next: NextFunction) => {
16
- const { status = 500, message } = error;
17
- res.status(status).json({ status, message });
18
- };
19
-
20
- export default errorHandler;
@@ -1,46 +0,0 @@
1
- import { getConfig } from '@asapjs/core';
2
-
3
- import { Request, Response, NextFunction } from 'express';
4
- import jwt from 'jsonwebtoken';
5
-
6
- import { HttpException } from './errorHandler';
7
-
8
- declare global {
9
- namespace Express {
10
- interface Request {
11
- decoded: any;
12
- }
13
- }
14
- }
15
-
16
- const jwtVerification =
17
- (auth: boolean = false) =>
18
- (req: Request, res: Response, next: NextFunction) => {
19
- const { authorization } = req.headers;
20
- if (!authorization) {
21
- if (auth === true) {
22
- throw new HttpException(403, 'NO Token Provided');
23
- }
24
- next();
25
- } else {
26
- const token = authorization.split(' ')[1];
27
- jwt.verify(token, (getConfig() as any).JWT_SECRET, (err: any, decoded: any) => {
28
- if (err && auth === true) {
29
- if (err.message === 'invalid signature') {
30
- return res.status(403).json({
31
- error: true,
32
- message: 'invaild signature. please use vaild endpoint',
33
- });
34
- }
35
- return res.status(401).json({
36
- error: true,
37
- message: 'Unauthorized access. Please Refresh Token',
38
- });
39
- }
40
- (<any>req).decoded = decoded;
41
- next();
42
- });
43
- }
44
- };
45
-
46
- export default jwtVerification;
@@ -1,62 +0,0 @@
1
- import { getConfig } from '@asapjs/core';
2
-
3
- import express, { Request, Response } from 'express';
4
- import bodyParser from 'body-parser';
5
- import cors from 'cors';
6
- import swaggerUi from 'swagger-ui-express';
7
-
8
- import errorHandler from '../middleware/errorHandler';
9
- import Wrapper from '../utils/wrapper';
10
- import { getSwaggerData } from '../swagger';
11
-
12
- export default class RouterModule {
13
- private config: any;
14
-
15
- public app: express.Application;
16
-
17
- constructor(dirname: string) {
18
- this.config = getConfig();
19
- this.app = express();
20
- this.initMiddlewares();
21
- this.initRouter(dirname);
22
- this.app.use(errorHandler);
23
- }
24
-
25
- private initRouter(dirname: string) {
26
- const router: express.Router = express.Router();
27
- const routes = require(`${dirname}/route`).default;
28
- routes.forEach((route: any) => {
29
- this.app.use(`/${this.config.basePath}${route.basePath}`, route.expressRouter || route.router);
30
- });
31
- this.app.use(router);
32
- this.app.get(`/${this.config.basePath}`, (req: any, res: any) => {
33
- res.send(`${this.config.name} server is working`);
34
- });
35
- this.app.get('/health-check', (req: any, res: any) => {
36
- res.send(`${this.config.name} server is working`);
37
- });
38
- const options = {
39
- swaggerOptions: {
40
- url: `/${this.config.basePath}/docs/swagger.json`,
41
- },
42
- };
43
- this.app.use(
44
- `/${this.config.basePath}/docs/swagger-ui.html`,
45
- swaggerUi.serveFiles(undefined, options),
46
- swaggerUi.setup(undefined, options),
47
- );
48
- this.app.get(
49
- `/${this.config.basePath}/docs/swagger.json`,
50
- Wrapper(async (req: Request, res: Response) => {
51
- const swaggerData = getSwaggerData();
52
- res.json(swaggerData);
53
- }),
54
- );
55
- }
56
-
57
- private initMiddlewares() {
58
- this.app.use(cors());
59
- this.app.use(bodyParser.json());
60
- this.app.use(bodyParser.urlencoded({ extended: true }));
61
- }
62
- }
@@ -1,52 +0,0 @@
1
- /* eslint-disable no-nested-ternary */
2
- import defaultSwagger from "../assets/default-swagger.json";
3
-
4
- const methods = ["get", "post", "put", "delete"];
5
-
6
- class DocsApplication {
7
- public swaggerData: { [key: string]: any } = { ...defaultSwagger };
8
-
9
- private swaggerPath = [];
10
-
11
- private generatedSwaggerData: { [key: string]: any } | null = null;
12
-
13
- public addPaths = async (data: any) => {
14
- this.swaggerPath.push(data as never);
15
- };
16
-
17
- public generateSwaggerData = () => {
18
- this.swaggerPath.sort((a: any, b: any) => {
19
- const ix1 = methods.indexOf(a.method.toLowerCase());
20
- const ix2 = methods.indexOf(b.method.toLowerCase());
21
- return (a.tags?.[0] || 0) > (b.tags?.[0] || 0)
22
- ? 1
23
- : (a.tags?.[0] || 0) < (b.tags?.[0] || 0)
24
- ? -1
25
- : a.path > b.path
26
- ? 1
27
- : a.path < b.path
28
- ? -1
29
- : ix1 > ix2
30
- ? 1
31
- : ix1 < ix2
32
- ? -1
33
- : 0;
34
- });
35
-
36
- this.swaggerPath.forEach((v: any) => {
37
- if (!this.swaggerData.paths[v.path]) this.swaggerData.paths[v.path] = {};
38
- this.swaggerData.paths[v.path][v.method?.toLowerCase()] = v;
39
- });
40
-
41
- this.generatedSwaggerData = { ...this.swaggerData };
42
- };
43
-
44
- public getSwaggerData = () => {
45
- if (this.generatedSwaggerData === null) {
46
- this.generateSwaggerData();
47
- }
48
- return this.generatedSwaggerData;
49
- };
50
- }
51
-
52
- export const { addPaths, getSwaggerData } = new DocsApplication();
@@ -1,28 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- import { logger } from '@asapjs/core';
3
-
4
- type Callback = (request: Request<any, any, any, any>, response: Response, next: NextFunction) => Promise<unknown>;
5
-
6
- export default function Wrapper(cb: Callback): Callback {
7
- return async function _Wrapper(req: Request, res: Response, next: NextFunction) {
8
- try {
9
- const result = await cb(req, res, next);
10
- return result;
11
- } catch (err) {
12
- console.log(err);
13
- logger.error('[SERVER ERROR]', err);
14
- if (err.status === 500 || err.status === undefined) {
15
- const status = 500;
16
- const message = '알 수 없는 오류가 발생했습니다.';
17
- return res.status(status).json({
18
- status,
19
- message,
20
- });
21
- }
22
- return res.status(err.status).json({
23
- status: err.status,
24
- message: err.message,
25
- });
26
- }
27
- };
28
- }