@mini2/core 2.0.1-beta.2 → 2.0.1-beta.5

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.
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SwaggerIntegration = void 0;
7
7
  require("reflect-metadata");
8
8
  const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
9
- const notations_1 = require("./notations");
9
+ const notations_1 = require("../notations");
10
10
  const class_validator_jsonschema_1 = require("class-validator-jsonschema");
11
- const infer_schema_1 = require("./utils/infer-schema");
11
+ const infer_schema_1 = require("../utils/infer-schema");
12
12
  class SwaggerIntegration {
13
13
  constructor(options = {}) {
14
14
  this.options = {
@@ -36,15 +36,16 @@ class SwaggerIntegration {
36
36
  schemas: (0, class_validator_jsonschema_1.validationMetadatasToSchemas)(),
37
37
  };
38
38
  controllers.forEach((controller) => {
39
+ const controllerPrototype = Object.getPrototypeOf(controller);
39
40
  const controllerPath = Reflect.getMetadata(notations_1.keyOfPath, controller.constructor);
40
41
  if (!controllerPath) {
41
42
  console.log(`❌ No path metadata found for ${controller.constructor.name}`);
42
43
  return;
43
44
  }
44
45
  const controllerTag = this.extractControllerTag(controllerPath);
45
- const allProperties = Object.getOwnPropertyNames(Object.getPrototypeOf(controller));
46
+ const allProperties = Object.getOwnPropertyNames(controllerPrototype);
46
47
  allProperties.forEach((property) => {
47
- const routeOptions = Reflect.getMetadata(notations_1.keyOfRouteOptions, controller, property);
48
+ const routeOptions = Reflect.getMetadata(notations_1.keyOfRouteOptions, controllerPrototype, property);
48
49
  if (!routeOptions || !routeOptions.path || !routeOptions.method) {
49
50
  if (property !== 'constructor') {
50
51
  console.log(`⚠️ Skipping ${property} - no valid route options`);
@@ -59,7 +60,8 @@ class SwaggerIntegration {
59
60
  }
60
61
  // Generate OpenAPI operation
61
62
  const operation = {
62
- summary: this.generateSummary(method, fullPath),
63
+ summary: routeOptions.name?.trim() ||
64
+ this.generateSummary(method, fullPath),
63
65
  description: this.generateDescription(method, fullPath),
64
66
  tags: [controllerTag],
65
67
  responses: {
@@ -75,41 +77,6 @@ class SwaggerIntegration {
75
77
  },
76
78
  },
77
79
  };
78
- // Add Postman scripts as vendor extensions (for tools that read OpenAPI)
79
- const postmanEvents = [];
80
- if (routeOptions.preRequestScript) {
81
- const preRequestScript = {
82
- type: 'text/javascript',
83
- exec: routeOptions.preRequestScript.split('\n'),
84
- };
85
- operation['x-postman-prerequest'] = {
86
- script: preRequestScript,
87
- };
88
- postmanEvents.push({
89
- listen: 'prerequest',
90
- script: {
91
- ...preRequestScript,
92
- },
93
- });
94
- }
95
- if (routeOptions.testScript) {
96
- const testScript = {
97
- type: 'text/javascript',
98
- exec: routeOptions.testScript.split('\n'),
99
- };
100
- operation['x-postman-test'] = {
101
- script: testScript,
102
- };
103
- postmanEvents.push({
104
- listen: 'test',
105
- script: {
106
- ...testScript,
107
- },
108
- });
109
- }
110
- if (postmanEvents.length > 0) {
111
- operation['x-postman-events'] = postmanEvents;
112
- }
113
80
  // Add parameters from path
114
81
  const pathParams = this.extractPathParameters(routeOptions.path);
115
82
  if (pathParams.length > 0) {
@@ -124,16 +91,27 @@ class SwaggerIntegration {
124
91
  }
125
92
  // Check if examples are provided
126
93
  if (routeOptions.examples && routeOptions.examples.length > 0) {
127
- const example = routeOptions.examples[0];
128
- // Add request body from example
129
- if (example.request?.body) {
130
- const bodySchema = (0, infer_schema_1.inferSchema)(example.request.body);
94
+ const examples = routeOptions.examples;
95
+ const firstBodyExample = examples.find((example) => example.request?.body);
96
+ // Add request body from examples
97
+ if (firstBodyExample?.request?.body) {
98
+ const bodySchema = (0, infer_schema_1.inferSchema)(firstBodyExample.request.body);
99
+ const bodyExamples = examples
100
+ .filter((example) => example.request?.body !== undefined)
101
+ .reduce((acc, example, index) => {
102
+ acc[`example_${index + 1}`] = {
103
+ summary: `Example ${index + 1}`,
104
+ value: example.request.body,
105
+ };
106
+ return acc;
107
+ }, {});
131
108
  operation.requestBody = {
132
109
  required: true,
133
110
  content: {
134
111
  'application/json': {
135
112
  schema: bodySchema,
136
- example: example.request.body,
113
+ example: firstBodyExample.request.body,
114
+ examples: bodyExamples,
137
115
  },
138
116
  },
139
117
  };
@@ -141,55 +119,86 @@ class SwaggerIntegration {
141
119
  // Initialize parameters array
142
120
  if (!operation.parameters)
143
121
  operation.parameters = [];
144
- // Add path parameters from example (if provided in example)
145
- if (example.request?.params && pathParams.length > 0) {
146
- const paramsSchema = (0, infer_schema_1.inferSchema)(example.request.params);
147
- pathParams.forEach((param) => {
148
- operation.parameters.push({
149
- name: param,
150
- in: 'path',
151
- required: true,
152
- schema: paramsSchema.properties?.[param] || { type: 'string' },
153
- example: example.request.params[param],
122
+ const pathParamIndex = new Map();
123
+ const queryParamIndex = new Map();
124
+ const headerParamIndex = new Map();
125
+ examples.forEach((example, exampleIndex) => {
126
+ if (example.request?.params && pathParams.length > 0) {
127
+ const paramsSchema = (0, infer_schema_1.inferSchema)(example.request.params);
128
+ pathParams.forEach((param) => {
129
+ const key = `path:${param}`;
130
+ let parameter = pathParamIndex.get(key);
131
+ if (!parameter) {
132
+ parameter = {
133
+ name: param,
134
+ in: 'path',
135
+ required: true,
136
+ schema: paramsSchema.properties?.[param] || { type: 'string' },
137
+ example: example.request.params[param],
138
+ examples: {},
139
+ };
140
+ pathParamIndex.set(key, parameter);
141
+ operation.parameters.push(parameter);
142
+ }
143
+ parameter.examples[`example_${exampleIndex + 1}`] = {
144
+ value: example.request.params[param],
145
+ };
154
146
  });
155
- });
156
- }
157
- // Add query parameters from example
158
- if (example.request?.query) {
159
- const querySchema = (0, infer_schema_1.inferSchema)(example.request.query);
160
- // Add each query parameter separately
161
- if (querySchema.properties) {
162
- Object.keys(querySchema.properties).forEach((paramName) => {
163
- operation.parameters.push({
164
- name: paramName,
165
- in: 'query',
166
- required: querySchema.required?.includes(paramName) ?? false,
167
- schema: querySchema.properties[paramName],
168
- example: example.request.query[paramName],
147
+ }
148
+ if (example.request?.query) {
149
+ const querySchema = (0, infer_schema_1.inferSchema)(example.request.query);
150
+ if (querySchema.properties) {
151
+ Object.keys(querySchema.properties).forEach((paramName) => {
152
+ const key = `query:${paramName}`;
153
+ let parameter = queryParamIndex.get(key);
154
+ if (!parameter) {
155
+ parameter = {
156
+ name: paramName,
157
+ in: 'query',
158
+ required: querySchema.required?.includes(paramName) ?? false,
159
+ schema: querySchema.properties[paramName],
160
+ example: example.request.query[paramName],
161
+ examples: {},
162
+ };
163
+ queryParamIndex.set(key, parameter);
164
+ operation.parameters.push(parameter);
165
+ }
166
+ parameter.examples[`example_${exampleIndex + 1}`] = {
167
+ value: example.request.query[paramName],
168
+ };
169
169
  });
170
- });
170
+ }
171
171
  }
172
- }
173
- // Add header parameters from example
174
- if (example.request?.headers) {
175
- const headersSchema = (0, infer_schema_1.inferSchema)(example.request.headers);
176
- // Add each header separately
177
- if (headersSchema.properties) {
178
- Object.keys(headersSchema.properties).forEach((headerName) => {
179
- operation.parameters.push({
180
- name: headerName,
181
- in: 'header',
182
- required: headersSchema.required?.includes(headerName) ?? false,
183
- schema: headersSchema.properties[headerName],
184
- example: example.request.headers[headerName],
172
+ if (example.request?.headers) {
173
+ const headersSchema = (0, infer_schema_1.inferSchema)(example.request.headers);
174
+ if (headersSchema.properties) {
175
+ Object.keys(headersSchema.properties).forEach((headerName) => {
176
+ const key = `header:${headerName}`;
177
+ let parameter = headerParamIndex.get(key);
178
+ if (!parameter) {
179
+ parameter = {
180
+ name: headerName,
181
+ in: 'header',
182
+ required: headersSchema.required?.includes(headerName) ?? false,
183
+ schema: headersSchema.properties[headerName],
184
+ example: example.request.headers[headerName],
185
+ examples: {},
186
+ };
187
+ headerParamIndex.set(key, parameter);
188
+ operation.parameters.push(parameter);
189
+ }
190
+ parameter.examples[`example_${exampleIndex + 1}`] = {
191
+ value: example.request.headers[headerName],
192
+ };
185
193
  });
186
- });
194
+ }
187
195
  }
188
- }
196
+ });
189
197
  }
190
198
  else {
191
199
  // Fallback to validations if no examples provided
192
- if (['post', 'put', 'patch'].includes(method) && routeOptions.validations) {
200
+ if (['post', 'put', 'patch'].includes(method) &&
201
+ routeOptions.validations) {
193
202
  const bodyValidation = routeOptions.validations?.find((v) => v.body);
194
203
  if (bodyValidation) {
195
204
  operation.requestBody = {
@@ -205,27 +214,28 @@ class SwaggerIntegration {
205
214
  }
206
215
  // Add responses from examples
207
216
  if (routeOptions.examples && routeOptions.examples.length > 0) {
208
- const example = routeOptions.examples[0];
209
217
  operation.responses = {};
210
- const responses = example.response;
211
- Object.keys(responses).forEach((statusCode) => {
212
- const responseData = responses[statusCode];
213
- const responseSchema = (0, infer_schema_1.inferSchema)(responseData.data);
214
- operation.responses[statusCode] = {
215
- description: responseData.description,
216
- content: {
217
- [responseData.contentType || 'application/json']: {
218
- schema: responseSchema,
219
- example: responseData.data,
220
- examples: {
221
- default: {
222
- summary: responseData.description,
223
- value: responseData.data,
218
+ routeOptions.examples.forEach((example, exampleIndex) => {
219
+ Object.entries(example.response).forEach(([statusCode, responseData]) => {
220
+ const contentType = 'application/json';
221
+ const responseSchema = (0, infer_schema_1.inferSchema)(responseData);
222
+ if (!operation.responses[statusCode]) {
223
+ operation.responses[statusCode] = {
224
+ description: `Status ${statusCode}`,
225
+ content: {
226
+ [contentType]: {
227
+ schema: responseSchema,
228
+ example: responseData,
229
+ examples: {},
224
230
  },
225
231
  },
226
- },
227
- },
228
- };
232
+ };
233
+ }
234
+ operation.responses[statusCode].content[contentType].examples[`example_${exampleIndex + 1}`] = {
235
+ summary: `Example ${exampleIndex + 1}`,
236
+ value: responseData,
237
+ };
238
+ });
229
239
  });
230
240
  }
231
241
  else {
@@ -271,8 +281,9 @@ class SwaggerIntegration {
271
281
  generateSummary(method, path) {
272
282
  const action = method.toUpperCase();
273
283
  const resource = this.extractResourceName(path);
284
+ const hasPathParam = /\{[a-zA-Z_][a-zA-Z0-9_]*\}/.test(path);
274
285
  const actionMap = {
275
- GET: path.includes('/:') ? `Get ${resource} by ID` : `Get all ${resource}`,
286
+ GET: hasPathParam ? `Get ${resource} by ID` : `Get all ${resource}`,
276
287
  POST: `Create ${resource}`,
277
288
  PUT: `Update ${resource}`,
278
289
  PATCH: `Partially update ${resource}`,
@@ -283,8 +294,9 @@ class SwaggerIntegration {
283
294
  generateDescription(method, path) {
284
295
  const action = method.toLowerCase();
285
296
  const resource = this.extractResourceName(path);
297
+ const hasPathParam = /\{[a-zA-Z_][a-zA-Z0-9_]*\}/.test(path);
286
298
  const descriptions = {
287
- get: path.includes('/:')
299
+ get: hasPathParam
288
300
  ? `Retrieve a specific ${resource} by its ID`
289
301
  : `Retrieve all ${resource} records`,
290
302
  post: `Create a new ${resource} record`,
@@ -302,8 +314,8 @@ class SwaggerIntegration {
302
314
  extractResourceName(path) {
303
315
  const segments = path.split('/').filter(Boolean);
304
316
  let resource = segments[segments.length - 1];
305
- // Remove path parameters (e.g., :id)
306
- if (resource.startsWith(':')) {
317
+ // Remove path parameters (e.g., :id or {id})
318
+ if (resource.startsWith(':') || resource.startsWith('{')) {
307
319
  resource = segments[segments.length - 2] || 'Resource';
308
320
  }
309
321
  return resource.charAt(0).toUpperCase() + resource.slice(1);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../api-docs/swagger.ts"],"names":[],"mappings":"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"}
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG9B,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAKlD,OAAO,EAAmB,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEnE,cACM,GAAI,YAAW,IAAI;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,MAAM,EAAG,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAS;;IAOnC,eAAe,CAAC,sBAAsB,CAAC,EAAE,sBAAsB;IAQzD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,EAAE,sBAAsB;IAI3E,oBAAoB,CAAC,MAAM,EAAE,OAAO;IA2BpC,MAAM;IAIA,SAAS,CAAC,oBAAoB,GAAE,OAAc;CAiBpD;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG9B,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAMlD,OAAO,EAAmB,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEnE,cACM,GAAI,YAAW,IAAI;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,MAAM,EAAG,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAS;;IAOnC,eAAe,CAAC,sBAAsB,CAAC,EAAE,sBAAsB;IAQzD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,EAAE,sBAAsB;IAI3E,oBAAoB,CAAC,MAAM,EAAE,OAAO;IA0CpC,MAAM;IAIA,SAAS,CAAC,oBAAoB,GAAE,OAAc;CAiBpD;AAED,eAAe,GAAG,CAAC"}
package/dist/app.js CHANGED
@@ -17,7 +17,8 @@ const cors_1 = __importDefault(require("cors"));
17
17
  const morgan_1 = __importDefault(require("morgan"));
18
18
  const notations_1 = require("./notations");
19
19
  const inversify_1 = require("inversify");
20
- const swagger_1 = require("./swagger");
20
+ const swagger_1 = require("./api-docs/swagger");
21
+ const postman_1 = require("./api-docs/postman");
21
22
  const types_1 = require("./types");
22
23
  const container_1 = require("./container");
23
24
  const http_expection_1 = __importDefault(require("./expections/http.expection"));
@@ -63,9 +64,24 @@ let App = class App {
63
64
  jsonPath: config.swaggerJsonPath ?? '/api-docs.json',
64
65
  ...(config.swaggerBasicAuth && { basicAuth: config.swaggerBasicAuth }),
65
66
  });
67
+ const postmanIntegration = new postman_1.PostmanIntegration({
68
+ title: config.applicationName,
69
+ description: `API documentation for ${config.applicationName}`,
70
+ version: '1.0.0',
71
+ servers: config.swaggerServers ?? [
72
+ {
73
+ url: `http://${config.host}:${config.port}`,
74
+ description: 'Development server',
75
+ },
76
+ ],
77
+ jsonPath: config.postmanJsonPath ?? '/postman.json',
78
+ ...(config.swaggerBasicAuth && { basicAuth: config.swaggerBasicAuth }),
79
+ });
66
80
  this.controllers = container_1.container.getAll(types_1.MINI_TYPES.IController);
67
81
  swaggerIntegration.generateSwaggerSpec(this.controllers);
68
82
  swaggerIntegration.setupSwagger(this.app);
83
+ postmanIntegration.generatePostmanCollection(this.controllers);
84
+ postmanIntegration.setupPostman(this.app);
69
85
  (0, notations_1.buildApp)(this.app, this.controllers);
70
86
  }
71
87
  getApp() {
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA4E;AAE5E,gDAAwB;AACxB,oDAA4B;AAG5B,2CAAoD;AACpD,yCAAkD;AAClD,gDAAwD;AACxD,gDAAwD;AACxD,mCAAqC;AACrC,2CAAwD;AACxD,iFAAwD;AACxD,qCAAmE;AAEnE,IACM,GAAG,GADT,MACM,GAAG;IAMR;QADA,sBAAiB,GAAY,KAAK,CAAC;QAElC,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QAErB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC;IAC5B,CAAC;IACD,eAAe,CAAC,sBAA+C;QAC9D,IAAI,sBAAsB,EAAE,QAAQ,EAAE,CAAC;YACrC,UAAkB,CAAC,aAAa,GAAG,IAAI,CAAC;YACzC,IAAA,wBAAe,EAAC,sBAAsB,CAAC,CAAC;YACxC,IAAA,0BAAc,GAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,sBAA+C;QAC1E,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,oBAAoB,CAAC,MAAe;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAI,4BAAkB,CAAC;YACjD,KAAK,EAAE,MAAM,CAAC,eAAe;YAC7B,WAAW,EAAE,yBAAyB,MAAM,CAAC,eAAe,EAAE;YAC9D,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI;gBACjC;oBACC,GAAG,EAAE,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC3C,WAAW,EAAE,oBAAoB;iBACjC;aACD;YACD,QAAQ,EAAE,MAAM,CAAC,eAAe,IAAI,WAAW;YAC/C,QAAQ,EAAE,MAAM,CAAC,eAAe,IAAI,gBAAgB;YACpD,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAI,4BAAkB,CAAC;YACjD,KAAK,EAAE,MAAM,CAAC,eAAe;YAC7B,WAAW,EAAE,yBAAyB,MAAM,CAAC,eAAe,EAAE;YAC9D,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI;gBACjC;oBACC,GAAG,EAAE,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC3C,WAAW,EAAE,oBAAoB;iBACjC;aACD;YACD,QAAQ,EAAE,MAAM,CAAC,eAAe,IAAI,eAAe;YACnD,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,qBAAS,CAAC,MAAM,CAAC,kBAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAA,oBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IACD,MAAM;QACL,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,uBAAgC,IAAI;QACnD,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,CAAC,KAAc,EAAE,IAAa,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;gBACrE,IAAI,KAAK,YAAY,wBAAa,EAAE,CAAC;oBACpC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;oBAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,mBAAmB;qBAC5B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAA;AAvFK,GAAG;IADR,IAAA,sBAAU,GAAE;;GACP,GAAG,CAuFR;AAED,kBAAe,GAAG,CAAC"}
package/dist/index.d.ts CHANGED
@@ -24,5 +24,5 @@ export { default as HttpException } from './expections/http.expection';
24
24
  export * from './types';
25
25
  export * from './response-builder';
26
26
  export * from './notations';
27
- export * from './swagger';
27
+ export * from './api-docs/swagger';
28
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,QAAA,MAAM,QAAQ,iBAAW,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,GAAG,EAAE,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2DAA2D,CAAC;AAC1E,cAAc,+BAA+B,CAAC;AAG9C,cAAc,6DAA6D,CAAC;AAC5E,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AAGzE,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGvE,cAAc,SAAS,CAAC;AAGxB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,QAAA,MAAM,QAAQ,iBAAW,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,GAAG,EAAE,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2DAA2D,CAAC;AAC1E,cAAc,+BAA+B,CAAC;AAG9C,cAAc,6DAA6D,CAAC;AAC5E,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AAGzE,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGvE,cAAc,SAAS,CAAC;AAGxB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAG5B,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -53,6 +53,6 @@ __exportStar(require("./response-builder"), exports);
53
53
  // REST utilities
54
54
  __exportStar(require("./notations"), exports);
55
55
  // Swagger integration
56
- __exportStar(require("./swagger"), exports);
56
+ __exportStar(require("./api-docs/swagger"), exports);
57
57
  container_1.container.bind(types_1.MINI_TYPES.IApp).to(app_1.default).inSingletonScope();
58
58
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAaf,cAbF,aAAG,CAaE;AAZZ,2CAAkD;AAOzC,0FAPA,qBAAS,OAOA;AACT,yFARW,oBAAQ,OAQX;AANjB,mCAAqC;AAW5B,2FAXA,kBAAU,OAWA;AAVnB,yBAAyB;AAEzB,mCAAmC;AACnC,4CAA0B;AAG1B,MAAM,QAAQ,GAAG,oBAAQ,CAAC;AACjB,4BAAQ;AAKjB,aAAa;AACb,6DAA2C;AAC3C,4FAA0E;AAC1E,gEAA8C;AAE9C,cAAc;AACd,8FAA4E;AAC5E,2FAAyE;AACzE,2FAAyE;AAEzE,QAAQ;AACR,sDAAoC;AACpC,+CAA6B;AAC7B,uDAAqC;AAErC,aAAa;AACb,8DAA4C;AAC5C,8DAAuE;AAA9D,gIAAA,OAAO,OAAiB;AAEjC,QAAQ;AACR,0CAAwB;AAExB,mBAAmB;AACnB,qDAAmC;AAEnC,iBAAiB;AACjB,8CAA4B;AAE5B,sBAAsB;AACtB,4CAA0B;AAE1B,qBAAS,CAAC,IAAI,CAAO,kBAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAaf,cAbF,aAAG,CAaE;AAZZ,2CAAkD;AAOzC,0FAPA,qBAAS,OAOA;AACT,yFARW,oBAAQ,OAQX;AANjB,mCAAqC;AAW5B,2FAXA,kBAAU,OAWA;AAVnB,yBAAyB;AAEzB,mCAAmC;AACnC,4CAA0B;AAG1B,MAAM,QAAQ,GAAG,oBAAQ,CAAC;AACjB,4BAAQ;AAKjB,aAAa;AACb,6DAA2C;AAC3C,4FAA0E;AAC1E,gEAA8C;AAE9C,cAAc;AACd,8FAA4E;AAC5E,2FAAyE;AACzE,2FAAyE;AAEzE,QAAQ;AACR,sDAAoC;AACpC,+CAA6B;AAC7B,uDAAqC;AAErC,aAAa;AACb,8DAA4C;AAC5C,8DAAuE;AAA9D,gIAAA,OAAO,OAAiB;AAEjC,QAAQ;AACR,0CAAwB;AAExB,mBAAmB;AACnB,qDAAmC;AAEnC,iBAAiB;AACjB,8CAA4B;AAE5B,sBAAsB;AACtB,qDAAmC;AAEnC,qBAAS,CAAC,IAAI,CAAO,kBAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC"}
@@ -14,5 +14,6 @@ export interface IConfig {
14
14
  swaggerJsonPath?: string;
15
15
  swaggerServers?: ISwaggerServer[];
16
16
  swaggerBasicAuth?: ISwaggerBasicAuth;
17
+ postmanJsonPath?: string;
17
18
  }
18
19
  //# sourceMappingURL=config.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.interface.d.ts","sourceRoot":"","sources":["../../interfaces/config.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACrC"}
1
+ {"version":3,"file":"config.interface.d.ts","sourceRoot":"","sources":["../../interfaces/config.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -1,7 +1,14 @@
1
1
  import { Response } from 'express';
2
2
  import { Controller } from '../notations';
3
+ declare class ExampleDto {
4
+ name: string;
5
+ email: string;
6
+ password: string;
7
+ }
3
8
  export declare class LocalTestController extends Controller {
4
9
  constructor();
5
10
  root(res: Response): void;
11
+ postExample(body: ExampleDto, res: Response): void;
6
12
  }
13
+ export {};
7
14
  //# sourceMappingURL=local-test-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-test-controller.d.ts","sourceRoot":"","sources":["../../local-test-server/local-test-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAEN,UAAU,EAKV,MAAM,cAAc,CAAC;AAEtB,qBACa,mBAAoB,SAAQ,UAAU;;IAoC3C,IAAI,CAAQ,GAAG,EAAE,QAAQ,GAAG,IAAI;CAOvC"}
1
+ {"version":3,"file":"local-test-controller.d.ts","sourceRoot":"","sources":["../../local-test-server/local-test-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAGN,UAAU,EAOV,MAAM,cAAc,CAAC;AAGtB,cAAM,UAAU;IAGf,IAAI,EAAG,MAAM,CAAC;IAId,KAAK,EAAG,MAAM,CAAC;IAIf,QAAQ,EAAG,MAAM,CAAC;CAClB;AAED,qBACa,mBAAoB,SAAQ,UAAU;;IAuC3C,IAAI,CAAQ,GAAG,EAAE,QAAQ,GAAG,IAAI;IA8DhC,WAAW,CAAS,IAAI,EAAE,UAAU,EAAS,GAAG,EAAE,QAAQ,GAAG,IAAI;CAMxE"}
@@ -14,6 +14,24 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.LocalTestController = void 0;
16
16
  const notations_1 = require("../notations");
17
+ const class_validator_1 = require("class-validator");
18
+ class ExampleDto {
19
+ }
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ __metadata("design:type", String)
24
+ ], ExampleDto.prototype, "name", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsNotEmpty)(),
28
+ __metadata("design:type", String)
29
+ ], ExampleDto.prototype, "email", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], ExampleDto.prototype, "password", void 0);
17
35
  let LocalTestController = class LocalTestController extends notations_1.Controller {
18
36
  constructor() {
19
37
  super();
@@ -25,6 +43,12 @@ let LocalTestController = class LocalTestController extends notations_1.Controll
25
43
  route: 'GET /local-test',
26
44
  });
27
45
  }
46
+ postExample(body, res) {
47
+ res.json({
48
+ ok: true,
49
+ created: body,
50
+ });
51
+ }
28
52
  };
29
53
  exports.LocalTestController = LocalTestController;
30
54
  __decorate([
@@ -32,22 +56,25 @@ __decorate([
32
56
  examples: [
33
57
  {
34
58
  request: {
35
- body: {
36
- name: 'John Doe',
59
+ query: {
60
+ id: '123',
37
61
  },
38
62
  },
39
63
  response: {
40
64
  200: {
41
- description: 'OK',
42
- data: {
43
- name: 'John Doe',
44
- },
65
+ name: 'John Doe',
45
66
  },
67
+ },
68
+ },
69
+ {
70
+ request: {
71
+ query: {
72
+ id: 'unknown-id',
73
+ },
74
+ },
75
+ response: {
46
76
  404: {
47
- description: 'Not Found',
48
- data: {
49
- message: 'Not Found',
50
- },
77
+ message: 'Not Found',
51
78
  },
52
79
  },
53
80
  },
@@ -64,6 +91,68 @@ __decorate([
64
91
  __metadata("design:paramtypes", [Object]),
65
92
  __metadata("design:returntype", void 0)
66
93
  ], LocalTestController.prototype, "root", null);
94
+ __decorate([
95
+ (0, notations_1.post)('/', 'Post Example', {
96
+ examples: [
97
+ {
98
+ request: {
99
+ body: {
100
+ name: 'John Doe',
101
+ email: 'john.doe@example.com',
102
+ password: 'password',
103
+ },
104
+ },
105
+ response: {
106
+ 200: {
107
+ ok: true,
108
+ created: {
109
+ name: 'John Doe',
110
+ email: 'john.doe@example.com',
111
+ password: 'password',
112
+ },
113
+ },
114
+ },
115
+ },
116
+ {
117
+ request: {
118
+ body: {
119
+ name: 'John Doe',
120
+ email: 'john.doe@example.com',
121
+ password: 'password',
122
+ },
123
+ },
124
+ response: {
125
+ 500: {
126
+ error: 'Internal server error',
127
+ },
128
+ },
129
+ },
130
+ {
131
+ request: {
132
+ body: {
133
+ email: 'john.doe@example.com',
134
+ password: 'password',
135
+ },
136
+ },
137
+ response: {
138
+ 400: {
139
+ error: 'Validation failed',
140
+ validationErrors: [
141
+ { field: 'name', errors: ['name should not be empty'] },
142
+ ],
143
+ message: 'Validation failed',
144
+ },
145
+ },
146
+ },
147
+ ],
148
+ }),
149
+ (0, notations_1.validate)({ body: ExampleDto }),
150
+ __param(0, (0, notations_1.body)()),
151
+ __param(1, (0, notations_1.res)()),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [ExampleDto, Object]),
154
+ __metadata("design:returntype", void 0)
155
+ ], LocalTestController.prototype, "postExample", null);
67
156
  exports.LocalTestController = LocalTestController = __decorate([
68
157
  (0, notations_1.controller)('/local-test', 'Local Test Controller', 'Local Test Module'),
69
158
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"local-test-controller.js","sourceRoot":"","sources":["../../local-test-server/local-test-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,4CAOsB;AAGf,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,sBAAU;IAClD;QACC,KAAK,EAAE,CAAC;IACT,CAAC;IAiCM,IAAI,CAAQ,GAAa;QAC/B,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,iBAAiB;SACxB,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA3CY,kDAAmB;AAoCxB;IA/BN,IAAA,eAAG,EAAC,GAAG,EAAE,UAAU,EAAE;QACrB,QAAQ,EAAE;YACT;gBACC,OAAO,EAAE;oBACR,IAAI,EAAE;wBACL,IAAI,EAAE,UAAU;qBAChB;iBACD;gBACD,QAAQ,EAAE;oBACT,GAAG,EAAE;wBACJ,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE;4BACL,IAAI,EAAE,UAAU;yBAChB;qBACD;oBACD,GAAG,EAAE;wBACJ,WAAW,EAAE,WAAW;wBACxB,IAAI,EAAE;4BACL,OAAO,EAAE,WAAW;yBACpB;qBACD;iBACD;aACD;SACD;KACD,CAAC;IACD,IAAA,4BAAgB,EAAC;;KAEd,CAAC;IACJ,IAAA,sBAAU,EAAC;;KAER,CAAC;IACQ,WAAA,IAAA,eAAG,GAAE,CAAA;;;;+CAMjB;8BA1CW,mBAAmB;IAD/B,IAAA,sBAAU,EAAC,aAAa,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;;GAC3D,mBAAmB,CA2C/B"}
1
+ {"version":3,"file":"local-test-controller.js","sourceRoot":"","sources":["../../local-test-server/local-test-controller.ts"],"names":[],"mappings":"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"}