@mini2/core 2.0.1-beta.0 → 2.0.1-beta.4

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 (32) hide show
  1. package/Readme.MD +177 -0
  2. package/dist/api-docs/postman.d.ts +123 -0
  3. package/dist/api-docs/postman.d.ts.map +1 -0
  4. package/dist/api-docs/postman.js +358 -0
  5. package/dist/api-docs/postman.js.map +1 -0
  6. package/dist/{swagger.d.ts → api-docs/swagger.d.ts} +1 -1
  7. package/dist/api-docs/swagger.d.ts.map +1 -0
  8. package/dist/{swagger.js → api-docs/swagger.js} +122 -91
  9. package/dist/api-docs/swagger.js.map +1 -0
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/app.js +17 -1
  12. package/dist/app.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces/config.interface.d.ts +1 -0
  18. package/dist/interfaces/config.interface.d.ts.map +1 -1
  19. package/dist/local-test-server/index.d.ts +2 -0
  20. package/dist/local-test-server/index.d.ts.map +1 -0
  21. package/dist/local-test-server/index.js +23 -0
  22. package/dist/local-test-server/index.js.map +1 -0
  23. package/dist/local-test-server/local-test-controller.d.ts +14 -0
  24. package/dist/local-test-server/local-test-controller.d.ts.map +1 -0
  25. package/dist/local-test-server/local-test-controller.js +160 -0
  26. package/dist/local-test-server/local-test-controller.js.map +1 -0
  27. package/dist/notations/controller/rest.types.d.ts +13 -8
  28. package/dist/notations/controller/rest.types.d.ts.map +1 -1
  29. package/local-test-server/Local Test Server.postman_collection.json +359 -0
  30. package/package.json +2 -1
  31. package/dist/swagger.d.ts.map +0 -1
  32. package/dist/swagger.js.map +0 -1
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LocalTestController = void 0;
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);
35
+ let LocalTestController = class LocalTestController extends notations_1.Controller {
36
+ constructor() {
37
+ super();
38
+ }
39
+ root(res) {
40
+ res.setHeader('x-handler', 'root');
41
+ res.json({
42
+ ok: true,
43
+ route: 'GET /local-test',
44
+ });
45
+ }
46
+ postExample(body, res) {
47
+ res.json({
48
+ ok: true,
49
+ created: body,
50
+ });
51
+ }
52
+ };
53
+ exports.LocalTestController = LocalTestController;
54
+ __decorate([
55
+ (0, notations_1.get)('/', 'Root GET', {
56
+ examples: [
57
+ {
58
+ request: {
59
+ query: {
60
+ id: '123',
61
+ },
62
+ },
63
+ response: {
64
+ 200: {
65
+ name: 'John Doe',
66
+ },
67
+ },
68
+ },
69
+ {
70
+ request: {
71
+ query: {
72
+ id: 'unknown-id',
73
+ },
74
+ },
75
+ response: {
76
+ 404: {
77
+ message: 'Not Found',
78
+ },
79
+ },
80
+ },
81
+ ],
82
+ }),
83
+ (0, notations_1.preRequestScript)(`
84
+ console.log('Pre-request script');
85
+ `),
86
+ (0, notations_1.testScript)(`
87
+ console.log('Test script');
88
+ `),
89
+ __param(0, (0, notations_1.res)()),
90
+ __metadata("design:type", Function),
91
+ __metadata("design:paramtypes", [Object]),
92
+ __metadata("design:returntype", void 0)
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);
156
+ exports.LocalTestController = LocalTestController = __decorate([
157
+ (0, notations_1.controller)('/local-test', 'Local Test Controller', 'Local Test Module'),
158
+ __metadata("design:paramtypes", [])
159
+ ], LocalTestController);
160
+ //# sourceMappingURL=local-test-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-test-controller.js","sourceRoot":"","sources":["../../local-test-server/local-test-controller.ts"],"names":[],"mappings":"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"}
@@ -9,20 +9,24 @@ export type RequestHandlerWithPreMiddlewareOptions = {
9
9
  order: number;
10
10
  };
11
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>> {
12
+ type ExactlyOne<T extends Record<PropertyKey, unknown>> = {
13
+ [K in keyof T]: {
14
+ [P in K]-?: T[P];
15
+ } & {
16
+ [P in Exclude<keyof T, K>]?: never;
17
+ };
18
+ }[keyof T];
19
+ type SingleStatusResponse<T = any> = ExactlyOne<{
20
+ [K in HttpStatusCode]: T;
21
+ }>;
22
+ export interface IRequestResponseExample<TReqBody = any, TReqParams = any, TReqQuery = any, TReqHeaders = any, TResponse = any> {
13
23
  request?: {
14
24
  body?: TReqBody;
15
25
  params?: TReqParams;
16
26
  query?: TReqQuery;
17
27
  headers?: TReqHeaders;
18
28
  };
19
- response: {
20
- [K in keyof TResponses]: {
21
- description: string;
22
- data: TResponses[K];
23
- contentType?: string;
24
- };
25
- };
29
+ response: SingleStatusResponse<TResponse>;
26
30
  }
27
31
  export interface RouteOptions {
28
32
  method?: Method;
@@ -58,4 +62,5 @@ export interface IController {
58
62
  getRouteDefinition(methodName: string): RouteDefinition;
59
63
  getRouteDefinitions(): RouteDefinitions;
60
64
  }
65
+ export {};
61
66
  //# sourceMappingURL=rest.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest.types.d.ts","sourceRoot":"","sources":["../../../notations/controller/rest.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.types.d.ts","sourceRoot":"","sources":["../../../notations/controller/rest.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
1
+ {
2
+ "info": {
3
+ "_postman_id": "5b5a7d01-414a-4a93-8993-5edf403bf6b2",
4
+ "name": "Local Test Server",
5
+ "description": "API documentation for Local Test Server\n\nContact Support:\n Name: API Support\n Email: support@example.com",
6
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
7
+ "_exporter_id": "3780060"
8
+ },
9
+ "item": [
10
+ {
11
+ "name": "local-test",
12
+ "item": [
13
+ {
14
+ "name": "Root GET",
15
+ "event": [
16
+ {
17
+ "listen": "prerequest",
18
+ "script": {
19
+ "type": "text/javascript",
20
+ "exec": [" console.log('Pre-request script');"]
21
+ }
22
+ },
23
+ {
24
+ "listen": "test",
25
+ "script": {
26
+ "type": "text/javascript",
27
+ "exec": [" console.log('Test script');"]
28
+ }
29
+ }
30
+ ],
31
+ "request": {
32
+ "method": "GET",
33
+ "header": [
34
+ {
35
+ "key": "Content-Type",
36
+ "value": "application/json"
37
+ },
38
+ {
39
+ "key": "Accept",
40
+ "value": "application/json"
41
+ }
42
+ ],
43
+ "url": {
44
+ "raw": "{{baseUrl}}/local-test?id=123",
45
+ "host": ["{{baseUrl}}"],
46
+ "path": ["local-test"],
47
+ "query": [
48
+ {
49
+ "key": "id",
50
+ "value": "123"
51
+ }
52
+ ]
53
+ },
54
+ "description": "Retrieve all Local-test records"
55
+ },
56
+ "response": [
57
+ {
58
+ "name": "Status 200 (Example 1)",
59
+ "originalRequest": {
60
+ "method": "GET",
61
+ "header": [
62
+ {
63
+ "key": "Content-Type",
64
+ "value": "application/json"
65
+ },
66
+ {
67
+ "key": "Accept",
68
+ "value": "application/json"
69
+ }
70
+ ],
71
+ "url": {
72
+ "raw": "{{baseUrl}}/local-test?id=123",
73
+ "host": ["{{baseUrl}}"],
74
+ "path": ["local-test"],
75
+ "query": [
76
+ {
77
+ "key": "id",
78
+ "value": "123"
79
+ }
80
+ ]
81
+ },
82
+ "description": "Retrieve all Local-test records"
83
+ },
84
+ "status": "Status 200",
85
+ "code": 200,
86
+ "_postman_previewlanguage": "json",
87
+ "header": [
88
+ {
89
+ "key": "Content-Type",
90
+ "value": "application/json"
91
+ }
92
+ ],
93
+ "cookie": [],
94
+ "body": "{\n \"name\": \"John Doe\"\n}"
95
+ },
96
+ {
97
+ "name": "Status 404 (Example 2)",
98
+ "originalRequest": {
99
+ "method": "GET",
100
+ "header": [
101
+ {
102
+ "key": "Content-Type",
103
+ "value": "application/json"
104
+ },
105
+ {
106
+ "key": "Accept",
107
+ "value": "application/json"
108
+ }
109
+ ],
110
+ "url": {
111
+ "raw": "{{baseUrl}}/local-test?id=123",
112
+ "host": ["{{baseUrl}}"],
113
+ "path": ["local-test"],
114
+ "query": [
115
+ {
116
+ "key": "id",
117
+ "value": "123"
118
+ }
119
+ ]
120
+ },
121
+ "description": "Retrieve all Local-test records"
122
+ },
123
+ "status": "Status 404",
124
+ "code": 404,
125
+ "_postman_previewlanguage": "json",
126
+ "header": [
127
+ {
128
+ "key": "Content-Type",
129
+ "value": "application/json"
130
+ }
131
+ ],
132
+ "cookie": [],
133
+ "body": "{\n \"message\": \"Not Found\"\n}"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "name": "Post Example",
139
+ "request": {
140
+ "method": "POST",
141
+ "header": [
142
+ {
143
+ "key": "Content-Type",
144
+ "value": "application/json"
145
+ },
146
+ {
147
+ "key": "Accept",
148
+ "value": "application/json"
149
+ }
150
+ ],
151
+ "body": {
152
+ "mode": "raw",
153
+ "raw": "{\n \"name\": \"John Doe\",\n \"email\": \"john.doe@example.com\",\n \"password\": \"password\"\n}",
154
+ "options": {
155
+ "raw": {
156
+ "language": "json",
157
+ "examples": [
158
+ {
159
+ "name": "John Doe",
160
+ "email": "john.doe@example.com",
161
+ "password": "password"
162
+ },
163
+ {
164
+ "name": "John Doe",
165
+ "email": "john.doe@example.com",
166
+ "password": "password"
167
+ },
168
+ {
169
+ "email": "john.doe@example.com",
170
+ "password": "password"
171
+ }
172
+ ]
173
+ }
174
+ }
175
+ },
176
+ "url": {
177
+ "raw": "{{baseUrl}}/local-test",
178
+ "host": ["{{baseUrl}}"],
179
+ "path": ["local-test"]
180
+ },
181
+ "description": "Create a new Local-test record"
182
+ },
183
+ "response": [
184
+ {
185
+ "name": "Status 200 (Example 1)",
186
+ "originalRequest": {
187
+ "method": "POST",
188
+ "header": [
189
+ {
190
+ "key": "Content-Type",
191
+ "value": "application/json"
192
+ },
193
+ {
194
+ "key": "Accept",
195
+ "value": "application/json"
196
+ }
197
+ ],
198
+ "body": {
199
+ "mode": "raw",
200
+ "raw": "{\n \"name\": \"John Doe\",\n \"email\": \"john.doe@example.com\",\n \"password\": \"password\"\n}",
201
+ "options": {
202
+ "raw": {
203
+ "language": "json",
204
+ "examples": [
205
+ {
206
+ "name": "John Doe",
207
+ "email": "john.doe@example.com",
208
+ "password": "password"
209
+ },
210
+ {
211
+ "name": "John Doe",
212
+ "email": "john.doe@example.com",
213
+ "password": "password"
214
+ },
215
+ {
216
+ "email": "john.doe@example.com",
217
+ "password": "password"
218
+ }
219
+ ]
220
+ }
221
+ }
222
+ },
223
+ "url": {
224
+ "raw": "{{baseUrl}}/local-test",
225
+ "host": ["{{baseUrl}}"],
226
+ "path": ["local-test"]
227
+ },
228
+ "description": "Create a new Local-test record"
229
+ },
230
+ "status": "Status 200",
231
+ "code": 200,
232
+ "_postman_previewlanguage": "json",
233
+ "header": [
234
+ {
235
+ "key": "Content-Type",
236
+ "value": "application/json"
237
+ }
238
+ ],
239
+ "cookie": [],
240
+ "body": "{\n \"ok\": true,\n \"created\": {\n \"name\": \"John Doe\",\n \"email\": \"john.doe@example.com\",\n \"password\": \"password\"\n }\n}"
241
+ },
242
+ {
243
+ "name": "Status 500 (Example 2)",
244
+ "originalRequest": {
245
+ "method": "POST",
246
+ "header": [
247
+ {
248
+ "key": "Content-Type",
249
+ "value": "application/json"
250
+ },
251
+ {
252
+ "key": "Accept",
253
+ "value": "application/json"
254
+ }
255
+ ],
256
+ "body": {
257
+ "mode": "raw",
258
+ "raw": "{\n \"name\": \"John Doe\",\n \"email\": \"john.doe@example.com\",\n \"password\": \"password\"\n}",
259
+ "options": {
260
+ "raw": {
261
+ "language": "json",
262
+ "examples": [
263
+ {
264
+ "name": "John Doe",
265
+ "email": "john.doe@example.com",
266
+ "password": "password"
267
+ },
268
+ {
269
+ "name": "John Doe",
270
+ "email": "john.doe@example.com",
271
+ "password": "password"
272
+ },
273
+ {
274
+ "email": "john.doe@example.com",
275
+ "password": "password"
276
+ }
277
+ ]
278
+ }
279
+ }
280
+ },
281
+ "url": {
282
+ "raw": "{{baseUrl}}/local-test",
283
+ "host": ["{{baseUrl}}"],
284
+ "path": ["local-test"]
285
+ },
286
+ "description": "Create a new Local-test record"
287
+ },
288
+ "status": "Status 500",
289
+ "code": 500,
290
+ "_postman_previewlanguage": "json",
291
+ "header": [
292
+ {
293
+ "key": "Content-Type",
294
+ "value": "application/json"
295
+ }
296
+ ],
297
+ "cookie": [],
298
+ "body": "{\n \"error\": \"Internal server error\"\n}"
299
+ },
300
+ {
301
+ "name": "Status 400 (Example 3)",
302
+ "originalRequest": {
303
+ "method": "POST",
304
+ "header": [
305
+ {
306
+ "key": "Content-Type",
307
+ "value": "application/json"
308
+ },
309
+ {
310
+ "key": "Accept",
311
+ "value": "application/json"
312
+ }
313
+ ],
314
+ "body": {
315
+ "mode": "raw",
316
+ "raw": "{\n \"email\": \"john.doe@example.com\",\n \"password\": \"password\"\n}",
317
+ "options": {
318
+ "raw": {
319
+ "language": "json",
320
+ "examples": [
321
+ {
322
+ "email": "john.doe@example.com",
323
+ "password": "password"
324
+ }
325
+ ]
326
+ }
327
+ }
328
+ },
329
+ "url": {
330
+ "raw": "{{baseUrl}}/local-test",
331
+ "host": ["{{baseUrl}}"],
332
+ "path": ["local-test"]
333
+ },
334
+ "description": "Create a new Local-test record"
335
+ },
336
+ "status": "Status 400",
337
+ "code": 400,
338
+ "_postman_previewlanguage": "json",
339
+ "header": [
340
+ {
341
+ "key": "Content-Type",
342
+ "value": "application/json"
343
+ }
344
+ ],
345
+ "cookie": [],
346
+ "body": "{\n \"error\": \"Validation failed\",\n \"validationErrors\": [\n {\n \"field\": \"name\",\n \"errors\": [\n \"name should not be empty\"\n ]\n }\n ],\n \"message\": \"Validation failed\"\n}"
347
+ }
348
+ ]
349
+ }
350
+ ]
351
+ }
352
+ ],
353
+ "variable": [
354
+ {
355
+ "key": "baseUrl",
356
+ "value": "http://localhost:3000"
357
+ }
358
+ ]
359
+ }
package/package.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "license": "ISC",
27
27
  "description": "Mini Express Framework - Lightweight and modular Express.js framework with TypeScript support",
28
28
  "name": "@mini2/core",
29
- "version": "2.0.1-beta.0",
29
+ "version": "2.0.1-beta.4",
30
30
  "author": "Mustafa Çolakoglu <mustafacolakoglu94@gmail.com> (https://github.com/mustafa-colakoglu)",
31
31
  "dependencies": {
32
32
  "class-transformer": "^0.5.1",
@@ -37,6 +37,7 @@
37
37
  "fast-glob": "^3.3.3",
38
38
  "inversify": "^7.6.1",
39
39
  "morgan": "^1.10.0",
40
+ "postman-collection": "^5.3.0",
40
41
  "reflect-metadata": "^0.2.2",
41
42
  "swagger-ui-express": "^5.0.1",
42
43
  "ts-node": "^10.9.2"
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../swagger.ts"],"names":[],"mappings":"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"}