web_api_base 3.5.0 → 3.6.2

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 (59) hide show
  1. package/dist/Application.d.ts +5 -1
  2. package/dist/Application.js +57 -18
  3. package/dist/Application.js.map +1 -1
  4. package/dist/ApplicationConfiguration.d.ts +3 -2
  5. package/dist/ApplicationConfiguration.js +13 -18
  6. package/dist/ApplicationConfiguration.js.map +1 -1
  7. package/dist/bin/CreateApplication.js +4 -1
  8. package/dist/bin/CreateApplication.js.map +1 -1
  9. package/dist/bin/CreateController.js +2 -1
  10. package/dist/bin/CreateController.js.map +1 -1
  11. package/dist/decorators/controllers/ControllerDecorators.d.ts +2 -3
  12. package/dist/decorators/controllers/ControllerDecorators.js +6 -6
  13. package/dist/decorators/controllers/ControllerDecorators.js.map +1 -1
  14. package/dist/decorators/documentation/DocumentationDecorators.d.ts +17 -0
  15. package/dist/decorators/documentation/DocumentationDecorators.js +39 -0
  16. package/dist/decorators/documentation/DocumentationDecorators.js.map +1 -0
  17. package/dist/dependencyInjection/DependecyService.js +6 -2
  18. package/dist/dependencyInjection/DependecyService.js.map +1 -1
  19. package/dist/documentation/CSS.d.ts +6 -0
  20. package/dist/documentation/CSS.js +293 -0
  21. package/dist/documentation/CSS.js.map +1 -0
  22. package/dist/documentation/Documentation.d.ts +7 -0
  23. package/dist/documentation/Documentation.js +81 -0
  24. package/dist/documentation/Documentation.js.map +1 -0
  25. package/dist/documentation/HTML.d.ts +4 -0
  26. package/dist/documentation/HTML.js +26 -0
  27. package/dist/documentation/HTML.js.map +1 -0
  28. package/dist/documentation/JS.d.ts +5 -0
  29. package/dist/documentation/JS.js +239 -0
  30. package/dist/documentation/JS.js.map +1 -0
  31. package/dist/exceptions/ArgumentNullException.d.ts +3 -0
  32. package/dist/exceptions/ArgumentNullException.js +10 -0
  33. package/dist/exceptions/ArgumentNullException.js.map +1 -0
  34. package/dist/exceptions/FindDependencyException.d.ts +3 -0
  35. package/dist/exceptions/FindDependencyException.js +10 -0
  36. package/dist/exceptions/FindDependencyException.js.map +1 -0
  37. package/dist/index.d.ts +5 -0
  38. package/dist/index.js +19 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/interfaces/IApplication.d.ts +1 -0
  41. package/dist/interfaces/IApplicationConfiguration.d.ts +2 -1
  42. package/dist/metadata/Type.d.ts +4 -0
  43. package/dist/metadata/Type.js +37 -0
  44. package/dist/metadata/Type.js.map +1 -0
  45. package/dist/midlewares/IMidleware.d.ts +2 -1
  46. package/package.json +1 -1
  47. package/readme.md +64 -1
  48. package/dist/temp/Application.d.ts +0 -5
  49. package/dist/temp/Application.js +0 -27
  50. package/dist/temp/Application.js.map +0 -1
  51. package/dist/temp/Index.d.ts +0 -1
  52. package/dist/temp/Index.js +0 -19
  53. package/dist/temp/Index.js.map +0 -1
  54. package/dist/temp/controllers/StatusController.d.ts +0 -21
  55. package/dist/temp/controllers/StatusController.js +0 -117
  56. package/dist/temp/controllers/StatusController.js.map +0 -1
  57. package/dist/temp/service/SampleService.d.ts +0 -9
  58. package/dist/temp/service/SampleService.js +0 -19
  59. package/dist/temp/service/SampleService.js.map +0 -1
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const Application_1 = __importDefault(require("../Application"));
8
+ class JS {
9
+ static Append(text) {
10
+ JS._js += text;
11
+ }
12
+ static Save() {
13
+ let app = "";
14
+ let version = "";
15
+ let description = "";
16
+ try {
17
+ if (fs_1.default.existsSync(`${Application_1.default.Configurations.RootPath}\\package.json`)) {
18
+ let j = JSON.parse(fs_1.default.readFileSync(`${Application_1.default.Configurations.RootPath}\\package.json`, 'utf-8'));
19
+ app = j.name;
20
+ version = j.version;
21
+ description = j.description;
22
+ this._js = this._js.replace('??APP', `${app} ${version}`);
23
+ this._js = this._js.replace('??DESC', `${description}`);
24
+ }
25
+ }
26
+ catch (err) {
27
+ console.error(err);
28
+ }
29
+ fs_1.default.writeFileSync(`${__dirname}\\script.js`, JS._js, 'utf-8');
30
+ }
31
+ }
32
+ exports.default = JS;
33
+ JS._js = `
34
+ document.getElementById('root').innerHTML += '<div class="header" ><div class="DivHeader"><p>Made with <a href="https://www.npmjs.com/package/web_api_base" target="_blank">web_api_base</a></p></div></div>';
35
+ document.getElementsByClassName('header')[0].innerHTML += '<div class="DivHeader DivHeaderRight"><p class="pTitle" style="font-size: 14px;font-weight:600;">??APP</p><p>??DESC</p></div>';
36
+
37
+ function AddResource(route)
38
+ {
39
+ console.log(route);
40
+
41
+ document.getElementById('root').innerHTML += '<div id="'+ route.Controller.toLowerCase()+'" class="card"></div>';
42
+
43
+ let root = document.getElementById(route.Controller.toLowerCase());
44
+
45
+ root.innerHTML += '<h1 >'+route.Controller+'</h1>';
46
+
47
+ for(let r of route.Resources)
48
+ {
49
+
50
+ let expandId = { ID : 'link_' + r.Id, RID : r.Id};
51
+
52
+ try{
53
+ r.Template = JSON.stringify(JSON.parse(r.Template), null, 2);
54
+ }catch{}
55
+
56
+ let verbClass = "OTHER";
57
+
58
+ if(["GET", "POST", "PUT", "DELETE"].includes(r.Verb))
59
+ {
60
+ verbClass = r.Verb
61
+ }
62
+
63
+ root.innerHTML += '<h2 id="'+ expandId.ID +'"><verb class="'+ verbClass+'">'+r.Verb+'</verb> '+window.location.origin+r.Route+'</h2>';
64
+ root.innerHTML += '<div id="'+r.Id+'_container" class="container"></div>';
65
+ let container = document.getElementById(r.Id + '_container');
66
+
67
+ for(let c of r.FromQuery)
68
+ {
69
+ container.innerHTML += '<div class="token-container"><input type="text" id="key-'+r.Id+r.FromQuery.indexOf(c)+'" placeholder="'+c.Field+'"></div>';
70
+ }
71
+
72
+ if(r.FromBody.length > 0)
73
+ container.innerHTML += '<textarea id="body-'+r.Id+'" placeholder="{}" spellcheck="false">'+r.Template+'</textarea>';
74
+
75
+
76
+ if(r.Description)
77
+ {
78
+ container.innerHTML += '<h3>'+r.Description+'</h3>';
79
+
80
+ }else {
81
+
82
+ container.innerHTML += '<h3>Use @Description(...) to add a description to a action</h3>';
83
+ }
84
+
85
+
86
+ container.innerHTML += '<div class="btn-container" ><button id="bt-'+expandId.ID+'">Send</button></div>';
87
+
88
+ if(r.Response.length > 0 && r.Response[0].JSON?.length > 0)
89
+ {
90
+ container.innerHTML += '<h3 id="response-bar-'+r.Id+'">Response'+(r.Response.length > 1 ? 's': '')+':</h3>';
91
+
92
+ container.innerHTML += '<div id="status-bar-'+r.Id+'" class="btn-container" ></div>';
93
+
94
+
95
+ for(let s of r.Response.sort((a, b)=> a.Status - b.Status))
96
+ {
97
+ let bar = document.getElementById('status-bar-'+r.Id);
98
+
99
+ let classValue = "Info";
100
+
101
+ if(s.Status.toString().indexOf('2') == 0)
102
+ {
103
+ classValue = "OK";
104
+
105
+ }else if(s.Status.toString().indexOf('4') == 0)
106
+ {
107
+ classValue = "ErrorClient";
108
+ }
109
+ else if(s.Status.toString().indexOf('5') == 0)
110
+ {
111
+ classValue = "ErrorServer";
112
+ }
113
+
114
+
115
+ bar.innerHTML += '<div><status id="status-'+r.Id+s.Status+'" class="'+classValue+'"> '+s.Status+ '</status> <tx>' + (s.Description ?? '')+'</tx></div>';
116
+
117
+ document.addEventListener('DOMContentLoaded', function() {
118
+
119
+ document.getElementById('status-'+r.Id+s.Status).addEventListener('click', function (evt) {
120
+
121
+ let textarea = document.getElementById('response-area-'+r.Id);
122
+ textarea.value = s.JSON;
123
+
124
+ });
125
+
126
+
127
+ });
128
+
129
+
130
+ }
131
+
132
+
133
+ }else{
134
+
135
+ container.innerHTML += '<h3 id="response-bar-'+r.Id+'">Response:</h3>';
136
+ container.innerHTML += '<div id="status-bar-'+r.Id+'" class="btn-container" style="display:none;" ></div>';
137
+ }
138
+
139
+ document.addEventListener('DOMContentLoaded', function() {
140
+
141
+
142
+ document.getElementById('bt-'+expandId.ID).addEventListener('click', (evt) =>
143
+ {
144
+ let body = document.getElementById('body-'+r.Id);
145
+ let resp = document.getElementById('response-area-'+r.Id);
146
+ let bar = document.getElementById('status-bar-'+r.Id);
147
+ let h3 = document.getElementById('response-bar-'+r.Id);
148
+
149
+ let req = new XMLHttpRequest();
150
+ let args = '?';
151
+ for(let c of r.FromQuery)
152
+ {
153
+ let input = document.getElementById('key-'+r.Id+r.FromQuery.indexOf(c));
154
+
155
+ args+= c.Field + '="' + input.value + '"&';
156
+ }
157
+
158
+ if(args.length > 1){
159
+ args = args.substring(0, args.length -1);
160
+ }else
161
+ {
162
+ args = '';
163
+ }
164
+
165
+ req.open(r.Verb, window.location.origin+r.Route+args, true);
166
+ req.setRequestHeader('Content-type', 'application/json');
167
+ req.onerror = ()=>
168
+ {
169
+ h3.innerText = "Current response:";
170
+ bar.style.display = "flex";
171
+ resp.value = 'Error to send the request';
172
+ bar.innerHTML = '<div><status class="ErrorServer">-1</status> <tx>Error on request</tx></div>';
173
+ }
174
+
175
+
176
+ req.onreadystatechange = ()=>
177
+ {
178
+ if(req.readyState == 4 && req.status > 0)
179
+ {
180
+ h3.innerText = "Current response:";
181
+
182
+ bar.style.display = "flex";
183
+
184
+ let classValue = "Info";
185
+
186
+ if(req.status.toString().indexOf('2') == 0)
187
+ {
188
+ classValue = "OK";
189
+
190
+ }else if(req.status.toString().indexOf('4') == 0)
191
+ {
192
+ classValue = "ErrorClient";
193
+ }
194
+ else if(req.status.toString().indexOf('5') == 0)
195
+ {
196
+ classValue = "ErrorServer";
197
+ }
198
+
199
+ console.log(req);
200
+ bar.innerHTML = '<div><status class="'+classValue+'"> '+req.status+ '</status> <tx>New request</tx></div>';
201
+ resp.value = JSON.stringify(JSON.parse(req.responseText), null, 2);
202
+ }
203
+ }
204
+
205
+ if(body){
206
+ req.send(body.value);
207
+ }else
208
+ {
209
+ req.send();
210
+ }
211
+
212
+ });
213
+ });
214
+
215
+ container.innerHTML += '<textarea id="response-area-'+r.Id+'" style="margin-top:5px"; spellcheck="false" ></textarea>';
216
+
217
+
218
+ document.addEventListener('DOMContentLoaded', function() {
219
+ document.getElementById(expandId.ID).addEventListener('click', function (evt) {
220
+
221
+ let div = document.getElementById(expandId.RID + '_container');
222
+
223
+ if(div.style.display == "flex")
224
+ div.style.display = "none";
225
+ else
226
+ div.style.display = "flex";
227
+ });
228
+
229
+ });
230
+
231
+ }
232
+
233
+
234
+
235
+ }
236
+
237
+
238
+ `;
239
+ //# sourceMappingURL=JS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JS.js","sourceRoot":"","sources":["../../documentation/JS.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,iEAAyC;AAEzC,MAAqB,EAAE;IAiNZ,MAAM,CAAC,MAAM,CAAC,IAAa;QAE9B,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,IAAI;QAEd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAG;YAEC,IAAG,YAAE,CAAC,UAAU,CAAC,GAAG,qBAAW,CAAC,cAAc,CAAC,QAAQ,gBAAgB,CAAC,EACxE;gBACI,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,GAAG,qBAAW,CAAC,cAAc,CAAC,QAAQ,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;gBACb,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpB,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBAE5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;aAC3D;SAEJ;QAAA,OAAM,GAAG,EACV;YACI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,YAAE,CAAC,aAAa,CAAC,GAAG,SAAS,aAAa,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;;AA/OL,qBAgPC;AA9OkB,MAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6MpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Exception from "./Exception";
2
+ export default class ArgumentNullException extends Exception {
3
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Exception_1 = __importDefault(require("./Exception"));
7
+ class ArgumentNullException extends Exception_1.default {
8
+ }
9
+ exports.default = ArgumentNullException;
10
+ //# sourceMappingURL=ArgumentNullException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentNullException.js","sourceRoot":"","sources":["../../exceptions/ArgumentNullException.ts"],"names":[],"mappings":";;;;;AAAA,4DAAoC;AAGpC,MAAqB,qBAAsB,SAAQ,mBAAS;CAC3D;AADD,wCACC"}
@@ -0,0 +1,3 @@
1
+ import Exception from "./Exception";
2
+ export default class FindDependencyException extends Exception {
3
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Exception_1 = __importDefault(require("./Exception"));
7
+ class FindDependencyException extends Exception_1.default {
8
+ }
9
+ exports.default = FindDependencyException;
10
+ //# sourceMappingURL=FindDependencyException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindDependencyException.js","sourceRoot":"","sources":["../../exceptions/FindDependencyException.ts"],"names":[],"mappings":";;;;;AAAA,4DAAoC;AAIpC,MAAqB,uBAAwB,SAAQ,mBAAS;CAC7D;AADD,0CACC"}
package/dist/index.d.ts CHANGED
@@ -3,12 +3,14 @@ export { default as ApplicationConfiguration } from "./ApplicationConfiguration"
3
3
  export { default as ControllersDecorators } from "./decorators/controllers/ControllerDecorators";
4
4
  export { ControllerBase } from "./controllers/base/ControllerBase";
5
5
  export { HTTPVerbs } from './enums/httpVerbs/HttpVerbs';
6
+ export { default as Exception } from './exceptions/Exception';
6
7
  export { default as DependecyService } from "./dependencyInjection/DependecyService";
7
8
  export { default as IMidleware } from './midlewares/IMidleware';
8
9
  export { default as IApplicationConfiguration } from "./interfaces/IApplicationConfiguration";
9
10
  export { default as IApplication } from "./interfaces/IApplication";
10
11
  export { default as IApplicatiIControllernConfiguration } from "./interfaces/IController";
11
12
  export { IHTTPRequestContext, IRequestResult, IRequestResultHandler } from "./midlewares/IMidleware";
13
+ import { DocumentationDecorators } from "./decorators/documentation/DocumentationDecorators";
12
14
  import { HTTPVerbs } from "./enums/httpVerbs/HttpVerbs";
13
15
  import IMidleware, { IRequestResultHandler } from "./midlewares/IMidleware";
14
16
  export declare function UseBefore(midleware: IMidleware): (target: Function) => void;
@@ -21,6 +23,9 @@ export declare function GET(action?: string): (target: Object, methodName: strin
21
23
  export declare function POST(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
22
24
  export declare function PUT(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
23
25
  export declare function DELETE(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
26
+ export declare function Description(description: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
27
+ export declare function RequestJson(json: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
28
+ export declare function ProducesResponse(response: Parameters<typeof DocumentationDecorators.ProducesResponse>[0]): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
24
29
  export declare function Verb(verb: HTTPVerbs): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
25
30
  export declare function Inject(): (target: Object, property: string | symbol) => void;
26
31
  export declare function InjectAbstract(cTor: Function): (target: Object, property: string | symbol) => void;
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ 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
- exports.FromQuery = exports.FromBody = exports.Rule = exports.Regex = exports.Min = exports.Max = exports.MinLenght = exports.MaxLenght = exports.Required = exports.ValidateObject = exports.Validate = exports.InjectAbstract = exports.Inject = exports.Verb = exports.DELETE = exports.PUT = exports.POST = exports.GET = exports.Route = exports.Action = exports.RunAfter = exports.UseAfter = exports.RunBefore = exports.UseBefore = exports.DependecyService = exports.HTTPVerbs = exports.ControllerBase = exports.ControllersDecorators = exports.ApplicationConfiguration = exports.Application = void 0;
6
+ exports.FromQuery = exports.FromBody = exports.Rule = exports.Regex = exports.Min = exports.Max = exports.MinLenght = exports.MaxLenght = exports.Required = exports.ValidateObject = exports.Validate = exports.InjectAbstract = exports.Inject = exports.Verb = exports.ProducesResponse = exports.RequestJson = exports.Description = exports.DELETE = exports.PUT = exports.POST = exports.GET = exports.Route = exports.Action = exports.RunAfter = exports.UseAfter = exports.RunBefore = exports.UseBefore = exports.DependecyService = exports.Exception = exports.HTTPVerbs = exports.ControllerBase = exports.ControllersDecorators = exports.ApplicationConfiguration = exports.Application = void 0;
7
7
  var Application_1 = require("./Application");
8
8
  Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return __importDefault(Application_1).default; } });
9
9
  var ApplicationConfiguration_1 = require("./ApplicationConfiguration");
@@ -14,9 +14,12 @@ var ControllerBase_1 = require("./controllers/base/ControllerBase");
14
14
  Object.defineProperty(exports, "ControllerBase", { enumerable: true, get: function () { return ControllerBase_1.ControllerBase; } });
15
15
  var HttpVerbs_1 = require("./enums/httpVerbs/HttpVerbs");
16
16
  Object.defineProperty(exports, "HTTPVerbs", { enumerable: true, get: function () { return HttpVerbs_1.HTTPVerbs; } });
17
+ var Exception_1 = require("./exceptions/Exception");
18
+ Object.defineProperty(exports, "Exception", { enumerable: true, get: function () { return __importDefault(Exception_1).default; } });
17
19
  var DependecyService_1 = require("./dependencyInjection/DependecyService");
18
20
  Object.defineProperty(exports, "DependecyService", { enumerable: true, get: function () { return __importDefault(DependecyService_1).default; } });
19
21
  const ControllerDecorators_2 = __importDefault(require("./decorators/controllers/ControllerDecorators"));
22
+ const DocumentationDecorators_1 = require("./decorators/documentation/DocumentationDecorators");
20
23
  const ValidationDecorators_1 = __importDefault(require("./decorators/validations/ValidationDecorators"));
21
24
  const DependecyService_2 = __importDefault(require("./dependencyInjection/DependecyService"));
22
25
  const HttpVerbs_2 = require("./enums/httpVerbs/HttpVerbs");
@@ -70,6 +73,21 @@ function DELETE(action) {
70
73
  }
71
74
  exports.DELETE = DELETE;
72
75
  ;
76
+ function Description(description) {
77
+ return DocumentationDecorators_1.DocumentationDecorators.Description(description);
78
+ }
79
+ exports.Description = Description;
80
+ ;
81
+ function RequestJson(json) {
82
+ return DocumentationDecorators_1.DocumentationDecorators.RequestJson(json);
83
+ }
84
+ exports.RequestJson = RequestJson;
85
+ ;
86
+ function ProducesResponse(response) {
87
+ return DocumentationDecorators_1.DocumentationDecorators.ProducesResponse(response);
88
+ }
89
+ exports.ProducesResponse = ProducesResponse;
90
+ ;
73
91
  function Verb(verb) {
74
92
  return ControllerDecorators_2.default.Verb(verb);
75
93
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export default interface IApplication {
6
6
  ApplicationThreadExeptionHandler?: ApplicationExceptionHandler;
7
7
  StartAsync(): Promise<void>;
8
8
  ConfigureAsync(appConfig: IApplicationConfiguration): Promise<void>;
9
+ CreateDocumentation(): void;
9
10
  }
10
11
  export interface ApplicationExceptionHandler {
11
12
  (request: Request, response: Response, exception: Exception): void;
@@ -2,8 +2,9 @@ export default interface IApplicationConfiguration {
2
2
  Host: string;
3
3
  Port: number;
4
4
  RootPath: string;
5
+ DEBUG: boolean;
5
6
  EnviromentVariables: {
6
- [ket: string]: string;
7
+ [key: string]: any;
7
8
  };
8
9
  AddScoped(type: Function, ctor?: (new (...args: any[]) => any) | undefined, builder?: (() => any) | undefined): void;
9
10
  AddTransient(type: Function, ctor?: (new (...args: any[]) => any) | undefined, builder?: (() => any) | undefined): void;
@@ -0,0 +1,4 @@
1
+ export default class Type {
2
+ static CreateTemplateFrom<T extends object>(ctor: new (...args: any[]) => T): T;
3
+ static FillObject<T extends object>(obj: T): T;
4
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Type {
4
+ static CreateTemplateFrom(ctor) {
5
+ let base = Reflect.construct(ctor, []);
6
+ for (let map in base) {
7
+ let designType = Reflect.getMetadata("design:type", ctor, map);
8
+ if (designType) {
9
+ if (designType != Array)
10
+ base[map] = Type.FillObject(Reflect.construct(designType, []));
11
+ else
12
+ base[map] = [Type.FillObject(Reflect.construct(designType, []))];
13
+ }
14
+ }
15
+ return Type.FillObject(base);
16
+ }
17
+ static FillObject(obj) {
18
+ for (let c in obj) {
19
+ let d = Reflect.getMetadata("design:type", obj, c);
20
+ if (!d)
21
+ continue;
22
+ if (d.name === "Number")
23
+ obj[c] = -1;
24
+ else if (d.name === "String")
25
+ obj[c] = c;
26
+ else if (d.name === "Boolean")
27
+ obj[c] = false;
28
+ else if (d.name === "Date")
29
+ obj[c] = new Date();
30
+ else if (d.name === "Object")
31
+ obj[c] = {};
32
+ }
33
+ return obj;
34
+ }
35
+ }
36
+ exports.default = Type;
37
+ //# sourceMappingURL=Type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.js","sourceRoot":"","sources":["../../metadata/Type.ts"],"names":[],"mappings":";;AAEA,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;YAElB,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAE/D,IAAI,UAAU,EAAE;gBACZ,IAAI,UAAU,IAAI,KAAK;oBAClB,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAW,CAAC,CAAC;;oBAGjF,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAW,CAAC,CAAC,CAAC;aAC3F;SACJ;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAmB,GAAM;QAE7C,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACf,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC,CAAC;gBACF,SAAS;YAEb,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAClB,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACvB,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBACnB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBACxB,GAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBACrB,GAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;iBAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACvB,GAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;SAC5B;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CAIJ;AA9CD,uBA8CC"}
@@ -1,4 +1,5 @@
1
1
  import { Request, Response } from "express";
2
+ import Exception from "../exceptions/Exception";
2
3
  export default interface IMidleware {
3
4
  (context: IHTTPRequestContext): void;
4
5
  }
@@ -11,7 +12,7 @@ export interface IHTTPRequestContext {
11
12
  Next: () => void;
12
13
  }
13
14
  export interface IRequestResult {
14
- Exception?: Error;
15
+ Exception?: Exception;
15
16
  Result?: any;
16
17
  Request: Request;
17
18
  Response: Response;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web_api_base",
3
- "version": "3.5.0",
3
+ "version": "3.6.2",
4
4
  "description": "web api base",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/readme.md CHANGED
@@ -64,7 +64,7 @@ export default class App extends Application
64
64
  this.UseCors();
65
65
 
66
66
  //if the controlles follow the naming rules, the method UseControllers will automatically append them
67
- this.UseControllers();
67
+ this.UseControllersAsync();
68
68
 
69
69
  }
70
70
  }
@@ -217,7 +217,44 @@ Send status 500 and a optional body
217
217
  Send a status code and a optional body
218
218
 
219
219
 
220
+ # Filters
221
+ ### @UseBefore()
222
+ Append a delegate to execute **before** the controller´s action
223
+ ```typescript
224
+ @Route("/status")
225
+ @UseBefore(context =>
226
+ {
227
+
228
+ if(context.Request.headers["token"] != "we have access to request object")
229
+ context.Response.json({Message : "we have access to response object"});
230
+ else
231
+ context.Next(); // call next function in the pipeline
232
+ })
233
+ export default class StatusController extends ControllerBase
234
+ {
235
+ ```
236
+
237
+ ### @UseAfter()
238
+ Append a delegate to execute **after** the controller´s action
239
+ ```typescript
240
+ @Route("/status")
241
+ @UseAfter(actionResult =>
242
+ {
243
+
244
+ if(actionResult.Exception) // if a exception was launched
245
+ {
246
+ actionResult.Response.status(500); // we can access the original request
247
+ actionResult.Response.json({Error : actionResult.Exception.Message});
248
+ return;
249
+ }
220
250
 
251
+ actionResult.Response.status(200); // we can access the original response
252
+ actionResult.Response.json(actionResult.Result); // we can acess the return of controller´s action
253
+
254
+ })
255
+ export default class StatusController extends ControllerBase
256
+ {
257
+ ```
221
258
 
222
259
 
223
260
  # Model Bind decorators
@@ -419,6 +456,32 @@ export default class ValidatedObject
419
456
  }
420
457
  ```
421
458
 
459
+ # Auto-generated documentation
460
+
461
+ We can create a API playground(host/playground) using the Aplication.CreateDocumentation method inside the Application.ConfigureAsync
462
+
463
+ ```typescript
464
+ public override async ConfigureAsync(appConfig: IApplicationConfiguration): Promise<void>
465
+ {
466
+ this.UseCors();
467
+
468
+ await this.UseControllersAsync();
469
+
470
+ appConfig.AddScoped(SampleServiceAbstract, AnotherService);
471
+
472
+ if(Application.DEBUG)
473
+ this.CreateDocumentation();
474
+
475
+ }
476
+ ```
477
+
478
+ ### To use the default theme, run the API with **--debug** argument
479
+
480
+ [![Alt text](https://raw.githubusercontent.com/adrianomarino1992/web_api_base/master/light.png)](https://raw.githubusercontent.com/adrianomarino1992/web_api_base/master/light.png)
481
+
482
+ ### To use the dark theme, run the API with **--debug --dark** arguments
483
+ [![Alt text](https://raw.githubusercontent.com/adrianomarino1992/web_api_base/5057c23221750ea4315142e88c7af80c2370682c/dark.png)](https://raw.githubusercontent.com/adrianomarino1992/web_api_base/5057c23221750ea4315142e88c7af80c2370682c/dark.png)
484
+
422
485
 
423
486
  ## Contributing
424
487
 
@@ -1,5 +0,0 @@
1
- import { Application, IApplicationConfiguration } from "../index";
2
- export default class App extends Application {
3
- constructor();
4
- ConfigureAsync(appConfig: IApplicationConfiguration): Promise<void>;
5
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const index_1 = require("../index");
13
- const SampleService_1 = require("./service/SampleService");
14
- class App extends index_1.Application {
15
- constructor() {
16
- super();
17
- }
18
- ConfigureAsync(appConfig) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- this.UseCors();
21
- appConfig.AddScoped(SampleService_1.SampleServiceAbstract, SampleService_1.AnotherService);
22
- this.UseControllers();
23
- });
24
- }
25
- }
26
- exports.default = App;
27
- //# sourceMappingURL=Application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../temp/Application.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,oCAAkE;AAElE,2DAAgF;AAGhF,MAAqB,GAAI,SAAQ,mBAAW;IAExC;QAEI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEqB,cAAc,CAAC,SAAoC;;YAErE,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,SAAS,CAAC,SAAS,CAAC,qCAAqB,EAAE,8BAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1B,CAAC;KAAA;CAGJ;AAlBD,sBAkBC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const Application_1 = __importDefault(require("./Application"));
16
- (() => __awaiter(void 0, void 0, void 0, function* () {
17
- yield new Application_1.default().StartAsync();
18
- }))();
19
- //# sourceMappingURL=Index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Index.js","sourceRoot":"","sources":["../../temp/Index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gEAAwC;AAExC,CAAC,GAAQ,EAAE;IAEP,MAAM,IAAI,qBAAW,EAAE,CAAC,UAAU,EAAE,CAAC;AAEzC,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import { ControllerBase } from "../../index";
2
- import { SampleServiceAbstract } from "../service/SampleService";
3
- export default class StatusController extends ControllerBase {
4
- SomeService: SampleServiceAbstract;
5
- TypeInferedInjection?: SampleServiceAbstract;
6
- constructor(some: SampleServiceAbstract);
7
- CheckStatus(s: string, some: SampleServiceAbstract): {
8
- status: string;
9
- } | undefined;
10
- TestAction(name: string): void;
11
- TestActionTwo(name: string, age: number): void;
12
- PostAction(user: {
13
- Name: string;
14
- Age: number;
15
- }): void;
16
- PutAction(user: {
17
- Name: string;
18
- Age: number;
19
- }): void;
20
- DeleteAction(id: number): number;
21
- }