@knovator/pagecreator-node 1.1.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/package.json +3 -6
  2. package/src/constants/index.ts +30 -0
  3. package/src/controllers/PageController.ts +88 -0
  4. package/src/controllers/TabController.ts +47 -0
  5. package/src/controllers/UserController.ts +69 -0
  6. package/src/controllers/WidgetController.ts +420 -0
  7. package/src/index.ts +59 -0
  8. package/src/models/Item.ts +53 -0
  9. package/src/models/Page.ts +22 -0
  10. package/src/models/SrcSet.ts +16 -0
  11. package/src/models/Tab.ts +28 -0
  12. package/src/models/Widget.ts +65 -0
  13. package/src/models/{index.d.ts → index.ts} +13 -1
  14. package/src/plugins/softDelete.ts +84 -0
  15. package/src/routes/PageRoute.ts +30 -0
  16. package/src/routes/UserRoute.ts +32 -0
  17. package/src/routes/WidgetRoute.ts +77 -0
  18. package/src/services/dataService.ts +475 -0
  19. package/src/services/dbService.ts +102 -0
  20. package/src/types/{IRequest.d.ts → IRequest.ts} +4 -3
  21. package/src/types/{IResponse.d.ts → IResponse.ts} +4 -3
  22. package/src/types/{Router.d.ts → Router.ts} +2 -1
  23. package/src/types/common.ts +172 -0
  24. package/src/types/enums.ts +16 -0
  25. package/src/utils/defaults.ts +41 -0
  26. package/src/utils/helper.ts +285 -0
  27. package/src/utils/redis.ts +57 -0
  28. package/src/utils/responseHandlers.ts +60 -0
  29. package/src/utils/validate.ts +22 -0
  30. package/src/utils/validations/page.ts +52 -0
  31. package/src/utils/validations/tab.ts +26 -0
  32. package/src/utils/validations/user.ts +10 -0
  33. package/src/utils/validations/widget.ts +169 -0
  34. package/src/constants/index.d.ts +0 -20
  35. package/src/constants/index.js +0 -34
  36. package/src/constants/index.js.map +0 -1
  37. package/src/controllers/PageController.d.ts +0 -4
  38. package/src/controllers/PageController.js +0 -84
  39. package/src/controllers/PageController.js.map +0 -1
  40. package/src/controllers/TabController.d.ts +0 -4
  41. package/src/controllers/TabController.js +0 -46
  42. package/src/controllers/TabController.js.map +0 -1
  43. package/src/controllers/UserController.d.ts +0 -2
  44. package/src/controllers/UserController.js +0 -65
  45. package/src/controllers/UserController.js.map +0 -1
  46. package/src/controllers/WidgetController.d.ts +0 -10
  47. package/src/controllers/WidgetController.js +0 -329
  48. package/src/controllers/WidgetController.js.map +0 -1
  49. package/src/index.d.ts +0 -8
  50. package/src/index.js +0 -48
  51. package/src/index.js.map +0 -1
  52. package/src/models/Item.d.ts +0 -30
  53. package/src/models/Item.js +0 -50
  54. package/src/models/Item.js.map +0 -1
  55. package/src/models/Page.d.ts +0 -30
  56. package/src/models/Page.js +0 -19
  57. package/src/models/Page.js.map +0 -1
  58. package/src/models/SrcSet.d.ts +0 -30
  59. package/src/models/SrcSet.js +0 -17
  60. package/src/models/SrcSet.js.map +0 -1
  61. package/src/models/Tab.d.ts +0 -30
  62. package/src/models/Tab.js +0 -28
  63. package/src/models/Tab.js.map +0 -1
  64. package/src/models/Widget.d.ts +0 -30
  65. package/src/models/Widget.js +0 -58
  66. package/src/models/Widget.js.map +0 -1
  67. package/src/models/index.js +0 -19
  68. package/src/models/index.js.map +0 -1
  69. package/src/plugins/softDelete.d.ts +0 -7
  70. package/src/plugins/softDelete.js +0 -64
  71. package/src/plugins/softDelete.js.map +0 -1
  72. package/src/routes/PageRoute.d.ts +0 -3
  73. package/src/routes/PageRoute.js +0 -30
  74. package/src/routes/PageRoute.js.map +0 -1
  75. package/src/routes/UserRoute.d.ts +0 -3
  76. package/src/routes/UserRoute.js +0 -23
  77. package/src/routes/UserRoute.js.map +0 -1
  78. package/src/routes/WidgetRoute.d.ts +0 -3
  79. package/src/routes/WidgetRoute.js +0 -68
  80. package/src/routes/WidgetRoute.js.map +0 -1
  81. package/src/services/dataService.d.ts +0 -9
  82. package/src/services/dataService.js +0 -403
  83. package/src/services/dataService.js.map +0 -1
  84. package/src/services/dbService.d.ts +0 -16
  85. package/src/services/dbService.js +0 -88
  86. package/src/services/dbService.js.map +0 -1
  87. package/src/types/IRequest.js +0 -3
  88. package/src/types/IRequest.js.map +0 -1
  89. package/src/types/IResponse.js +0 -3
  90. package/src/types/IResponse.js.map +0 -1
  91. package/src/types/Router.js +0 -3
  92. package/src/types/Router.js.map +0 -1
  93. package/src/types/common.d.ts +0 -138
  94. package/src/types/common.js +0 -3
  95. package/src/types/common.js.map +0 -1
  96. package/src/types/enums.d.ts +0 -13
  97. package/src/types/enums.js +0 -20
  98. package/src/types/enums.js.map +0 -1
  99. package/src/types/index.js +0 -9
  100. package/src/types/index.js.map +0 -1
  101. package/src/utils/defaults.d.ts +0 -7
  102. package/src/utils/defaults.js +0 -41
  103. package/src/utils/defaults.js.map +0 -1
  104. package/src/utils/helper.d.ts +0 -7
  105. package/src/utils/helper.js +0 -225
  106. package/src/utils/helper.js.map +0 -1
  107. package/src/utils/redis.d.ts +0 -3
  108. package/src/utils/redis.js +0 -59
  109. package/src/utils/redis.js.map +0 -1
  110. package/src/utils/responseHandlers.d.ts +0 -6
  111. package/src/utils/responseHandlers.js +0 -57
  112. package/src/utils/responseHandlers.js.map +0 -1
  113. package/src/utils/validate.d.ts +0 -4
  114. package/src/utils/validate.js +0 -24
  115. package/src/utils/validate.js.map +0 -1
  116. package/src/utils/validations/page.d.ts +0 -7
  117. package/src/utils/validations/page.js +0 -51
  118. package/src/utils/validations/page.js.map +0 -1
  119. package/src/utils/validations/tab.d.ts +0 -6
  120. package/src/utils/validations/tab.js +0 -26
  121. package/src/utils/validations/tab.js.map +0 -1
  122. package/src/utils/validations/user.d.ts +0 -3
  123. package/src/utils/validations/user.js +0 -13
  124. package/src/utils/validations/user.js.map +0 -1
  125. package/src/utils/validations/widget.d.ts +0 -9
  126. package/src/utils/validations/widget.js +0 -151
  127. package/src/utils/validations/widget.js.map +0 -1
  128. /package/src/types/{index.d.ts → index.ts} +0 -0
@@ -1,329 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLanguages = exports.getCollectionData = exports.getWidgetTypes = exports.getItemsTypes = exports.partialUpdateWidget = exports.getSingleWidget = exports.getWidgets = exports.deleteWidget = exports.updateWidget = exports.createWidget = void 0;
4
- const tslib_1 = require("tslib");
5
- const mongoose_1 = require("mongoose");
6
- const dbService_1 = require("../services/dbService");
7
- const constants_1 = require("../constants");
8
- const responseHandlers_1 = require("./../utils/responseHandlers");
9
- const defaults_1 = require("../utils/defaults");
10
- const helper_1 = require("../utils/helper");
11
- const types_1 = require("../types");
12
- const dataService_1 = require("../services/dataService");
13
- const catchAsync = (fn) => {
14
- return defaults_1.defaults.catchAsync(fn, 'Widget');
15
- };
16
- const getModals = (req) => defaults_1.defaults.getModals(req);
17
- const deleteItems = (widgetId, models) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
- const { Item } = models;
19
- yield (0, dbService_1.deleteAll)(Item, { widgetId: new mongoose_1.Types.ObjectId(widgetId) });
20
- });
21
- const createItems = (itemsData, widgetId, models) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
- const { Item, SrcSet } = models;
23
- itemsData = itemsData.map((item) => (Object.assign(Object.assign({}, item), { _id: new mongoose_1.Types.ObjectId(), widgetId })));
24
- const srcSetItems = itemsData.reduce((acc, item) => {
25
- if (Array.isArray(item.srcset)) {
26
- acc.push(...item.srcset.map((srcSetItem) => (Object.assign(Object.assign({}, srcSetItem), { itemId: item._id }))));
27
- delete item.srcset;
28
- }
29
- return acc;
30
- }, []);
31
- yield (0, dbService_1.bulkInsert)(Item, itemsData);
32
- yield (0, dbService_1.bulkInsert)(SrcSet, srcSetItems);
33
- });
34
- exports.createWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
35
- var _a;
36
- const models = getModals(req);
37
- const data = req.body;
38
- let items = [];
39
- yield (0, dbService_1.checkUnique)({
40
- Modal: models['Widget'],
41
- uniqueField: 'code',
42
- value: data.code,
43
- errorMessage: constants_1.VALIDATION.WIDGET_EXISTS
44
- });
45
- if ('items' in data) {
46
- items = JSON.parse(JSON.stringify(data.items));
47
- delete data.items;
48
- }
49
- const widget = yield (0, dbService_1.create)(models['Widget'], data);
50
- if (items.length > 0) {
51
- yield createItems(items, widget._id, models);
52
- }
53
- res.message = (_a = req === null || req === void 0 ? void 0 : req.i18n) === null || _a === void 0 ? void 0 : _a.t('widget.create');
54
- return (0, responseHandlers_1.createdDocumentResponse)(widget, res);
55
- }));
56
- exports.updateWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
57
- var _b;
58
- const models = getModals(req);
59
- const data = req.body;
60
- const _id = req.params['id'];
61
- let items = [];
62
- if ('items' in data) {
63
- items = JSON.parse(JSON.stringify(data.items));
64
- delete data.items;
65
- }
66
- const updatedWidget = yield (0, dbService_1.update)(models['Widget'], { _id }, data);
67
- if (items.length > 0 && updatedWidget) {
68
- yield deleteItems(_id, models);
69
- yield createItems(items, updatedWidget._id, models);
70
- }
71
- if (updatedWidget) {
72
- (0, dataService_1.updateRedisWidget)(updatedWidget.code, models);
73
- (0, dataService_1.updateWidgetPagesData)([updatedWidget.id], models);
74
- }
75
- res.message = (_b = req === null || req === void 0 ? void 0 : req.i18n) === null || _b === void 0 ? void 0 : _b.t('widget.update');
76
- return (0, responseHandlers_1.successResponse)(updatedWidget, res);
77
- }));
78
- exports.deleteWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
79
- var _c;
80
- const models = getModals(req);
81
- yield deleteItems(req.params['id'], models);
82
- const _id = new mongoose_1.Types.ObjectId(req.params['id']);
83
- const deletedWidget = yield (0, dbService_1.remove)(models['Widget'], { _id });
84
- if (deletedWidget) {
85
- (0, dataService_1.updateRedisWidget)(deletedWidget.code, models);
86
- (0, dataService_1.updateWidgetPagesData)([deletedWidget.id], models);
87
- }
88
- res.message = (_c = req === null || req === void 0 ? void 0 : req.i18n) === null || _c === void 0 ? void 0 : _c.t('widget.delete');
89
- return (0, responseHandlers_1.successResponse)(deletedWidget, res);
90
- }));
91
- exports.getWidgets = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
92
- var _d;
93
- const { Widget } = getModals(req);
94
- const search = req.body.search || '';
95
- const { collectionItems } = req.body;
96
- const { page, limit, sort } = req.body.options;
97
- const all = (typeof req.body.all !== 'undefined' && req.body.all === true) || false;
98
- const isActive = typeof req.body.isActive !== 'undefined'
99
- ? req.body.isActive || false
100
- : null;
101
- const customOptions = Object.assign({ pagination: !all, sort, select: 'name code isActive' }, (page && limit ? { page, limit } : {}));
102
- const orOptions = [];
103
- if (search) {
104
- orOptions.push({ name: { $regex: search, $options: 'i' } });
105
- orOptions.push({ code: { $regex: search, $options: 'i' } });
106
- }
107
- else {
108
- orOptions.push({});
109
- }
110
- if (Array.isArray(collectionItems) && collectionItems.length) {
111
- orOptions.push({ _id: { $in: collectionItems } });
112
- }
113
- const query = {
114
- isDeleted: false,
115
- isActive: { $in: isActive === null ? [true, false] : [isActive] },
116
- $or: orOptions,
117
- };
118
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
119
- // @ts-ignore
120
- const notifications = yield (0, dbService_1.list)(Widget, query, customOptions);
121
- res.message = (_d = req === null || req === void 0 ? void 0 : req.i18n) === null || _d === void 0 ? void 0 : _d.t('widget.getAll');
122
- return (0, responseHandlers_1.successResponse)(notifications, res);
123
- }));
124
- exports.getSingleWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
125
- var _e, _f;
126
- const { Widget, Item } = getModals(req);
127
- const _id = req.params['id'];
128
- const widget = yield (yield (0, dbService_1.getOne)(Widget, { _id, isDeleted: true })).toJSON();
129
- widget['items'] = yield Item.aggregate([
130
- {
131
- $match: {
132
- widgetId: new mongoose_1.Types.ObjectId(_id),
133
- isDeleted: false,
134
- },
135
- },
136
- {
137
- $project: Object.assign({}, defaults_1.commonExcludedFields),
138
- },
139
- ...(defaults_1.defaults.languages && ((_e = defaults_1.defaults.languages) === null || _e === void 0 ? void 0 : _e.length) > 0
140
- ? defaults_1.defaults.languages.reduce((arr, lng) => {
141
- arr.push({
142
- $lookup: {
143
- from: 'file',
144
- let: { imgsId: { $toObjectId: `$imgs.${lng.code}` } },
145
- as: `imgs.${lng.code}`,
146
- pipeline: [
147
- {
148
- $match: {
149
- $expr: {
150
- $eq: ['$_id', '$$imgsId'],
151
- },
152
- },
153
- },
154
- {
155
- $project: Object.assign(Object.assign({}, defaults_1.commonExcludedFields), { width: 0, module: 0, height: 0 }),
156
- },
157
- ],
158
- },
159
- }, {
160
- $unwind: {
161
- path: `$imgs.${lng.code}`,
162
- preserveNullAndEmptyArrays: true,
163
- },
164
- });
165
- return arr;
166
- }, [])
167
- : [
168
- {
169
- $lookup: {
170
- from: 'file',
171
- let: { imgId: '$img' },
172
- as: 'img',
173
- pipeline: [
174
- {
175
- $match: {
176
- $expr: {
177
- $eq: ['$_id', '$$imgId'],
178
- },
179
- },
180
- },
181
- {
182
- $project: Object.assign(Object.assign({}, defaults_1.commonExcludedFields), { width: 0, module: 0, height: 0 }),
183
- },
184
- ],
185
- },
186
- },
187
- {
188
- $unwind: {
189
- path: '$img',
190
- preserveNullAndEmptyArrays: true,
191
- },
192
- },
193
- ]),
194
- {
195
- $lookup: {
196
- from: 'srcsets',
197
- let: { item: '$_id' },
198
- as: 'srcset',
199
- pipeline: [
200
- {
201
- $match: {
202
- $expr: {
203
- $eq: ['$itemId', '$$item'],
204
- },
205
- },
206
- },
207
- {
208
- $project: Object.assign(Object.assign({}, defaults_1.commonExcludedFields), { _id: 0, itemId: 0 }),
209
- },
210
- ],
211
- },
212
- },
213
- ]);
214
- res.message = (_f = req === null || req === void 0 ? void 0 : req.i18n) === null || _f === void 0 ? void 0 : _f.t('widget.getOne');
215
- return (0, responseHandlers_1.successResponse)(widget, res);
216
- }));
217
- exports.partialUpdateWidget = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
218
- var _g;
219
- const models = getModals(req);
220
- const data = req.body;
221
- const _id = req.params['id'];
222
- const updatedWidget = yield (0, dbService_1.update)(models['Widget'], { _id }, data);
223
- if (updatedWidget) {
224
- (0, dataService_1.updateRedisWidget)(updatedWidget.code, models);
225
- (0, dataService_1.updateWidgetPagesData)([updatedWidget.id], models);
226
- }
227
- res.message = (_g = req === null || req === void 0 ? void 0 : req.i18n) === null || _g === void 0 ? void 0 : _g.t('widget.partialUpdate');
228
- return (0, responseHandlers_1.successResponse)(updatedWidget, res);
229
- }));
230
- exports.getItemsTypes = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
231
- var _h;
232
- const itemsTypes = [
233
- {
234
- value: Object.keys(types_1.ItemsType)[0],
235
- label: Object.values(types_1.ItemsType)[0],
236
- },
237
- ];
238
- defaults_1.defaults.collections.forEach((item) => {
239
- itemsTypes.push({
240
- value: item.collectionName,
241
- label: item.title,
242
- });
243
- });
244
- res.message = (_h = req === null || req === void 0 ? void 0 : req.i18n) === null || _h === void 0 ? void 0 : _h.t('widget.getItemsTypes');
245
- return (0, responseHandlers_1.successResponse)(itemsTypes, res);
246
- }));
247
- exports.getWidgetTypes = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
248
- var _j;
249
- const widgetTypes = Object.entries(types_1.WidgetTypes).map((e) => ({
250
- label: e[1],
251
- value: e[0],
252
- }));
253
- if (Array.isArray(defaults_1.defaults.customWidgetTypes) &&
254
- defaults_1.defaults.customWidgetTypes.length > 0) {
255
- widgetTypes.push(...defaults_1.defaults.customWidgetTypes);
256
- }
257
- res.message = (_j = req === null || req === void 0 ? void 0 : req.i18n) === null || _j === void 0 ? void 0 : _j.t('widget.getWidgetTypes');
258
- return (0, responseHandlers_1.successResponse)(widgetTypes, res);
259
- }));
260
- exports.getCollectionData = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
261
- var _k;
262
- let limit = 10;
263
- const models = getModals(req);
264
- const { search, collectionName, collectionItems } = req.body;
265
- if (Array.isArray(collectionItems))
266
- limit = Math.max(collectionItems.length, limit);
267
- const collectionItem = defaults_1.defaults.collections.find((collection) => collection.collectionName === collectionName);
268
- if (!collectionItem) {
269
- throw new Error(`No collection is specified with ${collectionName}`);
270
- }
271
- // setting up mongoose model
272
- const TempModel = (0, helper_1.getCollectionModal)(collectionName, models);
273
- // fetching data
274
- let query = collectionItem.filters || {};
275
- const orOptions = [];
276
- let addFieldOptions = {};
277
- if (search &&
278
- Array.isArray(collectionItem.searchColumns) &&
279
- collectionItem.searchColumns.length) {
280
- collectionItem.searchColumns.forEach((column) => orOptions.push({
281
- [column]: {
282
- $regex: search,
283
- $options: 'i',
284
- },
285
- }));
286
- }
287
- else {
288
- orOptions.push({});
289
- }
290
- if (Array.isArray(collectionItems) && collectionItems.length) {
291
- addFieldOptions = {
292
- __order: {
293
- $indexOfArray: [
294
- collectionItems,
295
- {
296
- $toString: '$_id',
297
- },
298
- ],
299
- },
300
- };
301
- orOptions.push({ _id: { $in: (0, helper_1.formatCollectionItems)(collectionItems) } });
302
- }
303
- if (orOptions.length > 0) {
304
- query = Object.assign(Object.assign({}, query), { $or: orOptions });
305
- }
306
- const collectionData = yield TempModel.aggregate([
307
- ...(Array.isArray(collectionItem.aggregations)
308
- ? collectionItem.aggregations
309
- : []),
310
- {
311
- $match: query,
312
- },
313
- { $addFields: addFieldOptions },
314
- {
315
- $sort: {
316
- __order: -1,
317
- },
318
- },
319
- {
320
- $limit: limit,
321
- },
322
- ]);
323
- res.message = (_k = req === null || req === void 0 ? void 0 : req.i18n) === null || _k === void 0 ? void 0 : _k.t('widget.getCollectionData');
324
- return (0, responseHandlers_1.successResponse)({ docs: collectionData }, res);
325
- }));
326
- exports.getLanguages = catchAsync((req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
327
- return (0, responseHandlers_1.successResponse)(Array.isArray(defaults_1.defaults.languages) ? defaults_1.defaults.languages : [], res);
328
- }));
329
- //# sourceMappingURL=WidgetController.js.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,8 +0,0 @@
1
- import WidgetRoutes from './routes/WidgetRoute';
2
- import PageRoutes from './routes/PageRoute';
3
- import UserRoutes from './routes/UserRoute';
4
- import { Widget, Item, Page, Tab, SrcSet, WidgetSchema, ItemSchema, PageSchema, SrcSetSchema, TabSchema } from './models';
5
- import { IConfig } from './types';
6
- import { handleUpdateData, handleResetData } from './services/dataService';
7
- declare function setConfig(config: Partial<IConfig>): void;
8
- export { WidgetRoutes, PageRoutes, UserRoutes, Widget, Item, Page, Tab, SrcSet, WidgetSchema, ItemSchema, PageSchema, SrcSetSchema, TabSchema, setConfig, handleResetData, handleUpdateData, };
package/src/index.js DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleUpdateData = exports.handleResetData = exports.setConfig = exports.TabSchema = exports.SrcSetSchema = exports.PageSchema = exports.ItemSchema = exports.WidgetSchema = exports.SrcSet = exports.Tab = exports.Page = exports.Item = exports.Widget = exports.UserRoutes = exports.PageRoutes = 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 PageRoute_1 = tslib_1.__importDefault(require("./routes/PageRoute"));
9
- exports.PageRoutes = PageRoute_1.default;
10
- const UserRoute_1 = tslib_1.__importDefault(require("./routes/UserRoute"));
11
- exports.UserRoutes = UserRoute_1.default;
12
- const models_1 = require("./models");
13
- Object.defineProperty(exports, "Widget", { enumerable: true, get: function () { return models_1.Widget; } });
14
- Object.defineProperty(exports, "Item", { enumerable: true, get: function () { return models_1.Item; } });
15
- Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return models_1.Page; } });
16
- Object.defineProperty(exports, "Tab", { enumerable: true, get: function () { return models_1.Tab; } });
17
- Object.defineProperty(exports, "SrcSet", { enumerable: true, get: function () { return models_1.SrcSet; } });
18
- Object.defineProperty(exports, "WidgetSchema", { enumerable: true, get: function () { return models_1.WidgetSchema; } });
19
- Object.defineProperty(exports, "ItemSchema", { enumerable: true, get: function () { return models_1.ItemSchema; } });
20
- Object.defineProperty(exports, "PageSchema", { enumerable: true, get: function () { return models_1.PageSchema; } });
21
- Object.defineProperty(exports, "SrcSetSchema", { enumerable: true, get: function () { return models_1.SrcSetSchema; } });
22
- Object.defineProperty(exports, "TabSchema", { enumerable: true, get: function () { return models_1.TabSchema; } });
23
- const dataService_1 = require("./services/dataService");
24
- Object.defineProperty(exports, "handleUpdateData", { enumerable: true, get: function () { return dataService_1.handleUpdateData; } });
25
- Object.defineProperty(exports, "handleResetData", { enumerable: true, get: function () { return dataService_1.handleResetData; } });
26
- function setConfig(config) {
27
- if (config.logger) {
28
- defaults_1.defaults.logger = config.logger;
29
- }
30
- if (typeof config.catchAsync === 'function')
31
- defaults_1.defaults.catchAsync = config.catchAsync;
32
- if (typeof config.getModals === 'function')
33
- defaults_1.defaults.getModals = config.getModals;
34
- if (Array.isArray(config.collections)) {
35
- defaults_1.defaults.collections = config.collections;
36
- }
37
- if (Array.isArray(config.customWidgetTypes)) {
38
- defaults_1.defaults.customWidgetTypes = config.customWidgetTypes;
39
- }
40
- if (typeof config.redis === 'string' || typeof config.redis === 'object') {
41
- defaults_1.defaults.redis = config.redis;
42
- }
43
- if (Array.isArray(config.languages) && config.languages.length > 0) {
44
- defaults_1.defaults.languages = config.languages;
45
- }
46
- }
47
- exports.setConfig = setConfig;
48
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/node/src/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA4C;AAC5C,+EAAgD;AAyC9C,uBAzCK,qBAAY,CAyCL;AAxCd,2EAA4C;AAyC1C,qBAzCK,mBAAU,CAyCL;AAxCZ,2EAA4C;AAyC1C,qBAzCK,mBAAU,CAyCL;AAxCZ,qCAWkB;AA8BhB,uFAxCA,eAAM,OAwCA;AACN,qFAxCA,aAAI,OAwCA;AACJ,qFAxCA,aAAI,OAwCA;AACJ,oFAxCA,YAAG,OAwCA;AACH,uFAxCA,eAAM,OAwCA;AACN,6FAxCA,qBAAY,OAwCA;AACZ,2FAxCA,mBAAU,OAwCA;AACV,2FAxCA,mBAAU,OAwCA;AACV,6FAxCA,qBAAY,OAwCA;AACZ,0FAxCA,kBAAS,OAwCA;AArCX,wDAA2E;AAwCzE,iGAxCO,8BAAgB,OAwCP;AADhB,gGAvCyB,6BAAe,OAuCzB;AArCjB,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,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU;QACxC,mBAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACrC,mBAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;KAC3C;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;QAC3C,mBAAQ,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;KACvD;IACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;QACxE,mBAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;KAC/B;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAClE,mBAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;KACvC;AACH,CAAC;AAgBC,8BAAS"}
@@ -1,30 +0,0 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- /// <reference types="mongoose-paginate-v2" />
26
- import { Schema } from 'mongoose';
27
- import { IModel, IItemSchema } from '../types';
28
- declare const ItemSchema: Schema<IItemSchema, import("mongoose").Model<IItemSchema, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, IItemSchema>;
29
- declare const Item: IModel<IItemSchema>;
30
- export { Item, ItemSchema };
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var _a, _b, _c;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ItemSchema = exports.Item = void 0;
5
- const tslib_1 = require("tslib");
6
- const mongoose_1 = require("mongoose");
7
- const mongoose_paginate_v2_1 = tslib_1.__importDefault(require("mongoose-paginate-v2"));
8
- const softDelete_1 = require("../plugins/softDelete");
9
- const types_1 = require("../types");
10
- const defaults_1 = require("../utils/defaults");
11
- const titlesSchema = ((_a = defaults_1.defaults.languages) === null || _a === void 0 ? void 0 : _a.reduce((acc, lang) => {
12
- acc[lang.code] = { type: String, required: true };
13
- return acc;
14
- }, {})) || {};
15
- const imagesSchema = ((_b = defaults_1.defaults.languages) === null || _b === void 0 ? void 0 : _b.reduce((acc, lang) => {
16
- acc[lang.code] = { type: mongoose_1.Schema.Types.ObjectId, ref: 'file' };
17
- return acc;
18
- }, {})) || {};
19
- const altTextsSchema = ((_c = defaults_1.defaults.languages) === null || _c === void 0 ? void 0 : _c.reduce((acc, lang) => {
20
- acc[lang.code] = { type: String };
21
- return acc;
22
- }, {})) || {};
23
- const ItemSchema = new mongoose_1.Schema({
24
- widgetId: {
25
- type: mongoose_1.Types.ObjectId,
26
- ref: 'Widget',
27
- },
28
- title: String,
29
- titles: titlesSchema,
30
- subtitle: String,
31
- subtitles: titlesSchema,
32
- altText: String,
33
- altTexts: altTextsSchema,
34
- link: String,
35
- sequence: Number,
36
- img: { type: mongoose_1.Schema.Types.ObjectId, ref: 'file' },
37
- imgs: imagesSchema,
38
- itemType: {
39
- type: String,
40
- enum: Object.values(types_1.ItemTypes),
41
- default: types_1.ItemTypes.Web,
42
- required: true,
43
- },
44
- });
45
- exports.ItemSchema = ItemSchema;
46
- ItemSchema.plugin(softDelete_1.softDeletePlugin);
47
- ItemSchema.plugin(mongoose_paginate_v2_1.default);
48
- const Item = (0, mongoose_1.model)('Item', ItemSchema);
49
- exports.Item = Item;
50
- //# sourceMappingURL=Item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../libs/node/src/models/Item.ts"],"names":[],"mappings":";;;;;AAAA,uCAAgD;AAChD,wFAAoD;AACpD,sDAAyD;AACzD,oCAA0D;AAC1D,gDAA6C;AAE7C,MAAM,YAAY,GAChB,CAAA,MAAA,mBAAQ,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;IAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;AAEf,MAAM,YAAY,GAChB,CAAA,MAAA,mBAAQ,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;IAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;AAEf,MAAM,cAAc,GAClB,CAAA,MAAA,mBAAQ,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;IAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;AAEf,MAAM,UAAU,GAAG,IAAI,iBAAM,CAAc;IACzC,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAK,CAAC,QAAQ;QACpB,GAAG,EAAE,QAAQ;KACd;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE;IACjD,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC;QAC9B,OAAO,EAAE,iBAAS,CAAC,GAAG;QACtB,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAC;AAOY,gCAAU;AALzB,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;AAEhE,oBAAI"}
@@ -1,30 +0,0 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- /// <reference types="mongoose-paginate-v2" />
26
- import { Schema } from 'mongoose';
27
- import { IModel, IPageSchema } from '../types';
28
- declare const PageSchema: Schema<IPageSchema, import("mongoose").Model<IPageSchema, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, IPageSchema>;
29
- declare const Page: IModel<IPageSchema>;
30
- export { Page, PageSchema };
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageSchema = exports.Page = 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 softDelete_1 = require("../plugins/softDelete");
8
- const PageSchema = new mongoose_1.Schema({
9
- name: String,
10
- code: String,
11
- slug: String,
12
- widgets: [{ type: mongoose_1.Types.ObjectId, ref: 'Widget' }],
13
- });
14
- exports.PageSchema = PageSchema;
15
- PageSchema.plugin(softDelete_1.softDeletePlugin);
16
- PageSchema.plugin(mongoose_paginate_v2_1.default);
17
- const Page = (0, mongoose_1.model)('Page', PageSchema);
18
- exports.Page = Page;
19
- //# sourceMappingURL=Page.js.map
@@ -1 +0,0 @@
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,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;CACnD,CAAC,CAAC;AAOY,gCAAU;AALzB,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;AAEhE,oBAAI"}
@@ -1,30 +0,0 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- /// <reference types="mongoose-paginate-v2" />
26
- import { Schema, Model } from 'mongoose';
27
- import { ISrcSetSchema } from '../types';
28
- declare const SrcSetSchema: Schema<ISrcSetSchema, Model<ISrcSetSchema, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ISrcSetSchema>;
29
- declare const SrcSet: Model<ISrcSetSchema>;
30
- export { SrcSet, SrcSetSchema };
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SrcSetSchema = exports.SrcSet = void 0;
4
- const mongoose_1 = require("mongoose");
5
- const SrcSetSchema = new mongoose_1.Schema({
6
- width: Number,
7
- height: Number,
8
- screenSize: Number,
9
- itemId: {
10
- type: mongoose_1.Types.ObjectId,
11
- ref: 'Item',
12
- },
13
- });
14
- exports.SrcSetSchema = SrcSetSchema;
15
- const SrcSet = (0, mongoose_1.model)('SrcSet', SrcSetSchema);
16
- exports.SrcSet = SrcSet;
17
- //# sourceMappingURL=SrcSet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SrcSet.js","sourceRoot":"","sources":["../../../../../libs/node/src/models/SrcSet.ts"],"names":[],"mappings":";;;AAAA,uCAAuD;AAGvD,MAAM,YAAY,GAAG,IAAI,iBAAM,CAAgB;IAC7C,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE;QACN,IAAI,EAAE,gBAAK,CAAC,QAAQ;QACpB,GAAG,EAAE,MAAM;KACZ;CACF,CAAC,CAAC;AAIc,oCAAY;AAF7B,MAAM,MAAM,GAAyB,IAAA,gBAAK,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAE1D,wBAAM"}