@knovator/pagecreator-node 0.0.1
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/README.md +11 -0
- package/package.json +40 -0
- package/src/constants/index.d.ts +16 -0
- package/src/constants/index.js +30 -0
- package/src/constants/index.js.map +1 -0
- package/src/controllers/PageController.d.ts +4 -0
- package/src/controllers/PageController.js +61 -0
- package/src/controllers/PageController.js.map +1 -0
- package/src/controllers/TileController.d.ts +4 -0
- package/src/controllers/TileController.js +45 -0
- package/src/controllers/TileController.js.map +1 -0
- package/src/controllers/UserController.d.ts +2 -0
- package/src/controllers/UserController.js +174 -0
- package/src/controllers/UserController.js.map +1 -0
- package/src/controllers/WidgetController.d.ts +8 -0
- package/src/controllers/WidgetController.js +130 -0
- package/src/controllers/WidgetController.js.map +1 -0
- package/src/index.d.ts +8 -0
- package/src/index.js +29 -0
- package/src/index.js.map +1 -0
- package/src/models/Page.d.ts +3 -0
- package/src/models/Page.js +16 -0
- package/src/models/Page.js.map +1 -0
- package/src/models/Tile.d.ts +3 -0
- package/src/models/Tile.js +29 -0
- package/src/models/Tile.js.map +1 -0
- package/src/models/Widget.d.ts +3 -0
- package/src/models/Widget.js +41 -0
- package/src/models/Widget.js.map +1 -0
- package/src/models/index.d.ts +4 -0
- package/src/models/index.js +11 -0
- package/src/models/index.js.map +1 -0
- package/src/plugins/softDelete.d.ts +7 -0
- package/src/plugins/softDelete.js +64 -0
- package/src/plugins/softDelete.js.map +1 -0
- package/src/routes/PageRoute.d.ts +3 -0
- package/src/routes/PageRoute.js +27 -0
- package/src/routes/PageRoute.js.map +1 -0
- package/src/routes/TileRoute.d.ts +3 -0
- package/src/routes/TileRoute.js +28 -0
- package/src/routes/TileRoute.js.map +1 -0
- package/src/routes/UserRoute.d.ts +3 -0
- package/src/routes/UserRoute.js +21 -0
- package/src/routes/UserRoute.js.map +1 -0
- package/src/routes/WidgetRoute.d.ts +3 -0
- package/src/routes/WidgetRoute.js +46 -0
- package/src/routes/WidgetRoute.js.map +1 -0
- package/src/services/dbService.d.ts +8 -0
- package/src/services/dbService.js +60 -0
- package/src/services/dbService.js.map +1 -0
- package/src/types/IRequest.d.ts +6 -0
- package/src/types/IRequest.js +3 -0
- package/src/types/IRequest.js.map +1 -0
- package/src/types/IResponse.d.ts +6 -0
- package/src/types/IResponse.js +3 -0
- package/src/types/IResponse.js.map +1 -0
- package/src/types/Router.d.ts +4 -0
- package/src/types/Router.js +3 -0
- package/src/types/Router.js.map +1 -0
- package/src/types/common.d.ts +60 -0
- package/src/types/common.js +3 -0
- package/src/types/common.js.map +1 -0
- package/src/types/enums.d.ts +11 -0
- package/src/types/enums.js +18 -0
- package/src/types/enums.js.map +1 -0
- package/src/types/index.d.ts +5 -0
- package/src/types/index.js +9 -0
- package/src/types/index.js.map +1 -0
- package/src/utils/defaults.d.ts +2 -0
- package/src/utils/defaults.js +23 -0
- package/src/utils/defaults.js.map +1 -0
- package/src/utils/responseHandlers.d.ts +6 -0
- package/src/utils/responseHandlers.js +57 -0
- package/src/utils/responseHandlers.js.map +1 -0
- package/src/utils/validate.d.ts +4 -0
- package/src/utils/validate.js +24 -0
- package/src/utils/validate.js.map +1 -0
- package/src/utils/validations/page.d.ts +5 -0
- package/src/utils/validations/page.js +50 -0
- package/src/utils/validations/page.js.map +1 -0
- package/src/utils/validations/tile.d.ts +5 -0
- package/src/utils/validations/tile.js +35 -0
- package/src/utils/validations/tile.js.map +1 -0
- package/src/utils/validations/user.d.ts +3 -0
- package/src/utils/validations/user.js +12 -0
- package/src/utils/validations/user.js.map +1 -0
- package/src/utils/validations/widget.d.ts +7 -0
- package/src/utils/validations/widget.js +96 -0
- package/src/utils/validations/widget.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@knovator/pagecreator-node",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "commonjs",
|
|
5
|
+
"author": "knovator (https://knovator.com/)",
|
|
6
|
+
"description": "PageCreator Node.js module",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git@github.com:knovator/pagecreator.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"pagecreator",
|
|
13
|
+
"nodejs",
|
|
14
|
+
"mongodb",
|
|
15
|
+
"knovator"
|
|
16
|
+
],
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"import": "./src/index.js",
|
|
20
|
+
"require": "./src/index.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"mongoose-paginate-v2": "^1.7.0",
|
|
25
|
+
"express-list-endpoints-descriptor": "^1.0.13",
|
|
26
|
+
"joi": "^17.6.0"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"mongoose": "^6.5.3",
|
|
30
|
+
"express": "^4.18.1",
|
|
31
|
+
"tslib": "^2.3.0"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"src",
|
|
35
|
+
"package.json",
|
|
36
|
+
"README.md"
|
|
37
|
+
],
|
|
38
|
+
"main": "./src/index.js",
|
|
39
|
+
"typings": "./src/index.d.ts"
|
|
40
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const VALIDATION: {
|
|
2
|
+
WIDGET_EXISTS: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const RESPONSE_CODES: {
|
|
5
|
+
DEFAULT: string;
|
|
6
|
+
ERROR: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const REGEXS: {
|
|
9
|
+
OBJECTID_CAST_FAILED: RegExp;
|
|
10
|
+
};
|
|
11
|
+
export declare const MONGOOSE_FIND_QUERIES: string[];
|
|
12
|
+
export declare const success = 200;
|
|
13
|
+
export declare const create = 201;
|
|
14
|
+
export declare const internalServerError = 500;
|
|
15
|
+
export declare const validationError = 422;
|
|
16
|
+
export declare const messageRoutePrefix = "msg";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.messageRoutePrefix = exports.validationError = exports.internalServerError = exports.create = exports.success = exports.MONGOOSE_FIND_QUERIES = exports.REGEXS = exports.RESPONSE_CODES = exports.VALIDATION = void 0;
|
|
4
|
+
exports.VALIDATION = {
|
|
5
|
+
WIDGET_EXISTS: 'Widget with same code is available',
|
|
6
|
+
};
|
|
7
|
+
exports.RESPONSE_CODES = {
|
|
8
|
+
DEFAULT: 'SUCCESS',
|
|
9
|
+
ERROR: 'ERROR',
|
|
10
|
+
};
|
|
11
|
+
exports.REGEXS = {
|
|
12
|
+
OBJECTID_CAST_FAILED: /Cast to ObjectId failed/gm,
|
|
13
|
+
};
|
|
14
|
+
exports.MONGOOSE_FIND_QUERIES = [
|
|
15
|
+
'count',
|
|
16
|
+
'find',
|
|
17
|
+
'findOne',
|
|
18
|
+
'findOneAndDelete',
|
|
19
|
+
'findOneAndRemove',
|
|
20
|
+
'findOneAndUpdate',
|
|
21
|
+
'update',
|
|
22
|
+
'updateOne',
|
|
23
|
+
'updateMany',
|
|
24
|
+
];
|
|
25
|
+
exports.success = 200;
|
|
26
|
+
exports.create = 201;
|
|
27
|
+
exports.internalServerError = 500;
|
|
28
|
+
exports.validationError = 422;
|
|
29
|
+
exports.messageRoutePrefix = 'msg';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/node/src/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACzB,aAAa,EAAE,oCAAoC;CACnD,CAAC;AACW,QAAA,cAAc,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACd,CAAC;AACW,QAAA,MAAM,GAAG;IACrB,oBAAoB,EAAE,2BAA2B;CACjD,CAAC;AACW,QAAA,qBAAqB,GAAG;IACpC,OAAO;IACP,MAAM;IACN,SAAS;IACT,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,QAAQ;IACR,WAAW;IACX,YAAY;CACZ,CAAC;AACW,QAAA,OAAO,GAAG,GAAG,CAAC;AACd,QAAA,MAAM,GAAG,GAAG,CAAC;AACb,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAC1B,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,kBAAkB,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const createPage: (req: any, res: any, next: any) => void;
|
|
2
|
+
export declare const updatePage: (req: any, res: any, next: any) => void;
|
|
3
|
+
export declare const deletePage: (req: any, res: any, next: any) => void;
|
|
4
|
+
export declare const getPages: (req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPages = exports.deletePage = exports.updatePage = exports.createPage = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const mongoose_1 = require("mongoose");
|
|
6
|
+
const models_1 = require("./../models");
|
|
7
|
+
const dbService_1 = require("../services/dbService");
|
|
8
|
+
const responseHandlers_1 = require("./../utils/responseHandlers");
|
|
9
|
+
const defaults_1 = require("../utils/defaults");
|
|
10
|
+
const catchAsync = (fn) => {
|
|
11
|
+
return defaults_1.defaults.catchAsync(fn, 'Page');
|
|
12
|
+
};
|
|
13
|
+
exports.createPage = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
var _a;
|
|
15
|
+
const data = req.body;
|
|
16
|
+
const page = yield (0, dbService_1.create)(models_1.Page, data);
|
|
17
|
+
res.message = (_a = req === null || req === void 0 ? void 0 : req.i18n) === null || _a === void 0 ? void 0 : _a.t('page.create');
|
|
18
|
+
return (0, responseHandlers_1.createdDocumentResponse)(page, res);
|
|
19
|
+
}));
|
|
20
|
+
exports.updatePage = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
var _b;
|
|
22
|
+
const data = req.body;
|
|
23
|
+
const _id = req.params['id'];
|
|
24
|
+
const updatedPage = yield (0, dbService_1.update)(models_1.Page, { _id }, data);
|
|
25
|
+
res.message = (_b = req === null || req === void 0 ? void 0 : req.i18n) === null || _b === void 0 ? void 0 : _b.t('page.update');
|
|
26
|
+
return (0, responseHandlers_1.successResponse)(updatedPage, res);
|
|
27
|
+
}));
|
|
28
|
+
exports.deletePage = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
var _c;
|
|
30
|
+
const _id = new mongoose_1.Types.ObjectId(req.params['id']);
|
|
31
|
+
const createdPage = yield (0, dbService_1.remove)(models_1.Page, { _id });
|
|
32
|
+
res.message = (_c = req === null || req === void 0 ? void 0 : req.i18n) === null || _c === void 0 ? void 0 : _c.t('page.delete');
|
|
33
|
+
return (0, responseHandlers_1.successResponse)(createdPage, res);
|
|
34
|
+
}));
|
|
35
|
+
exports.getPages = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
var _d;
|
|
37
|
+
const search = req.body.search || '';
|
|
38
|
+
const { page, limit, populate } = req.body.options;
|
|
39
|
+
const customOptions = Object.assign({ populate }, (page && limit ? { page, limit } : {}));
|
|
40
|
+
const query = {
|
|
41
|
+
isDeleted: false,
|
|
42
|
+
$or: [
|
|
43
|
+
{
|
|
44
|
+
name: {
|
|
45
|
+
$regex: search,
|
|
46
|
+
$options: 'i',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
code: {
|
|
51
|
+
$regex: search,
|
|
52
|
+
$options: 'i',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
const pages = yield (0, dbService_1.list)(models_1.Page, query, customOptions);
|
|
58
|
+
res.message = (_d = req === null || req === void 0 ? void 0 : req.i18n) === null || _d === void 0 ? void 0 : _d.t('page.getAll');
|
|
59
|
+
return (0, responseHandlers_1.successResponse)(pages, res);
|
|
60
|
+
}));
|
|
61
|
+
//# sourceMappingURL=PageController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageController.js","sourceRoot":"","sources":["../../../../../libs/node/src/controllers/PageController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const createTile: (req: any, res: any, next: any) => void;
|
|
2
|
+
export declare const updateTile: (req: any, res: any, next: any) => void;
|
|
3
|
+
export declare const deleteTile: (req: any, res: any, next: any) => void;
|
|
4
|
+
export declare const getTiles: (req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTiles = exports.deleteTile = exports.updateTile = exports.createTile = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const mongoose_1 = require("mongoose");
|
|
6
|
+
const models_1 = require("./../models");
|
|
7
|
+
const dbService_1 = require("../services/dbService");
|
|
8
|
+
const responseHandlers_1 = require("./../utils/responseHandlers");
|
|
9
|
+
const defaults_1 = require("../utils/defaults");
|
|
10
|
+
const catchAsync = (fn) => {
|
|
11
|
+
return defaults_1.defaults.catchAsync(fn, 'Notification');
|
|
12
|
+
};
|
|
13
|
+
exports.createTile = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
var _a;
|
|
15
|
+
const data = req.body;
|
|
16
|
+
const createdTile = yield (0, dbService_1.create)(models_1.Tile, data);
|
|
17
|
+
res.message = (_a = req === null || req === void 0 ? void 0 : req.i18n) === null || _a === void 0 ? void 0 : _a.t('tile.create');
|
|
18
|
+
return (0, responseHandlers_1.createdDocumentResponse)(createdTile, res);
|
|
19
|
+
}));
|
|
20
|
+
exports.updateTile = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
var _b;
|
|
22
|
+
const data = req.body;
|
|
23
|
+
const _id = req.params['id'];
|
|
24
|
+
const updatedTile = yield (0, dbService_1.update)(models_1.Tile, { _id }, data);
|
|
25
|
+
res.message = (_b = req === null || req === void 0 ? void 0 : req.i18n) === null || _b === void 0 ? void 0 : _b.t('tile.update');
|
|
26
|
+
return (0, responseHandlers_1.successResponse)(updatedTile, res);
|
|
27
|
+
}));
|
|
28
|
+
exports.deleteTile = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
var _c;
|
|
30
|
+
const _id = new mongoose_1.Types.ObjectId(req.params['id']);
|
|
31
|
+
const deletedTile = yield (0, dbService_1.remove)(models_1.Tile, { _id });
|
|
32
|
+
res.message = (_c = req === null || req === void 0 ? void 0 : req.i18n) === null || _c === void 0 ? void 0 : _c.t('tile.delete');
|
|
33
|
+
return (0, responseHandlers_1.successResponse)(deletedTile, res);
|
|
34
|
+
}));
|
|
35
|
+
exports.getTiles = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
var _d;
|
|
37
|
+
const widgetId = req.params['widgetId'];
|
|
38
|
+
const options = {
|
|
39
|
+
populate: ['img'],
|
|
40
|
+
};
|
|
41
|
+
const tiles = yield (0, dbService_1.getAll)(models_1.Tile, { widgetId }, options);
|
|
42
|
+
res.message = (_d = req === null || req === void 0 ? void 0 : req.i18n) === null || _d === void 0 ? void 0 : _d.t('tile.getAll');
|
|
43
|
+
return (0, responseHandlers_1.successResponse)(tiles, res);
|
|
44
|
+
}));
|
|
45
|
+
//# sourceMappingURL=TileController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TileController.js","sourceRoot":"","sources":["../../../../../libs/node/src/controllers/TileController.ts"],"names":[],"mappings":";;;;AAAA,uCAAiC;AACjC,wCAAmC;AACnC,qDAAuE;AACvE,kEAGqC;AAErC,gDAA6C;AAG7C,MAAM,UAAU,GAAG,CAAC,EAAO,EAAE,EAAE;IAC7B,OAAO,mBAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC,CAAC;AAEW,QAAA,UAAU,GAAG,UAAU,CAAC,CAAO,GAAa,EAAE,GAAc,EAAE,EAAE;;IAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,GAAG,CAAC,OAAO,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,IAAA,0CAAuB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC,CAAA,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,UAAU,CAAC,CAAO,GAAa,EAAE,GAAc,EAAE,EAAE;;IAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACtD,GAAG,CAAC,OAAO,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,IAAA,kCAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAA,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,UAAU,CAAC,CAAO,GAAa,EAAE,GAAc,EAAE,EAAE;;IAC3E,MAAM,GAAG,GAAG,IAAI,gBAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,OAAO,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,IAAA,kCAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAA,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,UAAU,CAAC,CAAO,GAAa,EAAE,GAAc,EAAE,EAAE;;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,GAAG,CAAC,OAAO,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,IAAA,kCAAe,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPageData = exports.getWidgetData = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const models_1 = require("./../models");
|
|
6
|
+
const responseHandlers_1 = require("./../utils/responseHandlers");
|
|
7
|
+
const defaults_1 = require("../utils/defaults");
|
|
8
|
+
const commonExcludedFields = {
|
|
9
|
+
__v: 0,
|
|
10
|
+
isDeleted: 0,
|
|
11
|
+
deletedAt: 0,
|
|
12
|
+
};
|
|
13
|
+
const catchAsync = (fn) => {
|
|
14
|
+
return defaults_1.defaults.catchAsync(fn, 'User');
|
|
15
|
+
};
|
|
16
|
+
exports.getWidgetData = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
const { code } = req.body;
|
|
18
|
+
const newWidgetData = (yield models_1.Widget.aggregate([
|
|
19
|
+
{
|
|
20
|
+
$match: {
|
|
21
|
+
isDeleted: false,
|
|
22
|
+
isActive: true,
|
|
23
|
+
code,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
// Get only the fields that are not excluded
|
|
28
|
+
$project: Object.assign({}, commonExcludedFields),
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
// Get Tiles data
|
|
32
|
+
$lookup: {
|
|
33
|
+
from: 'tiles',
|
|
34
|
+
let: { widget: '$_id' },
|
|
35
|
+
pipeline: [
|
|
36
|
+
{
|
|
37
|
+
$match: {
|
|
38
|
+
$expr: {
|
|
39
|
+
$eq: ['$widgetId', '$$widget'],
|
|
40
|
+
},
|
|
41
|
+
isDeleted: false,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
$project: Object.assign({}, commonExcludedFields),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
$lookup: {
|
|
49
|
+
from: 'file',
|
|
50
|
+
let: { img: '$img' },
|
|
51
|
+
as: 'image',
|
|
52
|
+
pipeline: [
|
|
53
|
+
{
|
|
54
|
+
$match: {
|
|
55
|
+
$expr: {
|
|
56
|
+
$eq: ['$_id', '$$img'],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
$project: {
|
|
62
|
+
_id: 1,
|
|
63
|
+
uri: 1,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
$unwind: '$image',
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
as: 'tiles',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
]));
|
|
77
|
+
if (!newWidgetData.length)
|
|
78
|
+
throw new Error(`Widget not found`);
|
|
79
|
+
yield models_1.Widget.populate(newWidgetData[0], { path: 'collectionItems' });
|
|
80
|
+
return (0, responseHandlers_1.successResponse)(newWidgetData[0], res);
|
|
81
|
+
}));
|
|
82
|
+
exports.getPageData = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
var _a;
|
|
84
|
+
const { code } = req.body;
|
|
85
|
+
const pageData = (yield models_1.Page.aggregate([
|
|
86
|
+
{
|
|
87
|
+
$match: {
|
|
88
|
+
isDeleted: false,
|
|
89
|
+
code: code,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
$project: {
|
|
94
|
+
isDeleted: 0,
|
|
95
|
+
deletedAt: 0,
|
|
96
|
+
__v: 0,
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
$lookup: {
|
|
101
|
+
from: 'widgets',
|
|
102
|
+
let: { widgets: '$widgets' },
|
|
103
|
+
pipeline: [
|
|
104
|
+
{
|
|
105
|
+
$match: {
|
|
106
|
+
$expr: {
|
|
107
|
+
$in: ['$_id', '$$widgets'],
|
|
108
|
+
},
|
|
109
|
+
isDeleted: false,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
$project: Object.assign({ widgetId: 0, sequence: 0 }, commonExcludedFields),
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
$lookup: {
|
|
117
|
+
from: 'tiles',
|
|
118
|
+
let: { widget: '$_id' },
|
|
119
|
+
pipeline: [
|
|
120
|
+
{
|
|
121
|
+
$match: {
|
|
122
|
+
$expr: {
|
|
123
|
+
$eq: ['$widgetId', '$$widget'],
|
|
124
|
+
},
|
|
125
|
+
isDeleted: false,
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
$project: Object.assign({}, commonExcludedFields),
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
$lookup: {
|
|
133
|
+
from: 'file',
|
|
134
|
+
let: { img: '$img' },
|
|
135
|
+
as: 'image',
|
|
136
|
+
pipeline: [
|
|
137
|
+
{
|
|
138
|
+
$match: {
|
|
139
|
+
$expr: {
|
|
140
|
+
$eq: ['$_id', '$$img'],
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
$project: {
|
|
146
|
+
_id: 1,
|
|
147
|
+
uri: 1,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
$unwind: '$image',
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
as: 'tiles',
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
as: 'widgets',
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
]));
|
|
165
|
+
if (!pageData.length)
|
|
166
|
+
throw new Error('Page not found');
|
|
167
|
+
yield models_1.Widget.populate(pageData[0].widgets, {
|
|
168
|
+
path: 'collectionItems',
|
|
169
|
+
options: { projection: commonExcludedFields },
|
|
170
|
+
});
|
|
171
|
+
res.message = (_a = req === null || req === void 0 ? void 0 : req.i18n) === null || _a === void 0 ? void 0 : _a.t('user.pageData');
|
|
172
|
+
return (0, responseHandlers_1.successResponse)(pageData[0], res);
|
|
173
|
+
}));
|
|
174
|
+
//# sourceMappingURL=UserController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../../../../libs/node/src/controllers/UserController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const createWidget: (req: any, res: any, next: any) => void;
|
|
2
|
+
export declare const updateWidget: (req: any, res: any, next: any) => void;
|
|
3
|
+
export declare const deleteWidget: (req: any, res: any, next: any) => void;
|
|
4
|
+
export declare const getWidgets: (req: any, res: any, next: any) => void;
|
|
5
|
+
export declare const partialUpdateWidget: (req: any, res: any, next: any) => void;
|
|
6
|
+
export declare const getWidgetTypes: (req: any, res: any, next: any) => void;
|
|
7
|
+
export declare const getSelectionTypes: (req: any, res: any, next: any) => void;
|
|
8
|
+
export declare const getCollectionData: (req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCollectionData = exports.getSelectionTypes = exports.getWidgetTypes = exports.partialUpdateWidget = exports.getWidgets = exports.deleteWidget = exports.updateWidget = exports.createWidget = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const mongoose_1 = require("mongoose");
|
|
6
|
+
const mongoose_paginate_v2_1 = tslib_1.__importDefault(require("mongoose-paginate-v2"));
|
|
7
|
+
const models_1 = require("./../models");
|
|
8
|
+
const dbService_1 = require("../services/dbService");
|
|
9
|
+
const responseHandlers_1 = require("./../utils/responseHandlers");
|
|
10
|
+
const defaults_1 = require("../utils/defaults");
|
|
11
|
+
const types_1 = require("../types");
|
|
12
|
+
const catchAsync = (fn) => {
|
|
13
|
+
return defaults_1.defaults.catchAsync(fn, 'Notification');
|
|
14
|
+
};
|
|
15
|
+
exports.createWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
var _a;
|
|
17
|
+
const data = req.body;
|
|
18
|
+
const notification = yield (0, dbService_1.create)(models_1.Widget, data);
|
|
19
|
+
res.message = (_a = req === null || req === void 0 ? void 0 : req.i18n) === null || _a === void 0 ? void 0 : _a.t('widget.create');
|
|
20
|
+
return (0, responseHandlers_1.createdDocumentResponse)(notification, res);
|
|
21
|
+
}));
|
|
22
|
+
exports.updateWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
var _b;
|
|
24
|
+
const data = req.body;
|
|
25
|
+
const _id = req.params['id'];
|
|
26
|
+
const updatedNotification = yield (0, dbService_1.update)(models_1.Widget, { _id }, data);
|
|
27
|
+
res.message = (_b = req === null || req === void 0 ? void 0 : req.i18n) === null || _b === void 0 ? void 0 : _b.t('widget.update');
|
|
28
|
+
return (0, responseHandlers_1.successResponse)(updatedNotification, res);
|
|
29
|
+
}));
|
|
30
|
+
exports.deleteWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
var _c;
|
|
32
|
+
const _id = new mongoose_1.Types.ObjectId(req.params['id']);
|
|
33
|
+
const deletedNotification = yield (0, dbService_1.remove)(models_1.Widget, { _id });
|
|
34
|
+
res.message = (_c = req === null || req === void 0 ? void 0 : req.i18n) === null || _c === void 0 ? void 0 : _c.t('widget.delete');
|
|
35
|
+
return (0, responseHandlers_1.successResponse)(deletedNotification, res);
|
|
36
|
+
}));
|
|
37
|
+
exports.getWidgets = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
var _d;
|
|
39
|
+
const search = req.body.search || '';
|
|
40
|
+
const { page, limit } = req.body.options;
|
|
41
|
+
const all = (typeof req.body.all !== 'undefined' && req.body.all === true) || false;
|
|
42
|
+
const isActive = typeof req.body.isActive !== 'undefined'
|
|
43
|
+
? req.body.isActive || false
|
|
44
|
+
: null;
|
|
45
|
+
const customOptions = Object.assign({ pagination: !all }, (page && limit ? { page, limit } : {}));
|
|
46
|
+
const query = {
|
|
47
|
+
isDeleted: false,
|
|
48
|
+
isActive: { $in: isActive === null ? [true, false] : [isActive] },
|
|
49
|
+
$or: [
|
|
50
|
+
{
|
|
51
|
+
name: {
|
|
52
|
+
$regex: search,
|
|
53
|
+
$options: 'i',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
code: {
|
|
58
|
+
$regex: search,
|
|
59
|
+
$options: 'i',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
const notifications = yield (0, dbService_1.list)(models_1.Widget, query, customOptions);
|
|
65
|
+
res.message = (_d = req === null || req === void 0 ? void 0 : req.i18n) === null || _d === void 0 ? void 0 : _d.t('widget.getAll');
|
|
66
|
+
return (0, responseHandlers_1.successResponse)(notifications, res);
|
|
67
|
+
}));
|
|
68
|
+
exports.partialUpdateWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
+
var _e;
|
|
70
|
+
const data = req.body;
|
|
71
|
+
const _id = req.params['id'];
|
|
72
|
+
const updatedNotification = yield (0, dbService_1.update)(models_1.Widget, { _id }, data);
|
|
73
|
+
res.message = (_e = req === null || req === void 0 ? void 0 : req.i18n) === null || _e === void 0 ? void 0 : _e.t('widget.partialUpdate');
|
|
74
|
+
return (0, responseHandlers_1.successResponse)(updatedNotification, res);
|
|
75
|
+
}));
|
|
76
|
+
exports.getWidgetTypes = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
var _f;
|
|
78
|
+
const widgetTypes = [
|
|
79
|
+
{
|
|
80
|
+
value: Object.keys(types_1.WidgetType)[0],
|
|
81
|
+
label: Object.values(types_1.WidgetType)[0],
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
defaults_1.defaults.collections.forEach((item) => {
|
|
85
|
+
widgetTypes.push({
|
|
86
|
+
value: item.collectionName,
|
|
87
|
+
label: item.title,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
res.message = (_f = req === null || req === void 0 ? void 0 : req.i18n) === null || _f === void 0 ? void 0 : _f.t('widget.getWidgetTypes');
|
|
91
|
+
return (0, responseHandlers_1.successResponse)(widgetTypes, res);
|
|
92
|
+
}));
|
|
93
|
+
exports.getSelectionTypes = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
+
var _g;
|
|
95
|
+
const selectionTypes = Object.entries(types_1.SelectionTypes).map((e) => ({
|
|
96
|
+
label: e[1],
|
|
97
|
+
value: e[0],
|
|
98
|
+
}));
|
|
99
|
+
res.message = (_g = req === null || req === void 0 ? void 0 : req.i18n) === null || _g === void 0 ? void 0 : _g.t('widget.getSelectionTypes');
|
|
100
|
+
return (0, responseHandlers_1.successResponse)(selectionTypes, res);
|
|
101
|
+
}));
|
|
102
|
+
exports.getCollectionData = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
103
|
+
var _h;
|
|
104
|
+
const { search, collectionName } = req.body;
|
|
105
|
+
const collectionItem = defaults_1.defaults.collections.find((collection) => collection.collectionName === collectionName);
|
|
106
|
+
if (!collectionItem) {
|
|
107
|
+
throw new Error(`No collection is specified with ${collectionName}`);
|
|
108
|
+
}
|
|
109
|
+
// setting up mongoose model
|
|
110
|
+
let TempModel = mongoose_1.models[collectionName];
|
|
111
|
+
if (!TempModel) {
|
|
112
|
+
const tempSchema = new mongoose_1.Schema({}, { strict: false });
|
|
113
|
+
tempSchema.plugin(mongoose_paginate_v2_1.default);
|
|
114
|
+
TempModel = (0, mongoose_1.model)(collectionName, tempSchema);
|
|
115
|
+
}
|
|
116
|
+
// fetching data
|
|
117
|
+
let query = collectionItem.filters || {};
|
|
118
|
+
if (search) {
|
|
119
|
+
query = Object.assign(Object.assign({}, query), { $or: collectionItem.searchColumns.map((column) => ({
|
|
120
|
+
[column]: {
|
|
121
|
+
$regex: search,
|
|
122
|
+
$options: 'i',
|
|
123
|
+
},
|
|
124
|
+
})) });
|
|
125
|
+
}
|
|
126
|
+
const collectionData = yield (0, dbService_1.list)(TempModel, query, {});
|
|
127
|
+
res.message = (_h = req === null || req === void 0 ? void 0 : req.i18n) === null || _h === void 0 ? void 0 : _h.t('widget.getCollectionData');
|
|
128
|
+
return (0, responseHandlers_1.successResponse)(collectionData, res);
|
|
129
|
+
}));
|
|
130
|
+
//# sourceMappingURL=WidgetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetController.js","sourceRoot":"","sources":["../../../../../libs/node/src/controllers/WidgetController.ts"],"names":[],"mappings":"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"}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import WidgetRoutes from './routes/WidgetRoute';
|
|
2
|
+
import TileRoutes from './routes/TileRoute';
|
|
3
|
+
import PageRoutes from './routes/PageRoute';
|
|
4
|
+
import UserRoutes from './routes/UserRoute';
|
|
5
|
+
import { Widget, Tile, Page } from './models';
|
|
6
|
+
import { IConfig } from './types';
|
|
7
|
+
declare function setConfig(config: Partial<IConfig>): void;
|
|
8
|
+
export { WidgetRoutes, TileRoutes, PageRoutes, UserRoutes, Widget, Tile, Page, setConfig, };
|
package/src/index.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setConfig = exports.Page = exports.Tile = exports.Widget = exports.UserRoutes = exports.PageRoutes = exports.TileRoutes = exports.WidgetRoutes = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const defaults_1 = require("./utils/defaults");
|
|
6
|
+
const WidgetRoute_1 = tslib_1.__importDefault(require("./routes/WidgetRoute"));
|
|
7
|
+
exports.WidgetRoutes = WidgetRoute_1.default;
|
|
8
|
+
const TileRoute_1 = tslib_1.__importDefault(require("./routes/TileRoute"));
|
|
9
|
+
exports.TileRoutes = TileRoute_1.default;
|
|
10
|
+
const PageRoute_1 = tslib_1.__importDefault(require("./routes/PageRoute"));
|
|
11
|
+
exports.PageRoutes = PageRoute_1.default;
|
|
12
|
+
const UserRoute_1 = tslib_1.__importDefault(require("./routes/UserRoute"));
|
|
13
|
+
exports.UserRoutes = UserRoute_1.default;
|
|
14
|
+
const models_1 = require("./models");
|
|
15
|
+
Object.defineProperty(exports, "Widget", { enumerable: true, get: function () { return models_1.Widget; } });
|
|
16
|
+
Object.defineProperty(exports, "Tile", { enumerable: true, get: function () { return models_1.Tile; } });
|
|
17
|
+
Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return models_1.Page; } });
|
|
18
|
+
function setConfig(config) {
|
|
19
|
+
if (config.logger) {
|
|
20
|
+
defaults_1.defaults.logger = config.logger;
|
|
21
|
+
}
|
|
22
|
+
if (typeof config.catchAsync === 'function')
|
|
23
|
+
defaults_1.defaults.catchAsync = config.catchAsync;
|
|
24
|
+
if (Array.isArray(config.collections)) {
|
|
25
|
+
defaults_1.defaults.collections = config.collections;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.setConfig = setConfig;
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/node/src/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA4C;AAC5C,+EAAgD;AAmB9C,uBAnBK,qBAAY,CAmBL;AAlBd,2EAA4C;AAmB1C,qBAnBK,mBAAU,CAmBL;AAlBZ,2EAA4C;AAmB1C,qBAnBK,mBAAU,CAmBL;AAlBZ,2EAA4C;AAmB1C,qBAnBK,mBAAU,CAmBL;AAlBZ,qCAA8C;AAmB5C,uFAnBO,eAAM,OAmBP;AACN,qFApBe,aAAI,OAoBf;AACJ,qFArBqB,aAAI,OAqBrB;AAlBN,SAAS,SAAS,CAAC,MAAwB;IACzC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,mBAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KACjC;IACD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QACzC,mBAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACrC,mBAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;KAC3C;AACH,CAAC;AAUC,8BAAS"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const mongoose_1 = require("mongoose");
|
|
5
|
+
const mongoose_paginate_v2_1 = tslib_1.__importDefault(require("mongoose-paginate-v2"));
|
|
6
|
+
const softDelete_1 = require("../plugins/softDelete");
|
|
7
|
+
const PageSchema = new mongoose_1.Schema({
|
|
8
|
+
name: String,
|
|
9
|
+
code: String,
|
|
10
|
+
widgets: [{ type: mongoose_1.Types.ObjectId, ref: 'Widget' }],
|
|
11
|
+
});
|
|
12
|
+
PageSchema.plugin(softDelete_1.softDeletePlugin);
|
|
13
|
+
PageSchema.plugin(mongoose_paginate_v2_1.default);
|
|
14
|
+
const Page = (0, mongoose_1.model)('Page', PageSchema);
|
|
15
|
+
exports.default = Page;
|
|
16
|
+
//# sourceMappingURL=Page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../../libs/node/src/models/Page.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAChD,wFAAoD;AACpD,sDAAyD;AAGzD,MAAM,UAAU,GAAG,IAAI,iBAAM,CAAc;IACzC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;CACnD,CAAC,CAAC;AAEH,UAAU,CAAC,MAAM,CAAC,6BAAgB,CAAC,CAAC;AACpC,UAAU,CAAC,MAAM,CAAC,8BAAgB,CAAC,CAAC;AAEpC,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,MAAM,EAAE,UAAU,CAAmC,CAAC;AAEzE,kBAAe,IAAI,CAAC"}
|