@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
package/lib/index.js CHANGED
@@ -1,26 +1,123 @@
1
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
2
34
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
36
  };
5
37
  Object.defineProperty(exports, "__esModule", { value: true });
6
38
  exports.DFWCore = void 0;
7
- const DFWInstance_1 = __importDefault(require("./DFWInstance"));
39
+ const client_1 = require("@prisma/client");
40
+ const express_1 = __importStar(require("express"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const fs_1 = __importDefault(require("fs"));
43
+ const DFWUtils_1 = __importDefault(require("./DFWUtils"));
44
+ const APIManager_1 = __importDefault(require("./lib/APIManager"));
8
45
  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
- if (this.instances[name])
14
- throw new Error(`[DFW_ERROR] DFW Instance '${name}' already exist`);
15
- this.instances[name] = DFW;
16
- return DFW;
46
+ constructor(config) {
47
+ var _a, _b;
48
+ this.server = (0, express_1.default)();
49
+ this.RouterAPILevel = (0, express_1.Router)();
50
+ this.RouterAccessLevel = (0, express_1.Router)();
51
+ this.APIManager = new APIManager_1.default(this);
52
+ this.config = Object.freeze(config);
53
+ this.database = new client_1.PrismaClient({
54
+ log: config.database ? config.database.log ? ['query', 'info', 'warn', 'error'] : undefined : undefined,
55
+ });
56
+ if (fs_1.default.existsSync(DFWCore.DFW_PATH) == false) {
57
+ fs_1.default.mkdirSync(DFWCore.DFW_PATH);
58
+ }
59
+ if ((_a = config.server) === null || _a === void 0 ? void 0 : _a.trustProxy)
60
+ this.server.set('trust proxy', (_b = config.server) === null || _b === void 0 ? void 0 : _b.trustProxy);
61
+ this.APIManager.installAPILAyer();
62
+ this.APIManager.installSecurityLayer();
63
+ DFWCore.MAIN_INSTANCE = this;
64
+ }
65
+ start() {
66
+ var _a, _b;
67
+ const port = (_b = (_a = this.config.server) === null || _a === void 0 ? void 0 : _a.port) !== null && _b !== void 0 ? _b : 8080;
68
+ this.server.listen(port, () => {
69
+ DFWUtils_1.default.log(`Server listening on port ${chalk_1.default.yellow(port)}`);
70
+ });
71
+ return this;
72
+ }
73
+ addListener(path, b, c) {
74
+ const params = (typeof b == 'function' ? c : b);
75
+ const listener = typeof b === 'function' ? b : c;
76
+ this.APIManager.addListener(path, params, listener);
77
+ }
78
+ addAccessValidator(path, validator) {
79
+ this.RouterAccessLevel.use(path, (req, res, next) => __awaiter(this, void 0, void 0, function* () {
80
+ const isValid = yield Promise.resolve(validator(req));
81
+ if (!isValid) {
82
+ return res.status(403).json({ error: 'ACCESS_DENIED' }).end();
83
+ }
84
+ next();
85
+ }));
86
+ }
87
+ /**
88
+ * @param DFW
89
+ * @param node
90
+ * @param path
91
+ */
92
+ register(node, path = "") {
93
+ if (Array.isArray(node)) {
94
+ node.forEach((n) => { this.register(n, path); });
95
+ }
96
+ else if (!!node.listener || !!node.params) {
97
+ if (node.listener) {
98
+ this.addListener(path, node.params, node.listener);
99
+ }
100
+ else {
101
+ this.addListener(path, node.params);
102
+ }
103
+ }
104
+ else if (typeof node == "function") {
105
+ this.addListener(path, node);
106
+ }
107
+ else if (typeof node == "object") {
108
+ for (let okey in node) {
109
+ this.register(node[okey], `${path}/${okey}`);
110
+ }
111
+ }
112
+ else {
113
+ DFWUtils_1.default.log(`Unable to register '${path}' ${typeof node}`, true);
114
+ }
17
115
  }
18
- static get(name = "main") {
19
- return this.instances[name];
116
+ get db() {
117
+ return this.database;
20
118
  }
21
119
  }
22
120
  exports.DFWCore = DFWCore;
23
- DFWCore.instances = {};
24
- DFWCore.listeners = {}; //TODO Implement some listeners
121
+ DFWCore.DFW_PATH = "./.dfw";
25
122
  exports.default = DFWCore;
26
123
  //# 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,gEAAwC;AAGxC,MAAa,OAAO;IAOT,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,EAAC,IAAI,GAAG,MAAM;QAC5D,IAAI,GAAG,GAAG,IAAI,qBAAW,CAAC,MAAM,CAAC,CAAC;QAElC,IAAG,IAAI,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAClC,IAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,iBAAiB,CAAC,CAAC;QAE7F,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;;AApBL,0BAqBC;AAlBkB,iBAAS,GAA8B,EAAE,CAAA;AAEzC,iBAAS,GAAG,EAAE,CAAA,CAAC,+BAA+B;AAkBjE,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import DFWCore from "..";
2
+ import { APIListenerParams, APIListenerFunction } from "../types/APIListener";
3
+ export default class APIManager {
4
+ private DFW;
5
+ constructor(DFW: DFWCore);
6
+ installAPILAyer(): void;
7
+ installSecurityLayer(): void;
8
+ addListener(path: string, params?: APIListenerParams, listener?: APIListenerFunction): void;
9
+ }
10
+ //# sourceMappingURL=APIManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,IAAI,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAW9E,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,OAAO;IAIjB,eAAe;IAoDf,oBAAoB;IAIpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,EAAE,QAAQ,CAAC,EAAE,mBAAmB;CAmDlG"}
@@ -0,0 +1,130 @@
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 body_parser_1 = __importDefault(require("body-parser"));
16
+ const DFWUtils_1 = __importDefault(require("../DFWUtils"));
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ const cors_1 = __importDefault(require("cors"));
19
+ const passport_1 = __importDefault(require("passport"));
20
+ const DFWPassportStrategy_1 = __importDefault(require("./strategies/DFWPassportStrategy"));
21
+ const express_session_1 = __importDefault(require("express-session"));
22
+ const DFWSessionStore_1 = __importDefault(require("./DFWSessionStore"));
23
+ class APIManager {
24
+ constructor(DFW) {
25
+ this.DFW = DFW;
26
+ }
27
+ installAPILAyer() {
28
+ var _a, _b, _c, _d;
29
+ const config = this.DFW.config;
30
+ const APIRouter = this.DFW.RouterAPILevel;
31
+ //// PASSPORT AND SESSION ////
32
+ APIRouter.use((0, express_session_1.default)({
33
+ name: 'stk',
34
+ secret: 'default',
35
+ genid: () => DFWUtils_1.default.uuid(),
36
+ resave: false,
37
+ saveUninitialized: false,
38
+ store: new DFWSessionStore_1.default(this.DFW),
39
+ cookie: {
40
+ secure: false,
41
+ maxAge: 1000 * 60 * 60 * 24 * 360 //1Y
42
+ }
43
+ }));
44
+ APIRouter.use(passport_1.default.initialize());
45
+ APIRouter.use(passport_1.default.session());
46
+ if (((_b = (_a = config.session) === null || _a === void 0 ? void 0 : _a.authenticators) === null || _b === void 0 ? void 0 : _b.dfw) !== false) {
47
+ passport_1.default.use('dfw', DFWPassportStrategy_1.default);
48
+ }
49
+ passport_1.default.serializeUser((_a, done_1) => __awaiter(this, [_a, done_1], void 0, function* ({ id }, done) {
50
+ done(null, id);
51
+ }));
52
+ passport_1.default.deserializeUser((idUser, done) => __awaiter(this, void 0, void 0, function* () {
53
+ done(null, { id: idUser });
54
+ }));
55
+ //// CORS ////
56
+ if ((_c = this.DFW.config.server) === null || _c === void 0 ? void 0 : _c.cors) {
57
+ APIRouter.use((0, cors_1.default)((_d = this.DFW.config.server) === null || _d === void 0 ? void 0 : _d.cors));
58
+ }
59
+ //// DFW SChema ////
60
+ APIRouter.use(((req, _, next) => {
61
+ const dfw = {
62
+ instance: this.DFW,
63
+ db: this.DFW.db,
64
+ isAuthenticated: () => req.isAuthenticated(),
65
+ user: req.user,
66
+ addCallback: (cb) => { }
67
+ };
68
+ req.dfw = dfw;
69
+ next();
70
+ }));
71
+ }
72
+ installSecurityLayer() {
73
+ // Nothing to do here yet
74
+ }
75
+ addListener(path, params = {}, listener) {
76
+ var _a;
77
+ const server = this.DFW.server;
78
+ const method = (_a = params.method) !== null && _a !== void 0 ? _a : 'get';
79
+ if (!listener && !params.middleware) {
80
+ DFWUtils_1.default.log(`Unable to set listener for [${method}] ${path} listener and middleware are undefined`);
81
+ return;
82
+ }
83
+ if (params.raw) {
84
+ if (params.middleware)
85
+ server[method](path, params.middleware);
86
+ if (listener)
87
+ server[method](path, listener);
88
+ return;
89
+ }
90
+ // Body Parser
91
+ if (['post', 'put', 'patch'].includes(method) && params.disableBodyParser !== true)
92
+ server[method](path, body_parser_1.default.json());
93
+ // DFW middlewares
94
+ server[method](path, this.DFW.RouterAPILevel);
95
+ server[method](path, this.DFW.RouterAccessLevel);
96
+ // Param middlewares
97
+ if (params.middleware)
98
+ server[method](path, params.middleware);
99
+ if (listener) {
100
+ server[method](path, (req, res, next) => __awaiter(this, void 0, void 0, function* () {
101
+ try {
102
+ yield Promise.resolve(listener(req, res)).then((data) => {
103
+ if (res.finished !== true && params.disableAutoSend !== true)
104
+ res.json(data).end();
105
+ if (params.callback)
106
+ res.on("finish", () => params.callback && params.callback(req, data));
107
+ next();
108
+ });
109
+ }
110
+ catch (e) {
111
+ next(e);
112
+ }
113
+ }));
114
+ }
115
+ server.use(path, (err, _, res, next) => {
116
+ if (process.env.NODE_ENV == "development")
117
+ DFWUtils_1.default.log(err, true);
118
+ if (typeof err === "object" && err.message) {
119
+ res.status(500).json({ error: err.message, stack: process.env.NODE_ENV == "development" ? err.stack : null }).end();
120
+ }
121
+ else {
122
+ res.status(500).json({ error: err }).end();
123
+ }
124
+ next(err);
125
+ });
126
+ DFWUtils_1.default.log(`${chalk_1.default.yellow(method.toUpperCase().padEnd(7, ' '))} ${chalk_1.default.green(path)}`);
127
+ }
128
+ }
129
+ exports.default = APIManager;
130
+ //# sourceMappingURL=APIManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../src/lib/APIManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAqC;AAKrC,2DAAmC;AAEnC,kDAA0B;AAC1B,gDAAwB;AACxB,wDAAgC;AAChC,2FAAmE;AACnE,sEAAqC;AACrC,wEAAgD;AAGhD,MAAqB,UAAU;IAG3B,YAAY,GAAY;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAEM,eAAe;;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAA;QAEzC,8BAA8B;QAC9B,SAAS,CAAC,GAAG,CAAC,IAAA,yBAAO,EAAC;YAClB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,GAAG,EAAE,CAAC,kBAAQ,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI,yBAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,MAAM,EAAE;gBACJ,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI;aACzC;SACJ,CAAC,CAAC,CAAA;QAEH,SAAS,CAAC,GAAG,CAAC,kBAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QACpC,SAAS,CAAC,GAAG,CAAC,kBAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAEjC,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,cAAc,0CAAE,GAAG,MAAK,KAAK,EAAE,CAAC;YAChD,kBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,6BAAmB,CAAC,CAAA;QAC5C,CAAC;QAED,kBAAQ,CAAC,aAAa,CAAC,aAA0B,EAAE,kDAArB,EAAE,EAAE,EAAO,EAAE,IAAI;YAC3C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAClB,CAAC,CAAA,CAAC,CAAA;QAEF,kBAAQ,CAAC,eAAe,CAAC,CAAO,MAAM,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC,CAAA,CAAC,CAAA;QAEF,cAAc;QACd,IAAI,MAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,MAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,CAAA;QACrD,CAAC;QAED,oBAAoB;QACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAe,EAAE,CAAW,EAAE,IAAkB,EAAE,EAAE;YAChE,MAAM,GAAG,GAA8B;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;gBACf,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE;gBAC5C,IAAI,EAAE,GAAG,CAAC,IAAgB;gBAC1B,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;aAC3B,CAAA;YACD,GAAG,CAAC,GAAG,GAAG,GAAuB,CAAA;YACjC,IAAI,EAAE,CAAC;QACX,CAAC,CAAQ,CAAC,CAAA;IACd,CAAC;IAEM,oBAAoB;QACvB,yBAAyB;IAC7B,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,SAA4B,EAAE,EAAE,QAA8B;;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;QAC9B,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,KAAK,CAAA;QAErC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,kBAAQ,CAAC,GAAG,CAAC,+BAA+B,MAAM,KAAK,IAAI,wCAAwC,CAAC,CAAA;YACpG,OAAM;QACV,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,UAAU;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YAC9D,IAAI,QAAQ;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,QAAqC,CAAC,CAAA;YACzE,OAAM;QACV,CAAC;QAED,cAAc;QACd,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QAE3H,kBAAkB;QAClB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEhD,oBAAoB;QACpB,IAAI,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9D,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAiB,EAAE,GAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACzE,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;4BAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;wBACnF,IAAI,MAAM,CAAC,QAAQ;4BAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;wBACzG,IAAI,EAAE,CAAC;oBACX,CAAC,CAAC,CAAA;gBACN,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;YACL,CAAC,CAAA,CAAC,CAAA;QACN,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;gBAAE,kBAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACxH,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAA;QAEF,kBAAQ,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;CACJ;AAlHD,6BAkHC"}
@@ -0,0 +1,11 @@
1
+ import { Store } from "express-session";
2
+ import DFWCore from "..";
3
+ declare class DFWSessionStore extends Store {
4
+ private db;
5
+ constructor(DFW: DFWCore);
6
+ get(sid: string, callback: (err: any, session?: any) => void): void;
7
+ set(sid: string, sessionData: any, callback?: (err?: any) => void): void;
8
+ destroy(sid: string, callback?: (err?: any) => void): void;
9
+ }
10
+ export default DFWSessionStore;
11
+ //# sourceMappingURL=DFWSessionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWSessionStore.d.ts","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,OAAO,MAAM,IAAI,CAAC;AAGzB,cAAM,eAAgB,SAAQ,KAAK;IAE/B,OAAO,CAAC,EAAE,CAAc;gBAEZ,GAAG,EAAE,OAAO;IAKxB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAenE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAiBxE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CAY7D;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const express_session_1 = require("express-session");
4
+ class DFWSessionStore extends express_session_1.Store {
5
+ constructor(DFW) {
6
+ super();
7
+ this.db = DFW.db;
8
+ }
9
+ get(sid, callback) {
10
+ if (process.env.NODE_ENV === 'development')
11
+ console.log(`read session ${sid}`);
12
+ this.db.dfw_session.findUnique({
13
+ select: { idUser: true },
14
+ where: { id: sid }
15
+ }).then((sessionObj) => {
16
+ if (sessionObj) {
17
+ callback(null, { cookie: {}, passport: { user: sessionObj === null || sessionObj === void 0 ? void 0 : sessionObj.idUser } });
18
+ }
19
+ else {
20
+ callback(null, null);
21
+ }
22
+ }).catch((e) => {
23
+ callback(e);
24
+ });
25
+ }
26
+ set(sid, sessionData, callback) {
27
+ var _a, _b;
28
+ if (process.env.NODE_ENV === 'development')
29
+ console.log(`setting session ${sid} ${JSON.stringify(sessionData)}`);
30
+ this.db.dfw_session.upsert({
31
+ create: {
32
+ id: sid,
33
+ idUser: (_a = sessionData.passport) === null || _a === void 0 ? void 0 : _a.user,
34
+ },
35
+ update: {
36
+ idUser: (_b = sessionData.passport) === null || _b === void 0 ? void 0 : _b.user,
37
+ },
38
+ where: {
39
+ id: sid
40
+ }
41
+ }).then(() => {
42
+ callback === null || callback === void 0 ? void 0 : callback();
43
+ });
44
+ }
45
+ destroy(sid, callback) {
46
+ if (process.env.NODE_ENV === 'development')
47
+ console.log(`deleting session ${sid}`);
48
+ this.db.dfw_session.deleteMany({
49
+ where: {
50
+ id: sid
51
+ },
52
+ }).then(() => {
53
+ callback === null || callback === void 0 ? void 0 : callback();
54
+ }).catch((e) => {
55
+ callback === null || callback === void 0 ? void 0 : callback(e);
56
+ });
57
+ }
58
+ }
59
+ exports.default = DFWSessionStore;
60
+ //# sourceMappingURL=DFWSessionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWSessionStore.js","sourceRoot":"","sources":["../../src/lib/DFWSessionStore.ts"],"names":[],"mappings":";;AAAA,qDAAwC;AAIxC,MAAM,eAAgB,SAAQ,uBAAK;IAI/B,YAAY,GAAY;QACpB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,QAA2C;QACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;QAC9E,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;YAC3B,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;SACrB,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,IAAI,UAAU,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,EAAS,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACxB,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,QAAQ,CAAC,CAAC,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,WAAgB,EAAE,QAA8B;;QAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChH,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE;gBACJ,EAAE,EAAE,GAAG;gBACP,MAAM,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,IAAI;aACrC;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,IAAI;aACrC;YACD,KAAK,EAAE;gBACH,EAAE,EAAE,GAAG;aACV;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAA;QAChB,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,QAA8B;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;YAC3B,KAAK,EAAE;gBACH,EAAE,EAAE,GAAG;aACV;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAA;QAChB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAED,kBAAe,eAAe,CAAA"}
@@ -0,0 +1,6 @@
1
+ import DFWCore from "..";
2
+ export default class SessionManager {
3
+ private DFW;
4
+ constructor(DFW: DFWCore);
5
+ }
6
+ //# sourceMappingURL=SessionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/lib/SessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,IAAI,CAAA;AAOxB,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,OAAO;CAG3B"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class SessionManager {
4
+ constructor(DFW) {
5
+ this.DFW = DFW;
6
+ }
7
+ }
8
+ exports.default = SessionManager;
9
+ //# sourceMappingURL=SessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/lib/SessionManager.ts"],"names":[],"mappings":";;AAOA,MAAqB,cAAc;IAG/B,YAAY,GAAY;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;CACJ;AAND,iCAMC"}
@@ -0,0 +1,4 @@
1
+ import { Strategy } from "passport-local";
2
+ declare const DFWPassportStrategy: Strategy;
3
+ export default DFWPassportStrategy;
4
+ //# sourceMappingURL=DFWPassportStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWPassportStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/DFWPassportStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,QAAA,MAAM,mBAAmB,UAavB,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,33 @@
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 passport_local_1 = require("passport-local");
16
+ const DFWUserController_1 = __importDefault(require("../../controller/DFWUserController"));
17
+ const DFWPassportStrategy = new passport_local_1.Strategy((identifier, password, done) => __awaiter(void 0, void 0, void 0, function* () {
18
+ try {
19
+ const UserControl = new DFWUserController_1.default();
20
+ const id = yield UserControl.validateUserPasswordAsync(identifier, password);
21
+ if (id) {
22
+ return done(null, { id });
23
+ }
24
+ else {
25
+ return done('ACCESS_DENIED');
26
+ }
27
+ }
28
+ catch (e) {
29
+ return done(e);
30
+ }
31
+ }));
32
+ exports.default = DFWPassportStrategy;
33
+ //# sourceMappingURL=DFWPassportStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DFWPassportStrategy.js","sourceRoot":"","sources":["../../../src/lib/strategies/DFWPassportStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mDAAyC;AACzC,2FAAkE;AAElE,MAAM,mBAAmB,GAAG,IAAI,yBAAQ,CAAC,CAAO,UAAkB,EAAE,QAAa,EAAE,IAAI,EAAE,EAAE;IACvF,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,2BAAiB,EAAE,CAAA;QAC3C,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE5E,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;AACL,CAAC,CAAA,CAAC,CAAA;AAEF,kBAAe,mBAAmB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction, APIListenerParams } from "../types/APIListener";
2
+ declare const DELETEListener: (fn: APIListenerFunction, params?: APIListenerParams) => APIListener;
3
+ export default DELETEListener;
4
+ //# sourceMappingURL=DELETEListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DELETEListener.d.ts","sourceRoot":"","sources":["../../src/listeners/DELETEListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,QAAA,MAAM,cAAc,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,WAQ9E,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const DELETEListener = (fn, params) => {
4
+ return {
5
+ listener: fn,
6
+ params: Object.assign(Object.assign({}, params), { method: 'delete' })
7
+ };
8
+ };
9
+ exports.default = DELETEListener;
10
+ //# sourceMappingURL=DELETEListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DELETEListener.js","sourceRoot":"","sources":["../../src/listeners/DELETEListener.ts"],"names":[],"mappings":";;AAEA,MAAM,cAAc,GAAyE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACxG,OAAO;QACH,QAAQ,EAAE,EAAE;QACZ,MAAM,kCACC,MAAM,KACT,MAAM,EAAE,QAAQ,GACnB;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction, APIListenerParams } from "../types/APIListener";
2
+ declare const GETListener: (fn: APIListenerFunction, params?: APIListenerParams) => APIListener;
3
+ export default GETListener;
4
+ //# sourceMappingURL=GETListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GETListener.d.ts","sourceRoot":"","sources":["../../src/listeners/GETListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,QAAA,MAAM,WAAW,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,WAQ3E,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const GETListener = (fn, params) => {
4
+ return {
5
+ listener: fn,
6
+ params: Object.assign(Object.assign({}, params), { method: 'get' })
7
+ };
8
+ };
9
+ exports.default = GETListener;
10
+ //# sourceMappingURL=GETListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GETListener.js","sourceRoot":"","sources":["../../src/listeners/GETListener.ts"],"names":[],"mappings":";;AAEA,MAAM,WAAW,GAAyE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACrG,OAAO;QACH,QAAQ,EAAE,EAAE;QACZ,MAAM,kCACC,MAAM,KACT,MAAM,EAAE,KAAK,GAChB;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction, APIListenerParams } from "../types/APIListener";
2
+ declare const PATCHListener: (fn: APIListenerFunction, params?: APIListenerParams) => APIListener;
3
+ export default PATCHListener;
4
+ //# sourceMappingURL=PATCHListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PATCHListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PATCHListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,QAAA,MAAM,aAAa,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,WAQ7E,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PATCHListener = (fn, params) => {
4
+ return {
5
+ listener: fn,
6
+ params: Object.assign(Object.assign({}, params), { method: 'patch' })
7
+ };
8
+ };
9
+ exports.default = PATCHListener;
10
+ //# sourceMappingURL=PATCHListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PATCHListener.js","sourceRoot":"","sources":["../../src/listeners/PATCHListener.ts"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAyE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACvG,OAAO;QACH,QAAQ,EAAE,EAAE;QACZ,MAAM,kCACC,MAAM,KACT,MAAM,EAAE,OAAO,GAClB;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,aAAa,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction, APIListenerParams } from "../types/APIListener";
2
+ declare const POSTListener: (fn: APIListenerFunction, params?: APIListenerParams) => APIListener;
3
+ export default POSTListener;
4
+ //# sourceMappingURL=POSTListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"POSTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/POSTListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,QAAA,MAAM,YAAY,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,WAQ5E,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const POSTListener = (fn, params) => {
4
+ return {
5
+ listener: fn,
6
+ params: Object.assign(Object.assign({}, params), { method: 'post' })
7
+ };
8
+ };
9
+ exports.default = POSTListener;
10
+ //# sourceMappingURL=POSTListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"POSTListener.js","sourceRoot":"","sources":["../../src/listeners/POSTListener.ts"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAyE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACtG,OAAO;QACH,QAAQ,EAAE,EAAE;QACZ,MAAM,kCACC,MAAM,KACT,MAAM,EAAE,MAAM,GACjB;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction, APIListenerParams } from "../types/APIListener";
2
+ declare const PUTListener: (fn: APIListenerFunction, params?: APIListenerParams) => APIListener;
3
+ export default PUTListener;
4
+ //# sourceMappingURL=PUTListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PUTListener.d.ts","sourceRoot":"","sources":["../../src/listeners/PUTListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,QAAA,MAAM,WAAW,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,WAQ3E,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PUTListener = (fn, params) => {
4
+ return {
5
+ listener: fn,
6
+ params: Object.assign(Object.assign({}, params), { method: 'put' })
7
+ };
8
+ };
9
+ exports.default = PUTListener;
10
+ //# sourceMappingURL=PUTListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PUTListener.js","sourceRoot":"","sources":["../../src/listeners/PUTListener.ts"],"names":[],"mappings":";;AAEA,MAAM,WAAW,GAAyE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACrG,OAAO;QACH,QAAQ,EAAE,EAAE;QACZ,MAAM,kCACC,MAAM,KACT,MAAM,EAAE,KAAK,GAChB;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { RequestHandler } from "express";
2
+ import { APIListener, APIMethod } from "../types/APIListener";
3
+ declare const RawListener: (method: APIMethod, ...middleware: RequestHandler[]) => APIListener;
4
+ export default RawListener;
5
+ //# sourceMappingURL=RawListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawListener.d.ts","sourceRoot":"","sources":["../../src/listeners/RawListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE9D,QAAA,MAAM,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,KAAK,WAQ1E,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const RawListener = (method, ...middleware) => {
4
+ return {
5
+ params: {
6
+ method,
7
+ raw: true,
8
+ middleware
9
+ }
10
+ };
11
+ };
12
+ exports.default = RawListener;
13
+ //# sourceMappingURL=RawListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawListener.js","sourceRoot":"","sources":["../../src/listeners/RawListener.ts"],"names":[],"mappings":";;AAGA,MAAM,WAAW,GAAwE,CAAC,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE;IAC/G,OAAO;QACH,MAAM,EAAE;YACJ,MAAM;YACN,GAAG,EAAE,IAAI;YACT,UAAU;SACb;KACJ,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { APIListener, APIListenerFunction } from "../../types/APIListener";
2
+ declare const DFWAuthListener: (fn?: APIListenerFunction) => APIListener;
3
+ export default DFWAuthListener;
4
+ //# sourceMappingURL=DFWAuthListener.d.ts.map