web_api_base 3.0.0 → 3.2.1

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.
@@ -42,6 +42,7 @@ const DependecyService_1 = __importDefault(require("./dependencyInjection/Depend
42
42
  const HttpVerbs_1 = require("./enums/httpVerbs/HttpVerbs");
43
43
  const fs_1 = __importDefault(require("fs"));
44
44
  const path_1 = __importDefault(require("path"));
45
+ const ValidationDecorators_1 = __importDefault(require("./decorators/validations/ValidationDecorators"));
45
46
  class Application {
46
47
  constructor() {
47
48
  this.ApplicationConfiguration = new ApplicationConfiguration_1.default();
@@ -86,6 +87,7 @@ class Application {
86
87
  return typeof empty[m] == "function";
87
88
  });
88
89
  let route = ControllerDecorators_1.default.GetRoute(empty);
90
+ let validateBody = ControllerDecorators_1.default.IsToValidate(empty);
89
91
  if (!route)
90
92
  return;
91
93
  for (let method of methods) {
@@ -94,6 +96,8 @@ class Application {
94
96
  continue;
95
97
  }
96
98
  let verb = ControllerDecorators_1.default.GetVerb(empty, method.toString());
99
+ let fromBody = ControllerDecorators_1.default.GetFromBodyArgs(empty.constructor, method.toString());
100
+ let fromQuery = ControllerDecorators_1.default.GetFromQueryArgs(empty.constructor, method.toString());
97
101
  if (!verb)
98
102
  verb = HttpVerbs_1.HTTPVerbs.GET;
99
103
  console.debug("appended : ", verb, `${route}${action}`);
@@ -101,14 +105,84 @@ class Application {
101
105
  let midlewares = ControllerDecorators_1.default.GetMidlewares(empty).reverse();
102
106
  midlewares.push(...ControllerDecorators_1.default.GetBefores(empty, method.toString()).reverse());
103
107
  let handler = (context) => {
104
- let args = ControllerDecorators_1.default.GetArgumentsHandler(empty, method.toString());
108
+ var _a;
105
109
  let params = [];
106
- if (args) {
107
- if (args.Arguments.length > 0) {
108
- if (context.Request.body && verb == (HttpVerbs_1.HTTPVerbs.POST || verb == HttpVerbs_1.HTTPVerbs.PUT))
109
- params = args.CreateArgumentsList(context.Request.body);
110
- if (context.Request.query)
111
- params.push(...args.CreateArgumentsList(context.Request.query));
110
+ let ts = (_a = Reflect.getMetadata("design:paramtypes", empty, method.toString())) !== null && _a !== void 0 ? _a : Reflect.getMetadata("design:paramtypes", empty.constructor, method.toString());
111
+ let fromBodyParams = [];
112
+ if (fromBody.length > 0) {
113
+ fromBody.forEach(f => {
114
+ let obj = undefined;
115
+ if (!f.Field)
116
+ obj = request.body;
117
+ else
118
+ obj = request.body[f.Field];
119
+ try {
120
+ obj.__proto__ = ts[f.Index];
121
+ }
122
+ catch (_a) { }
123
+ let t = Reflect.construct(ts[f.Index], []);
124
+ Object.assign(t, obj);
125
+ fromBodyParams.push(t);
126
+ params.push(t);
127
+ });
128
+ }
129
+ let fromQueryParams = [];
130
+ if (fromQuery.length > 0) {
131
+ fromQuery.forEach(f => {
132
+ var _a, _b;
133
+ let obj;
134
+ if (!f.Field) {
135
+ let keys = Object.keys(request.query);
136
+ if (keys.length > 0) {
137
+ obj = (_a = request.query[keys[0]]) === null || _a === void 0 ? void 0 : _a.toString();
138
+ }
139
+ }
140
+ else {
141
+ obj = (_b = request.query[f.Field]) === null || _b === void 0 ? void 0 : _b.toString();
142
+ }
143
+ if (obj && ts[f.Index].name.toLocaleLowerCase() == "number") {
144
+ let number = Number.parseFloat(obj.toString());
145
+ if (number != Number.NaN) {
146
+ fromQueryParams.push(number);
147
+ params.push(number);
148
+ }
149
+ }
150
+ else {
151
+ fromQueryParams.push(obj);
152
+ params.push(obj);
153
+ }
154
+ });
155
+ }
156
+ if (params.length > 0) {
157
+ if (validateBody) {
158
+ let erros = [];
159
+ if (fromBody.length > fromBodyParams.filter(s => s != undefined).length) {
160
+ response.status(400);
161
+ response.json({
162
+ Message: "Model binding fail",
163
+ Detailts: ["Some expected body parameter was not provided"]
164
+ });
165
+ return;
166
+ }
167
+ if (fromQuery.length > fromQueryParams.filter(s => s != undefined).length) {
168
+ response.status(400);
169
+ response.json({
170
+ Message: "Model binding fail",
171
+ Detailts: ["Some expected url query string parameter was not provided"]
172
+ });
173
+ return;
174
+ }
175
+ for (let a of fromBodyParams) {
176
+ erros.push(...ValidationDecorators_1.default.Validate(a));
177
+ }
178
+ if (erros.length > 0) {
179
+ response.status(400);
180
+ response.json({
181
+ Message: "Validation fail",
182
+ Detailts: erros
183
+ });
184
+ return;
185
+ }
112
186
  }
113
187
  }
114
188
  let controller = DependecyService_1.default.ResolveCtor(empty.constructor);
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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"}
@@ -4,33 +4,37 @@ import IController from '../../interfaces/IController';
4
4
  import IMidleware from '../../midlewares/IMidleware';
5
5
  export default class ControllersDecorators {
6
6
  constructor();
7
- private static RouteKeyMetadata;
8
- private static ActionVerbKeyMetadata;
9
- private static ActionNameKeyMetadata;
10
- private static ArgumentsHandlerKeyMetadata;
11
- private static ControllerMidlewaresKeyMetadata;
12
- private static ActionsMidlewaresKeyMetadata;
7
+ private static _routeKeyMetadata;
8
+ private static _actionVerbKeyMetadata;
9
+ private static _actionNameKeyMetadata;
10
+ private static _argumentsHandlerKeyMetadata;
11
+ private static _controllerMidlewaresKeyMetadata;
12
+ private static _actionsMidlewaresKeyMetadata;
13
+ private static _validateBodyKeyMetadata;
14
+ private static _fromQueryKeyMetadata;
15
+ private static _fromBodyKeyMetadata;
13
16
  static Route(route?: string): (target: Function) => void;
17
+ static GetRoute(controller: IController): string | undefined;
18
+ static Validate(): (target: Function) => void;
19
+ static IsToValidate(controller: IController): boolean;
14
20
  static Use(midleware: IMidleware): (target: Function) => void;
15
21
  static GetMidlewares(controller: IController): IMidleware[];
16
22
  static Before(midleware: IMidleware): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
17
23
  static GetBefores(controller: IController, methodName: string): IMidleware[];
18
- static GetRoute(controller: IController): string | undefined;
19
24
  static Verb(verb: HTTPVerbs, actionName?: String): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
20
25
  static GetVerb(target: IController, methodName: string): HTTPVerbs | undefined;
21
26
  static Action(actionName?: String): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
22
27
  static GetAction(target: IController, methodName: string): string | undefined;
23
- static Argument<T>(argName1: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
24
- static Argument<T, U>(argName1: string, argName2?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
25
- static Argument<T, U, K>(argName1: string, argName2?: string, argName3?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
26
- static Argument<T, U, K, Y>(argName1: string, argName2?: string, argName3?: string, argName4?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
27
- static Argument<T, U, K, Y, J>(argName1: string, argName2?: string, argName3?: string, argName4?: string, argName5?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
28
- static GetArgumentsHandler(target: IController, methodName: string): IArgumentResolverHandler | undefined;
28
+ static FromBody(bodyPropName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
29
+ static GetFromBodyArgs(target: Function, method: string): {
30
+ Index: number;
31
+ Field?: string;
32
+ }[];
33
+ static FromQuery(bodyPropName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
34
+ static GetFromQueryArgs(target: Function, method: string): {
35
+ Index: number;
36
+ Field?: string;
37
+ }[];
29
38
  private static SetMetaData;
30
39
  private static GetMetaData;
31
40
  }
32
- interface IArgumentResolverHandler {
33
- Arguments: string[];
34
- CreateArgumentsList: (args: any) => any[];
35
- }
36
- export {};
@@ -7,89 +7,102 @@ class ControllersDecorators {
7
7
  static Route(route) {
8
8
  return function (target) {
9
9
  let value = route !== null && route !== void 0 ? route : target.name.toLocaleLowerCase().replace("controller", "");
10
- Reflect.defineMetadata(ControllersDecorators.RouteKeyMetadata, value, target);
10
+ Reflect.defineMetadata(ControllersDecorators._routeKeyMetadata, value, target);
11
11
  };
12
12
  }
13
+ static GetRoute(controller) {
14
+ let meta = Reflect.getMetadata(ControllersDecorators._routeKeyMetadata, controller.constructor);
15
+ if (meta && meta[0] != '/') {
16
+ return `/${meta}`.toLocaleLowerCase();
17
+ }
18
+ return meta === null || meta === void 0 ? void 0 : meta.toLocaleLowerCase();
19
+ }
20
+ static Validate() {
21
+ return function (target) {
22
+ Reflect.defineMetadata(ControllersDecorators._validateBodyKeyMetadata, true, target);
23
+ };
24
+ }
25
+ static IsToValidate(controller) {
26
+ var _a;
27
+ return (_a = Reflect.getMetadata(ControllersDecorators._validateBodyKeyMetadata, controller.constructor)) !== null && _a !== void 0 ? _a : false;
28
+ }
13
29
  static Use(midleware) {
14
30
  return function (target) {
15
31
  var _a;
16
- let current = (_a = Reflect.getMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, target)) !== null && _a !== void 0 ? _a : [];
32
+ let current = (_a = Reflect.getMetadata(ControllersDecorators._controllerMidlewaresKeyMetadata, target)) !== null && _a !== void 0 ? _a : [];
17
33
  current.push(midleware);
18
- Reflect.defineMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, current, target);
34
+ Reflect.defineMetadata(ControllersDecorators._controllerMidlewaresKeyMetadata, current, target);
19
35
  };
20
36
  }
21
37
  static GetMidlewares(controller) {
22
38
  var _a;
23
- return (_a = Reflect.getMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, controller.constructor)) !== null && _a !== void 0 ? _a : [];
39
+ return (_a = Reflect.getMetadata(ControllersDecorators._controllerMidlewaresKeyMetadata, controller.constructor)) !== null && _a !== void 0 ? _a : [];
24
40
  }
25
41
  static Before(midleware) {
26
42
  return function (target, methodName, propertyDescriptor) {
27
43
  var _a;
28
- let current = (_a = Reflect.getMetadata(ControllersDecorators.ActionsMidlewaresKeyMetadata, target, methodName)) !== null && _a !== void 0 ? _a : [];
44
+ let current = (_a = Reflect.getMetadata(ControllersDecorators._actionsMidlewaresKeyMetadata, target, methodName)) !== null && _a !== void 0 ? _a : [];
29
45
  current.push(midleware);
30
- ControllersDecorators.SetMetaData(ControllersDecorators.ActionsMidlewaresKeyMetadata, target, methodName, current);
46
+ ControllersDecorators.SetMetaData(ControllersDecorators._actionsMidlewaresKeyMetadata, target, methodName, current);
31
47
  };
32
48
  }
33
49
  static GetBefores(controller, methodName) {
34
50
  var _a;
35
- return (_a = this.GetMetaData(ControllersDecorators.ActionsMidlewaresKeyMetadata, controller, methodName)) !== null && _a !== void 0 ? _a : [];
36
- }
37
- static GetRoute(controller) {
38
- let meta = Reflect.getMetadata(ControllersDecorators.RouteKeyMetadata, controller.constructor);
39
- if (meta && meta[0] != '/') {
40
- return `/${meta}`.toLocaleLowerCase();
41
- }
42
- return meta === null || meta === void 0 ? void 0 : meta.toLocaleLowerCase();
51
+ return (_a = this.GetMetaData(ControllersDecorators._actionsMidlewaresKeyMetadata, controller, methodName)) !== null && _a !== void 0 ? _a : [];
43
52
  }
44
53
  static Verb(verb, actionName) {
45
54
  return function (target, methodName, propertyDescriptor) {
46
- ControllersDecorators.SetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName, actionName !== null && actionName !== void 0 ? actionName : methodName.toLocaleLowerCase());
47
- ControllersDecorators.SetMetaData(ControllersDecorators.ActionVerbKeyMetadata, target, methodName, verb);
55
+ ControllersDecorators.SetMetaData(ControllersDecorators._actionNameKeyMetadata, target, methodName, actionName !== null && actionName !== void 0 ? actionName : methodName.toLocaleLowerCase());
56
+ ControllersDecorators.SetMetaData(ControllersDecorators._actionVerbKeyMetadata, target, methodName, verb);
48
57
  };
49
58
  }
50
59
  static GetVerb(target, methodName) {
51
- let meta = this.GetMetaData(ControllersDecorators.ActionVerbKeyMetadata, target, methodName);
60
+ let meta = this.GetMetaData(ControllersDecorators._actionVerbKeyMetadata, target, methodName);
52
61
  return meta;
53
62
  }
54
63
  static Action(actionName) {
55
64
  return function (target, methodName, propertyDescriptor) {
56
- ControllersDecorators.SetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName, actionName !== null && actionName !== void 0 ? actionName : methodName.toLocaleLowerCase());
65
+ ControllersDecorators.SetMetaData(ControllersDecorators._actionNameKeyMetadata, target, methodName, actionName !== null && actionName !== void 0 ? actionName : methodName.toLocaleLowerCase());
57
66
  };
58
67
  }
59
68
  static GetAction(target, methodName) {
60
- let meta = this.GetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName);
69
+ let meta = this.GetMetaData(ControllersDecorators._actionNameKeyMetadata, target, methodName);
61
70
  if (meta && meta[0] != '/') {
62
71
  return `/${meta}`.toLocaleLowerCase();
63
72
  }
64
73
  return meta === null || meta === void 0 ? void 0 : meta.toLocaleLowerCase();
65
74
  }
66
- static Argument(argName1, argName2, argName3, argName4, argName5, argName6) {
67
- return function (target, methodName, propertyDescriptor) {
68
- ControllersDecorators.SetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName, methodName.toLocaleLowerCase());
69
- ControllersDecorators.SetMetaData(ControllersDecorators.ArgumentsHandlerKeyMetadata, target, methodName, {
70
- Arguments: [argName1, argName2, argName3, argName4, argName5, argName6],
71
- CreateArgumentsList: (args) => {
72
- let results = [];
73
- if (argName1 && args[argName1] != undefined)
74
- results[0] = args[argName1];
75
- if (argName2 && args[argName2] != undefined)
76
- results[1] = args[argName2];
77
- if (argName3 && args[argName3] != undefined)
78
- results[2] = args[argName3];
79
- if (argName4 && args[argName4] != undefined)
80
- results[3] = args[argName4];
81
- if (argName5 && args[argName5] != undefined)
82
- results[4] = args[argName5];
83
- if (argName6 && args[argName6] != undefined)
84
- results[5] = args[argName6];
85
- return results;
86
- }
87
- });
75
+ static FromBody(bodyPropName) {
76
+ return function (target, methodName, parameterIndex) {
77
+ let meta = ControllersDecorators.GetFromBodyArgs(target.constructor, methodName);
78
+ let item = meta.filter(x => x.Index == parameterIndex);
79
+ if (item.length == 0)
80
+ meta.push({ Index: parameterIndex, Field: bodyPropName });
81
+ else {
82
+ item[0].Field = bodyPropName;
83
+ }
84
+ Reflect.defineMetadata(ControllersDecorators._fromBodyKeyMetadata, meta, target.constructor, methodName);
88
85
  };
89
86
  }
90
- static GetArgumentsHandler(target, methodName) {
91
- let handler = this.GetMetaData(ControllersDecorators.ArgumentsHandlerKeyMetadata, target, methodName);
92
- return handler;
87
+ static GetFromBodyArgs(target, method) {
88
+ var _a;
89
+ return (_a = Reflect.getMetadata(ControllersDecorators._fromBodyKeyMetadata, target, method)) !== null && _a !== void 0 ? _a : [];
90
+ }
91
+ static FromQuery(bodyPropName) {
92
+ return function (target, methodName, parameterIndex) {
93
+ let meta = ControllersDecorators.GetFromQueryArgs(target.constructor, methodName);
94
+ let item = meta.filter(x => x.Index == parameterIndex);
95
+ if (item.length == 0)
96
+ meta.push({ Index: parameterIndex, Field: bodyPropName });
97
+ else {
98
+ item[0].Field = bodyPropName;
99
+ }
100
+ Reflect.defineMetadata(ControllersDecorators._fromQueryKeyMetadata, meta, target.constructor, methodName);
101
+ };
102
+ }
103
+ static GetFromQueryArgs(target, method) {
104
+ var _a;
105
+ return (_a = Reflect.getMetadata(ControllersDecorators._fromQueryKeyMetadata, target, method)) !== null && _a !== void 0 ? _a : [];
93
106
  }
94
107
  static SetMetaData(key, target, methodName, value) {
95
108
  var meta = Reflect.getOwnMetadata(key, target, methodName);
@@ -105,10 +118,13 @@ class ControllersDecorators {
105
118
  }
106
119
  }
107
120
  exports.default = ControllersDecorators;
108
- ControllersDecorators.RouteKeyMetadata = "meta:controllerRoute";
109
- ControllersDecorators.ActionVerbKeyMetadata = "meta:actionVerb";
110
- ControllersDecorators.ActionNameKeyMetadata = "meta:actionName";
111
- ControllersDecorators.ArgumentsHandlerKeyMetadata = "meta:argHandler";
112
- ControllersDecorators.ControllerMidlewaresKeyMetadata = "meta:controllerMidlewaresKey";
113
- ControllersDecorators.ActionsMidlewaresKeyMetadata = "meta:actionMidlewaresKey";
121
+ ControllersDecorators._routeKeyMetadata = "meta:controllerRoute";
122
+ ControllersDecorators._actionVerbKeyMetadata = "meta:actionVerb";
123
+ ControllersDecorators._actionNameKeyMetadata = "meta:actionName";
124
+ ControllersDecorators._argumentsHandlerKeyMetadata = "meta:argHandler";
125
+ ControllersDecorators._controllerMidlewaresKeyMetadata = "meta:controllerMidlewaresKey";
126
+ ControllersDecorators._actionsMidlewaresKeyMetadata = "meta:actionMidlewaresKey";
127
+ ControllersDecorators._validateBodyKeyMetadata = "meta:validateBodyKey";
128
+ ControllersDecorators._fromQueryKeyMetadata = "meta:fromQueryKey";
129
+ ControllersDecorators._fromBodyKeyMetadata = "meta:fromBodyKey";
114
130
  //# sourceMappingURL=ControllerDecorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerDecorators.js","sourceRoot":"","sources":["../../../decorators/controllers/ControllerDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ControllerDecorators.js","sourceRoot":"","sources":["../../../decorators/controllers/ControllerDecorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import 'reflect-metadata';
2
+ export default class ValidationDecorators {
3
+ constructor();
4
+ private static _requiredKeyMetadata;
5
+ private static _maxlenghtKeyMetadata;
6
+ private static _minlenghtKeyMetadata;
7
+ private static _regexKeyMetadata;
8
+ private static _ruleKeyMetadata;
9
+ private static _maxValueKeyMetadata;
10
+ private static _minValueKeyMetadata;
11
+ private static _keysToValidateKeyMetada;
12
+ static AddField(target: Object, property: string): void;
13
+ static GetFields(target: Object): string[];
14
+ static Required(message?: string): (target: Object, property: string) => void;
15
+ static IsRequired(target: Object, property: string): {
16
+ Message: string;
17
+ } | undefined;
18
+ static MaxLenght(max: number, message?: string): (target: Object, property: string) => void;
19
+ static GetMaxlenght(target: Object, property: string): {
20
+ Message: string;
21
+ Max: number;
22
+ } | undefined;
23
+ static MinLenght(min: number, message?: string): (target: Object, property: string) => void;
24
+ static GetMinlenght(target: Object, property: string): {
25
+ Message: string;
26
+ Min: number;
27
+ } | undefined;
28
+ static MinValue(min: number, message?: string): (target: Object, property: string) => void;
29
+ static GetMinValue(target: Object, property: string): {
30
+ Message: string;
31
+ Min: number;
32
+ } | undefined;
33
+ static MaxValue(max: number, message?: string): (target: Object, property: string) => void;
34
+ static GetMaxValue(target: Object, property: string): {
35
+ Message: string;
36
+ Max: number;
37
+ } | undefined;
38
+ static Regex(regex: RegExp, message?: string): (target: Object, property: string) => void;
39
+ static GetRegex(target: Object, property: string): {
40
+ Message: string;
41
+ RegExp: RegExp;
42
+ } | undefined;
43
+ static Rule<T>(validationFunction: (arg: T) => boolean, message?: string): (target: Object, property: string) => void;
44
+ static GetRule<T>(target: Object, property: string): {
45
+ Message: string;
46
+ Function: (arg: T) => boolean;
47
+ } | undefined;
48
+ static Validate<T>(object: T): string[];
49
+ private static TryGetValue;
50
+ }