@knovator/pagecreator-node 0.2.0 → 0.3.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/package.json +6 -3
- 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/ItemController.d.ts +4 -0
- package/src/controllers/ItemController.js +108 -0
- package/src/controllers/ItemController.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/UserController.d.ts +2 -0
- package/src/controllers/UserController.js +238 -0
- package/src/controllers/UserController.js.map +1 -0
- package/src/controllers/WidgetController.d.ts +8 -0
- package/src/controllers/WidgetController.js +131 -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/Item.d.ts +3 -0
- package/src/models/Item.js +29 -0
- package/src/models/Item.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/SrcSet.d.ts +4 -0
- package/src/models/SrcSet.js +15 -0
- package/src/models/SrcSet.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.ts → index.d.ts} +0 -1
- package/src/models/index.js +13 -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/ItemRoute.d.ts +3 -0
- package/src/routes/ItemRoute.js +31 -0
- package/src/routes/ItemRoute.js.map +1 -0
- package/src/routes/PageRoute.d.ts +3 -0
- package/src/routes/PageRoute.js +30 -0
- package/src/routes/PageRoute.js.map +1 -0
- package/src/routes/UserRoute.d.ts +3 -0
- package/src/routes/UserRoute.js +23 -0
- package/src/routes/UserRoute.js.map +1 -0
- package/src/routes/WidgetRoute.d.ts +3 -0
- package/src/routes/WidgetRoute.js +47 -0
- package/src/routes/WidgetRoute.js.map +1 -0
- package/src/services/dbService.d.ts +10 -0
- package/src/services/dbService.js +74 -0
- package/src/services/dbService.js.map +1 -0
- package/src/types/{IRequest.ts → IRequest.d.ts} +3 -4
- package/src/types/IRequest.js +3 -0
- package/src/types/IRequest.js.map +1 -0
- package/src/types/{IResponse.ts → IResponse.d.ts} +3 -4
- package/src/types/IResponse.js +3 -0
- package/src/types/IResponse.js.map +1 -0
- package/src/types/{Router.ts → Router.d.ts} +1 -2
- package/src/types/Router.js +3 -0
- package/src/types/Router.js.map +1 -0
- package/src/types/common.d.ts +91 -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.ts → index.d.ts} +0 -0
- package/src/types/index.js +9 -0
- package/src/types/index.js.map +1 -0
- package/src/utils/defaults.d.ts +7 -0
- package/src/utils/defaults.js +28 -0
- package/src/utils/defaults.js.map +1 -0
- package/src/utils/helper.d.ts +33 -0
- package/src/utils/helper.js +111 -0
- package/src/utils/helper.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/item.d.ts +7 -0
- package/src/utils/validations/item.js +50 -0
- package/src/utils/validations/item.js.map +1 -0
- package/src/utils/validations/page.d.ts +7 -0
- package/src/utils/validations/page.js +58 -0
- package/src/utils/validations/page.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 +9 -0
- package/src/utils/validations/widget.js +108 -0
- package/src/utils/validations/widget.js.map +1 -0
- package/src/constants/index.ts +0 -26
- package/src/controllers/ItemController.ts +0 -139
- package/src/controllers/PageController.ts +0 -65
- package/src/controllers/UserController.ts +0 -265
- package/src/controllers/WidgetController.ts +0 -165
- package/src/index.ts +0 -29
- package/src/models/Item.ts +0 -29
- package/src/models/Page.ts +0 -17
- package/src/models/SrcSet.ts +0 -16
- package/src/models/Widget.ts +0 -44
- package/src/plugins/softDelete.ts +0 -84
- package/src/routes/ItemRoute.ts +0 -32
- package/src/routes/PageRoute.ts +0 -31
- package/src/routes/UserRoute.ts +0 -32
- package/src/routes/WidgetRoute.ts +0 -56
- package/src/services/dbService.ts +0 -82
- package/src/types/common.ts +0 -130
- package/src/types/enums.ts +0 -13
- package/src/utils/defaults.ts +0 -30
- package/src/utils/helper.ts +0 -133
- package/src/utils/responseHandlers.ts +0 -54
- package/src/utils/validate.ts +0 -22
- package/src/utils/validations/item.ts +0 -51
- package/src/utils/validations/page.ts +0 -59
- package/src/utils/validations/user.ts +0 -9
- package/src/utils/validations/widget.ts +0 -118
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bulkInsert = exports.getOne = exports.list = exports.getAll = exports.deleteAll = exports.remove = exports.update = exports.create = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// create
|
|
6
|
+
function create(Modal, data) {
|
|
7
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
|
+
const modalInstance = new Modal(data);
|
|
9
|
+
return yield modalInstance.save();
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
exports.create = create;
|
|
13
|
+
// update
|
|
14
|
+
function update(Modal, query, data) {
|
|
15
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
yield getOne(Modal, query);
|
|
17
|
+
const result = yield Modal.findOneAndUpdate(query, data, { new: true });
|
|
18
|
+
return result || undefined;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.update = update;
|
|
22
|
+
// soft-delete
|
|
23
|
+
function remove(Modal, query) {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const modalInstance = yield getOne(Modal, query);
|
|
26
|
+
return yield modalInstance.remove();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
exports.remove = remove;
|
|
30
|
+
// delete-all
|
|
31
|
+
function deleteAll(Modal, query) {
|
|
32
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return Modal.deleteMany(query);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.deleteAll = deleteAll;
|
|
37
|
+
// get-all
|
|
38
|
+
function getAll(Modal, query = {}, options, projection
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
40
|
+
) {
|
|
41
|
+
return Modal.find(query, projection, options);
|
|
42
|
+
}
|
|
43
|
+
exports.getAll = getAll;
|
|
44
|
+
// list
|
|
45
|
+
function list(Modal, where, options) {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
try {
|
|
48
|
+
const documents = Modal.paginate(where, options);
|
|
49
|
+
return documents;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw new Error(error.message);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
exports.list = list;
|
|
57
|
+
// get-one
|
|
58
|
+
function getOne(Modal, query, projection) {
|
|
59
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const modalInstance = yield Modal.findOne(query, projection);
|
|
61
|
+
if (!modalInstance)
|
|
62
|
+
throw new Error(`Record not found ${Modal.name ? `in ${Modal.name}` : ''}`);
|
|
63
|
+
return modalInstance;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
exports.getOne = getOne;
|
|
67
|
+
// bulk-insert
|
|
68
|
+
function bulkInsert(Modal, docs) {
|
|
69
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return yield Modal.insertMany(docs);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
exports.bulkInsert = bulkInsert;
|
|
74
|
+
//# sourceMappingURL=dbService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbService.js","sourceRoot":"","sources":["../../../../../libs/node/src/services/dbService.ts"],"names":[],"mappings":";;;;AAUA,SAAS;AACT,SAAsB,MAAM,CAC1B,KAAe,EACf,IAAgB;;QAEhB,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;CAAA;AAND,wBAMC;AACD,SAAS;AACT,SAAsB,MAAM,CAC1B,KAAe,EACf,KAA8B,EAC9B,IAAgB;;QAEhB,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,MAAM,IAAI,SAAS,CAAC;IAC7B,CAAC;CAAA;AARD,wBAQC;AACD,cAAc;AACd,SAAsB,MAAM,CAC1B,KAAe,EACf,KAA8B;;QAE9B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;CAAA;AAND,wBAMC;AACD,aAAa;AACb,SAAsB,SAAS,CAAuB,KAAe,EAAE,KAAqB;;QAC1F,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAAA;AAFD,8BAEC;AACD,UAAU;AACV,SAAgB,MAAM,CACpB,KAAe,EACf,QAAiC,EAAE,EACnC,OAAkC,EAClC,UAAuC;AACvC,wDAAwD;;IAExD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AARD,wBAQC;AACD,OAAO;AACP,SAAsB,IAAI,CACxB,KAAgB,EAChB,KAAqB,EACrB,OAAwB;;QAExB,IAAI;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC;SAClB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC;CAAA;AAXD,oBAWC;AACD,UAAU;AACV,SAAsB,MAAM,CAC1B,KAAe,EACf,KAA8B,EAC9B,UAAuC;;QAEvC,MAAM,aAAa,GAA+B,MAAM,KAAK,CAAC,OAAO,CACnE,KAAK,EACL,UAAU,CACX,CAAC;QACF,IAAI,CAAC,aAAa;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9E,OAAO,aAAa,CAAC;IACvB,CAAC;CAAA;AAbD,wBAaC;AACD,cAAc;AACd,SAAsB,UAAU,CAAuB,KAAe,EAAE,IAAS;;QAC/E,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CAAA;AAFD,gCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IRequest.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/IRequest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResponse.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/IResponse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/Router.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Document, Model, Types, FilterQuery, QueryOptions, HydratedDocument } from 'mongoose';
|
|
2
|
+
import { ItemsType, WidgetTypes, ItemTypes } from '.';
|
|
3
|
+
export declare type TypesType = {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
export interface iConfig {
|
|
8
|
+
logger: any;
|
|
9
|
+
catchAsync: (fn: any, modal?: string) => (req: any, res: any, next: any) => void;
|
|
10
|
+
collections: CollectionItem[];
|
|
11
|
+
}
|
|
12
|
+
export interface IPageSchema extends Document {
|
|
13
|
+
name: string;
|
|
14
|
+
code: string;
|
|
15
|
+
widgets: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface ISrcSetSchema extends Document {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
screenSize: number;
|
|
21
|
+
itemId: typeof Types.ObjectId;
|
|
22
|
+
}
|
|
23
|
+
export interface IWidgetSchema extends Document {
|
|
24
|
+
items: any;
|
|
25
|
+
name: string;
|
|
26
|
+
code: string;
|
|
27
|
+
autoPlay: boolean;
|
|
28
|
+
isActive: boolean;
|
|
29
|
+
widgetTitle: string;
|
|
30
|
+
webPerRow: number;
|
|
31
|
+
mobilePerRow: number;
|
|
32
|
+
tabletPerRow: number;
|
|
33
|
+
itemsType: ItemsType;
|
|
34
|
+
widgetType: WidgetTypes;
|
|
35
|
+
collectionName: string;
|
|
36
|
+
collectionItems: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface IItemSchema extends Document {
|
|
39
|
+
widgetId: typeof Types.ObjectId;
|
|
40
|
+
title: string;
|
|
41
|
+
altText: string;
|
|
42
|
+
link: string;
|
|
43
|
+
sequence: number;
|
|
44
|
+
itemType: ItemTypes;
|
|
45
|
+
img: any;
|
|
46
|
+
srcset?: SrcSetItem[];
|
|
47
|
+
}
|
|
48
|
+
export interface SrcSetItem {
|
|
49
|
+
screenSize: number;
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
}
|
|
53
|
+
export declare type CollectionItem = {
|
|
54
|
+
title: string;
|
|
55
|
+
collectionName: string;
|
|
56
|
+
filters?: {
|
|
57
|
+
[key: string]: string | number | boolean;
|
|
58
|
+
};
|
|
59
|
+
searchColumns?: string[];
|
|
60
|
+
match?: ObjectType;
|
|
61
|
+
project?: ObjectType;
|
|
62
|
+
lookup?: ObjectType;
|
|
63
|
+
};
|
|
64
|
+
export interface IConfig {
|
|
65
|
+
logger: any;
|
|
66
|
+
catchAsync: (fn: any, modal?: string) => (req: any, res: any, next: any) => void;
|
|
67
|
+
collections: CollectionItem[];
|
|
68
|
+
}
|
|
69
|
+
export declare type EntityType = IWidgetSchema | IItemSchema | IPageSchema | ISrcSetSchema;
|
|
70
|
+
export declare type ReturnDocument = EntityType;
|
|
71
|
+
export interface IModel<T> extends Model<T> {
|
|
72
|
+
paginate: (query: FilterQuery<T>, options?: QueryOptions) => Promise<HydratedDocument<ReturnDocument>[]>;
|
|
73
|
+
}
|
|
74
|
+
export declare type ObjectType = {
|
|
75
|
+
[key: string]: string | number | boolean | null | undefined | string[] | number[] | ObjectType | ObjectType[] | any;
|
|
76
|
+
};
|
|
77
|
+
export interface IDefaultValidations {
|
|
78
|
+
createdBy: string;
|
|
79
|
+
updatedBy: string;
|
|
80
|
+
deletedBy: string;
|
|
81
|
+
deletedAt: string;
|
|
82
|
+
}
|
|
83
|
+
export interface IWidgetDataSchema {
|
|
84
|
+
_id: string;
|
|
85
|
+
code: string;
|
|
86
|
+
collectionName: string;
|
|
87
|
+
collectionItems: string[];
|
|
88
|
+
}
|
|
89
|
+
export declare type IWidgetData = {
|
|
90
|
+
[key: string]: IWidgetDataSchema;
|
|
91
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/common.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ItemTypes = exports.WidgetTypes = exports.ItemsType = void 0;
|
|
4
|
+
var ItemsType;
|
|
5
|
+
(function (ItemsType) {
|
|
6
|
+
ItemsType["Image"] = "Image";
|
|
7
|
+
})(ItemsType = exports.ItemsType || (exports.ItemsType = {}));
|
|
8
|
+
var WidgetTypes;
|
|
9
|
+
(function (WidgetTypes) {
|
|
10
|
+
WidgetTypes["FixedCard"] = "FixedCard";
|
|
11
|
+
WidgetTypes["Carousel"] = "Carousel";
|
|
12
|
+
})(WidgetTypes = exports.WidgetTypes || (exports.WidgetTypes = {}));
|
|
13
|
+
var ItemTypes;
|
|
14
|
+
(function (ItemTypes) {
|
|
15
|
+
ItemTypes["Web"] = "Web";
|
|
16
|
+
ItemTypes["Mobile"] = "Mobile";
|
|
17
|
+
})(ItemTypes = exports.ItemTypes || (exports.ItemTypes = {}));
|
|
18
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,4BAAe,CAAA;AACjB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB"}
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./IRequest"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./IResponse"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./enums"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./Router"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./common"), exports);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/node/src/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,sDAA4B;AAC5B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.commonExcludedFields = exports.defaults = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
exports.defaults = {
|
|
6
|
+
logger: console,
|
|
7
|
+
catchAsync: (fn, modal = '') => (req, res, next) => {
|
|
8
|
+
Promise.resolve(fn(req, res, next)).catch((err) => {
|
|
9
|
+
let message = err.message;
|
|
10
|
+
if (message.match(constants_1.REGEXS.OBJECTID_CAST_FAILED)) {
|
|
11
|
+
message = `${modal} not found with given id!`;
|
|
12
|
+
}
|
|
13
|
+
// this.logger.error(err.message);
|
|
14
|
+
res.status(constants_1.internalServerError).json({
|
|
15
|
+
code: constants_1.RESPONSE_CODES.ERROR,
|
|
16
|
+
message,
|
|
17
|
+
data: undefined,
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
collections: [],
|
|
22
|
+
};
|
|
23
|
+
exports.commonExcludedFields = {
|
|
24
|
+
__v: 0,
|
|
25
|
+
isDeleted: 0,
|
|
26
|
+
deletedAt: 0,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/defaults.ts"],"names":[],"mappings":";;;AAEA,4CAA2E;AAE9D,QAAA,QAAQ,GAAY;IAC/B,MAAM,EAAE,OAAc;IACtB,UAAU,EACR,CAAC,EAAO,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CACxB,CAAC,GAAa,EAAE,GAAc,EAAE,IAAkB,EAAE,EAAE;QACpD,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,IAAI,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAM,CAAC,oBAAoB,CAAC,EAAE;gBAC9C,OAAO,GAAG,GAAG,KAAK,2BAA2B,CAAC;aAC/C;YACD,kCAAkC;YAClC,GAAG,CAAC,MAAM,CAAC,+BAAmB,CAAC,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,0BAAc,CAAC,KAAK;gBAC1B,OAAO;gBACP,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,WAAW,EAAE,EAAsB;CACpC,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;CACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IWidgetSchema, SrcSetItem } from '../types';
|
|
2
|
+
export declare function appendCollectionData(widgetData: IWidgetSchema[]): Promise<(IWidgetSchema | {
|
|
3
|
+
collectionItems: any;
|
|
4
|
+
items: any;
|
|
5
|
+
name: string;
|
|
6
|
+
code: string;
|
|
7
|
+
autoPlay: boolean;
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
widgetTitle: string;
|
|
10
|
+
webPerRow: number;
|
|
11
|
+
mobilePerRow: number;
|
|
12
|
+
tabletPerRow: number;
|
|
13
|
+
itemsType: import("../types").ItemsType;
|
|
14
|
+
widgetType: import("../types").WidgetTypes;
|
|
15
|
+
collectionName: string;
|
|
16
|
+
_id?: any;
|
|
17
|
+
__v?: any;
|
|
18
|
+
$locals: Record<string, unknown>;
|
|
19
|
+
$op: "save" | "validate" | "remove" | null;
|
|
20
|
+
$where: Record<string, unknown>;
|
|
21
|
+
baseModelName?: string | undefined;
|
|
22
|
+
collection: import("mongoose").Collection<import("bson").Document>;
|
|
23
|
+
db: import("mongoose").Connection;
|
|
24
|
+
errors?: import("mongoose").Error.ValidationError | undefined;
|
|
25
|
+
id?: any;
|
|
26
|
+
isNew: boolean;
|
|
27
|
+
modelName: string;
|
|
28
|
+
schema: import("mongoose").Schema<any, import("mongoose").Model<any, any, any, any, any>, {}, {}, {}, {}, "type", {
|
|
29
|
+
[x: string]: any;
|
|
30
|
+
}>;
|
|
31
|
+
})[]>;
|
|
32
|
+
export declare function buildSrcSetItem(uri: string, setItem: SrcSetItem): string;
|
|
33
|
+
export declare function AddSrcSetsToItems(widgetData: IWidgetSchema): void;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddSrcSetsToItems = exports.buildSrcSetItem = exports.appendCollectionData = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const models_1 = require("../models");
|
|
6
|
+
const defaults_1 = require("./defaults");
|
|
7
|
+
function appendCollectionData(widgetData) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
// reduce widget data to optimize query
|
|
10
|
+
const newData = widgetData.reduce((acc, widget) => {
|
|
11
|
+
if (widget.collectionName) {
|
|
12
|
+
acc[widget.code] = {
|
|
13
|
+
_id: widget._id,
|
|
14
|
+
code: widget.code,
|
|
15
|
+
collectionName: widget.collectionName,
|
|
16
|
+
collectionItems: widget.collectionItems,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return acc;
|
|
20
|
+
}, {});
|
|
21
|
+
if (Object.keys(newData).length > 0) {
|
|
22
|
+
const aggregationQuery = [
|
|
23
|
+
{
|
|
24
|
+
$match: {
|
|
25
|
+
_id: {
|
|
26
|
+
$in: Object.values(newData).map((item) => item._id),
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
// Get only the fields that are not excluded
|
|
32
|
+
$project: {
|
|
33
|
+
_id: 1,
|
|
34
|
+
code: 1,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
let collectionConfig, aggregationQueryPiplelines;
|
|
39
|
+
Object.keys(newData).forEach((key) => {
|
|
40
|
+
collectionConfig = defaults_1.defaults.collections.find((c) => c.collectionName === newData[key].collectionName);
|
|
41
|
+
// Build piplelines with config
|
|
42
|
+
aggregationQueryPiplelines = [
|
|
43
|
+
{
|
|
44
|
+
$match: Object.assign({ _id: {
|
|
45
|
+
$in: newData[key].collectionItems,
|
|
46
|
+
} }, ((collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.match) || {})),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
$project: Object.assign({}, defaults_1.commonExcludedFields),
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
// add project config if it exists
|
|
53
|
+
if (collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.project)
|
|
54
|
+
aggregationQueryPiplelines.push({
|
|
55
|
+
$project: collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.project,
|
|
56
|
+
});
|
|
57
|
+
// add lookup config if it exists
|
|
58
|
+
if (collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.lookup)
|
|
59
|
+
aggregationQueryPiplelines.push({
|
|
60
|
+
$lookup: collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.lookup,
|
|
61
|
+
});
|
|
62
|
+
// Build Aggregation Query
|
|
63
|
+
aggregationQuery.push({
|
|
64
|
+
$lookup: {
|
|
65
|
+
from: newData[key].collectionName,
|
|
66
|
+
pipeline: aggregationQueryPiplelines,
|
|
67
|
+
as: newData[key].code,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
// getting collection data by populating widget
|
|
72
|
+
let aggregationData = yield models_1.Widget.aggregate(aggregationQuery);
|
|
73
|
+
aggregationData = aggregationData.reduce((acc, aggregation) => {
|
|
74
|
+
acc[aggregation.code] = aggregation[aggregation.code];
|
|
75
|
+
return acc;
|
|
76
|
+
}, {});
|
|
77
|
+
// adding collection data to widgets
|
|
78
|
+
return widgetData.map((widget) => {
|
|
79
|
+
if (aggregationData[widget.code]) {
|
|
80
|
+
return Object.assign(Object.assign({}, widget), { collectionItems: aggregationData[widget.code] });
|
|
81
|
+
}
|
|
82
|
+
return widget;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// returning widget data as it is if they do not have dynamic collection
|
|
86
|
+
return widgetData;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
exports.appendCollectionData = appendCollectionData;
|
|
90
|
+
function buildSrcSetItem(uri, setItem) {
|
|
91
|
+
const imageItemArr = (uri === null || uri === void 0 ? void 0 : uri.split('/')) || [];
|
|
92
|
+
imageItemArr.splice(imageItemArr.length - 1, 0, `${setItem.width}x${setItem.height}`);
|
|
93
|
+
return imageItemArr.join('/');
|
|
94
|
+
}
|
|
95
|
+
exports.buildSrcSetItem = buildSrcSetItem;
|
|
96
|
+
function AddSrcSetsToItems(widgetData) {
|
|
97
|
+
if (Array.isArray(widgetData.items) && widgetData.items.length > 0) {
|
|
98
|
+
widgetData.items.forEach((item) => {
|
|
99
|
+
if (Array.isArray(item.srcset) && item.srcset.length > 0 && item.image) {
|
|
100
|
+
item.srcSets = item.srcset.reduce((strArr, setItem) => {
|
|
101
|
+
const imageUri = buildSrcSetItem(item.image.uri, setItem);
|
|
102
|
+
strArr.push(`${imageUri} ${setItem.screenSize}w`);
|
|
103
|
+
return strArr;
|
|
104
|
+
}, []);
|
|
105
|
+
item.srcSets = item.srcSets.join(', ');
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.AddSrcSetsToItems = AddSrcSetsToItems;
|
|
111
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IResponse } from '../types';
|
|
2
|
+
export declare const failureResponse: (data: any, res: IResponse) => IResponse;
|
|
3
|
+
export declare const successResponse: (data: any, res: IResponse) => IResponse;
|
|
4
|
+
export declare const createdDocumentResponse: (data: any, res: IResponse) => IResponse;
|
|
5
|
+
export declare const recordNotFound: (res: IResponse) => IResponse;
|
|
6
|
+
export declare const inValidParam: (message: any, res: IResponse) => IResponse;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inValidParam = exports.recordNotFound = exports.createdDocumentResponse = exports.successResponse = exports.failureResponse = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const failureResponse = (data, res) => {
|
|
6
|
+
let i = 0;
|
|
7
|
+
if (data.name === 'ValidationError') {
|
|
8
|
+
Object.keys(data.errors).forEach((key) => {
|
|
9
|
+
if (i !== 1) {
|
|
10
|
+
data.message = data.errors[key].message;
|
|
11
|
+
}
|
|
12
|
+
i++;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
res.message = data.message;
|
|
16
|
+
return res.status(constants_1.validationError).json({
|
|
17
|
+
code: constants_1.RESPONSE_CODES.ERROR,
|
|
18
|
+
message: data.message ? data.message : data,
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
exports.failureResponse = failureResponse;
|
|
22
|
+
const successResponse = (data, res) => {
|
|
23
|
+
return res.status(constants_1.success).json({
|
|
24
|
+
code: constants_1.RESPONSE_CODES.DEFAULT,
|
|
25
|
+
message: res.message,
|
|
26
|
+
data: data,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
exports.successResponse = successResponse;
|
|
30
|
+
const createdDocumentResponse = (data, res) => {
|
|
31
|
+
return res.status(constants_1.create).json({
|
|
32
|
+
code: constants_1.RESPONSE_CODES.DEFAULT,
|
|
33
|
+
message: res.message,
|
|
34
|
+
data: data,
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
exports.createdDocumentResponse = createdDocumentResponse;
|
|
38
|
+
const recordNotFound = (res) => {
|
|
39
|
+
return res.status(constants_1.success).json({
|
|
40
|
+
code: constants_1.RESPONSE_CODES.DEFAULT,
|
|
41
|
+
message: res.message,
|
|
42
|
+
data: {},
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.recordNotFound = recordNotFound;
|
|
46
|
+
const inValidParam = (message, res) => {
|
|
47
|
+
/* eslint-disable no-useless-escape */
|
|
48
|
+
message = message.replace(/\"/g, '');
|
|
49
|
+
res.message = message;
|
|
50
|
+
return res.status(constants_1.validationError).json({
|
|
51
|
+
code: constants_1.RESPONSE_CODES.ERROR,
|
|
52
|
+
message: message,
|
|
53
|
+
data: undefined,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.inValidParam = inValidParam;
|
|
57
|
+
//# sourceMappingURL=responseHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseHandlers.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/responseHandlers.ts"],"names":[],"mappings":";;;AAAA,4CAAgF;AAGzE,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;aACxC;YACD,CAAC,EAAE,CAAC;QACL,CAAC,CAAC,CAAC;KACH;IACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,2BAAe,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC3C,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B;AAEK,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IACpE,OAAO,GAAG,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAc,EAAE,EAAE;IAChD,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,EAAE;KACR,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,GAAc,EAAE,EAAE;IAC5D,sCAAsC;IACtC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,OAAO,GAAG,CAAC,MAAM,CAAC,2BAAe,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;KACf,CAAC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const defaults_1 = require("./defaults");
|
|
5
|
+
const responseHandlers_1 = require("./responseHandlers");
|
|
6
|
+
const validate = (validator) => {
|
|
7
|
+
return function (req, res, next) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
try {
|
|
10
|
+
req.body = yield validator.validateAsync(req.body);
|
|
11
|
+
next();
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
defaults_1.defaults.logger.error('ValidationError', err);
|
|
15
|
+
if (err.isJoi)
|
|
16
|
+
(0, responseHandlers_1.inValidParam)(err.message, res);
|
|
17
|
+
else
|
|
18
|
+
(0, responseHandlers_1.failureResponse)(err.message, res);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
exports.default = validate;
|
|
24
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/validate.ts"],"names":[],"mappings":";;;AAIA,yCAAsC;AACtC,yDAAmE;AAEnE,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,EAAE;IAClC,OAAO,UAAgB,GAAa,EAAE,GAAc,EAAE,IAAkB;;YACtE,IAAI;gBACF,GAAG,CAAC,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC;aACR;YAAC,OAAO,GAAG,EAAE;gBACZ,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC9C,IAAK,GAAuB,CAAC,KAAK;oBAChC,IAAA,+BAAY,EAAE,GAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;oBACvC,IAAA,kCAAe,EAAE,GAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACnD;QACH,CAAC;KAAA,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import joi from 'joi';
|
|
2
|
+
import { IItemSchema, IDefaultValidations } from '../../types';
|
|
3
|
+
declare type ItemValidation = IItemSchema & IDefaultValidations;
|
|
4
|
+
export declare const create: joi.ObjectSchema<ItemValidation>;
|
|
5
|
+
export declare const update: joi.ObjectSchema<ItemValidation>;
|
|
6
|
+
export declare const list: joi.ObjectSchema<any>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.list = exports.update = exports.create = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
const srcset = joi_1.default.object().keys({
|
|
8
|
+
screenSize: joi_1.default.number().required(),
|
|
9
|
+
width: joi_1.default.number().required(),
|
|
10
|
+
height: joi_1.default.number().required(),
|
|
11
|
+
});
|
|
12
|
+
exports.create = joi_1.default.object({
|
|
13
|
+
widgetId: joi_1.default.string().required(),
|
|
14
|
+
title: joi_1.default.string().required(),
|
|
15
|
+
altText: joi_1.default.string().optional(),
|
|
16
|
+
link: joi_1.default.string().required(),
|
|
17
|
+
sequence: joi_1.default.number().optional(),
|
|
18
|
+
srcset: joi_1.default.array().items(srcset),
|
|
19
|
+
img: joi_1.default.string().allow(null).optional(),
|
|
20
|
+
itemType: joi_1.default
|
|
21
|
+
.string()
|
|
22
|
+
.valid(...Object.values(types_1.ItemTypes))
|
|
23
|
+
.optional()
|
|
24
|
+
.default(types_1.ItemTypes.Web),
|
|
25
|
+
createdBy: joi_1.default.any().optional(),
|
|
26
|
+
updatedBy: joi_1.default.any().optional(),
|
|
27
|
+
deletedBy: joi_1.default.any().optional(),
|
|
28
|
+
deletedAt: joi_1.default.any().optional(),
|
|
29
|
+
});
|
|
30
|
+
exports.update = joi_1.default.object({
|
|
31
|
+
widgetId: joi_1.default.string().required(),
|
|
32
|
+
title: joi_1.default.string().required(),
|
|
33
|
+
altText: joi_1.default.string().optional(),
|
|
34
|
+
link: joi_1.default.string().required(),
|
|
35
|
+
sequence: joi_1.default.number().optional(),
|
|
36
|
+
img: joi_1.default.string().allow(null).optional(),
|
|
37
|
+
srcset: joi_1.default.array().items(srcset),
|
|
38
|
+
itemType: joi_1.default
|
|
39
|
+
.string()
|
|
40
|
+
.valid(...Object.values(types_1.ItemTypes))
|
|
41
|
+
.optional(),
|
|
42
|
+
createdBy: joi_1.default.any().optional(),
|
|
43
|
+
updatedBy: joi_1.default.any().optional(),
|
|
44
|
+
deletedBy: joi_1.default.any().optional(),
|
|
45
|
+
deletedAt: joi_1.default.any().optional(),
|
|
46
|
+
});
|
|
47
|
+
exports.list = joi_1.default.object({
|
|
48
|
+
search: joi_1.default.string().allow('').replace(/\s+/g, '_').default(''),
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=item.js.map
|