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