web_api_base 6.0.2 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Application.d.ts +1 -0
- package/dist/Application.d.ts.map +1 -0
- package/dist/Application.js +23 -96
- package/dist/Application.js.map +1 -1
- package/dist/ApplicationConfiguration.d.ts +7 -3
- package/dist/ApplicationConfiguration.d.ts.map +1 -0
- package/dist/ApplicationConfiguration.js +9 -0
- package/dist/ApplicationConfiguration.js.map +1 -1
- package/dist/bin/CreateApplication.d.ts +1 -0
- package/dist/bin/CreateApplication.d.ts.map +1 -0
- package/dist/bin/CreateController.d.ts +1 -0
- package/dist/bin/CreateController.d.ts.map +1 -0
- package/dist/bin/Factory.d.ts +1 -0
- package/dist/bin/Factory.d.ts.map +1 -0
- package/dist/controllers/AcceptedResult.d.ts +1 -0
- package/dist/controllers/AcceptedResult.d.ts.map +1 -0
- package/dist/controllers/ActionResult.d.ts +1 -0
- package/dist/controllers/ActionResult.d.ts.map +1 -0
- package/dist/controllers/BadRequestResult.d.ts +1 -0
- package/dist/controllers/BadRequestResult.d.ts.map +1 -0
- package/dist/controllers/CreatedResult.d.ts +1 -0
- package/dist/controllers/CreatedResult.d.ts.map +1 -0
- package/dist/controllers/DownloadFileResult.d.ts +5 -0
- package/dist/controllers/DownloadFileResult.d.ts.map +1 -0
- package/dist/controllers/DownloadFileResult.js +13 -0
- package/dist/controllers/DownloadFileResult.js.map +1 -0
- package/dist/controllers/ErrorResult.d.ts +1 -0
- package/dist/controllers/ErrorResult.d.ts.map +1 -0
- package/dist/controllers/ForbiddenResult.d.ts +1 -0
- package/dist/controllers/ForbiddenResult.d.ts.map +1 -0
- package/dist/controllers/GenericResult.d.ts +1 -0
- package/dist/controllers/GenericResult.d.ts.map +1 -0
- package/dist/controllers/NoContentResult.d.ts +1 -0
- package/dist/controllers/NoContentResult.d.ts.map +1 -0
- package/dist/controllers/NotFoundResult.d.ts +1 -0
- package/dist/controllers/NotFoundResult.d.ts.map +1 -0
- package/dist/controllers/OKResult.d.ts +1 -0
- package/dist/controllers/OKResult.d.ts.map +1 -0
- package/dist/controllers/SendFileResult.d.ts +5 -0
- package/dist/controllers/SendFileResult.d.ts.map +1 -0
- package/dist/controllers/SendFileResult.js +13 -0
- package/dist/controllers/SendFileResult.js.map +1 -0
- package/dist/controllers/UnauthorizedResult.d.ts +1 -0
- package/dist/controllers/UnauthorizedResult.d.ts.map +1 -0
- package/dist/controllers/base/ControllerBase.d.ts +5 -0
- package/dist/controllers/base/ControllerBase.d.ts.map +1 -0
- package/dist/controllers/base/ControllerBase.js +19 -0
- package/dist/controllers/base/ControllerBase.js.map +1 -1
- package/dist/decorators/controllers/ControllerDecorators.d.ts +1 -0
- package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -0
- package/dist/decorators/documentation/DocumentationDecorators.d.ts +1 -0
- package/dist/decorators/documentation/DocumentationDecorators.d.ts.map +1 -0
- package/dist/decorators/metadata/MetadataDecorators.d.ts +17 -0
- package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -0
- package/dist/decorators/metadata/MetadataDecorators.js +67 -0
- package/dist/decorators/metadata/MetadataDecorators.js.map +1 -0
- package/dist/decorators/validations/ValidationDecorators.d.ts +1 -1
- package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -0
- package/dist/decorators/validations/ValidationDecorators.js +0 -1
- package/dist/decorators/validations/ValidationDecorators.js.map +1 -1
- package/dist/dependencyInjection/DependecyService.d.ts +15 -10
- package/dist/dependencyInjection/DependecyService.d.ts.map +1 -0
- package/dist/dependencyInjection/DependecyService.js +104 -54
- package/dist/dependencyInjection/DependecyService.js.map +1 -1
- package/dist/dependencyInjection/IDIContext.d.ts +2 -0
- package/dist/dependencyInjection/IDIContext.d.ts.map +1 -0
- package/dist/documentation/CSS.d.ts +1 -0
- package/dist/documentation/CSS.d.ts.map +1 -0
- package/dist/documentation/Documentation.d.ts +1 -0
- package/dist/documentation/Documentation.d.ts.map +1 -0
- package/dist/documentation/HTML.d.ts +1 -0
- package/dist/documentation/HTML.d.ts.map +1 -0
- package/dist/documentation/JS.d.ts +1 -0
- package/dist/documentation/JS.d.ts.map +1 -0
- package/dist/documentation/JS.js +5 -2
- package/dist/documentation/JS.js.map +1 -1
- package/dist/enums/httpVerbs/HttpVerbs.d.ts +1 -0
- package/dist/enums/httpVerbs/HttpVerbs.d.ts.map +1 -0
- package/dist/exceptions/ArgumentNullException.d.ts +1 -0
- package/dist/exceptions/ArgumentNullException.d.ts.map +1 -0
- package/dist/exceptions/BodyParseException.d.ts +1 -0
- package/dist/exceptions/BodyParseException.d.ts.map +1 -0
- package/dist/exceptions/ControllerLoadException.d.ts +1 -0
- package/dist/exceptions/ControllerLoadException.d.ts.map +1 -0
- package/dist/exceptions/DecoratorException.d.ts +1 -0
- package/dist/exceptions/DecoratorException.d.ts.map +1 -0
- package/dist/exceptions/Exception.d.ts +1 -0
- package/dist/exceptions/Exception.d.ts.map +1 -0
- package/dist/exceptions/FileNotFoundException.d.ts +1 -0
- package/dist/exceptions/FileNotFoundException.d.ts.map +1 -0
- package/dist/exceptions/FindDependencyException.d.ts +1 -0
- package/dist/exceptions/FindDependencyException.d.ts.map +1 -0
- package/dist/exceptions/InvalidEntityException.d.ts +1 -0
- package/dist/exceptions/InvalidEntityException.d.ts.map +1 -0
- package/dist/exceptions/RegisterDependencyException.d.ts +4 -0
- package/dist/exceptions/RegisterDependencyException.d.ts.map +1 -0
- package/dist/exceptions/RegisterDependencyException.js +10 -0
- package/dist/exceptions/RegisterDependencyException.js.map +1 -0
- package/dist/file/AbstractFileService.d.ts +1 -0
- package/dist/file/AbstractFileService.d.ts.map +1 -0
- package/dist/file/AbstractMultiPartRequestService.d.ts +1 -0
- package/dist/file/AbstractMultiPartRequestService.d.ts.map +1 -0
- package/dist/file/File.d.ts +1 -0
- package/dist/file/File.d.ts.map +1 -0
- package/dist/file/FileService.d.ts +1 -0
- package/dist/file/FileService.d.ts.map +1 -0
- package/dist/file/FormidableMultiPartRequestService.d.ts +1 -0
- package/dist/file/FormidableMultiPartRequestService.d.ts.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IApplication.d.ts +1 -0
- package/dist/interfaces/IApplication.d.ts.map +1 -0
- package/dist/interfaces/IApplicationConfiguration.d.ts +7 -3
- package/dist/interfaces/IApplicationConfiguration.d.ts.map +1 -0
- package/dist/interfaces/IController.d.ts +1 -0
- package/dist/interfaces/IController.d.ts.map +1 -0
- package/dist/metadata/FunctionAnalizer.d.ts +1 -0
- package/dist/metadata/FunctionAnalizer.d.ts.map +1 -0
- package/dist/metadata/OwnMetaDataContainer.d.ts +1 -0
- package/dist/metadata/OwnMetaDataContainer.d.ts.map +1 -0
- package/dist/metadata/OwnMetaDataContainer.js +11 -1
- package/dist/metadata/OwnMetaDataContainer.js.map +1 -1
- package/dist/metadata/Type.d.ts +3 -0
- package/dist/metadata/Type.d.ts.map +1 -0
- package/dist/metadata/Type.js +124 -4
- package/dist/metadata/Type.js.map +1 -1
- package/dist/midlewares/IMidleware.d.ts +1 -0
- package/dist/midlewares/IMidleware.d.ts.map +1 -0
- package/dist/utils/Utils.d.ts +1 -0
- package/dist/utils/Utils.d.ts.map +1 -0
- package/package.json +4 -5
- package/readme.md +36 -12
package/dist/metadata/Type.js
CHANGED
|
@@ -3,30 +3,70 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const MetadataDecorators_1 = __importDefault(require("../decorators/metadata/MetadataDecorators"));
|
|
6
7
|
const InvalidEntityException_1 = __importDefault(require("../exceptions/InvalidEntityException"));
|
|
7
8
|
class Type {
|
|
8
9
|
static CreateTemplateFrom(ctor) {
|
|
9
10
|
let base = Reflect.construct(ctor, []);
|
|
10
11
|
for (let map in base) {
|
|
12
|
+
if (map.indexOf('_') > -1)
|
|
13
|
+
continue;
|
|
11
14
|
let designType = Reflect.getMetadata("design:type", ctor, map);
|
|
15
|
+
let elementType;
|
|
16
|
+
if (!designType && base[map] != undefined)
|
|
17
|
+
designType = base[map].constructor;
|
|
18
|
+
if (!designType || designType == Array) {
|
|
19
|
+
let elType = MetadataDecorators_1.default.GetArrayElementType(ctor, map);
|
|
20
|
+
if (elType) {
|
|
21
|
+
designType = Array;
|
|
22
|
+
elementType = elType;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
12
25
|
if (designType) {
|
|
13
26
|
if (designType != Array)
|
|
14
27
|
base[map] = Type.FillObject(Reflect.construct(designType, []));
|
|
15
|
-
else
|
|
16
|
-
|
|
28
|
+
else {
|
|
29
|
+
if (elementType) {
|
|
30
|
+
base[map] = [Type.FillObject(Reflect.construct(elementType, []))];
|
|
31
|
+
}
|
|
32
|
+
else if (base[map] && base[map].length > 0) {
|
|
33
|
+
let element = base[map][0];
|
|
34
|
+
base[map] = [Type.FillObject(Reflect.construct(element.constructor, []))];
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
base[map] = [];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
base[map] = "";
|
|
17
43
|
}
|
|
18
44
|
}
|
|
19
45
|
return Type.FillObject(base);
|
|
20
46
|
}
|
|
21
47
|
static FillObject(obj) {
|
|
48
|
+
let cs = [];
|
|
22
49
|
for (let c in obj) {
|
|
23
50
|
let d = Reflect.getMetadata("design:type", obj, c);
|
|
24
|
-
if (!d)
|
|
51
|
+
if (!d && obj[c] != undefined && obj[c] != null)
|
|
52
|
+
d = obj[c].constructor;
|
|
53
|
+
if (!d) {
|
|
54
|
+
if (c.indexOf('_') != 0)
|
|
55
|
+
obj[c] = "";
|
|
25
56
|
continue;
|
|
57
|
+
}
|
|
58
|
+
let vdefault = MetadataDecorators_1.default.GetDefaultValue(obj.constructor, c);
|
|
59
|
+
let toIgnore = MetadataDecorators_1.default.IsToIgnoreInDocumentation(obj.constructor, c);
|
|
60
|
+
if (toIgnore)
|
|
61
|
+
cs.push(c);
|
|
62
|
+
if (vdefault != undefined) {
|
|
63
|
+
obj[c] = vdefault;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
26
66
|
if (d.name === "Number")
|
|
27
67
|
obj[c] = -1;
|
|
28
68
|
else if (d.name === "String")
|
|
29
|
-
obj[c] =
|
|
69
|
+
obj[c] = "";
|
|
30
70
|
else if (d.name === "Boolean")
|
|
31
71
|
obj[c] = false;
|
|
32
72
|
else if (d.name === "Date")
|
|
@@ -34,8 +74,88 @@ class Type {
|
|
|
34
74
|
else if (d.name === "Object")
|
|
35
75
|
obj[c] = {};
|
|
36
76
|
}
|
|
77
|
+
for (let c of cs)
|
|
78
|
+
delete obj[c];
|
|
37
79
|
return obj;
|
|
38
80
|
}
|
|
81
|
+
static SetPrototype(obj, cTor) {
|
|
82
|
+
if ([String, Date, Number, Boolean].filter(s => s.name == cTor.name).length > 0)
|
|
83
|
+
return Type.Cast(obj, cTor);
|
|
84
|
+
if (cTor.name == Object.name)
|
|
85
|
+
return obj;
|
|
86
|
+
obj.__proto__ = cTor.prototype;
|
|
87
|
+
let base = Reflect.construct(cTor, []);
|
|
88
|
+
for (let k in base) {
|
|
89
|
+
if (obj[k] == undefined) {
|
|
90
|
+
let vdefault = MetadataDecorators_1.default.GetDefaultValue(cTor, k);
|
|
91
|
+
if (vdefault != undefined)
|
|
92
|
+
base[k] = vdefault;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
let designType = Reflect.getMetadata("design:type", cTor, k);
|
|
96
|
+
let elementType;
|
|
97
|
+
if (!designType || designType == Array) {
|
|
98
|
+
let elType = MetadataDecorators_1.default.GetArrayElementType(cTor, k);
|
|
99
|
+
if (elType) {
|
|
100
|
+
designType = Array;
|
|
101
|
+
elementType = elType;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (designType) {
|
|
105
|
+
if (designType != Array)
|
|
106
|
+
base[k] = Type.Cast(obj[k], designType);
|
|
107
|
+
else {
|
|
108
|
+
if (elementType) {
|
|
109
|
+
for (let i in obj[k])
|
|
110
|
+
base[k][i] = Type.Cast(obj[k][i], elementType);
|
|
111
|
+
}
|
|
112
|
+
else
|
|
113
|
+
base[k] = obj[k];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else
|
|
117
|
+
base[k] = obj[k];
|
|
118
|
+
}
|
|
119
|
+
return base;
|
|
120
|
+
}
|
|
121
|
+
static Cast(obj, type) {
|
|
122
|
+
if (obj == undefined || obj == null)
|
|
123
|
+
return undefined;
|
|
124
|
+
if (typeof obj == "string" && obj.indexOf('"') == 0 && obj.lastIndexOf('"') == obj.length - 1)
|
|
125
|
+
obj = obj.substring(1, obj.length - 1);
|
|
126
|
+
if (typeof obj == "string" && obj.indexOf("'") == 0 && obj.lastIndexOf("'") == obj.length - 1)
|
|
127
|
+
obj = obj.substring(1, obj.length - 1);
|
|
128
|
+
if (type.name == Number.name) {
|
|
129
|
+
let number = Number.parseFloat(obj.toString());
|
|
130
|
+
if (number != Number.NaN) {
|
|
131
|
+
return number;
|
|
132
|
+
}
|
|
133
|
+
else
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
else if (type.name == String.name) {
|
|
137
|
+
return obj.toString();
|
|
138
|
+
}
|
|
139
|
+
else if (type.name == Date.name) {
|
|
140
|
+
try {
|
|
141
|
+
return Type.CastStringToDateUTC(obj);
|
|
142
|
+
}
|
|
143
|
+
catch (_a) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else if (type.name == Boolean.name) {
|
|
148
|
+
if (typeof obj != typeof Boolean) {
|
|
149
|
+
let v = obj.toString().toLowerCase() == "true";
|
|
150
|
+
return v;
|
|
151
|
+
}
|
|
152
|
+
else
|
|
153
|
+
return obj;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return Type.SetPrototype(obj, type);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
39
159
|
static ValidateType(source, cTor) {
|
|
40
160
|
let empty = Reflect.construct(cTor, []);
|
|
41
161
|
for (let c of Object.keys(empty)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.js","sourceRoot":"","sources":["../../metadata/Type.ts"],"names":[],"mappings":";;;;;AAAA,kGAA0E;AAG1E,MAAqB,IAAI;IAEd,MAAM,CAAC,kBAAkB,CAAmB,IAA+B;QAC9E,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAM,CAAC;QAE5C,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAEnB,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Type.js","sourceRoot":"","sources":["../../metadata/Type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMidleware.d.ts","sourceRoot":"","sources":["../../midlewares/IMidleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAW,UAAU;IAE/B,CAAC,OAAO,EAAG,mBAAmB,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAEnD;AAED,MAAM,WAAW,qBAAqB;IAElC,CAAC,MAAM,EAAG,cAAc,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAE7C;AAED,MAAM,WAAW,mBAAmB;IAEhC,OAAO,EAAG,OAAO,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IACpB,IAAI,EAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAE3B,SAAS,CAAC,EAAG,SAAS,CAAC;IACvB,MAAM,CAAC,EAAG,GAAG,CAAC;IACd,OAAO,EAAG,OAAO,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAA;CACtB"}
|
package/dist/utils/Utils.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../utils/Utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;WAGR,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAG,MAAM,EAAE,OAAO,EAAG,MAAM;CAQ9E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "web_api_base",
|
|
3
|
-
"version": "6.0
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "web api base",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,11 +29,10 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/express": "^4.17.15",
|
|
31
31
|
"@types/formidable": "^3.4.5",
|
|
32
|
-
"@types/jest": "^29.
|
|
32
|
+
"@types/jest": "^29.5.13",
|
|
33
33
|
"@types/node": "^18.11.17",
|
|
34
34
|
"@types/reflect-metadata": "^0.1.0",
|
|
35
|
-
"jest": "^29.
|
|
36
|
-
"ts-jest": "^29.
|
|
37
|
-
"ts-node": "^10.9.1"
|
|
35
|
+
"jest": "^29.7.0",
|
|
36
|
+
"ts-jest": "^29.2.5"
|
|
38
37
|
}
|
|
39
38
|
}
|
package/readme.md
CHANGED
|
@@ -96,10 +96,10 @@ export class SampleService extends SampleServiceAbstract
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export class
|
|
99
|
+
export class GenericService<T>
|
|
100
100
|
{
|
|
101
|
-
public
|
|
102
|
-
console.log("
|
|
101
|
+
public SomeGenericResult<T>(obj : T) {
|
|
102
|
+
console.log("typeof obj: " + typeof obj);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
```
|
|
@@ -111,7 +111,7 @@ We can use the DI service like this
|
|
|
111
111
|
```typescript
|
|
112
112
|
|
|
113
113
|
import { ControllerBase, Route, GET, Inject } from "web_api_base";
|
|
114
|
-
import {SampleServiceAbstract } from '../services/SampleService.ts';
|
|
114
|
+
import {SampleServiceAbstract, GenericService } from '../services/SampleService.ts';
|
|
115
115
|
|
|
116
116
|
@Route()
|
|
117
117
|
export default class SampleController extends ControllerBase
|
|
@@ -119,10 +119,18 @@ export default class SampleController extends ControllerBase
|
|
|
119
119
|
@Inject() // say to DI that this property will be inject on the instance
|
|
120
120
|
public SomeDepency : SampleServiceAbstract;
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
@Inject() // say to DI that this property will be inject on the instance
|
|
123
|
+
//the type argument do not exists on runtime, on .js result files. The DI system will work fine and we
|
|
124
|
+
//will still have the type check on development time
|
|
125
|
+
public SomeGenericDepency : GenericService<string> ;
|
|
126
|
+
|
|
127
|
+
constructor(someDependecy : SampleServiceAbstract, someGenericDepency: GenericService<string>)
|
|
123
128
|
{
|
|
124
129
|
super();
|
|
125
|
-
this.SomeDepency = someDependecy ;
|
|
130
|
+
this.SomeDepency = someDependecy ;
|
|
131
|
+
this.SomeGenericDepency = someGenericDepency;
|
|
132
|
+
this.SomeGenericDepency.SomeGenericresult("Test") // typeof obj: string
|
|
133
|
+
//this.SomeGenericDepency.SomeGenericresult(10) // compiler error
|
|
126
134
|
}
|
|
127
135
|
|
|
128
136
|
@GET()
|
|
@@ -142,7 +150,7 @@ And we can register our dependecies in Application ConfigureAsync method
|
|
|
142
150
|
|
|
143
151
|
import { Application, IApplicationConfiguration} from "web_api_base";
|
|
144
152
|
|
|
145
|
-
import { SampleService, SampleServiceAbstract } from './service/SampleService';
|
|
153
|
+
import { SampleService, SampleServiceAbstract, GenericService } from './service/SampleService';
|
|
146
154
|
|
|
147
155
|
|
|
148
156
|
export default class App extends Application
|
|
@@ -157,8 +165,21 @@ export default class App extends Application
|
|
|
157
165
|
this.UseCors();
|
|
158
166
|
|
|
159
167
|
//DI AddScoped, AddTransient and AddSingleton
|
|
160
|
-
|
|
161
|
-
|
|
168
|
+
appConfig.AddScoped(SampleServiceAbstract, SampleService);
|
|
169
|
+
appConfig.AddScoped(GenericService) // will register for all generic type arguments
|
|
170
|
+
|
|
171
|
+
//will register only for GenericService<User>. We need use @InjectTypeArgument(User) on dependecy
|
|
172
|
+
//to work fine
|
|
173
|
+
//appConfig.AddGenericScoped(GenericService, User)
|
|
174
|
+
|
|
175
|
+
//will register only for GenericService<User>. We need use @InjectTypeArgument(User) on dependecy
|
|
176
|
+
//to work fine
|
|
177
|
+
//appConfig.AddGenericScoped(GenericService, undefined, undefined, typeArgument =>
|
|
178
|
+
//{
|
|
179
|
+
// here we can determine how to create the instance. We have access of type argument on typeArgument
|
|
180
|
+
// argument. After this function execution, the instance will pass for DI pipeline to get all
|
|
181
|
+
// dependecies
|
|
182
|
+
//})
|
|
162
183
|
this.UseControllers();
|
|
163
184
|
|
|
164
185
|
}
|
|
@@ -222,13 +243,16 @@ Send a status code and a optional body
|
|
|
222
243
|
Append a delegate to execute **before** the controller´s action
|
|
223
244
|
```typescript
|
|
224
245
|
@Route("/status")
|
|
225
|
-
@UseBefore(context =>
|
|
246
|
+
@UseBefore(async context =>
|
|
226
247
|
{
|
|
227
248
|
|
|
228
249
|
if(context.Request.headers["token"] != "we have access to request object")
|
|
250
|
+
{
|
|
229
251
|
context.Response.json({Message : "we have access to response object"});
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
230
254
|
else
|
|
231
|
-
context.Next(); // call next function in the pipeline
|
|
255
|
+
return await context.Next(); // call next function in the pipeline
|
|
232
256
|
})
|
|
233
257
|
export default class StatusController extends ControllerBase
|
|
234
258
|
{
|
|
@@ -238,7 +262,7 @@ export default class StatusController extends ControllerBase
|
|
|
238
262
|
Append a delegate to execute **after** the controller´s action
|
|
239
263
|
```typescript
|
|
240
264
|
@Route("/status")
|
|
241
|
-
@UseAfter(actionResult =>
|
|
265
|
+
@UseAfter(async actionResult =>
|
|
242
266
|
{
|
|
243
267
|
|
|
244
268
|
if(actionResult.Exception) // if a exception was launched
|