web_api_base 1.0.0 → 1.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.
Files changed (83) hide show
  1. package/dist/App.js +32 -0
  2. package/dist/App.js.map +1 -0
  3. package/dist/Application.d.ts +10 -0
  4. package/dist/Application.js +33 -0
  5. package/dist/Application.js.map +1 -0
  6. package/dist/ApplicationConfiguration.d.ts +10 -0
  7. package/dist/ApplicationConfiguration.js +69 -0
  8. package/dist/ApplicationConfiguration.js.map +1 -0
  9. package/dist/Configuration.js +69 -0
  10. package/dist/Configuration.js.map +1 -0
  11. package/dist/Index.js +23 -0
  12. package/dist/Index.js.map +1 -0
  13. package/dist/__tests__/classes/Controller.d.ts +8 -0
  14. package/dist/__tests__/classes/Controller.js +54 -0
  15. package/dist/__tests__/classes/Controller.js.map +1 -0
  16. package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.d.ts +1 -0
  17. package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.js +40 -0
  18. package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.js.map +1 -0
  19. package/dist/config.json +1 -0
  20. package/dist/controllers/FileController.js +162 -0
  21. package/dist/controllers/FileController.js.map +1 -0
  22. package/dist/controllers/StatusController.js +44 -0
  23. package/dist/controllers/StatusController.js.map +1 -0
  24. package/dist/controllers/base/ControllerBase.d.ts +16 -0
  25. package/dist/controllers/base/ControllerBase.js +79 -0
  26. package/dist/controllers/base/ControllerBase.js.map +1 -0
  27. package/dist/decorators/controllers/ControllerDecorators.d.ts +36 -0
  28. package/dist/decorators/controllers/ControllerDecorators.js +104 -0
  29. package/dist/decorators/controllers/ControllerDecorators.js.map +1 -0
  30. package/dist/dependencyInjection/DependecyService.d.ts +9 -0
  31. package/dist/dependencyInjection/DependecyService.js +23 -0
  32. package/dist/dependencyInjection/DependecyService.js.map +1 -0
  33. package/dist/enums/httpVerbs/HttpVerbs.d.ts +6 -0
  34. package/dist/enums/httpVerbs/HttpVerbs.js +11 -0
  35. package/dist/enums/httpVerbs/HttpVerbs.js.map +1 -0
  36. package/dist/index.d.ts +14 -0
  37. package/dist/interfaces/IApplication.d.ts +7 -0
  38. package/dist/interfaces/IApplication.js +3 -0
  39. package/dist/interfaces/IApplication.js.map +1 -0
  40. package/dist/interfaces/IApplicationConfiguration.d.ts +5 -0
  41. package/dist/interfaces/IApplicationConfiguration.js +3 -0
  42. package/dist/interfaces/IApplicationConfiguration.js.map +1 -0
  43. package/dist/interfaces/IController.d.ts +5 -0
  44. package/dist/interfaces/IController.js +3 -0
  45. package/dist/interfaces/IController.js.map +1 -0
  46. package/dist/interfaces/entities/IDirectory.d.ts +5 -0
  47. package/dist/interfaces/entities/IDirectory.js +3 -0
  48. package/dist/interfaces/entities/IDirectory.js.map +1 -0
  49. package/dist/jest.config.d.ts +0 -0
  50. package/dist/jest.config.js +8 -0
  51. package/dist/jest.config.js.map +1 -0
  52. package/dist/midlewares/IMidleware.d.ts +4 -0
  53. package/dist/midlewares/IMidleware.js +3 -0
  54. package/dist/midlewares/IMidleware.js.map +1 -0
  55. package/dist/services/FileService.js +45 -0
  56. package/dist/services/FileService.js.map +1 -0
  57. package/dist/services/IFileService.js +8 -0
  58. package/dist/services/IFileService.js.map +1 -0
  59. package/dist/services/fileService/FileService.d.ts +10 -0
  60. package/dist/services/fileService/FileService.js +96 -0
  61. package/dist/services/fileService/FileService.js.map +1 -0
  62. package/dist/services/fileService/FileServiceBase.d.ts +10 -0
  63. package/dist/services/fileService/FileServiceBase.js +7 -0
  64. package/dist/services/fileService/FileServiceBase.js.map +1 -0
  65. package/package.json +7 -3
  66. package/.vscode/launch.json +0 -21
  67. package/Application.ts +0 -39
  68. package/ApplicationConfiguration.ts +0 -82
  69. package/__tests__/classes/Controller.ts +0 -38
  70. package/__tests__/decorators/controllers/ControllerDecorators.spec.ts +0 -67
  71. package/controllers/base/ControllerBase.ts +0 -116
  72. package/decorators/controllers/ControllerDecorators.ts +0 -187
  73. package/dependencyInjection/DependecyService.ts +0 -36
  74. package/enums/httpVerbs/HttpVerbs.ts +0 -7
  75. package/interfaces/IApplication.ts +0 -13
  76. package/interfaces/IApplicationConfiguration.ts +0 -6
  77. package/interfaces/IController.ts +0 -8
  78. package/interfaces/entities/IDirectory.ts +0 -6
  79. package/jest.config.ts +0 -6
  80. package/midlewares/IMidleware.ts +0 -6
  81. package/services/fileService/FileService.ts +0 -125
  82. package/services/fileService/FileServiceBase.ts +0 -16
  83. package/tsconfig.json +0 -103
@@ -0,0 +1,79 @@
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
+ exports.ControllerBase = void 0;
7
+ const ControllerDecorators_1 = __importDefault(require("../../decorators/controllers/ControllerDecorators"));
8
+ const DependecyService_1 = __importDefault(require("../../dependencyInjection/DependecyService"));
9
+ const HttpVerbs_1 = require("../../enums/httpVerbs/HttpVerbs");
10
+ class ControllerBase {
11
+ constructor() {
12
+ this.Request = {};
13
+ this.Response = {};
14
+ }
15
+ OK(result) {
16
+ this.Response.status(200);
17
+ this.Response.json(result);
18
+ }
19
+ Created() {
20
+ this.Response.status(201);
21
+ this.Response.end();
22
+ }
23
+ BadRequest(result) {
24
+ this.Response.status(400);
25
+ this.Response.json(result);
26
+ }
27
+ Error(result) {
28
+ this.Response.status(500);
29
+ this.Response.json(result);
30
+ }
31
+ SendResponse(status, result) {
32
+ this.Response.status(status);
33
+ this.Response.json(result);
34
+ }
35
+ static AppendController(ctor, application) {
36
+ let empty = new ctor();
37
+ let methods = Reflect.ownKeys(empty.constructor.prototype).filter(m => {
38
+ return typeof empty[m] == "function";
39
+ });
40
+ let route = ControllerDecorators_1.default.GetRoute(empty);
41
+ if (!route)
42
+ return;
43
+ for (let method of methods) {
44
+ let action = ControllerDecorators_1.default.GetAction(empty, method.toString());
45
+ if (!action) {
46
+ continue;
47
+ }
48
+ let verb = ControllerDecorators_1.default.GetVerb(empty, method.toString());
49
+ if (!verb)
50
+ verb = HttpVerbs_1.HTTPVerbs.GET;
51
+ console.debug("appended : ", verb, `${route}${action}`);
52
+ application.Express[verb.toString().toLowerCase()](`${route}${action}`, (req, resp) => {
53
+ let midlewares = ControllerDecorators_1.default.GetMidlewares(empty).reverse();
54
+ midlewares.push(...ControllerDecorators_1.default.GetBefores(empty, method.toString()).reverse());
55
+ if (midlewares) {
56
+ for (let method of midlewares) {
57
+ method(req);
58
+ }
59
+ }
60
+ let args = ControllerDecorators_1.default.GetArgumentsHandler(empty, method.toString());
61
+ let params = [];
62
+ if (args) {
63
+ if (args.Arguments.length > 0) {
64
+ if (req.body && verb == (HttpVerbs_1.HTTPVerbs.POST || verb == HttpVerbs_1.HTTPVerbs.PUT))
65
+ params = args.CreateArgumentsList(req.body);
66
+ if (req.query)
67
+ params.push(...args.CreateArgumentsList(req.query));
68
+ }
69
+ }
70
+ let controller = DependecyService_1.default.ResolveCtor(empty.constructor);
71
+ controller.Request = req;
72
+ controller.Response = resp;
73
+ controller[method](...params);
74
+ });
75
+ }
76
+ }
77
+ }
78
+ exports.ControllerBase = ControllerBase;
79
+ //# sourceMappingURL=ControllerBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControllerBase.js","sourceRoot":"","sources":["../../../controllers/base/ControllerBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import 'reflect-metadata';
2
+ import { HTTPVerbs } from '../../enums/httpVerbs/HttpVerbs';
3
+ import IController from '../../interfaces/IController';
4
+ import IMidleware from '../../midlewares/IMidleware';
5
+ export default class ControllersDecorators {
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;
13
+ static Route(route: string): (target: Function) => void;
14
+ static Use(midleware: IMidleware): (target: Function) => void;
15
+ static GetMidlewares(controller: IController): IMidleware[];
16
+ static Before(midleware: IMidleware): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
17
+ static GetBefores(controller: IController, methodName: string): IMidleware[];
18
+ static GetRoute(controller: IController): string | undefined;
19
+ static Verb(verb: HTTPVerbs): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
20
+ static GetVerb(target: IController, methodName: string): HTTPVerbs | undefined;
21
+ static Action(actionName: String): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
22
+ 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;
29
+ private static SetMetaData;
30
+ private static GetMetaData;
31
+ }
32
+ interface IArgumentResolverHandler {
33
+ Arguments: string[];
34
+ CreateArgumentsList: (args: any) => any[];
35
+ }
36
+ export {};
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("reflect-metadata");
4
+ class ControllersDecorators {
5
+ constructor() {
6
+ }
7
+ static Route(route) {
8
+ return function (target) {
9
+ Reflect.defineMetadata(ControllersDecorators.RouteKeyMetadata, route, target);
10
+ };
11
+ }
12
+ static Use(midleware) {
13
+ return function (target) {
14
+ var _a;
15
+ let current = (_a = Reflect.getMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, target)) !== null && _a !== void 0 ? _a : [];
16
+ current.push(midleware);
17
+ Reflect.defineMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, current, target);
18
+ };
19
+ }
20
+ static GetMidlewares(controller) {
21
+ var _a;
22
+ return (_a = Reflect.getMetadata(ControllersDecorators.ControllerMidlewaresKeyMetadata, controller.constructor)) !== null && _a !== void 0 ? _a : [];
23
+ }
24
+ static Before(midleware) {
25
+ return function (target, methodName, propertyDescriptor) {
26
+ var _a;
27
+ let current = (_a = Reflect.getMetadata(ControllersDecorators.ActionsMidlewaresKeyMetadata, target, methodName)) !== null && _a !== void 0 ? _a : [];
28
+ current.push(midleware);
29
+ ControllersDecorators.SetMetaData(ControllersDecorators.ActionsMidlewaresKeyMetadata, target, methodName, current);
30
+ };
31
+ }
32
+ static GetBefores(controller, methodName) {
33
+ var _a;
34
+ return (_a = this.GetMetaData(ControllersDecorators.ActionsMidlewaresKeyMetadata, controller, methodName)) !== null && _a !== void 0 ? _a : [];
35
+ }
36
+ static GetRoute(controller) {
37
+ return Reflect.getMetadata(ControllersDecorators.RouteKeyMetadata, controller.constructor);
38
+ }
39
+ static Verb(verb) {
40
+ return function (target, methodName, propertyDescriptor) {
41
+ ControllersDecorators.SetMetaData(ControllersDecorators.ActionVerbKeyMetadata, target, methodName, verb);
42
+ };
43
+ }
44
+ static GetVerb(target, methodName) {
45
+ let meta = this.GetMetaData(ControllersDecorators.ActionVerbKeyMetadata, target, methodName);
46
+ return meta;
47
+ }
48
+ static Action(actionName) {
49
+ return function (target, methodName, propertyDescriptor) {
50
+ ControllersDecorators.SetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName, actionName);
51
+ };
52
+ }
53
+ static GetAction(target, methodName) {
54
+ let meta = this.GetMetaData(ControllersDecorators.ActionNameKeyMetadata, target, methodName);
55
+ return meta;
56
+ }
57
+ static Argument(argName1, argName2, argName3, argName4, argName5, argName6) {
58
+ return function (target, methodName, propertyDescriptor) {
59
+ ControllersDecorators.SetMetaData(ControllersDecorators.ArgumentsHandlerKeyMetadata, target, methodName, {
60
+ Arguments: [argName1, argName2, argName3, argName4, argName5, argName6],
61
+ CreateArgumentsList: (args) => {
62
+ let results = [];
63
+ if (argName1 && args[argName1] != undefined)
64
+ results[0] = args[argName1];
65
+ if (argName2 && args[argName2] != undefined)
66
+ results[1] = args[argName2];
67
+ if (argName3 && args[argName3] != undefined)
68
+ results[2] = args[argName3];
69
+ if (argName4 && args[argName4] != undefined)
70
+ results[3] = args[argName4];
71
+ if (argName5 && args[argName5] != undefined)
72
+ results[4] = args[argName5];
73
+ if (argName6 && args[argName6] != undefined)
74
+ results[5] = args[argName6];
75
+ return results;
76
+ }
77
+ });
78
+ };
79
+ }
80
+ static GetArgumentsHandler(target, methodName) {
81
+ let handler = this.GetMetaData(ControllersDecorators.ArgumentsHandlerKeyMetadata, target, methodName);
82
+ return handler;
83
+ }
84
+ static SetMetaData(key, target, methodName, value) {
85
+ var meta = Reflect.getOwnMetadata(key, target, methodName);
86
+ if (!meta)
87
+ Reflect.defineMetadata(key, value, target, methodName);
88
+ }
89
+ static GetMetaData(key, target, methodName) {
90
+ var meta = Reflect.getMetadata(key, target, methodName);
91
+ if (meta != undefined)
92
+ return meta;
93
+ else
94
+ return undefined;
95
+ }
96
+ }
97
+ exports.default = ControllersDecorators;
98
+ ControllersDecorators.RouteKeyMetadata = "meta:controllerRoute";
99
+ ControllersDecorators.ActionVerbKeyMetadata = "meta:actionVerb";
100
+ ControllersDecorators.ActionNameKeyMetadata = "meta:actionName";
101
+ ControllersDecorators.ArgumentsHandlerKeyMetadata = "meta:argHandler";
102
+ ControllersDecorators.ControllerMidlewaresKeyMetadata = "meta:controllerMidlewaresKey";
103
+ ControllersDecorators.ActionsMidlewaresKeyMetadata = "meta:actionMidlewaresKey";
104
+ //# sourceMappingURL=ControllerDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControllerDecorators.js","sourceRoot":"","sources":["../../../decorators/controllers/ControllerDecorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export default class DependecyService {
2
+ private static _services;
3
+ static RegisterFor(type: Function, ctor: {
4
+ new (...args: any[]): any;
5
+ }, builder?: () => any): void;
6
+ static Register(type: Function, builder?: () => any): void;
7
+ static Resolve<T>(type: Function, args?: any[]): T;
8
+ static ResolveCtor(ctor: Function, args?: any[]): any;
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class DependecyService {
4
+ static RegisterFor(type, ctor, builder) {
5
+ let defaultBuilder = () => Reflect.construct(ctor !== null && ctor !== void 0 ? ctor : type, []);
6
+ this._services.push({ Type: type, Builder: builder !== null && builder !== void 0 ? builder : defaultBuilder });
7
+ }
8
+ static Register(type, builder) {
9
+ let defaultBuilder = () => Reflect.construct(type, []);
10
+ this._services.push({ Type: type, Builder: builder !== null && builder !== void 0 ? builder : defaultBuilder });
11
+ }
12
+ static Resolve(type, args) {
13
+ var _a;
14
+ return (_a = this._services.find(u => u.Type == type)) === null || _a === void 0 ? void 0 : _a.Builder(args);
15
+ }
16
+ static ResolveCtor(ctor, args) {
17
+ var _a;
18
+ return (_a = this._services.find(u => u.Type == ctor)) === null || _a === void 0 ? void 0 : _a.Builder(args);
19
+ }
20
+ }
21
+ exports.default = DependecyService;
22
+ DependecyService._services = [];
23
+ //# sourceMappingURL=DependecyService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependecyService.js","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":";;AAAA,MAAqB,gBAAgB;IAI1B,MAAM,CAAC,WAAW,CAAC,IAAe,EAAE,IAAsC,EAAE,OAAoB;QAEnG,IAAI,cAAc,GAAG,GAAG,EAAE,CAAE,OAAO,CAAC,SAAS,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,EAAE,EAAE,CAAQ,CAAC;QAEvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAG,IAAI,EAAE,OAAO,EAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAe,EAAE,OAAoB;QAExD,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAG,IAAI,EAAE,OAAO,EAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,OAAO,CAAI,IAAe,EAAE,IAAa;;QAEnD,OAAO,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAM,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAe,EAAE,IAAa;;QAEpD,OAAO,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;;AA1BL,mCA4BC;AA1BkB,0BAAS,GAAgB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare enum HTTPVerbs {
2
+ GET = "GET",
3
+ POST = "POST",
4
+ PUT = "PUT",
5
+ DELETE = "DELETE"
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HTTPVerbs = void 0;
4
+ var HTTPVerbs;
5
+ (function (HTTPVerbs) {
6
+ HTTPVerbs["GET"] = "GET";
7
+ HTTPVerbs["POST"] = "POST";
8
+ HTTPVerbs["PUT"] = "PUT";
9
+ HTTPVerbs["DELETE"] = "DELETE";
10
+ })(HTTPVerbs = exports.HTTPVerbs || (exports.HTTPVerbs = {}));
11
+ //# sourceMappingURL=HttpVerbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpVerbs.js","sourceRoot":"","sources":["../../../enums/httpVerbs/HttpVerbs.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IAEjB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACrB,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB"}
@@ -0,0 +1,14 @@
1
+ import IApplicationConfigurationTp from "./interfaces/IApplicationConfiguration";
2
+ import IApplicationTp from "./interfaces/IApplication";
3
+ import IControllerTp from "./interfaces/IController";
4
+ import IMidlewareTp from './midlewares/IMidleware';
5
+ export declare namespace Core {
6
+ }
7
+ export declare namespace DependencyInjection {
8
+ }
9
+ export declare namespace Interfaces {
10
+ type IApplicationConfiguration = IApplicationConfigurationTp;
11
+ type IApplication = IApplicationTp;
12
+ type IController = IControllerTp;
13
+ type IMidleware = IMidlewareTp;
14
+ }
@@ -0,0 +1,7 @@
1
+ import { Express } from "express";
2
+ import IApplicationConfiguration from './IApplicationConfiguration';
3
+ export default interface IApplication {
4
+ Express: Express;
5
+ StartAsync(): Promise<void>;
6
+ Configure(appConfig: IApplicationConfiguration): void;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApplication.js","sourceRoot":"","sources":["../../interfaces/IApplication.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export default interface IApplicationConfiguration {
2
+ Host: string;
3
+ Port: number;
4
+ StartAsync(): Promise<void>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApplicationConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApplicationConfiguration.js","sourceRoot":"","sources":["../../interfaces/IApplicationConfiguration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Request, Response } from 'express';
2
+ export default interface IController {
3
+ Request: Request;
4
+ Response: Response;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IController.js","sourceRoot":"","sources":["../../interfaces/IController.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface IDirectory {
2
+ Path: string;
3
+ SubDirectories?: string[];
4
+ Files?: string[];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDirectory.js","sourceRoot":"","sources":["../../../interfaces/entities/IDirectory.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
3
+ module.exports = {
4
+ preset: 'ts-jest',
5
+ testEnvironment: 'node',
6
+ modulePathIgnorePatterns: ['<rootDir>/__test__/classes/'],
7
+ };
8
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;IACvB,wBAAwB,EAAE,CAAC,6BAA6B,CAAC;CAC1D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Request } from "express";
2
+ export default interface IMidleware {
3
+ (req: Request): void;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMidleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMidleware.js","sourceRoot":"","sources":["../../midlewares/IMidleware.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ var FileService_1;
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const fs_1 = __importDefault(require("fs"));
23
+ const DependecyService_1 = __importDefault(require("../dependencyInjection/DependecyService"));
24
+ const IFileService_1 = require("./IFileService");
25
+ let FileService = FileService_1 = class FileService extends IFileService_1.FileServiceInjectable {
26
+ CopyAsync(origin, dest) {
27
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
28
+ try {
29
+ yield fs_1.default.copyFile(origin, dest, (err) => {
30
+ if (err)
31
+ throw err;
32
+ resolve();
33
+ });
34
+ }
35
+ catch (err) {
36
+ reject(err);
37
+ }
38
+ }));
39
+ }
40
+ };
41
+ FileService = FileService_1 = __decorate([
42
+ DependecyService_1.default.RegisterForType(IFileService_1.FileServiceInjectable, FileService_1)
43
+ ], FileService);
44
+ exports.default = FileService;
45
+ //# sourceMappingURL=FileService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileService.js","sourceRoot":"","sources":["../../services/FileService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,4CAAsB;AACtB,+FAAuE;AACvE,iDAAmE;AAGpD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,oCAAqB;IAGnD,SAAS,CAAC,MAAc,EAAE,IAAY;QAEzC,OAAO,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAC,EAAE;YAE9C,IAAG;gBACC,MAAM,YAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBAEtC,IAAG,GAAG;wBACF,MAAM,GAAG,CAAC;oBAEd,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAA;aAEL;YAAA,OAAM,GAAG,EACV;gBACI,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;QACL,CAAC,CAAA,CAAC,CAAA;IAEN,CAAC;CACJ,CAAA;AAvBoB,WAAW;IAD/B,0BAAgB,CAAC,eAAe,CAAC,oCAAqB,EAAC,aAAW,CAAC;GAC/C,WAAW,CAuB/B;kBAvBoB,WAAW"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileServiceInjectable = void 0;
4
+ class FileServiceInjectable {
5
+ constructor() { }
6
+ }
7
+ exports.FileServiceInjectable = FileServiceInjectable;
8
+ //# sourceMappingURL=IFileService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFileService.js","sourceRoot":"","sources":["../../services/IFileService.ts"],"names":[],"mappings":";;;AAKA,MAAa,qBAAqB;IAE9B,gBAAc,CAAC;CAClB;AAHD,sDAGC"}
@@ -0,0 +1,10 @@
1
+ import FileServiceBase from "./FileServiceBase";
2
+ export default class FileService extends FileServiceBase {
3
+ GetDefaultDir(): string;
4
+ CreateDirectory(path: string): Promise<void>;
5
+ FileExists(file: string): Promise<boolean>;
6
+ DirectoryExists(path: string): Promise<boolean>;
7
+ GetAllFiles(origin: string): Promise<string[]>;
8
+ GetAllForders(origin: string): Promise<string[]>;
9
+ CopyAsync(origin: string, dest: string): Promise<void>;
10
+ }
@@ -0,0 +1,96 @@
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 fs_1 = __importDefault(require("fs"));
16
+ const promises_1 = __importDefault(require("fs/promises"));
17
+ const path_1 = __importDefault(require("path"));
18
+ const platform_folders_1 = require("platform-folders");
19
+ const FileServiceBase_1 = __importDefault(require("./FileServiceBase"));
20
+ class FileService extends FileServiceBase_1.default {
21
+ GetDefaultDir() {
22
+ return (0, platform_folders_1.getDesktopFolder)();
23
+ }
24
+ CreateDirectory(path) {
25
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
26
+ try {
27
+ return resolve(fs_1.default.mkdirSync(path));
28
+ }
29
+ catch (err) {
30
+ return reject(err);
31
+ }
32
+ }));
33
+ }
34
+ FileExists(file) {
35
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
36
+ try {
37
+ return resolve(fs_1.default.existsSync(file) && fs_1.default.lstatSync(file).isFile());
38
+ }
39
+ catch (err) {
40
+ return reject(err);
41
+ }
42
+ }));
43
+ }
44
+ DirectoryExists(path) {
45
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
46
+ try {
47
+ return resolve(fs_1.default.existsSync(path) && fs_1.default.lstatSync(path).isDirectory());
48
+ }
49
+ catch (err) {
50
+ return reject(err);
51
+ }
52
+ }));
53
+ }
54
+ GetAllFiles(origin) {
55
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
56
+ if (!fs_1.default.existsSync(origin))
57
+ return reject(new Error(`The path ${origin} not exists`));
58
+ try {
59
+ let files = yield promises_1.default.readdir(origin, { withFileTypes: true });
60
+ return resolve(files.filter(u => u.isFile()).map(u => path_1.default.join(origin, u.name)));
61
+ }
62
+ catch (err) {
63
+ return reject(err);
64
+ }
65
+ }));
66
+ }
67
+ GetAllForders(origin) {
68
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
69
+ if (!fs_1.default.existsSync(origin))
70
+ return reject(new Error(`The path ${origin} not exists`));
71
+ try {
72
+ let files = yield promises_1.default.readdir(origin, { withFileTypes: true });
73
+ return resolve(files.filter(u => u.isDirectory()).map(u => path_1.default.join(origin, u.name)));
74
+ }
75
+ catch (err) {
76
+ return reject(err);
77
+ }
78
+ }));
79
+ }
80
+ CopyAsync(origin, dest) {
81
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
82
+ try {
83
+ yield fs_1.default.copyFile(origin, dest, (err) => {
84
+ if (err)
85
+ throw err;
86
+ resolve();
87
+ });
88
+ }
89
+ catch (err) {
90
+ reject(err);
91
+ }
92
+ }));
93
+ }
94
+ }
95
+ exports.default = FileService;
96
+ //# sourceMappingURL=FileService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileService.js","sourceRoot":"","sources":["../../../services/fileService/FileService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export default abstract class FileServiceBase {
2
+ constructor();
3
+ abstract CopyAsync(origin: string, dest: string): Promise<void>;
4
+ abstract GetAllFiles(origin: string): Promise<string[]>;
5
+ abstract GetAllForders(origin: string): Promise<string[]>;
6
+ abstract FileExists(file: string): Promise<boolean>;
7
+ abstract DirectoryExists(path: string): Promise<boolean>;
8
+ abstract CreateDirectory(path: string): Promise<void>;
9
+ abstract GetDefaultDir(): string;
10
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class FileServiceBase {
4
+ constructor() { }
5
+ }
6
+ exports.default = FileServiceBase;
7
+ //# sourceMappingURL=FileServiceBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileServiceBase.js","sourceRoot":"","sources":["../../../services/fileService/FileServiceBase.ts"],"names":[],"mappings":";;AAEA,MAA8B,eAAe;IAEzC,gBAAc,CAAC;CAUlB;AAZD,kCAYC"}
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "web_api_base",
3
- "version": "1.0.0",
4
- "description": "web api base",
5
- "main": "index.js",
3
+ "version": "1.1.0",
4
+ "description": "web api base",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
6
10
  "scripts": {
7
11
  "test": "jest",
8
12
  "debug": "node ./dist/Index.js",