@scefira/dfw 0.0.59 → 0.1.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 (125) hide show
  1. package/lib/DFWInstance.d.ts +21 -0
  2. package/lib/DFWInstance.d.ts.map +1 -0
  3. package/lib/DFWInstance.js +52 -0
  4. package/lib/DFWInstance.js.map +1 -0
  5. package/lib/{script/DFWUtils.d.ts → DFWUtils.d.ts} +3 -4
  6. package/lib/DFWUtils.d.ts.map +1 -0
  7. package/lib/{script/DFWUtils.js → DFWUtils.js} +9 -15
  8. package/lib/DFWUtils.js.map +1 -0
  9. package/lib/index.d.ts +7 -58
  10. package/lib/index.d.ts.map +1 -1
  11. package/lib/index.js +14 -11
  12. package/lib/index.js.map +1 -1
  13. package/lib/manager/APIManager.d.ts +48 -0
  14. package/lib/manager/APIManager.d.ts.map +1 -0
  15. package/lib/manager/APIManager.js +210 -0
  16. package/lib/manager/APIManager.js.map +1 -0
  17. package/lib/manager/DFWModule.d.ts +10 -0
  18. package/lib/manager/DFWModule.d.ts.map +1 -0
  19. package/lib/manager/DFWModule.js +10 -0
  20. package/lib/manager/DFWModule.js.map +1 -0
  21. package/lib/manager/DatabaseManager.d.ts +9 -0
  22. package/lib/manager/DatabaseManager.d.ts.map +1 -0
  23. package/lib/manager/DatabaseManager.js +25 -0
  24. package/lib/manager/DatabaseManager.js.map +1 -0
  25. package/lib/manager/FileManager.d.ts +59 -0
  26. package/lib/manager/FileManager.d.ts.map +1 -0
  27. package/lib/manager/FileManager.js +210 -0
  28. package/lib/manager/FileManager.js.map +1 -0
  29. package/lib/{module → manager}/SecurityManager.d.ts +13 -13
  30. package/lib/manager/SecurityManager.d.ts.map +1 -0
  31. package/lib/{module → manager}/SecurityManager.js +36 -63
  32. package/lib/manager/SecurityManager.js.map +1 -0
  33. package/lib/manager/SessionManager.d.ts +41 -0
  34. package/lib/manager/SessionManager.d.ts.map +1 -0
  35. package/lib/manager/SessionManager.js +173 -0
  36. package/lib/manager/SessionManager.js.map +1 -0
  37. package/lib/manager/UserManager.d.ts +15 -0
  38. package/lib/manager/UserManager.d.ts.map +1 -0
  39. package/lib/manager/UserManager.js +101 -0
  40. package/lib/manager/UserManager.js.map +1 -0
  41. package/lib/test.js +28 -75
  42. package/lib/test.js.map +1 -1
  43. package/lib/types/APIListenerConfig.d.ts +46 -0
  44. package/lib/types/APIListenerConfig.d.ts.map +1 -0
  45. package/lib/types/{DFWAPIListenerConfig.js → APIListenerConfig.js} +1 -1
  46. package/lib/types/APIListenerConfig.js.map +1 -0
  47. package/lib/types/DFWBoot.d.ts +19 -0
  48. package/lib/types/DFWBoot.d.ts.map +1 -0
  49. package/lib/types/DFWBoot.js +3 -0
  50. package/lib/types/DFWBoot.js.map +1 -0
  51. package/lib/types/DFWConfig.d.ts +7 -21
  52. package/lib/types/DFWConfig.d.ts.map +1 -1
  53. package/lib/types/DFWRequestScheme.d.ts +36 -0
  54. package/lib/types/DFWRequestScheme.d.ts.map +1 -0
  55. package/lib/types/DFWRequestScheme.js +3 -0
  56. package/lib/types/DFWRequestScheme.js.map +1 -0
  57. package/package.json +31 -43
  58. package/prisma/schema.prisma +119 -0
  59. package/lib/model/dfw_access.d.ts +0 -11
  60. package/lib/model/dfw_access.d.ts.map +0 -1
  61. package/lib/model/dfw_access.js +0 -58
  62. package/lib/model/dfw_access.js.map +0 -1
  63. package/lib/model/dfw_access_credential.d.ts +0 -6
  64. package/lib/model/dfw_access_credential.d.ts.map +0 -1
  65. package/lib/model/dfw_access_credential.js +0 -41
  66. package/lib/model/dfw_access_credential.js.map +0 -1
  67. package/lib/model/dfw_credential.d.ts +0 -12
  68. package/lib/model/dfw_credential.d.ts.map +0 -1
  69. package/lib/model/dfw_credential.js +0 -100
  70. package/lib/model/dfw_credential.js.map +0 -1
  71. package/lib/model/dfw_file.d.ts +0 -23
  72. package/lib/model/dfw_file.d.ts.map +0 -1
  73. package/lib/model/dfw_file.js +0 -121
  74. package/lib/model/dfw_file.js.map +0 -1
  75. package/lib/model/dfw_session.d.ts +0 -15
  76. package/lib/model/dfw_session.d.ts.map +0 -1
  77. package/lib/model/dfw_session.js +0 -69
  78. package/lib/model/dfw_session.js.map +0 -1
  79. package/lib/model/dfw_user.d.ts +0 -31
  80. package/lib/model/dfw_user.d.ts.map +0 -1
  81. package/lib/model/dfw_user.js +0 -211
  82. package/lib/model/dfw_user.js.map +0 -1
  83. package/lib/model/dfw_users_credential.d.ts +0 -6
  84. package/lib/model/dfw_users_credential.d.ts.map +0 -1
  85. package/lib/model/dfw_users_credential.js +0 -41
  86. package/lib/model/dfw_users_credential.js.map +0 -1
  87. package/lib/module/APIManager.d.ts +0 -86
  88. package/lib/module/APIManager.d.ts.map +0 -1
  89. package/lib/module/APIManager.js +0 -267
  90. package/lib/module/APIManager.js.map +0 -1
  91. package/lib/module/DatabaseManager.d.ts +0 -22
  92. package/lib/module/DatabaseManager.d.ts.map +0 -1
  93. package/lib/module/DatabaseManager.js +0 -58
  94. package/lib/module/DatabaseManager.js.map +0 -1
  95. package/lib/module/FileManager.d.ts +0 -196
  96. package/lib/module/FileManager.d.ts.map +0 -1
  97. package/lib/module/FileManager.js +0 -433
  98. package/lib/module/FileManager.js.map +0 -1
  99. package/lib/module/SecurityManager.d.ts.map +0 -1
  100. package/lib/module/SecurityManager.js.map +0 -1
  101. package/lib/module/SessionManager.d.ts +0 -49
  102. package/lib/module/SessionManager.d.ts.map +0 -1
  103. package/lib/module/SessionManager.js +0 -220
  104. package/lib/module/SessionManager.js.map +0 -1
  105. package/lib/module/UserManager.d.ts +0 -16
  106. package/lib/module/UserManager.d.ts.map +0 -1
  107. package/lib/module/UserManager.js +0 -74
  108. package/lib/module/UserManager.js.map +0 -1
  109. package/lib/script/DFWInstance.d.ts +0 -38
  110. package/lib/script/DFWInstance.d.ts.map +0 -1
  111. package/lib/script/DFWInstance.js +0 -65
  112. package/lib/script/DFWInstance.js.map +0 -1
  113. package/lib/script/DFWModule.d.ts +0 -10
  114. package/lib/script/DFWModule.d.ts.map +0 -1
  115. package/lib/script/DFWModule.js +0 -12
  116. package/lib/script/DFWModule.js.map +0 -1
  117. package/lib/script/DFWUtils.d.ts.map +0 -1
  118. package/lib/script/DFWUtils.js.map +0 -1
  119. package/lib/types/DFWAPIListenerConfig.d.ts +0 -39
  120. package/lib/types/DFWAPIListenerConfig.d.ts.map +0 -1
  121. package/lib/types/DFWAPIListenerConfig.js.map +0 -1
  122. package/lib/types/DFWRequestError.d.ts +0 -9
  123. package/lib/types/DFWRequestError.d.ts.map +0 -1
  124. package/lib/types/DFWRequestError.js +0 -15
  125. package/lib/types/DFWRequestError.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ import APIManager from "./manager/APIManager";
2
+ import DatabaseManager from "./manager/DatabaseManager";
3
+ import FileManager from "./manager/FileManager";
4
+ import SecurityManager from "./manager/SecurityManager";
5
+ import SessionManager from "./manager/SessionManager";
6
+ import UserManager from "./manager/UserManager";
7
+ import { DFWConfig } from "./types/DFWConfig";
8
+ import { PrismaClient } from "@prisma/client";
9
+ declare class DFWInstance {
10
+ readonly config: DFWConfig;
11
+ readonly database: PrismaClient;
12
+ DatabaseManager: DatabaseManager;
13
+ APIManager: APIManager;
14
+ SessionManager: SessionManager;
15
+ SecurityManager: SecurityManager;
16
+ UserManager: UserManager;
17
+ FileManager: FileManager;
18
+ constructor(config: DFWConfig);
19
+ }
20
+ export default DFWInstance;
21
+ //# sourceMappingURL=DFWInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWInstance.d.ts","sourceRoot":"","sources":["../src/DFWInstance.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAM,WAAW;IAEb,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;gBAEb,MAAM,EAAE,SAAS;CAqBhC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const APIManager_1 = __importDefault(require("./manager/APIManager"));
26
+ const DatabaseManager_1 = __importDefault(require("./manager/DatabaseManager"));
27
+ const FileManager_1 = __importDefault(require("./manager/FileManager"));
28
+ const SecurityManager_1 = __importDefault(require("./manager/SecurityManager"));
29
+ const SessionManager_1 = __importDefault(require("./manager/SessionManager"));
30
+ const UserManager_1 = __importDefault(require("./manager/UserManager"));
31
+ const fs = __importStar(require("fs"));
32
+ const client_1 = require("@prisma/client");
33
+ class DFWInstance {
34
+ constructor(config) {
35
+ this.config = config;
36
+ this.database = new client_1.PrismaClient({
37
+ //log: process.env.NODE_ENV == "development" ? ['query', 'info', 'warn', 'error'] : undefined,
38
+ });
39
+ if (fs.existsSync(".dfw") == false) {
40
+ fs.mkdirSync(".dfw");
41
+ }
42
+ this.DatabaseManager = new DatabaseManager_1.default(this);
43
+ this.APIManager = new APIManager_1.default(this);
44
+ this.SessionManager = new SessionManager_1.default(this);
45
+ this.SecurityManager = new SecurityManager_1.default(this);
46
+ this.UserManager = new UserManager_1.default(this);
47
+ this.FileManager = new FileManager_1.default(this);
48
+ Object.freeze(this.config); // Make it readonly
49
+ }
50
+ }
51
+ exports.default = DFWInstance;
52
+ //# sourceMappingURL=DFWInstance.js.map
@@ -0,0 +1 @@
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;QAC7B,8FAA8F;SACjG,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"}
@@ -10,17 +10,16 @@ export default class DFWUtils {
10
10
  *
11
11
  * @param path
12
12
  */
13
- static getMimetype(path: string): string | false;
13
+ static getFileMimetype(path: string): string | null;
14
14
  /**
15
15
  * retrive file extension
16
16
  * @param filePath
17
17
  */
18
- static getExtension(filePath: string): string;
19
- static getBaseName(filePath: string): void;
18
+ static getFilenameExtension(filePath: string): string;
20
19
  /**
21
20
  *
22
21
  */
23
- static randomHexString(len: number): string;
22
+ static generateRandomHexString(len: number): string;
24
23
  /**
25
24
  *
26
25
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWUtils.d.ts","sourceRoot":"","sources":["../src/DFWUtils.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAEzB,gBAAuB,WAAW,SAA6J;WAEjL,OAAO,CAAC,KAAK,EAAC,MAAM,GAAE,OAAO;IAI3C;;;OAGG;WACiB,UAAU,CAAC,QAAQ,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC;IAM7D;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAC,MAAM,GAAE,MAAM,GAAC,IAAI;IAKtD;;;OAGG;WACW,oBAAoB,CAAC,QAAQ,EAAC,MAAM,GAAE,MAAM;IAI1D;;OAEG;WACW,uBAAuB,CAAC,GAAG,EAAC,MAAM,GAAE,MAAM;IAYxD;;OAEG;WACW,IAAI,IAAG,MAAM;CAG9B"}
@@ -8,13 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const v4_1 = __importDefault(require("uuid/v4"));
16
12
  const mime_types_1 = require("mime-types");
17
- const path_1 = __importDefault(require("path"));
13
+ const uuid = require("uuid");
18
14
  class DFWUtils {
19
15
  static isEmail(email) {
20
16
  return this.EMAIL_REGEX.test(String(email).toLowerCase());
@@ -34,26 +30,24 @@ class DFWUtils {
34
30
  *
35
31
  * @param path
36
32
  */
37
- static getMimetype(path) {
38
- return mime_types_1.lookup(path);
33
+ static getFileMimetype(path) {
34
+ let mimetype = (0, mime_types_1.lookup)(path);
35
+ return mimetype ? mimetype : null;
39
36
  }
40
37
  /**
41
38
  * retrive file extension
42
39
  * @param filePath
43
40
  */
44
- static getExtension(filePath) {
45
- return path_1.default.extname(filePath).substr(1);
46
- }
47
- static getBaseName(filePath) {
48
- path_1.default.basename(filePath);
41
+ static getFilenameExtension(filePath) {
42
+ return filePath.slice((filePath.lastIndexOf(".") - 1 >>> 0) + 2);
49
43
  }
50
44
  /**
51
45
  *
52
46
  */
53
- static randomHexString(len) {
47
+ static generateRandomHexString(len) {
54
48
  let maxlen = 8, min = Math.pow(16, Math.min(len, maxlen) - 1), max = Math.pow(16, Math.min(len, maxlen)) - 1, n = Math.floor(Math.random() * (max - min + 1)) + min, r = n.toString(16);
55
49
  while (r.length < len) {
56
- r = r + DFWUtils.randomHexString(len - maxlen);
50
+ r = r + DFWUtils.generateRandomHexString(len - maxlen);
57
51
  }
58
52
  return r;
59
53
  }
@@ -62,7 +56,7 @@ class DFWUtils {
62
56
  *
63
57
  */
64
58
  static uuid() {
65
- return v4_1.default();
59
+ return uuid.v4();
66
60
  }
67
61
  }
68
62
  exports.default = DFWUtils;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWUtils.js","sourceRoot":"","sources":["../src/DFWUtils.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAoC;AAGpC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAqB,QAAQ;IAIlB,MAAM,CAAC,OAAO,CAAC,KAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAO,UAAU,CAAC,QAAe;;YAC1C,MAAM,IAAI,OAAO,CAAC,UAAS,OAAO;gBAChC,UAAU,CAAC,GAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,IAAW;QACrC,IAAI,QAAQ,GAAG,IAAA,mBAAM,EAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,QAAe;QAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,uBAAuB,CAAC,GAAU;QAC5C,IAAI,MAAM,GAAG,CAAC,EACV,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC,MAAM,CAAC,GAAC,CAAC,CAAC,EACzC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAC3C,CAAC,GAAK,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAC,GAAG,GAAC,CAAC,CAAC,CAAE,GAAG,GAAG,EACrD,CAAC,GAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,OAAQ,CAAC,CAAC,MAAM,GAAG,GAAG,EAAG;YACtB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAE,GAAG,GAAG,MAAM,CAAE,CAAC;SAC3D;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAAA,CAAC;IAEF;;OAEG;IACI,MAAM,CAAC,IAAI;QACd,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,CAAC;;AAvDL,2BAwDC;AAtD0B,oBAAW,GAAG,yJAAyJ,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,61 +1,10 @@
1
- import DFWInstance from "./script/DFWInstance";
2
- import { Express } from "express";
3
- import { DFWAPIListenerConfig } from "./types/DFWAPIListenerConfig";
4
- import DFWConfig from "./types/DFWConfig";
5
- import dfw_session from "./model/dfw_session";
6
- import { APIResponseScheme } from "./module/APIManager";
7
- import { DFWSequelize } from "./module/DatabaseManager";
8
- import { DFWFileScheme } from "./module/FileManager";
9
- import { SecurityScheme } from "./module/SecurityManager";
10
- export default class DFW {
1
+ import DFWInstance from "./DFWInstance";
2
+ import { DFWConfig } from "./types/DFWConfig";
3
+ export declare class DFWCore {
4
+ static DFW: DFWInstance;
11
5
  private static instances;
12
- static createInstance(name: string, config: DFWConfig, server?: Express): DFWInstance;
13
- static getInstance(name?: string): DFWInstance;
14
- }
15
- declare global {
16
- namespace Express {
17
- interface Request {
18
- dfw: DFW.DFWRequestScheme;
19
- }
20
- }
21
- }
22
- declare global {
23
- export namespace DFW {
24
- interface Boot {
25
- session: {
26
- isLogged: boolean;
27
- nick?: string;
28
- email?: string;
29
- credentials: {
30
- id: number;
31
- name: string;
32
- }[];
33
- access?: {
34
- id: number;
35
- name: string;
36
- }[];
37
- };
38
- }
39
- interface DFWRequestScheme {
40
- __meta: {
41
- instance: DFWInstance;
42
- config?: DFWAPIListenerConfig;
43
- noSession: boolean;
44
- };
45
- instance: DFWInstance;
46
- session: {
47
- id: number;
48
- token: string;
49
- isLogged: boolean;
50
- record: dfw_session;
51
- loginAsync: (username: string, password: string, persist?: boolean) => Promise<boolean>;
52
- logoutAsync: () => Promise<boolean>;
53
- };
54
- security: SecurityScheme;
55
- api: APIResponseScheme;
56
- db: DFWSequelize;
57
- file: DFWFileScheme;
58
- }
59
- }
6
+ static createInstance(config: DFWConfig, name?: string): DFWInstance;
7
+ static get(name?: string): DFWInstance | undefined;
60
8
  }
9
+ export default DFWCore;
61
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,GAAG;IAEpB,OAAO,CAAC,MAAM,CAAE,SAAS,CAAM;WAEjB,cAAc,CAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,CAAC,EAAC,OAAO,GAAE,WAAW;WAKxE,WAAW,CAAC,IAAI,CAAC,EAAC,MAAM,GAAE,WAAW;CAItD;AAID,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,GAAG,EAAE,GAAG,CAAC,gBAAgB,CAAC;SAC7B;KACJ;CACJ;AAED,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,GAAG,CAAC;QACjB,UAAiB,IAAI;YACjB,OAAO,EAAC;gBACJ,QAAQ,EAAC,OAAO,CAAC;gBACjB,IAAI,CAAC,EAAC,MAAM,CAAC;gBACb,KAAK,CAAC,EAAC,MAAM,CAAC;gBACd,WAAW,EAAC;oBACR,EAAE,EAAC,MAAM,CAAC;oBACV,IAAI,EAAC,MAAM,CAAC;iBACf,EAAE,CAAC;gBACJ,MAAM,CAAC,EAAC;oBACJ,EAAE,EAAC,MAAM,CAAC;oBACV,IAAI,EAAC,MAAM,CAAC;iBACf,EAAE,CAAA;aACN,CAAA;SACJ;QAED,UAAiB,gBAAgB;YAC7B,MAAM,EAAC;gBACH,QAAQ,EAAC,WAAW,CAAC;gBACrB,MAAM,CAAC,EAAC,oBAAoB,CAAC;gBAC7B,SAAS,EAAC,OAAO,CAAC;aACrB,CAAC;YACF,QAAQ,EAAC,WAAW,CAAC;YACrB,OAAO,EAAC;gBACJ,EAAE,EAAC,MAAM,CAAC;gBACV,KAAK,EAAC,MAAM,CAAC;gBACb,QAAQ,EAAC,OAAO,CAAC;gBACjB,MAAM,EAAC,WAAW,CAAC;gBACnB,UAAU,EAAG,CAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,EAAC,MAAM,EAAC,OAAO,CAAC,EAAC,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClF,WAAW,EAAG,MAAI,OAAO,CAAC,OAAO,CAAC,CAAC;aACtC,CAAC;YACF,QAAQ,EAAC,cAAc,CAAC;YACxB,GAAG,EAAC,iBAAiB,CAAC;YACtB,EAAE,EAAC,YAAY,CAAC;YAEhB,IAAI,EAAC,aAAa,CAAC;SACtB;KACJ;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,OAAO;IAChB,OAAc,GAAG,EAAC,WAAW,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAgC;WAE1C,cAAc,CAAC,MAAM,EAAC,SAAS,EAAC,IAAI,SAAS;WAU7C,GAAG,CAAC,IAAI,GAAC,MAAe,GAAE,WAAW,GAAC,SAAS;CAIhE;AAED,eAAe,OAAO,CAAC"}
package/lib/index.js CHANGED
@@ -3,18 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const DFWInstance_1 = __importDefault(require("./script/DFWInstance"));
7
- class DFW {
8
- static createInstance(name, config, server) {
9
- DFW.instances[`${name}`] = new DFWInstance_1.default(config, server);
10
- return DFW.instances[`${name}`];
6
+ exports.DFWCore = void 0;
7
+ const DFWInstance_1 = __importDefault(require("./DFWInstance"));
8
+ class DFWCore {
9
+ static createInstance(config, name = "main") {
10
+ let DFW = new DFWInstance_1.default(config);
11
+ if (name == "main")
12
+ this.DFW = DFW;
13
+ this.instances[name] = DFW;
14
+ return DFW;
11
15
  }
12
- static getInstance(name) {
13
- if (!name)
14
- return this.instances[Object.keys(this.instances)[0]];
15
- return DFW.instances[`${name}`];
16
+ static get(name = "main") {
17
+ return this.instances[name];
16
18
  }
17
19
  }
18
- exports.default = DFW;
19
- DFW.instances = {};
20
+ exports.DFWCore = DFWCore;
21
+ DFWCore.instances = {};
22
+ exports.default = DFWCore;
20
23
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,uEAA+C;AAU/C,MAAqB,GAAG;IAIb,MAAM,CAAC,cAAc,CAAC,IAAW,EAAC,MAAgB,EAAC,MAAe;QACrE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAY;QAClC,IAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;;AAZL,sBAaC;AAXmB,aAAS,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAwC;AAGxC,MAAa,OAAO;IAKT,MAAM,CAAC,cAAc,CAAC,MAAgB,EAAC,IAAI,GAAG,MAAM;QACvD,IAAI,GAAG,GAAG,IAAI,qBAAW,CAAC,MAAM,CAAC,CAAC;QAElC,IAAG,IAAI,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAElC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAE3B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,OAAc,MAAM;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;;AAjBL,0BAmBC;AAhBkB,iBAAS,GAA8B,EAAE,CAAA;AAkB5D,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,48 @@
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 declare type APIFunction = (req: DFWRequest, res: Response, dfw: DFWRequestScheme) => (Promise<any> | any);
8
+ export declare 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 declare type BootCallback = (req: DFWRequest, boot: DFWBoot) => Promise<any>;
15
+ export default class APIManager extends DFWModule {
16
+ server?: Express;
17
+ API_ROUTER: Router;
18
+ private bootCallbacks;
19
+ constructor(DFW: DFWInstance);
20
+ middleware(req: DFWRequest, res: Response): Promise<void>;
21
+ startServer(port?: number, server?: Express): void;
22
+ /**
23
+ *
24
+ * @param path
25
+ * @param apiFunction
26
+ * @param config
27
+ */
28
+ addListener(path: string, apiFunction: APIFunction, config?: APIListenerConfig): void;
29
+ makeRequestHandlers(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
@@ -0,0 +1 @@
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;AAIzC,oBAAY,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,oBAAY,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,oBAAY,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,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAoB;IAE7C,OAAO,CAAC,aAAa,CA2CnB;gBAEU,GAAG,EAAE,WAAW;IAIf,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAI/C,WAAW,CAAC,IAAI,SAAO,EAAE,MAAM,GAAE,OAA8B;IAStE;;;;;MAKE;IACK,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAE,iBAAsB;IAkCzF,mBAAmB,CAAC,MAAM,GAAE,iBAAsB;IAyClD;;;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"}
@@ -0,0 +1,210 @@
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
+ class APIListener {
22
+ constructor(config, listener) {
23
+ if (typeof config == "function" && !listener) {
24
+ this.listener = config;
25
+ this.config = { method: "get" };
26
+ }
27
+ else {
28
+ this.config = config;
29
+ this.listener = listener;
30
+ }
31
+ }
32
+ }
33
+ exports.APIListener = APIListener;
34
+ class APIManager extends DFWModule_1.default {
35
+ constructor(DFW) {
36
+ super(DFW);
37
+ this.API_ROUTER = express_1.default.Router();
38
+ this.bootCallbacks = [
39
+ /** add default callback on each APIManager instance */
40
+ ({ dfw }, boot) => __awaiter(this, void 0, void 0, function* () {
41
+ boot.session = {
42
+ user: dfw.session.user ? {
43
+ id: dfw.session.user.id,
44
+ nick: dfw.session.user.nick,
45
+ email: dfw.session.user.email,
46
+ } : undefined,
47
+ credentials: [],
48
+ access: [],
49
+ };
50
+ if (dfw.session.isLogged && dfw.session.user) {
51
+ let credentials = yield dfw.db.dfw_credential.findMany({
52
+ select: { id: true, name: true },
53
+ where: {
54
+ users: {
55
+ every: {
56
+ idUser: dfw.session.user.id
57
+ }
58
+ }
59
+ }
60
+ });
61
+ let access = yield dfw.db.dfw_access.findMany({
62
+ select: { id: true, name: true },
63
+ where: {
64
+ credentials: {
65
+ every: {
66
+ idCredential: {
67
+ in: credentials.map((c) => (c.id))
68
+ }
69
+ }
70
+ }
71
+ }
72
+ });
73
+ boot.session.credentials = credentials;
74
+ boot.session.access = access;
75
+ }
76
+ })
77
+ ];
78
+ }
79
+ middleware(req, res) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ req.dfw.boot = () => this.getBootAsync(req);
82
+ });
83
+ }
84
+ startServer(port = 3000, server = require("express")()) {
85
+ this.API_ROUTER.use((0, cookie_parser_1.default)());
86
+ server.listen(port);
87
+ this.server = server;
88
+ console.log(`[DFW] Server listening on port ${port}`);
89
+ }
90
+ /**
91
+ *
92
+ * @param path
93
+ * @param apiFunction
94
+ * @param config
95
+ */
96
+ addListener(path, apiFunction, config = {}) {
97
+ if (!this.server)
98
+ throw `you must start an DFW/Express Server before add a listener`;
99
+ let handlers = this.makeRequestHandlers(config);
100
+ // APIFunction middleware
101
+ handlers.push((0, exports.MiddlewareAsyncWrapper)((req, res, next) => __awaiter(this, void 0, void 0, function* () {
102
+ yield Promise.resolve(apiFunction(req, res, req.dfw)).then((data) => {
103
+ if (res.finished !== true && config.autoSend !== false)
104
+ res.json(data).end();
105
+ if (config.callback)
106
+ res.on("finish", () => config.callback && config.callback(req, data));
107
+ next();
108
+ }).catch((err) => next(err));
109
+ })));
110
+ handlers.push(((err, req, res, next) => {
111
+ if (process.env.NODE_ENV == "development")
112
+ console.error(`[DFW_ERROR] ${err}`);
113
+ res.statusCode = 500;
114
+ if (err instanceof TypeError) {
115
+ res.json({ error: err.message, stack: process.env.NODE_ENV == "development" ? err.stack : null }).end();
116
+ }
117
+ else {
118
+ res.json({ error: err }).end();
119
+ }
120
+ next(err);
121
+ }));
122
+ this.server.use(path, this.API_ROUTER);
123
+ this.server[config.method ? config.method.toLowerCase() : "get"](path, handlers);
124
+ console.log(`[API][${config.method ? config.method.toUpperCase() : "GET"}] ${path}`);
125
+ }
126
+ makeRequestHandlers(config = {}) {
127
+ let handlers = [
128
+ (req, res, next) => {
129
+ req.dfw = {
130
+ __meta: {
131
+ config,
132
+ },
133
+ innstance: this.instance,
134
+ };
135
+ next();
136
+ }
137
+ ];
138
+ // Body parser
139
+ if (config.parseBody !== false) { // Body parser middleware
140
+ handlers.push(body_parser_1.default.json(), body_parser_1.default.urlencoded({ extended: true }));
141
+ }
142
+ if (config.upload) {
143
+ handlers.push((0, express_fileupload_1.default)(Object.assign(config.upload, config, { useTempFiles: true, tempFileDir: this.instance.FileManager.tmpDir })));
144
+ }
145
+ handlers.push((0, exports.MiddlewareAsyncWrapper)((req, res, next) => __awaiter(this, void 0, void 0, function* () {
146
+ try {
147
+ yield this.instance.DatabaseManager.middleware(req, res);
148
+ yield this.instance.SessionManager.middleware(req, res);
149
+ yield this.instance.SecurityManager.middleware(req, res);
150
+ yield this.instance.UserManager.middleware(req, res);
151
+ yield this.instance.FileManager.middleware(req, res);
152
+ yield this.instance.APIManager.middleware(req, res);
153
+ next();
154
+ }
155
+ catch (e) {
156
+ next(e);
157
+ }
158
+ })));
159
+ return handlers;
160
+ }
161
+ /**
162
+ *
163
+ * @param dfw
164
+ */
165
+ getBootAsync(req) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ let result = {};
168
+ for (let callback of this.bootCallbacks) {
169
+ yield callback(req, result);
170
+ }
171
+ return result;
172
+ });
173
+ }
174
+ /**
175
+ *
176
+ * @param callback
177
+ */
178
+ addBootCallback(callback) {
179
+ this.bootCallbacks.push(callback);
180
+ }
181
+ /**
182
+ * Función recursiva que registra en DFW los listeners basados en una estructura de objeto
183
+ * @param listener
184
+ * @param path
185
+ */
186
+ addListenerObject(listener, path) {
187
+ if (listener instanceof APIListener) {
188
+ this.addListener(path, listener.listener, listener.config);
189
+ }
190
+ else if (Array.isArray(listener)) {
191
+ for (let e of listener) {
192
+ this.addListenerObject(e, path);
193
+ }
194
+ }
195
+ else if (typeof listener == "object") {
196
+ let keys = Object.keys(listener);
197
+ for (let key of keys) {
198
+ let n = listener[key];
199
+ this.addListenerObject(n, `${path}/${key}`);
200
+ }
201
+ }
202
+ else {
203
+ throw "PhaseLoadModule:registerApiListener expected object|array|APIListener as node argument";
204
+ }
205
+ }
206
+ }
207
+ exports.default = APIManager;
208
+ const MiddlewareAsyncWrapper = (fn) => (...args) => fn(...args).catch(args[2]);
209
+ exports.MiddlewareAsyncWrapper = MiddlewareAsyncWrapper;
210
+ //# sourceMappingURL=APIManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../src/manager/APIManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { PrismaClient } from "@prisma/client";
2
+ import { NextFunction } from "express";
3
+ import DFWInstance from "../DFWInstance";
4
+ export default abstract class DFWModule {
5
+ instance: DFWInstance;
6
+ db: PrismaClient;
7
+ constructor(DFW: DFWInstance);
8
+ static middleware?: (req: Request, res: Response, next: NextFunction) => void;
9
+ }
10
+ //# sourceMappingURL=DFWModule.d.ts.map
@@ -0,0 +1 @@
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,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IAE5B,QAAQ,EAAE,WAAW,CAAC;IACtB,EAAE,EAAC,YAAY,CAAC;gBAEX,GAAG,EAAE,WAAW;IAK5B,OAAc,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;CACvF"}
@@ -0,0 +1,10 @@
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
+ }
9
+ exports.default = DFWModule;
10
+ //# sourceMappingURL=DFWModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWModule.js","sourceRoot":"","sources":["../../src/manager/DFWModule.ts"],"names":[],"mappings":";;AAIA,MAA8B,SAAS;IAKnC,YAAY,GAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrC,CAAC;CAGJ;AAXD,4BAWC"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,25 @@
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 DFWModule_1 = __importDefault(require("./DFWModule"));
16
+ class DatabaseManager extends DFWModule_1.default {
17
+ constructor(DFW) {
18
+ super(DFW);
19
+ this.middleware = (req, res) => __awaiter(this, void 0, void 0, function* () {
20
+ req.dfw.db = this.instance.database; //Extends sequelize database object to dfw var (quick access)
21
+ });
22
+ }
23
+ }
24
+ exports.default = DatabaseManager;
25
+ //# sourceMappingURL=DatabaseManager.js.map
@@ -0,0 +1 @@
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"}