@scefira/dfw 1.3.0-alpha.0 → 1.3.0-alpha.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.
- package/dist/cjs/index.d.ts +4 -10
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/APIListener.d.ts +2 -63
- package/dist/cjs/lib/APIListener.d.ts.map +1 -1
- package/dist/cjs/lib/APIListener.js +9 -2
- package/dist/cjs/lib/APIListener.js.map +1 -1
- package/dist/cjs/lib/APIManager.d.ts +3 -3
- package/dist/cjs/lib/APIManager.d.ts.map +1 -1
- package/dist/cjs/lib/APIManager.js +20 -32
- package/dist/cjs/lib/APIManager.js.map +1 -1
- package/dist/cjs/lib/DFWCore.d.ts +5 -8
- package/dist/cjs/lib/DFWCore.d.ts.map +1 -1
- package/dist/cjs/lib/DFWCore.js +9 -12
- package/dist/cjs/lib/DFWCore.js.map +1 -1
- package/dist/cjs/lib/DFWModule.d.ts +5 -5
- package/dist/cjs/lib/DFWModule.d.ts.map +1 -1
- package/dist/cjs/lib/DFWModule.js +7 -15
- package/dist/cjs/lib/DFWModule.js.map +1 -1
- package/dist/cjs/lib/DFWPassportStrategy.d.ts +3 -0
- package/dist/cjs/lib/DFWPassportStrategy.d.ts.map +1 -0
- package/dist/cjs/lib/DFWPassportStrategy.js +27 -0
- package/dist/cjs/lib/DFWPassportStrategy.js.map +1 -0
- package/dist/cjs/lib/DFWService.d.ts +4 -9
- package/dist/cjs/lib/DFWService.d.ts.map +1 -1
- package/dist/cjs/lib/DFWService.js +4 -12
- package/dist/cjs/lib/DFWService.js.map +1 -1
- package/dist/cjs/lib/DFWSessionStore.d.ts +2 -3
- package/dist/cjs/lib/DFWSessionStore.d.ts.map +1 -1
- package/dist/cjs/lib/DFWSessionStore.js +5 -6
- package/dist/cjs/lib/DFWSessionStore.js.map +1 -1
- package/dist/cjs/lib/DFWUtils.d.ts +2 -2
- package/dist/cjs/lib/DFWUtils.d.ts.map +1 -1
- package/dist/cjs/lib/DFWUtils.js +17 -32
- package/dist/cjs/lib/DFWUtils.js.map +1 -1
- package/dist/cjs/lib/index.d.ts +6 -0
- package/dist/cjs/lib/index.d.ts.map +1 -0
- package/dist/{esm/types → cjs/lib}/index.js +5 -2
- package/dist/cjs/lib/index.js.map +1 -0
- package/dist/cjs/listeners/DELETEListener.d.ts +3 -3
- package/dist/cjs/listeners/DELETEListener.d.ts.map +1 -1
- package/dist/cjs/listeners/DELETEListener.js +1 -1
- package/dist/cjs/listeners/DELETEListener.js.map +1 -1
- package/dist/cjs/listeners/{auth/DFWAuthListener.d.ts → DFWAuthListener.d.ts} +1 -1
- package/dist/cjs/listeners/DFWAuthListener.d.ts.map +1 -0
- package/dist/cjs/listeners/DFWAuthListener.js +25 -0
- package/dist/cjs/listeners/DFWAuthListener.js.map +1 -0
- package/dist/cjs/listeners/{auth/DFWLogoutListener.d.ts → DFWLogoutListener.d.ts} +1 -1
- package/dist/cjs/listeners/DFWLogoutListener.d.ts.map +1 -0
- package/dist/cjs/listeners/DFWLogoutListener.js +23 -0
- package/dist/cjs/listeners/DFWLogoutListener.js.map +1 -0
- package/dist/cjs/listeners/GETListener.d.ts +3 -3
- package/dist/cjs/listeners/GETListener.d.ts.map +1 -1
- package/dist/cjs/listeners/GETListener.js +1 -1
- package/dist/cjs/listeners/GETListener.js.map +1 -1
- package/dist/cjs/listeners/PATCHListener.d.ts +3 -3
- package/dist/cjs/listeners/PATCHListener.d.ts.map +1 -1
- package/dist/cjs/listeners/PATCHListener.js +1 -1
- package/dist/cjs/listeners/PATCHListener.js.map +1 -1
- package/dist/cjs/listeners/POSTListener.d.ts +3 -3
- package/dist/cjs/listeners/POSTListener.d.ts.map +1 -1
- package/dist/cjs/listeners/POSTListener.js +1 -1
- package/dist/cjs/listeners/POSTListener.js.map +1 -1
- package/dist/cjs/listeners/PUTListener.d.ts +3 -3
- package/dist/cjs/listeners/PUTListener.d.ts.map +1 -1
- package/dist/cjs/listeners/PUTListener.js +1 -1
- package/dist/cjs/listeners/PUTListener.js.map +1 -1
- package/dist/cjs/listeners/RawListener.d.ts +2 -2
- package/dist/cjs/listeners/RawListener.d.ts.map +1 -1
- package/dist/cjs/listeners/StaticPathListener.d.ts +2 -2
- package/dist/cjs/listeners/StaticPathListener.d.ts.map +1 -1
- package/dist/cjs/listeners/StaticPathListener.js +7 -14
- package/dist/cjs/listeners/StaticPathListener.js.map +1 -1
- package/dist/cjs/listeners/index.d.ts +8 -9
- package/dist/cjs/listeners/index.d.ts.map +1 -1
- package/dist/cjs/listeners/index.js +17 -19
- package/dist/cjs/listeners/index.js.map +1 -1
- package/dist/cjs/modules/DFWFileModule.d.ts +4 -4
- package/dist/cjs/modules/DFWFileModule.d.ts.map +1 -1
- package/dist/cjs/modules/DFWFileModule.js +21 -23
- package/dist/cjs/modules/DFWFileModule.js.map +1 -1
- package/dist/cjs/modules/DFWSecurityModule.d.ts +2 -2
- package/dist/cjs/modules/DFWSecurityModule.d.ts.map +1 -1
- package/dist/cjs/modules/DFWSecurityModule.js +20 -32
- package/dist/cjs/modules/DFWSecurityModule.js.map +1 -1
- package/dist/cjs/modules/{SessionModule.d.ts → DFWSessionModule.d.ts} +3 -3
- package/dist/cjs/modules/DFWSessionModule.d.ts.map +1 -0
- package/dist/cjs/modules/DFWSessionModule.js +47 -0
- package/dist/cjs/modules/DFWSessionModule.js.map +1 -0
- package/dist/cjs/modules/{UserModule.d.ts → DFWUserModule.d.ts} +3 -3
- package/dist/cjs/modules/DFWUserModule.d.ts.map +1 -0
- package/dist/cjs/modules/DFWUserModule.js +45 -0
- package/dist/cjs/modules/DFWUserModule.js.map +1 -0
- package/dist/cjs/modules/index.d.ts +4 -4
- package/dist/cjs/modules/index.d.ts.map +1 -1
- package/dist/cjs/modules/index.js +8 -8
- package/dist/cjs/modules/index.js.map +1 -1
- package/dist/cjs/test.d.ts +1 -1
- package/dist/cjs/test.d.ts.map +1 -1
- package/dist/cjs/test.js +34 -38
- package/dist/cjs/test.js.map +1 -1
- package/dist/esm/index.d.ts +4 -10
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -32
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/APIListener.d.ts +2 -63
- package/dist/esm/lib/APIListener.d.ts.map +1 -1
- package/dist/esm/lib/APIListener.js +10 -7
- package/dist/esm/lib/APIListener.js.map +1 -1
- package/dist/esm/lib/APIManager.d.ts +3 -3
- package/dist/esm/lib/APIManager.d.ts.map +1 -1
- package/dist/esm/lib/APIManager.js +33 -52
- package/dist/esm/lib/APIManager.js.map +1 -1
- package/dist/esm/lib/DFWCore.d.ts +5 -8
- package/dist/esm/lib/DFWCore.d.ts.map +1 -1
- package/dist/esm/lib/DFWCore.js +30 -73
- package/dist/esm/lib/DFWCore.js.map +1 -1
- package/dist/esm/lib/DFWModule.d.ts +5 -5
- package/dist/esm/lib/DFWModule.d.ts.map +1 -1
- package/dist/esm/lib/DFWModule.js +6 -18
- package/dist/esm/lib/DFWModule.js.map +1 -1
- package/dist/esm/lib/DFWPassportStrategy.d.ts +3 -0
- package/dist/esm/lib/DFWPassportStrategy.d.ts.map +1 -0
- package/dist/esm/lib/DFWPassportStrategy.js +21 -0
- package/dist/esm/lib/DFWPassportStrategy.js.map +1 -0
- package/dist/esm/lib/DFWService.d.ts +4 -9
- package/dist/esm/lib/DFWService.d.ts.map +1 -1
- package/dist/esm/lib/DFWService.js +3 -15
- package/dist/esm/lib/DFWService.js.map +1 -1
- package/dist/esm/lib/DFWSessionStore.d.ts +2 -3
- package/dist/esm/lib/DFWSessionStore.d.ts.map +1 -1
- package/dist/esm/lib/DFWSessionStore.js +6 -11
- package/dist/esm/lib/DFWSessionStore.js.map +1 -1
- package/dist/esm/lib/DFWUtils.d.ts +2 -2
- package/dist/esm/lib/DFWUtils.d.ts.map +1 -1
- package/dist/esm/lib/DFWUtils.js +30 -50
- package/dist/esm/lib/DFWUtils.js.map +1 -1
- package/dist/esm/lib/index.d.ts +6 -0
- package/dist/esm/lib/index.d.ts.map +1 -0
- package/dist/esm/lib/index.js +6 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/listeners/DELETEListener.d.ts +3 -3
- package/dist/esm/listeners/DELETEListener.d.ts.map +1 -1
- package/dist/esm/listeners/DELETEListener.js +3 -5
- package/dist/esm/listeners/DELETEListener.js.map +1 -1
- package/dist/esm/listeners/{auth/DFWAuthListener.d.ts → DFWAuthListener.d.ts} +1 -1
- package/dist/esm/listeners/DFWAuthListener.d.ts.map +1 -0
- package/dist/esm/listeners/DFWAuthListener.js +20 -0
- package/dist/esm/listeners/DFWAuthListener.js.map +1 -0
- package/dist/esm/listeners/{auth/DFWLogoutListener.d.ts → DFWLogoutListener.d.ts} +1 -1
- package/dist/esm/listeners/DFWLogoutListener.d.ts.map +1 -0
- package/dist/esm/listeners/DFWLogoutListener.js +18 -0
- package/dist/esm/listeners/DFWLogoutListener.js.map +1 -0
- package/dist/esm/listeners/GETListener.d.ts +3 -3
- package/dist/esm/listeners/GETListener.d.ts.map +1 -1
- package/dist/esm/listeners/GETListener.js +3 -5
- package/dist/esm/listeners/GETListener.js.map +1 -1
- package/dist/esm/listeners/PATCHListener.d.ts +3 -3
- package/dist/esm/listeners/PATCHListener.d.ts.map +1 -1
- package/dist/esm/listeners/PATCHListener.js +3 -5
- package/dist/esm/listeners/PATCHListener.js.map +1 -1
- package/dist/esm/listeners/POSTListener.d.ts +3 -3
- package/dist/esm/listeners/POSTListener.d.ts.map +1 -1
- package/dist/esm/listeners/POSTListener.js +3 -5
- package/dist/esm/listeners/POSTListener.js.map +1 -1
- package/dist/esm/listeners/PUTListener.d.ts +3 -3
- package/dist/esm/listeners/PUTListener.d.ts.map +1 -1
- package/dist/esm/listeners/PUTListener.js +3 -5
- package/dist/esm/listeners/PUTListener.js.map +1 -1
- package/dist/esm/listeners/RawListener.d.ts +2 -2
- package/dist/esm/listeners/RawListener.d.ts.map +1 -1
- package/dist/esm/listeners/RawListener.js +1 -3
- package/dist/esm/listeners/RawListener.js.map +1 -1
- package/dist/esm/listeners/StaticPathListener.d.ts +2 -2
- package/dist/esm/listeners/StaticPathListener.d.ts.map +1 -1
- package/dist/esm/listeners/StaticPathListener.js +10 -19
- package/dist/esm/listeners/StaticPathListener.js.map +1 -1
- package/dist/esm/listeners/index.d.ts +8 -9
- package/dist/esm/listeners/index.d.ts.map +1 -1
- package/dist/esm/listeners/index.js +8 -24
- package/dist/esm/listeners/index.js.map +1 -1
- package/dist/esm/modules/DFWFileModule.d.ts +4 -4
- package/dist/esm/modules/DFWFileModule.d.ts.map +1 -1
- package/dist/esm/modules/DFWFileModule.js +31 -38
- package/dist/esm/modules/DFWFileModule.js.map +1 -1
- package/dist/esm/modules/DFWSecurityModule.d.ts +2 -2
- package/dist/esm/modules/DFWSecurityModule.d.ts.map +1 -1
- package/dist/esm/modules/DFWSecurityModule.js +21 -35
- package/dist/esm/modules/DFWSecurityModule.js.map +1 -1
- package/dist/esm/modules/{SessionModule.d.ts → DFWSessionModule.d.ts} +3 -3
- package/dist/esm/modules/DFWSessionModule.d.ts.map +1 -0
- package/dist/esm/modules/DFWSessionModule.js +45 -0
- package/dist/esm/modules/DFWSessionModule.js.map +1 -0
- package/dist/esm/modules/{UserModule.d.ts → DFWUserModule.d.ts} +3 -3
- package/dist/esm/modules/DFWUserModule.d.ts.map +1 -0
- package/dist/esm/modules/DFWUserModule.js +40 -0
- package/dist/esm/modules/DFWUserModule.js.map +1 -0
- package/dist/esm/modules/index.d.ts +4 -4
- package/dist/esm/modules/index.d.ts.map +1 -1
- package/dist/esm/modules/index.js +4 -14
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/package.json +3 -0
- package/dist/esm/test.d.ts +1 -1
- package/dist/esm/test.d.ts.map +1 -1
- package/dist/esm/test.js +38 -49
- package/dist/esm/test.js.map +1 -1
- package/package.json +27 -11
- package/prisma/schema/schema.prisma +1 -1
- package/dist/cjs/listeners/auth/DFWAuthListener.d.ts.map +0 -1
- package/dist/cjs/listeners/auth/DFWAuthListener.js +0 -34
- package/dist/cjs/listeners/auth/DFWAuthListener.js.map +0 -1
- package/dist/cjs/listeners/auth/DFWLogoutListener.d.ts.map +0 -1
- package/dist/cjs/listeners/auth/DFWLogoutListener.js +0 -32
- package/dist/cjs/listeners/auth/DFWLogoutListener.js.map +0 -1
- package/dist/cjs/modules/SessionModule.d.ts.map +0 -1
- package/dist/cjs/modules/SessionModule.js +0 -60
- package/dist/cjs/modules/SessionModule.js.map +0 -1
- package/dist/cjs/modules/UserModule.d.ts.map +0 -1
- package/dist/cjs/modules/UserModule.js +0 -63
- package/dist/cjs/modules/UserModule.js.map +0 -1
- package/dist/cjs/strategies/DFWPassportStrategy.d.ts +0 -4
- package/dist/cjs/strategies/DFWPassportStrategy.d.ts.map +0 -1
- package/dist/cjs/strategies/DFWPassportStrategy.js +0 -36
- package/dist/cjs/strategies/DFWPassportStrategy.js.map +0 -1
- package/dist/cjs/types/DFWConfig.d.ts +0 -57
- package/dist/cjs/types/DFWConfig.d.ts.map +0 -1
- package/dist/cjs/types/DFWConfig.js +0 -3
- package/dist/cjs/types/DFWConfig.js.map +0 -1
- package/dist/cjs/types/DFWDatabase.d.ts +0 -4
- package/dist/cjs/types/DFWDatabase.d.ts.map +0 -1
- package/dist/cjs/types/DFWDatabase.js +0 -3
- package/dist/cjs/types/DFWDatabase.js.map +0 -1
- package/dist/cjs/types/DFWRequest.d.ts +0 -27
- package/dist/cjs/types/DFWRequest.d.ts.map +0 -1
- package/dist/cjs/types/DFWRequest.js +0 -3
- package/dist/cjs/types/DFWRequest.js.map +0 -1
- package/dist/cjs/types/index.d.ts +0 -3
- package/dist/cjs/types/index.d.ts.map +0 -1
- package/dist/cjs/types/index.js +0 -19
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/esm/listeners/auth/DFWAuthListener.d.ts.map +0 -1
- package/dist/esm/listeners/auth/DFWAuthListener.js +0 -34
- package/dist/esm/listeners/auth/DFWAuthListener.js.map +0 -1
- package/dist/esm/listeners/auth/DFWLogoutListener.d.ts.map +0 -1
- package/dist/esm/listeners/auth/DFWLogoutListener.js +0 -32
- package/dist/esm/listeners/auth/DFWLogoutListener.js.map +0 -1
- package/dist/esm/modules/SessionModule.d.ts.map +0 -1
- package/dist/esm/modules/SessionModule.js +0 -60
- package/dist/esm/modules/SessionModule.js.map +0 -1
- package/dist/esm/modules/UserModule.d.ts.map +0 -1
- package/dist/esm/modules/UserModule.js +0 -63
- package/dist/esm/modules/UserModule.js.map +0 -1
- package/dist/esm/strategies/DFWPassportStrategy.d.ts +0 -4
- package/dist/esm/strategies/DFWPassportStrategy.d.ts.map +0 -1
- package/dist/esm/strategies/DFWPassportStrategy.js +0 -36
- package/dist/esm/strategies/DFWPassportStrategy.js.map +0 -1
- package/dist/esm/types/DFWConfig.d.ts +0 -57
- package/dist/esm/types/DFWConfig.d.ts.map +0 -1
- package/dist/esm/types/DFWConfig.js +0 -3
- package/dist/esm/types/DFWConfig.js.map +0 -1
- package/dist/esm/types/DFWDatabase.d.ts +0 -4
- package/dist/esm/types/DFWDatabase.d.ts.map +0 -1
- package/dist/esm/types/DFWDatabase.js +0 -3
- package/dist/esm/types/DFWDatabase.js.map +0 -1
- package/dist/esm/types/DFWRequest.d.ts +0 -27
- package/dist/esm/types/DFWRequest.d.ts.map +0 -1
- package/dist/esm/types/DFWRequest.js +0 -3
- package/dist/esm/types/DFWRequest.js.map +0 -1
- package/dist/esm/types/index.d.ts +0 -3
- package/dist/esm/types/index.d.ts.map +0 -1
- package/dist/esm/types/index.js.map +0 -1
package/dist/cjs/test.js
CHANGED
|
@@ -1,43 +1,39 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
14
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
6
|
exports.emailSchema = exports.DFWSessionService = void 0;
|
|
16
|
-
const
|
|
7
|
+
const DFWCore_1 = require("#lib/DFWCore");
|
|
8
|
+
const DFWService_1 = require("#lib/DFWService");
|
|
9
|
+
const DFWUtils_1 = __importDefault(require("#lib/DFWUtils"));
|
|
10
|
+
const GETListener_1 = __importDefault(require("#listeners/GETListener"));
|
|
11
|
+
const DFWSessionModule_1 = __importDefault(require("#modules/DFWSessionModule"));
|
|
12
|
+
const DFWUserModule_1 = __importDefault(require("#modules/DFWUserModule"));
|
|
17
13
|
const zod_1 = __importDefault(require("zod"));
|
|
18
|
-
class DFWSessionService extends
|
|
14
|
+
class DFWSessionService extends DFWService_1.DFWService {
|
|
19
15
|
constructor() {
|
|
20
16
|
super(...arguments);
|
|
21
17
|
this.namespace = 'session';
|
|
22
18
|
this.test = (userDto) => this.buildMethod((db) => {
|
|
23
|
-
return db.$transaction((db) =>
|
|
24
|
-
const { createUserAsync } = new
|
|
19
|
+
return db.$transaction(async (db) => {
|
|
20
|
+
const { createUserAsync } = new DFWUserModule_1.default(db);
|
|
25
21
|
console.log(createUserAsync);
|
|
26
22
|
return createUserAsync(userDto);
|
|
27
|
-
})
|
|
23
|
+
});
|
|
28
24
|
});
|
|
29
|
-
this.transaction = (userDto) => this.buildTransaction((db) =>
|
|
30
|
-
const { createUserAsync } = new
|
|
25
|
+
this.transaction = (userDto) => this.buildTransaction(async (db) => {
|
|
26
|
+
const { createUserAsync } = new DFWUserModule_1.default(db);
|
|
31
27
|
return createUserAsync(userDto);
|
|
32
|
-
})
|
|
28
|
+
});
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
exports.DFWSessionService = DFWSessionService;
|
|
36
|
-
const SessionGuard =
|
|
32
|
+
const SessionGuard = DFWUtils_1.default.makeGuard(async ({ getSession }) => {
|
|
37
33
|
if (getSession().isAuthenticated !== true)
|
|
38
34
|
throw `ACCESS_DENIED`;
|
|
39
|
-
})
|
|
40
|
-
var DFW = new
|
|
35
|
+
});
|
|
36
|
+
var DFW = new DFWCore_1.DFWCore({
|
|
41
37
|
server: {
|
|
42
38
|
port: 300,
|
|
43
39
|
trustProxy: true
|
|
@@ -51,40 +47,40 @@ exports.emailSchema = zod_1.default.object({
|
|
|
51
47
|
});
|
|
52
48
|
DFW.register({
|
|
53
49
|
test: [
|
|
54
|
-
(0,
|
|
50
|
+
(0, GETListener_1.default)({
|
|
55
51
|
middleware: [SessionGuard],
|
|
56
52
|
services: [DFWSessionService],
|
|
57
|
-
},
|
|
53
|
+
}, async ({ session }) => session.test({ tom: 'clancy' })),
|
|
58
54
|
{
|
|
59
55
|
method: 'post',
|
|
60
56
|
services: [DFWSessionService],
|
|
61
57
|
validate: { body: exports.emailSchema },
|
|
62
|
-
fn:
|
|
58
|
+
fn: async ({ db }, { body }) => {
|
|
63
59
|
return body.email;
|
|
64
|
-
}
|
|
60
|
+
}
|
|
65
61
|
}
|
|
66
62
|
],
|
|
67
63
|
boot: [
|
|
68
|
-
(0,
|
|
64
|
+
(0, GETListener_1.default)(async ({ getSession, db }) => {
|
|
69
65
|
let { user, isAuthenticated } = getSession();
|
|
70
66
|
if (isAuthenticated) {
|
|
71
|
-
user =
|
|
67
|
+
user = await db.dfw_user.findUnique({ where: { id: user?.id } });
|
|
72
68
|
}
|
|
73
69
|
return { user, isAuthenticated };
|
|
74
|
-
})
|
|
70
|
+
})
|
|
75
71
|
],
|
|
76
|
-
login: (0,
|
|
77
|
-
const { loginAsync } = new
|
|
78
|
-
const user =
|
|
72
|
+
login: (0, GETListener_1.default)(async ({ db, getSession }, req) => {
|
|
73
|
+
const { loginAsync } = new DFWSessionModule_1.default(db);
|
|
74
|
+
const user = await db.dfw_user.findFirst();
|
|
79
75
|
if (!user)
|
|
80
76
|
throw "UNABLE_TO_FIND_USER";
|
|
81
|
-
|
|
82
|
-
return
|
|
83
|
-
})
|
|
84
|
-
logout: (0,
|
|
85
|
-
const { logoutAsync } = new
|
|
86
|
-
|
|
87
|
-
return
|
|
88
|
-
})
|
|
77
|
+
await loginAsync(req, user);
|
|
78
|
+
return { ...getSession() };
|
|
79
|
+
}),
|
|
80
|
+
logout: (0, GETListener_1.default)(async ({ db, getSession }, req) => {
|
|
81
|
+
const { logoutAsync } = new DFWSessionModule_1.default(db);
|
|
82
|
+
await logoutAsync(req);
|
|
83
|
+
return { ...getSession() };
|
|
84
|
+
}),
|
|
89
85
|
});
|
|
90
86
|
//# sourceMappingURL=test.js.map
|
package/dist/cjs/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
export * from "
|
|
3
|
-
export * from "
|
|
4
|
-
export * from
|
|
5
|
-
export { default as DFWCore } from './lib/DFWCore';
|
|
6
|
-
export { default as DFWUtils } from "./lib/DFWUtils";
|
|
7
|
-
export { default as DFWModule } from './lib/DFWModule';
|
|
8
|
-
export { default as DFWService } from './lib/DFWService';
|
|
9
|
-
export { UploadedFile } from "express-fileupload";
|
|
10
|
-
export { SavedFileParams } from "./modules/DFWFileModule";
|
|
1
|
+
export type * from "#types/index";
|
|
2
|
+
export * from "#lib/index";
|
|
3
|
+
export * from "#modules/index";
|
|
4
|
+
export * from "#listeners/index";
|
|
11
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,cAAc,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.DFWService = exports.DFWModule = exports.DFWUtils = exports.DFWCore = void 0;
|
|
21
|
-
__exportStar(require("./modules"), exports);
|
|
22
|
-
__exportStar(require("./types"), exports);
|
|
23
|
-
__exportStar(require("./listeners"), exports);
|
|
24
|
-
__exportStar(require("./lib/APIListener"), exports);
|
|
25
|
-
var DFWCore_1 = require("./lib/DFWCore");
|
|
26
|
-
Object.defineProperty(exports, "DFWCore", { enumerable: true, get: function () { return __importDefault(DFWCore_1).default; } });
|
|
27
|
-
var DFWUtils_1 = require("./lib/DFWUtils");
|
|
28
|
-
Object.defineProperty(exports, "DFWUtils", { enumerable: true, get: function () { return __importDefault(DFWUtils_1).default; } });
|
|
29
|
-
var DFWModule_1 = require("./lib/DFWModule");
|
|
30
|
-
Object.defineProperty(exports, "DFWModule", { enumerable: true, get: function () { return __importDefault(DFWModule_1).default; } });
|
|
31
|
-
var DFWService_1 = require("./lib/DFWService");
|
|
32
|
-
Object.defineProperty(exports, "DFWService", { enumerable: true, get: function () { return __importDefault(DFWService_1).default; } });
|
|
1
|
+
export * from "#lib/index";
|
|
2
|
+
export * from "#modules/index";
|
|
3
|
+
export * from "#listeners/index";
|
|
33
4
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
@@ -1,66 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { DFWRequest, DFWRequestSchema, DFWResponse } from "../types";
|
|
4
|
-
import { DFWServiceConstructor } from "./DFWService";
|
|
5
|
-
import { ZodSchema } from "zod";
|
|
6
|
-
export type APIMethod = 'get' | 'post' | 'put' | 'delete' | 'options' | 'patch' | 'use';
|
|
7
|
-
export type ListenerFn<TServices extends readonly DFWServiceConstructor[] = []> = (dfw: DFWRequestSchema<TServices>, req: DFWRequest<TServices>, res: DFWResponse) => Promise<any | void> | any | void;
|
|
8
|
-
export type APIListener = {
|
|
9
|
-
/**
|
|
10
|
-
* REST API Method
|
|
11
|
-
*/
|
|
12
|
-
method?: APIMethod;
|
|
13
|
-
/**
|
|
14
|
-
* Main function to be called
|
|
15
|
-
*/
|
|
16
|
-
fn?: ListenerFn;
|
|
17
|
-
/**
|
|
18
|
-
* Express middleware (compatible with raw listeners)
|
|
19
|
-
*/
|
|
20
|
-
middleware?: Handler | Handler[];
|
|
21
|
-
/**
|
|
22
|
-
* zod validations
|
|
23
|
-
*/
|
|
24
|
-
validate?: {
|
|
25
|
-
/**
|
|
26
|
-
* Validate the request body
|
|
27
|
-
*/
|
|
28
|
-
body?: ZodSchema;
|
|
29
|
-
/**
|
|
30
|
-
* Validate the request query
|
|
31
|
-
*/
|
|
32
|
-
query?: ZodSchema;
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
*/
|
|
37
|
-
services?: DFWServiceConstructor[];
|
|
38
|
-
/**
|
|
39
|
-
* File Upload middleware enabled receive a fileUpload.Options
|
|
40
|
-
*/
|
|
41
|
-
upload?: fileUpload.Options | boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Disable the autosend system, you must specify what send to the clien and when
|
|
44
|
-
*/
|
|
45
|
-
disableAutoSend?: boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Disable body parser (body parser is installed only on post methods)
|
|
48
|
-
*/
|
|
49
|
-
disableBodyParser?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Callback function after the server responses to the client (after the connection was closed)
|
|
52
|
-
* @param req
|
|
53
|
-
* @param listenerRes
|
|
54
|
-
* @returns
|
|
55
|
-
*/
|
|
56
|
-
callback?: (req: DFWRequest, listenerRes: any) => Promise<void>;
|
|
57
|
-
};
|
|
58
|
-
export type APIListenerWithoutFn = Omit<APIListener, 'listener'>;
|
|
59
|
-
export type APIListenerWithoutMethod = Omit<APIListener, 'method'>;
|
|
60
|
-
export type APIListenerFunction = {
|
|
61
|
-
(fn: ListenerFn): APIListener;
|
|
62
|
-
(params: APIListenerWithoutFn, fn: ListenerFn): APIListener;
|
|
63
|
-
};
|
|
1
|
+
import type { DFWServiceConstructor } from "#types/DFWService";
|
|
2
|
+
import type { APIListener, APIListenerWithoutMethod, ListenerFn } from "#types/APIListener";
|
|
64
3
|
export declare const makeAPIListenerFunction: (baseParams: Partial<APIListener>) => {
|
|
65
4
|
<TServices extends readonly DFWServiceConstructor[]>(params: APIListenerWithoutMethod & {
|
|
66
5
|
services?: TServices;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIListener.d.ts","sourceRoot":"","sources":["../../../src/lib/APIListener.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"APIListener.d.ts","sourceRoot":"","sources":["../../../src/lib/APIListener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5F,eAAO,MAAM,uBAAuB,GAAI,YAAY,OAAO,CAAC,WAAW,CAAC;KACpD,SAAS,SAAS,SAAS,qBAAqB,EAAE,UAC1D,wBAAwB,GAAG;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,MACvD,UAAU,CAAC,SAAS,CAAC,GACxB,WAAW;SAGR,UAAU,GACb,WAAW;CAkBf,CAAC"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeAPIListenerFunction = void 0;
|
|
4
|
-
const makeAPIListenerFunction = (baseParams) => {
|
|
1
|
+
export const makeAPIListenerFunction = (baseParams) => {
|
|
5
2
|
function listener(arg1, arg2) {
|
|
6
3
|
if (typeof arg1 === "function") {
|
|
7
|
-
return
|
|
4
|
+
return {
|
|
5
|
+
fn: arg1,
|
|
6
|
+
...baseParams,
|
|
7
|
+
};
|
|
8
8
|
}
|
|
9
9
|
else {
|
|
10
|
-
return
|
|
10
|
+
return {
|
|
11
|
+
fn: arg2,
|
|
12
|
+
...arg1,
|
|
13
|
+
...baseParams,
|
|
14
|
+
};
|
|
11
15
|
}
|
|
12
16
|
}
|
|
13
17
|
return listener;
|
|
14
18
|
};
|
|
15
|
-
exports.makeAPIListenerFunction = makeAPIListenerFunction;
|
|
16
19
|
//# sourceMappingURL=APIListener.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIListener.js","sourceRoot":"","sources":["../../../src/lib/APIListener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"APIListener.js","sourceRoot":"","sources":["../../../src/lib/APIListener.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,UAAgC,EAAE,EAAE;IAU1E,SAAS,QAAQ,CAAC,IAAS,EAAE,IAAU;QACrC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,EAAE,EAAE,IAAK;gBACT,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import DFWCore from "
|
|
2
|
-
import { APIListener } from "
|
|
3
|
-
export
|
|
1
|
+
import type { DFWCore } from "#lib/DFWCore";
|
|
2
|
+
import type { APIListener } from "#types/APIListener";
|
|
3
|
+
export declare class APIManager {
|
|
4
4
|
private DFW;
|
|
5
5
|
constructor(DFW: DFWCore);
|
|
6
6
|
installAPILAyer(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../../src/lib/APIManager.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"APIManager.d.ts","sourceRoot":"","sources":["../../../src/lib/APIManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,qBAAa,UAAU;IACnB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,OAAO;IAIjB,eAAe;IA6Df,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;CA8FvD"}
|
|
@@ -1,58 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 passport_1 = __importDefault(require("passport"));
|
|
19
|
-
const DFWPassportStrategy_1 = __importDefault(require("../strategies/DFWPassportStrategy"));
|
|
20
|
-
const express_session_1 = __importDefault(require("express-session"));
|
|
21
|
-
const DFWSessionStore_1 = __importDefault(require("./DFWSessionStore"));
|
|
22
|
-
const express_fileupload_1 = __importDefault(require("express-fileupload"));
|
|
23
|
-
const uuid_1 = require("uuid");
|
|
24
|
-
class APIManager {
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import passport from "passport";
|
|
3
|
+
import session from "express-session";
|
|
4
|
+
import fileUpload from "express-fileupload";
|
|
5
|
+
import { v7 as uuid7 } from 'uuid';
|
|
6
|
+
import bodyParser from "body-parser";
|
|
7
|
+
import { DFWPassportStrategy } from "#lib/DFWPassportStrategy";
|
|
8
|
+
import { DFWSessionStore } from "#lib/DFWSessionStore";
|
|
9
|
+
import DFWUtils from "#lib/DFWUtils";
|
|
10
|
+
export class APIManager {
|
|
25
11
|
constructor(DFW) {
|
|
26
12
|
this.DFW = DFW;
|
|
27
13
|
}
|
|
28
14
|
installAPILAyer() {
|
|
29
|
-
var _a, _b;
|
|
30
15
|
const config = this.DFW.config;
|
|
31
16
|
const APIRouter = this.DFW.RouterAPILevel;
|
|
32
17
|
//// PASSPORT AND SESSION ////
|
|
33
|
-
APIRouter.use((
|
|
18
|
+
APIRouter.use(session({
|
|
34
19
|
name: 'stk',
|
|
35
20
|
secret: 'default',
|
|
36
|
-
genid: () => (
|
|
21
|
+
genid: () => uuid7(),
|
|
37
22
|
resave: false,
|
|
38
23
|
saveUninitialized: false,
|
|
39
|
-
store: new
|
|
24
|
+
store: new DFWSessionStore(this.DFW),
|
|
40
25
|
cookie: {
|
|
41
26
|
secure: false,
|
|
42
27
|
maxAge: 1000 * 60 * 60 * 24 * 360 //1Y
|
|
43
28
|
}
|
|
44
29
|
}));
|
|
45
|
-
APIRouter.use(
|
|
46
|
-
APIRouter.use(
|
|
47
|
-
if (
|
|
48
|
-
|
|
30
|
+
APIRouter.use(passport.initialize());
|
|
31
|
+
APIRouter.use(passport.session());
|
|
32
|
+
if (config.session?.authenticators?.dfw !== false) {
|
|
33
|
+
passport.use('dfw', DFWPassportStrategy);
|
|
49
34
|
}
|
|
50
|
-
|
|
35
|
+
passport.serializeUser(async ({ id }, done) => {
|
|
51
36
|
done(null, id);
|
|
52
|
-
})
|
|
53
|
-
|
|
37
|
+
});
|
|
38
|
+
passport.deserializeUser(async (idUser, done) => {
|
|
54
39
|
done(null, { id: idUser });
|
|
55
|
-
})
|
|
40
|
+
});
|
|
56
41
|
//// DFW SChema ////
|
|
57
42
|
APIRouter.use(((req, res, next) => {
|
|
58
43
|
const callbackStack = [];
|
|
@@ -78,22 +63,20 @@ class APIManager {
|
|
|
78
63
|
}));
|
|
79
64
|
}
|
|
80
65
|
addListener(path, params) {
|
|
81
|
-
var _a;
|
|
82
66
|
const server = this.DFW.server;
|
|
83
|
-
const method =
|
|
67
|
+
const method = params.method ?? 'get';
|
|
84
68
|
const fn = params.fn;
|
|
85
69
|
if (!params.middleware && !fn) {
|
|
86
|
-
|
|
70
|
+
DFWUtils.log(`Unable to set listener for [${method}] ${path} listener and middleware are undefined`);
|
|
87
71
|
return;
|
|
88
72
|
}
|
|
89
73
|
// Body Parser
|
|
90
74
|
if (['post', 'put', 'patch', 'delete'].includes(method) && params.disableBodyParser !== true)
|
|
91
|
-
server[method](path,
|
|
75
|
+
server[method](path, bodyParser.json());
|
|
92
76
|
if (params.validate) {
|
|
93
77
|
server[method](path, (req, res, next) => {
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
const querySchema = (_b = params.validate) === null || _b === void 0 ? void 0 : _b.query;
|
|
78
|
+
const bodySchema = params.validate?.body;
|
|
79
|
+
const querySchema = params.validate?.query;
|
|
97
80
|
if (bodySchema) {
|
|
98
81
|
const result = bodySchema.safeParse(req.body);
|
|
99
82
|
if (!result.success) {
|
|
@@ -121,23 +104,22 @@ class APIManager {
|
|
|
121
104
|
server[method](path, this.DFW.RouterAPILevel);
|
|
122
105
|
// file upload middleware
|
|
123
106
|
if (params.upload)
|
|
124
|
-
server[method](path, (
|
|
107
|
+
server[method](path, fileUpload(typeof params.upload === 'boolean' ? {} : params.upload));
|
|
125
108
|
// plugged middlewares and handlers
|
|
126
109
|
if (params.middleware) {
|
|
127
110
|
const middlewares = Array.isArray(params.middleware) ? params.middleware : [params.middleware];
|
|
128
111
|
server[method](path, ...middlewares);
|
|
129
112
|
}
|
|
130
113
|
if (fn) {
|
|
131
|
-
server[method](path, (req, res, next) =>
|
|
132
|
-
var _a;
|
|
114
|
+
server[method](path, async (req, res, next) => {
|
|
133
115
|
try {
|
|
134
116
|
// Setting up services
|
|
135
|
-
|
|
117
|
+
params.services?.forEach((Service) => {
|
|
136
118
|
const serviceInstance = new Service(req.dfw);
|
|
137
119
|
req.dfw[serviceInstance.namespace] = serviceInstance;
|
|
138
120
|
});
|
|
139
121
|
// calling the listener
|
|
140
|
-
const data =
|
|
122
|
+
const data = await fn(req.dfw, req, res);
|
|
141
123
|
if (params.callback) {
|
|
142
124
|
res.on('finish', () => params.callback(req, data));
|
|
143
125
|
}
|
|
@@ -151,11 +133,11 @@ class APIManager {
|
|
|
151
133
|
catch (e) {
|
|
152
134
|
next(e);
|
|
153
135
|
}
|
|
154
|
-
})
|
|
136
|
+
});
|
|
155
137
|
}
|
|
156
138
|
server.use(path, (err, _1, res, _2) => {
|
|
157
139
|
if (process.env.NODE_ENV == "development")
|
|
158
|
-
|
|
140
|
+
DFWUtils.log(err, true);
|
|
159
141
|
const errorStatus = res.statusCode === 200 ? 500 : res.statusCode;
|
|
160
142
|
if (typeof err === "object" && err.message) {
|
|
161
143
|
res.status(errorStatus).json({ error: err.message, stack: process.env.NODE_ENV == "development" ? err.stack : null }).end();
|
|
@@ -164,8 +146,7 @@ class APIManager {
|
|
|
164
146
|
res.status(errorStatus).json({ error: err }).end();
|
|
165
147
|
}
|
|
166
148
|
});
|
|
167
|
-
|
|
149
|
+
DFWUtils.log(`${chalk.yellow(method.toUpperCase().padEnd(7, ' '))} ${chalk.green(path)}`);
|
|
168
150
|
}
|
|
169
151
|
}
|
|
170
|
-
exports.default = APIManager;
|
|
171
152
|
//# sourceMappingURL=APIManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../../src/lib/APIManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"APIManager.js","sourceRoot":"","sources":["../../../src/lib/APIManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import type { DFWRequestSchema } from "#types/DFWRequest";
|
|
2
|
+
import type { APIListener, DFWRegisterItem, ListenerFn } from "#types/APIListener";
|
|
3
|
+
import type { DFWConfig } from "#types/DFWConfig";
|
|
4
|
+
import type { Express } from "express";
|
|
5
|
+
import { Router } from "express";
|
|
1
6
|
import { PrismaClient } from "@prisma/client";
|
|
2
|
-
import { Express, Router } from "express";
|
|
3
|
-
import { DFWConfig } from "../types/DFWConfig";
|
|
4
|
-
import { APIListener, ListenerFn } from "../lib/APIListener";
|
|
5
|
-
import { DFWRequestSchema } from "../types/DFWRequest";
|
|
6
|
-
type DFWRegisterItem = APIListener | {
|
|
7
|
-
[key: string]: DFWRegisterItem;
|
|
8
|
-
} | DFWRegisterItem[];
|
|
9
7
|
declare global {
|
|
10
8
|
namespace Express {
|
|
11
9
|
interface Request {
|
|
@@ -38,5 +36,4 @@ export declare class DFWCore {
|
|
|
38
36
|
register(node: DFWRegisterItem, path?: string): void;
|
|
39
37
|
get db(): PrismaClient<import("@prisma/client").Prisma.PrismaClientOptions, never, import("@prisma/client/runtime/library").DefaultArgs>;
|
|
40
38
|
}
|
|
41
|
-
export default DFWCore;
|
|
42
39
|
//# sourceMappingURL=DFWCore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DFWCore.d.ts","sourceRoot":"","sources":["../../../src/lib/DFWCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DFWCore.d.ts","sourceRoot":"","sources":["../../../src/lib/DFWCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,MAAM,EAA4B,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAiB,OAAO;YACpB,GAAG,EAAE,gBAAgB,CAAA;SACxB;QAED,UAAiB,QAAQ;YACrB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;SACjD;KACJ;CACJ;AAED,qBAAa,OAAO;IAEhB,OAAc,aAAa,EAAE,OAAO,CAAA;IAEpC,OAAc,OAAO,SAAW;IAChC,OAAc,cAAc,SAA8B;IAE1D,SAAgB,MAAM,EAAE,OAAO,CAAmB;IAClD,SAAgB,cAAc,EAAE,MAAM,CAAY;IAElD,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,UAAU,CAAuB;gBAE7B,MAAM,EAAE,SAAS;IAqCtB,KAAK;IAQL,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI;IAStD;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE,MAAW;IAcxD,IAAI,EAAE,mIAEL;CACJ"}
|