@scefira/dfw 0.2.10 → 1.0.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 (125) hide show
  1. package/lib/DFWUtils.d.ts +3 -0
  2. package/lib/DFWUtils.d.ts.map +1 -1
  3. package/lib/DFWUtils.js +34 -2
  4. package/lib/DFWUtils.js.map +1 -1
  5. package/lib/controller/DFWController.d.ts +17 -0
  6. package/lib/controller/DFWController.d.ts.map +1 -0
  7. package/lib/{manager/DatabaseManager.js → controller/DFWController.js} +28 -8
  8. package/lib/controller/DFWController.js.map +1 -0
  9. package/lib/controller/DFWSecurityController.d.ts +29 -0
  10. package/lib/controller/DFWSecurityController.d.ts.map +1 -0
  11. package/lib/controller/DFWSecurityController.js +107 -0
  12. package/lib/controller/DFWSecurityController.js.map +1 -0
  13. package/lib/controller/DFWSessionController.d.ts +8 -0
  14. package/lib/controller/DFWSessionController.d.ts.map +1 -0
  15. package/lib/controller/DFWSessionController.js +45 -0
  16. package/lib/controller/DFWSessionController.js.map +1 -0
  17. package/lib/controller/DFWUserController.d.ts +22 -0
  18. package/lib/controller/DFWUserController.d.ts.map +1 -0
  19. package/lib/controller/DFWUserController.js +69 -0
  20. package/lib/controller/DFWUserController.js.map +1 -0
  21. package/lib/index.d.ts +35 -6
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/index.js +110 -13
  24. package/lib/index.js.map +1 -1
  25. package/lib/lib/APIManager.d.ts +10 -0
  26. package/lib/lib/APIManager.d.ts.map +1 -0
  27. package/lib/lib/APIManager.js +130 -0
  28. package/lib/lib/APIManager.js.map +1 -0
  29. package/lib/lib/DFWSessionStore.d.ts +11 -0
  30. package/lib/lib/DFWSessionStore.d.ts.map +1 -0
  31. package/lib/lib/DFWSessionStore.js +60 -0
  32. package/lib/lib/DFWSessionStore.js.map +1 -0
  33. package/lib/lib/SessionManager.d.ts +6 -0
  34. package/lib/lib/SessionManager.d.ts.map +1 -0
  35. package/lib/lib/SessionManager.js +9 -0
  36. package/lib/lib/SessionManager.js.map +1 -0
  37. package/lib/lib/strategies/DFWPassportStrategy.d.ts +4 -0
  38. package/lib/lib/strategies/DFWPassportStrategy.d.ts.map +1 -0
  39. package/lib/lib/strategies/DFWPassportStrategy.js +33 -0
  40. package/lib/lib/strategies/DFWPassportStrategy.js.map +1 -0
  41. package/lib/listeners/DELETEListener.d.ts +4 -0
  42. package/lib/listeners/DELETEListener.d.ts.map +1 -0
  43. package/lib/listeners/DELETEListener.js +10 -0
  44. package/lib/listeners/DELETEListener.js.map +1 -0
  45. package/lib/listeners/GETListener.d.ts +4 -0
  46. package/lib/listeners/GETListener.d.ts.map +1 -0
  47. package/lib/listeners/GETListener.js +10 -0
  48. package/lib/listeners/GETListener.js.map +1 -0
  49. package/lib/listeners/PATCHListener.d.ts +4 -0
  50. package/lib/listeners/PATCHListener.d.ts.map +1 -0
  51. package/lib/listeners/PATCHListener.js +10 -0
  52. package/lib/listeners/PATCHListener.js.map +1 -0
  53. package/lib/listeners/POSTListener.d.ts +4 -0
  54. package/lib/listeners/POSTListener.d.ts.map +1 -0
  55. package/lib/listeners/POSTListener.js +10 -0
  56. package/lib/listeners/POSTListener.js.map +1 -0
  57. package/lib/listeners/PUTListener.d.ts +4 -0
  58. package/lib/listeners/PUTListener.d.ts.map +1 -0
  59. package/lib/listeners/PUTListener.js +10 -0
  60. package/lib/listeners/PUTListener.js.map +1 -0
  61. package/lib/listeners/RawListener.d.ts +5 -0
  62. package/lib/listeners/RawListener.d.ts.map +1 -0
  63. package/lib/listeners/RawListener.js +13 -0
  64. package/lib/listeners/RawListener.js.map +1 -0
  65. package/lib/listeners/auth/DFWAuthListener.d.ts +4 -0
  66. package/lib/listeners/auth/DFWAuthListener.d.ts.map +1 -0
  67. package/lib/listeners/auth/DFWAuthListener.js +31 -0
  68. package/lib/listeners/auth/DFWAuthListener.js.map +1 -0
  69. package/lib/test.js +86 -63
  70. package/lib/test.js.map +1 -1
  71. package/lib/types/APIListener.d.ts +51 -0
  72. package/lib/types/APIListener.d.ts.map +1 -0
  73. package/lib/types/{DFWRequestScheme.js → APIListener.js} +1 -1
  74. package/lib/types/APIListener.js.map +1 -0
  75. package/lib/types/DFWConfig.d.ts +23 -30
  76. package/lib/types/DFWConfig.d.ts.map +1 -1
  77. package/lib/types/DFWRequest.d.ts +26 -0
  78. package/lib/types/DFWRequest.d.ts.map +1 -0
  79. package/lib/types/{DFWBoot.js → DFWRequest.js} +1 -1
  80. package/lib/types/DFWRequest.js.map +1 -0
  81. package/package.json +19 -11
  82. package/prisma/schema/dfw.prisma +91 -0
  83. package/prisma/schema/schema.prisma +9 -0
  84. package/lib/DFWInstance.d.ts +0 -21
  85. package/lib/DFWInstance.d.ts.map +0 -1
  86. package/lib/DFWInstance.js +0 -56
  87. package/lib/DFWInstance.js.map +0 -1
  88. package/lib/manager/APIManager.d.ts +0 -48
  89. package/lib/manager/APIManager.d.ts.map +0 -1
  90. package/lib/manager/APIManager.js +0 -211
  91. package/lib/manager/APIManager.js.map +0 -1
  92. package/lib/manager/DFWModule.d.ts +0 -14
  93. package/lib/manager/DFWModule.d.ts.map +0 -1
  94. package/lib/manager/DFWModule.js +0 -20
  95. package/lib/manager/DFWModule.js.map +0 -1
  96. package/lib/manager/DatabaseManager.d.ts +0 -9
  97. package/lib/manager/DatabaseManager.d.ts.map +0 -1
  98. package/lib/manager/DatabaseManager.js.map +0 -1
  99. package/lib/manager/FileManager.d.ts +0 -149
  100. package/lib/manager/FileManager.d.ts.map +0 -1
  101. package/lib/manager/FileManager.js +0 -280
  102. package/lib/manager/FileManager.js.map +0 -1
  103. package/lib/manager/SecurityManager.d.ts +0 -51
  104. package/lib/manager/SecurityManager.d.ts.map +0 -1
  105. package/lib/manager/SecurityManager.js +0 -201
  106. package/lib/manager/SecurityManager.js.map +0 -1
  107. package/lib/manager/SessionManager.d.ts +0 -41
  108. package/lib/manager/SessionManager.d.ts.map +0 -1
  109. package/lib/manager/SessionManager.js +0 -199
  110. package/lib/manager/SessionManager.js.map +0 -1
  111. package/lib/manager/UserManager.d.ts +0 -43
  112. package/lib/manager/UserManager.d.ts.map +0 -1
  113. package/lib/manager/UserManager.js +0 -63
  114. package/lib/manager/UserManager.js.map +0 -1
  115. package/lib/types/APIListenerConfig.d.ts +0 -53
  116. package/lib/types/APIListenerConfig.d.ts.map +0 -1
  117. package/lib/types/APIListenerConfig.js +0 -3
  118. package/lib/types/APIListenerConfig.js.map +0 -1
  119. package/lib/types/DFWBoot.d.ts +0 -19
  120. package/lib/types/DFWBoot.d.ts.map +0 -1
  121. package/lib/types/DFWBoot.js.map +0 -1
  122. package/lib/types/DFWRequestScheme.d.ts +0 -40
  123. package/lib/types/DFWRequestScheme.d.ts.map +0 -1
  124. package/lib/types/DFWRequestScheme.js.map +0 -1
  125. package/prisma/schema.prisma +0 -98
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const APIManager_1 = __importDefault(require("./manager/APIManager"));
30
- const DatabaseManager_1 = __importDefault(require("./manager/DatabaseManager"));
31
- const FileManager_1 = __importDefault(require("./manager/FileManager"));
32
- const SecurityManager_1 = __importDefault(require("./manager/SecurityManager"));
33
- const SessionManager_1 = __importDefault(require("./manager/SessionManager"));
34
- const UserManager_1 = __importDefault(require("./manager/UserManager"));
35
- const fs = __importStar(require("fs"));
36
- const client_1 = require("@prisma/client");
37
- class DFWInstance {
38
- constructor(config) {
39
- this.config = config;
40
- this.database = new client_1.PrismaClient({
41
- log: config.database ? config.database.log ? ['query', 'info', 'warn', 'error'] : undefined : undefined,
42
- });
43
- if (fs.existsSync(".dfw") == false) {
44
- fs.mkdirSync(".dfw");
45
- }
46
- this.DatabaseManager = new DatabaseManager_1.default(this);
47
- this.APIManager = new APIManager_1.default(this);
48
- this.SessionManager = new SessionManager_1.default(this);
49
- this.SecurityManager = new SecurityManager_1.default(this);
50
- this.UserManager = new UserManager_1.default(this);
51
- this.FileManager = new FileManager_1.default(this);
52
- Object.freeze(this.config); // Make it readonly
53
- }
54
- }
55
- exports.default = DFWInstance;
56
- //# sourceMappingURL=DFWInstance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DFWInstance.js","sourceRoot":"","sources":["../src/DFWInstance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA8C;AAC9C,gFAAwD;AACxD,wEAAgD;AAChD,gFAAwD;AACxD,8EAAsD;AACtD,wEAAgD;AAEhD,uCAAyB;AACzB,2CAA8C;AAE9C,MAAM,WAAW;IAYb,YAAY,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAY,CAAC;YAC7B,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC1G,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;YAChC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,wBAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;IACnD,CAAC;CAEJ;AAED,kBAAe,WAAW,CAAC"}
@@ -1,48 +0,0 @@
1
- import { Response, Express, Router } from "express";
2
- import { DFWRequest, DFWRequestScheme } from "../types/DFWRequestScheme";
3
- import DFWModule from "./DFWModule";
4
- import { APIListenerConfig } from "../types/APIListenerConfig";
5
- import DFWBoot from "../types/DFWBoot";
6
- import DFWInstance from "../DFWInstance";
7
- export type APIFunction = (req: DFWRequest, res: Response, dfw: DFWRequestScheme) => (Promise<any> | any);
8
- export type APIMethods = "get" | "put" | "post" | "delete" | "options" | "link";
9
- export declare class APIListener {
10
- readonly config: APIListenerConfig;
11
- readonly listener: APIFunction;
12
- constructor(config: APIListenerConfig | APIFunction, listener?: APIFunction);
13
- }
14
- export type BootCallback = (req: DFWRequest, boot: DFWBoot) => Promise<any>;
15
- export default class APIManager extends DFWModule {
16
- server: Express;
17
- DFW_BASIC_ROUTER: Router;
18
- private bootCallbacks;
19
- constructor(DFW: DFWInstance);
20
- middleware(req: DFWRequest, res: Response): Promise<void>;
21
- startServer(port?: number): void;
22
- /**
23
- *
24
- * @param path
25
- * @param apiFunction
26
- * @param config
27
- */
28
- addListener(path: string, apiFunction: APIFunction, config?: APIListenerConfig): void;
29
- makeAPIListenerMiddlewares(config?: APIListenerConfig): any[];
30
- /**
31
- *
32
- * @param dfw
33
- */
34
- getBootAsync(req: DFWRequest): Promise<DFWBoot>;
35
- /**
36
- *
37
- * @param callback
38
- */
39
- addBootCallback(callback: BootCallback): void;
40
- /**
41
- * Función recursiva que registra en DFW los listeners basados en una estructura de objeto
42
- * @param listener
43
- * @param path
44
- */
45
- addListenerObject(listener: (APIListener | Object) | (APIListener | Object)[], path: string): void;
46
- }
47
- export declare const MiddlewareAsyncWrapper: (fn: (...args: any[]) => Promise<void>) => (...args: any[]) => Promise<void>;
48
- //# sourceMappingURL=APIManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../src/manager/APIManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAKzC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;AACzG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhF,qBAAa,WAAW;IACpB,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAC;gBAE1B,MAAM,EAAE,iBAAiB,GAAG,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW;CAS9E;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;IAEtC,MAAM,EAAE,OAAO,CAAwB;IAEvC,gBAAgB,EAAE,MAAM,CAAoB;IAEnD,OAAO,CAAC,aAAa,CAcnB;gBAEU,GAAG,EAAE,WAAW;IAiCf,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAO/C,WAAW,CAAC,IAAI,SAAO;IAK9B;;;;;MAKE;IACK,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAE,iBAAsB;IA4CzF,0BAA0B,CAAC,MAAM,GAAE,iBAAsB;IA+BzD;;;MAGE;IACW,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5D;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,YAAY;IAI7C;;;;MAIE;IACK,iBAAiB,CAAC,QAAQ,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM;CAkBrG;AAED,eAAO,MAAM,sBAAsB,2BAAqB,QAAQ,IAAI,CAAC,sCAA4C,CAAC"}
@@ -1,211 +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
- exports.MiddlewareAsyncWrapper = exports.APIListener = void 0;
16
- const express_fileupload_1 = __importDefault(require("express-fileupload"));
17
- const body_parser_1 = __importDefault(require("body-parser"));
18
- const DFWModule_1 = __importDefault(require("./DFWModule"));
19
- const express_1 = __importDefault(require("express"));
20
- const cookie_parser_1 = __importDefault(require("cookie-parser"));
21
- const SecurityManager_1 = __importDefault(require("./SecurityManager"));
22
- class APIListener {
23
- constructor(config, listener) {
24
- if (typeof config == "function" && !listener) {
25
- this.listener = config;
26
- this.config = { method: "get" };
27
- }
28
- else {
29
- this.config = config;
30
- this.listener = listener;
31
- }
32
- }
33
- }
34
- exports.APIListener = APIListener;
35
- class APIManager extends DFWModule_1.default {
36
- constructor(DFW) {
37
- super(DFW);
38
- this.server = require("express")();
39
- this.DFW_BASIC_ROUTER = express_1.default.Router();
40
- this.bootCallbacks = [
41
- /** add default callback on each APIManager instance */
42
- ({ dfw }, boot) => __awaiter(this, void 0, void 0, function* () {
43
- const session = dfw.session;
44
- boot.session = {
45
- user: session.user ? {
46
- id: session.user.id,
47
- nick: session.user.nick,
48
- email: session.user.email,
49
- credentials: session.user['credentials']
50
- } : undefined
51
- };
52
- })
53
- ];
54
- this.DFW_BASIC_ROUTER.use((0, cookie_parser_1.default)());
55
- this.DFW_BASIC_ROUTER.use(((req, res, next) => {
56
- var _a;
57
- req.dfw = {
58
- __meta: {
59
- config: (_a = req['__dfw_APIConfig']) !== null && _a !== void 0 ? _a : {}
60
- },
61
- instance: this.instance,
62
- req,
63
- res
64
- };
65
- next();
66
- }));
67
- this.DFW_BASIC_ROUTER.use((0, exports.MiddlewareAsyncWrapper)((req, res, next) => __awaiter(this, void 0, void 0, function* () {
68
- try {
69
- yield this.instance.DatabaseManager.middleware(req, res);
70
- yield this.instance.SessionManager.middleware(req, res);
71
- yield this.instance.SecurityManager.middleware(req, res);
72
- yield this.instance.UserManager.middleware(req, res);
73
- yield this.instance.FileManager.middleware(req, res);
74
- yield this.instance.APIManager.middleware(req, res);
75
- next();
76
- }
77
- catch (e) {
78
- next(e);
79
- }
80
- })));
81
- }
82
- middleware(req, res) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- req.dfw.boot = () => this.getBootAsync(req);
85
- req.dfw.addCallback = (cb) => {
86
- res.on('finish', cb);
87
- };
88
- });
89
- }
90
- startServer(port = 3000) {
91
- this.server.listen(port);
92
- console.log(`[DFW] Server listening on port ${port}`);
93
- }
94
- /**
95
- *
96
- * @param path
97
- * @param apiFunction
98
- * @param config
99
- */
100
- addListener(path, apiFunction, config = {}) {
101
- if (!this.server)
102
- throw `you must start an DFW/Express Server before add a listener`;
103
- let handlers = this.makeAPIListenerMiddlewares(config);
104
- // APIFunction middleware
105
- handlers.push((0, exports.MiddlewareAsyncWrapper)((req, res, next) => __awaiter(this, void 0, void 0, function* () {
106
- yield Promise.resolve(apiFunction(req, res, req.dfw)).then((data) => {
107
- if (res.finished !== true && config.autoSend !== false)
108
- res.json(data).end();
109
- if (config.callback)
110
- res.on("finish", () => config.callback && config.callback(req, data));
111
- next();
112
- }).catch((err) => next(err));
113
- })));
114
- // error handler middleware
115
- handlers.push(((err, req, res, next) => {
116
- if (process.env.NODE_ENV == "development")
117
- console.error(`[DFW_ERROR] ${err}`);
118
- res.statusCode = 500;
119
- if (typeof err === "object" && err.message) {
120
- res.json({ error: err.message, stack: process.env.NODE_ENV == "development" ? err.stack : null }).end();
121
- }
122
- else {
123
- res.json({ error: err }).end();
124
- }
125
- next(err);
126
- }));
127
- // Setup meta data
128
- this.server[config.method ? config.method.toLowerCase() : "get"](path, ((req, _res, next) => {
129
- req["__dfw_APIConfig"] = config;
130
- next();
131
- }));
132
- // Install basic middleware
133
- this.server[config.method ? config.method.toLowerCase() : "get"](path, this.DFW_BASIC_ROUTER);
134
- // Install API handlers
135
- this.server[config.method ? config.method.toLowerCase() : "get"](path, handlers);
136
- console.log(`[API][${config.method ? config.method.toUpperCase() : "GET"}] ${path}`);
137
- }
138
- makeAPIListenerMiddlewares(config = {}) {
139
- let handlers = [];
140
- // Body parser
141
- if (config.parseBody !== false) { // Body parser middleware
142
- handlers.push(body_parser_1.default.json(), body_parser_1.default.urlencoded({ extended: true }));
143
- }
144
- //Check security middleware
145
- if (config.security) {
146
- handlers.push((0, exports.MiddlewareAsyncWrapper)((req, res, next) => __awaiter(this, void 0, void 0, function* () {
147
- let bindings = config.security ? SecurityManager_1.default.jsonToBindings(config.security) : [];
148
- for (let binding of bindings) {
149
- if ((yield req.dfw.SecurityManager.checkBindingAsync(req, binding[0], binding[1])) === false) {
150
- next(`${SecurityManager_1.default.RULE_LABELS[binding[0]]}`);
151
- }
152
- }
153
- next();
154
- })));
155
- }
156
- // Upload handler
157
- if (config.upload) {
158
- handlers.push((0, express_fileupload_1.default)(Object.assign(config.upload, config, { useTempFiles: true, tempFileDir: this.instance.FileManager.tmpDir })));
159
- }
160
- return handlers;
161
- }
162
- /**
163
- *
164
- * @param dfw
165
- */
166
- getBootAsync(req) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- let result = {};
169
- for (let callback of this.bootCallbacks) {
170
- yield callback(req, result);
171
- }
172
- return result;
173
- });
174
- }
175
- /**
176
- *
177
- * @param callback
178
- */
179
- addBootCallback(callback) {
180
- this.bootCallbacks.push(callback);
181
- }
182
- /**
183
- * Función recursiva que registra en DFW los listeners basados en una estructura de objeto
184
- * @param listener
185
- * @param path
186
- */
187
- addListenerObject(listener, path) {
188
- if (listener instanceof APIListener) {
189
- this.addListener(path, listener.listener, listener.config);
190
- }
191
- else if (Array.isArray(listener)) {
192
- for (let e of listener) {
193
- this.addListenerObject(e, path);
194
- }
195
- }
196
- else if (typeof listener == "object") {
197
- let keys = Object.keys(listener);
198
- for (let key of keys) {
199
- let n = listener[key];
200
- this.addListenerObject(n, `${path}/${key}`);
201
- }
202
- }
203
- else {
204
- throw "PhaseLoadModule:registerApiListener expected object|array|APIListener as node argument";
205
- }
206
- }
207
- }
208
- exports.default = APIManager;
209
- const MiddlewareAsyncWrapper = (fn) => (...args) => fn(...args).catch(args[2]);
210
- exports.MiddlewareAsyncWrapper = MiddlewareAsyncWrapper;
211
- //# sourceMappingURL=APIManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../src/manager/APIManager.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { PrismaClient } from "@prisma/client";
2
- import * as runtime from '@prisma/client/runtime/library';
3
- import { NextFunction } from "express";
4
- import DFWInstance from "../DFWInstance";
5
- export default abstract class DFWModule {
6
- private _instance;
7
- private _db;
8
- constructor(DFW: DFWInstance);
9
- get db(): Omit<PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, runtime.DefaultArgs>, "$connect" | "$disconnect" | "$on" | "$transaction" | "$use" | "$extends">;
10
- get instance(): DFWInstance;
11
- use(db: PrismaClient | Omit<PrismaClient, runtime.ITXClientDenyList>): this;
12
- static middleware?: (req: Request, res: Response, next: NextFunction) => void;
13
- }
14
- //# sourceMappingURL=DFWModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DFWModule.d.ts","sourceRoot":"","sources":["../../src/manager/DFWModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IAEnC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,GAAG,CAAgD;gBAE/C,GAAG,EAAE,WAAW;IAK5B,IAAI,EAAE,mLAEL;IAED,IAAI,QAAQ,gBAEX;IAEM,GAAG,CAAC,EAAE,EAAC,YAAY,GAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAK/E,OAAc,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;CACvF"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class DFWModule {
4
- constructor(DFW) {
5
- this._instance = DFW;
6
- this._db = this._instance.database;
7
- }
8
- get db() {
9
- return this._db;
10
- }
11
- get instance() {
12
- return this._instance;
13
- }
14
- use(db) {
15
- this._db = db;
16
- return this;
17
- }
18
- }
19
- exports.default = DFWModule;
20
- //# sourceMappingURL=DFWModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DFWModule.js","sourceRoot":"","sources":["../../src/manager/DFWModule.ts"],"names":[],"mappings":";;AAKA,MAA8B,SAAS;IAKnC,YAAY,GAAgB;QACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,GAAG,CAAC,EAA6D;QACpE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ;AAxBD,4BAwBC"}
@@ -1,9 +0,0 @@
1
- import { Response } from "express";
2
- import DFWInstance from "../DFWInstance";
3
- import { DFWRequest } from "../types/DFWRequestScheme";
4
- import DFWModule from "./DFWModule";
5
- export default class DatabaseManager extends DFWModule {
6
- constructor(DFW: DFWInstance);
7
- middleware: (req: DFWRequest, res: Response) => Promise<void>;
8
- }
9
- //# sourceMappingURL=DatabaseManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseManager.d.ts","sourceRoot":"","sources":["../../src/manager/DatabaseManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;gBAEtC,GAAG,EAAC,WAAW;IAI3B,UAAU,QAAc,UAAU,OAAK,QAAQ,mBAE9C;CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseManager.js","sourceRoot":"","sources":["../../src/manager/DatabaseManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,4DAAoC;AAEpC,MAAqB,eAAgB,SAAQ,mBAAS;IAElD,YAAY,GAAe;QACvB,KAAK,CAAC,GAAG,CAAC,CAAC;QAGf,eAAU,GAAG,CAAO,GAAc,EAAC,GAAY,EAAC,EAAE;YAC9C,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,6DAA6D;QACtG,CAAC,CAAA,CAAA;IAJD,CAAC;CAMJ;AAVD,kCAUC"}
@@ -1,149 +0,0 @@
1
- import DFWInstance from "../DFWInstance";
2
- import { DFWRequest } from "../types/DFWRequestScheme";
3
- import DFWModule from "./DFWModule";
4
- import { Response } from "express";
5
- import { dfw_file, dfw_user } from "@prisma/client";
6
- type FileConfig = {
7
- protected?: boolean | any[];
8
- expiration?: Date;
9
- ext?: string;
10
- slug?: string;
11
- description?: string;
12
- user?: dfw_user | number | null;
13
- parent?: number | dfw_file;
14
- variant?: string;
15
- replaceVariants?: boolean;
16
- };
17
- type VirtualFileConfig = {
18
- expire?: Date;
19
- description?: string;
20
- user?: dfw_user | number | null;
21
- parent?: number | dfw_file;
22
- variant?: string;
23
- checksum?: string;
24
- size?: number;
25
- };
26
- export type UploadConfig = {
27
- headers?: any;
28
- highWaterMark?: number;
29
- fileHwm?: number;
30
- defCharset?: string;
31
- preservePath?: boolean;
32
- limits?: {
33
- fieldNameSize?: number;
34
- fieldSize?: number;
35
- fields?: number;
36
- fileSize?: number;
37
- files?: number;
38
- parts?: number;
39
- headerPairs?: number;
40
- };
41
- };
42
- export default class FileManager extends DFWModule {
43
- readonly LOCAL_PUBLIC_UPLOAD_DIR = ".dfw/upload/public";
44
- readonly LOCAL_PROTECTED_UPLOAD_DIR = ".dfw/upload/protected";
45
- readonly tmpDir: string;
46
- private publicStaticFilesPath;
47
- get PUBLIC_STATIC_FILES_PATH(): string;
48
- constructor(DFW: DFWInstance);
49
- middleware: (req: DFWRequest, res: Response) => Promise<void>;
50
- /**
51
- * Takes a local tmp file and move to the files on DFW folder and save db record
52
- */
53
- assignLocalFileAsync(filePath: string, cfg: FileConfig, moveLocalFile?: boolean): Promise<import("@prisma/client/runtime/library").GetResult<{
54
- id: number;
55
- path: string;
56
- description: string | null;
57
- idUser: number | null;
58
- variant: string | null;
59
- size: number | null;
60
- checksum: string | null;
61
- slug: string | null;
62
- mimetype: string | null;
63
- virtual: boolean;
64
- expire: Date | null;
65
- idParent: number | null;
66
- createdAt: Date;
67
- updatedAt: Date;
68
- }, unknown> & {}>;
69
- assignVirtualFileAsync(url: string, cfg: VirtualFileConfig): Promise<import("@prisma/client/runtime/library").GetResult<{
70
- id: number;
71
- path: string;
72
- description: string | null;
73
- idUser: number | null;
74
- variant: string | null;
75
- size: number | null;
76
- checksum: string | null;
77
- slug: string | null;
78
- mimetype: string | null;
79
- virtual: boolean;
80
- expire: Date | null;
81
- idParent: number | null;
82
- createdAt: Date;
83
- updatedAt: Date;
84
- }, unknown> & {}>;
85
- /**
86
- *
87
- * @param bodyFileName
88
- * @param cfg
89
- */
90
- flushUpload(req: DFWRequest, file: string, cfg?: FileConfig): Promise<(import("@prisma/client/runtime/library").GetResult<{
91
- id: number;
92
- path: string;
93
- description: string | null;
94
- idUser: number | null;
95
- variant: string | null;
96
- size: number | null;
97
- checksum: string | null;
98
- slug: string | null;
99
- mimetype: string | null;
100
- virtual: boolean;
101
- expire: Date | null;
102
- idParent: number | null;
103
- createdAt: Date;
104
- updatedAt: Date;
105
- }, unknown> & {}) | Promise<import("@prisma/client/runtime/library").GetResult<{
106
- id: number;
107
- path: string;
108
- description: string | null;
109
- idUser: number | null;
110
- variant: string | null;
111
- size: number | null;
112
- checksum: string | null;
113
- slug: string | null;
114
- mimetype: string | null;
115
- virtual: boolean;
116
- expire: Date | null;
117
- idParent: number | null;
118
- createdAt: Date;
119
- updatedAt: Date;
120
- }, unknown> & {}>[]>;
121
- /**
122
- *
123
- * @param posfix
124
- * @returns
125
- */
126
- generateTempFileName(posfix?: string): string;
127
- /**
128
- * Get an array of all childrens of the file in the tree (including 2 levels of nested files)
129
- * @param file
130
- */
131
- getChildrenFileIdsAsync(file: number | {
132
- id: number;
133
- }): Promise<number[]>;
134
- /**
135
- *
136
- * @param file
137
- */
138
- removeFileAsync(file: number | dfw_file): Promise<{
139
- id: number;
140
- path: string;
141
- virtual: boolean;
142
- }[]>;
143
- /**
144
- *
145
- */
146
- sweepExpiredFilesAsync(): Promise<void>;
147
- }
148
- export {};
149
- //# sourceMappingURL=FileManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["../../src/manager/FileManager.ts"],"names":[],"mappings":"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"}