@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.
Files changed (120) hide show
  1. package/package.json +6 -3
  2. package/src/constants/index.d.ts +16 -0
  3. package/src/constants/index.js +30 -0
  4. package/src/constants/index.js.map +1 -0
  5. package/src/controllers/ItemController.d.ts +4 -0
  6. package/src/controllers/ItemController.js +108 -0
  7. package/src/controllers/ItemController.js.map +1 -0
  8. package/src/controllers/PageController.d.ts +4 -0
  9. package/src/controllers/PageController.js +61 -0
  10. package/src/controllers/PageController.js.map +1 -0
  11. package/src/controllers/UserController.d.ts +2 -0
  12. package/src/controllers/UserController.js +238 -0
  13. package/src/controllers/UserController.js.map +1 -0
  14. package/src/controllers/WidgetController.d.ts +8 -0
  15. package/src/controllers/WidgetController.js +131 -0
  16. package/src/controllers/WidgetController.js.map +1 -0
  17. package/src/index.d.ts +8 -0
  18. package/src/index.js +29 -0
  19. package/src/index.js.map +1 -0
  20. package/src/models/Item.d.ts +3 -0
  21. package/src/models/Item.js +29 -0
  22. package/src/models/Item.js.map +1 -0
  23. package/src/models/Page.d.ts +3 -0
  24. package/src/models/Page.js +16 -0
  25. package/src/models/Page.js.map +1 -0
  26. package/src/models/SrcSet.d.ts +4 -0
  27. package/src/models/SrcSet.js +15 -0
  28. package/src/models/SrcSet.js.map +1 -0
  29. package/src/models/Widget.d.ts +3 -0
  30. package/src/models/Widget.js +41 -0
  31. package/src/models/Widget.js.map +1 -0
  32. package/src/models/{index.ts → index.d.ts} +0 -1
  33. package/src/models/index.js +13 -0
  34. package/src/models/index.js.map +1 -0
  35. package/src/plugins/softDelete.d.ts +7 -0
  36. package/src/plugins/softDelete.js +64 -0
  37. package/src/plugins/softDelete.js.map +1 -0
  38. package/src/routes/ItemRoute.d.ts +3 -0
  39. package/src/routes/ItemRoute.js +31 -0
  40. package/src/routes/ItemRoute.js.map +1 -0
  41. package/src/routes/PageRoute.d.ts +3 -0
  42. package/src/routes/PageRoute.js +30 -0
  43. package/src/routes/PageRoute.js.map +1 -0
  44. package/src/routes/UserRoute.d.ts +3 -0
  45. package/src/routes/UserRoute.js +23 -0
  46. package/src/routes/UserRoute.js.map +1 -0
  47. package/src/routes/WidgetRoute.d.ts +3 -0
  48. package/src/routes/WidgetRoute.js +47 -0
  49. package/src/routes/WidgetRoute.js.map +1 -0
  50. package/src/services/dbService.d.ts +10 -0
  51. package/src/services/dbService.js +74 -0
  52. package/src/services/dbService.js.map +1 -0
  53. package/src/types/{IRequest.ts → IRequest.d.ts} +3 -4
  54. package/src/types/IRequest.js +3 -0
  55. package/src/types/IRequest.js.map +1 -0
  56. package/src/types/{IResponse.ts → IResponse.d.ts} +3 -4
  57. package/src/types/IResponse.js +3 -0
  58. package/src/types/IResponse.js.map +1 -0
  59. package/src/types/{Router.ts → Router.d.ts} +1 -2
  60. package/src/types/Router.js +3 -0
  61. package/src/types/Router.js.map +1 -0
  62. package/src/types/common.d.ts +91 -0
  63. package/src/types/common.js +3 -0
  64. package/src/types/common.js.map +1 -0
  65. package/src/types/enums.d.ts +11 -0
  66. package/src/types/enums.js +18 -0
  67. package/src/types/enums.js.map +1 -0
  68. package/src/types/{index.ts → index.d.ts} +0 -0
  69. package/src/types/index.js +9 -0
  70. package/src/types/index.js.map +1 -0
  71. package/src/utils/defaults.d.ts +7 -0
  72. package/src/utils/defaults.js +28 -0
  73. package/src/utils/defaults.js.map +1 -0
  74. package/src/utils/helper.d.ts +33 -0
  75. package/src/utils/helper.js +111 -0
  76. package/src/utils/helper.js.map +1 -0
  77. package/src/utils/responseHandlers.d.ts +6 -0
  78. package/src/utils/responseHandlers.js +57 -0
  79. package/src/utils/responseHandlers.js.map +1 -0
  80. package/src/utils/validate.d.ts +4 -0
  81. package/src/utils/validate.js +24 -0
  82. package/src/utils/validate.js.map +1 -0
  83. package/src/utils/validations/item.d.ts +7 -0
  84. package/src/utils/validations/item.js +50 -0
  85. package/src/utils/validations/item.js.map +1 -0
  86. package/src/utils/validations/page.d.ts +7 -0
  87. package/src/utils/validations/page.js +58 -0
  88. package/src/utils/validations/page.js.map +1 -0
  89. package/src/utils/validations/user.d.ts +3 -0
  90. package/src/utils/validations/user.js +12 -0
  91. package/src/utils/validations/user.js.map +1 -0
  92. package/src/utils/validations/widget.d.ts +9 -0
  93. package/src/utils/validations/widget.js +108 -0
  94. package/src/utils/validations/widget.js.map +1 -0
  95. package/src/constants/index.ts +0 -26
  96. package/src/controllers/ItemController.ts +0 -139
  97. package/src/controllers/PageController.ts +0 -65
  98. package/src/controllers/UserController.ts +0 -265
  99. package/src/controllers/WidgetController.ts +0 -165
  100. package/src/index.ts +0 -29
  101. package/src/models/Item.ts +0 -29
  102. package/src/models/Page.ts +0 -17
  103. package/src/models/SrcSet.ts +0 -16
  104. package/src/models/Widget.ts +0 -44
  105. package/src/plugins/softDelete.ts +0 -84
  106. package/src/routes/ItemRoute.ts +0 -32
  107. package/src/routes/PageRoute.ts +0 -31
  108. package/src/routes/UserRoute.ts +0 -32
  109. package/src/routes/WidgetRoute.ts +0 -56
  110. package/src/services/dbService.ts +0 -82
  111. package/src/types/common.ts +0 -130
  112. package/src/types/enums.ts +0 -13
  113. package/src/utils/defaults.ts +0 -30
  114. package/src/utils/helper.ts +0 -133
  115. package/src/utils/responseHandlers.ts +0 -54
  116. package/src/utils/validate.ts +0 -22
  117. package/src/utils/validations/item.ts +0 -51
  118. package/src/utils/validations/page.ts +0 -59
  119. package/src/utils/validations/user.ts +0 -9
  120. package/src/utils/validations/widget.ts +0 -118
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/item.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,uCAA0E;AAI1E,MAAM,MAAM,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IAC/B,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,aAAG;SACV,MAAM,EAAE;SACR,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC;SAClC,QAAQ,EAAE;SACV,OAAO,CAAC,iBAAS,CAAC,GAAG,CAAC;IACzB,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,aAAG;SACV,MAAM,EAAE;SACR,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC;SAClC,QAAQ,EAAE;IACb,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,aAAG,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChE,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import joi from 'joi';
2
+ import { IPageSchema, IDefaultValidations } from '../../types';
3
+ declare type PageValidation = IPageSchema & IDefaultValidations;
4
+ export declare const create: joi.ObjectSchema<PageValidation>;
5
+ export declare const update: joi.ObjectSchema<PageValidation>;
6
+ export declare const list: joi.ObjectSchema<any>;
7
+ export {};
@@ -0,0 +1,58 @@
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 models_1 = require("../../models");
7
+ const dbService_1 = require("../../services/dbService");
8
+ const constants_1 = require("../../constants");
9
+ const checkUnique = (value) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
10
+ let result;
11
+ try {
12
+ // throws error if document not found
13
+ result = yield (0, dbService_1.getOne)(models_1.Page, {
14
+ code: value,
15
+ });
16
+ // eslint-disable-next-line no-empty
17
+ }
18
+ catch (e) { }
19
+ if (result) {
20
+ throw new Error(constants_1.VALIDATION.WIDGET_EXISTS);
21
+ }
22
+ });
23
+ exports.create = joi_1.default.object({
24
+ name: joi_1.default.string().required(),
25
+ code: joi_1.default
26
+ .string()
27
+ .uppercase()
28
+ .replace(/\s+/g, '_')
29
+ .external(checkUnique)
30
+ .required(),
31
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
32
+ createdBy: joi_1.default.any().optional(),
33
+ updatedBy: joi_1.default.any().optional(),
34
+ deletedBy: joi_1.default.any().optional(),
35
+ deletedAt: joi_1.default.any().optional(),
36
+ });
37
+ exports.update = joi_1.default.object({
38
+ name: joi_1.default.string().optional(),
39
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
40
+ createdBy: joi_1.default.any().optional(),
41
+ updatedBy: joi_1.default.any().optional(),
42
+ deletedBy: joi_1.default.any().optional(),
43
+ deletedAt: joi_1.default.any().optional(),
44
+ });
45
+ exports.list = joi_1.default.object({
46
+ search: joi_1.default.string().allow('').replace(/\s+/g, '_').optional().default(''),
47
+ options: joi_1.default
48
+ .object({
49
+ // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
50
+ populate: joi_1.default.array().items().optional().default([]),
51
+ offset: joi_1.default.number().optional(),
52
+ page: joi_1.default.number().optional(),
53
+ limit: joi_1.default.number().optional(),
54
+ pagination: joi_1.default.boolean().default(false),
55
+ })
56
+ .default({}),
57
+ });
58
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/page.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,yCAAoC;AACpC,wDAAkD;AAClD,+CAA6C;AAK7C,MAAM,WAAW,GAAG,CAAO,KAAa,EAAiB,EAAE;IACzD,IAAI,MAAM,CAAC;IACX,IAAI;QACF,qCAAqC;QACrC,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,oCAAoC;KACrC;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,IAAI,MAAM,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,sBAAU,CAAC,aAAa,CAAC,CAAC;KAC3C;AACH,CAAC,CAAA,CAAC;AAEW,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,aAAG;SACN,MAAM,EAAE;SACR,SAAS,EAAE;SACX,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,QAAQ,CAAC,WAAW,CAAC;SACrB,QAAQ,EAAE;IACb,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,aAAG,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1E,OAAO,EAAE,aAAG;SACT,MAAM,CAAC;QACN,uEAAuE;QACvE,QAAQ,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACzC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import joi from 'joi';
2
+ export declare const getWidgetData: joi.ObjectSchema<any>;
3
+ export declare const getPageData: joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
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 joi_1 = tslib_1.__importDefault(require("joi"));
6
+ exports.getWidgetData = joi_1.default.object({
7
+ code: joi_1.default.string().required(),
8
+ });
9
+ exports.getPageData = joi_1.default.object({
10
+ code: joi_1.default.string().required(),
11
+ });
12
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/user.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAET,QAAA,aAAa,GAAG,aAAG,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,aAAG,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import joi from 'joi';
2
+ import { IWidgetSchema, IDefaultValidations } from '../../types';
3
+ declare type ItemValidation = IWidgetSchema & 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 declare const partialUpdate: joi.ObjectSchema<any>;
8
+ export declare const getCollectionData: joi.ObjectSchema<any>;
9
+ export {};
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCollectionData = exports.partialUpdate = 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 models_1 = require("../../models");
7
+ const defaults_1 = require("../defaults");
8
+ const constants_1 = require("../../constants");
9
+ const dbService_1 = require("../../services/dbService");
10
+ const types_1 = require("../../types");
11
+ const checkUnique = (value) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ let result;
13
+ try {
14
+ // throws error if document found
15
+ result = yield (0, dbService_1.getOne)(models_1.Widget, {
16
+ code: value,
17
+ });
18
+ // eslint-disable-next-line no-empty
19
+ }
20
+ catch (e) { }
21
+ if (result) {
22
+ throw new Error(constants_1.VALIDATION.WIDGET_EXISTS);
23
+ }
24
+ });
25
+ exports.create = joi_1.default.object({
26
+ name: joi_1.default.string().required(),
27
+ widgetTitle: joi_1.default.string().required(),
28
+ code: joi_1.default
29
+ .string()
30
+ .uppercase()
31
+ .replace(/\s+/g, '_')
32
+ .external(checkUnique)
33
+ .required(),
34
+ isActive: joi_1.default.boolean().default(true).optional(),
35
+ autoPlay: joi_1.default.boolean().default(false).optional(),
36
+ webPerRow: joi_1.default.number().allow(null).optional(),
37
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
38
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
39
+ collectionName: joi_1.default.string().optional(),
40
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
41
+ itemsType: joi_1.default
42
+ .string()
43
+ .custom((value) => {
44
+ if (Object.keys(types_1.ItemsType).includes(value)) {
45
+ return value;
46
+ }
47
+ const collectionIndex = defaults_1.defaults.collections.findIndex((collection) => collection.collectionName === value);
48
+ if (collectionIndex > -1) {
49
+ return value;
50
+ }
51
+ throw new Error(`${value} is not a valid widget type`);
52
+ })
53
+ .optional()
54
+ .default(types_1.ItemsType.Image),
55
+ widgetType: joi_1.default
56
+ .string()
57
+ .valid(...Object.values(types_1.WidgetTypes))
58
+ .optional()
59
+ .default(types_1.WidgetTypes.FixedCard),
60
+ createdBy: joi_1.default.any().optional(),
61
+ updatedBy: joi_1.default.any().optional(),
62
+ deletedBy: joi_1.default.any().optional(),
63
+ deletedAt: joi_1.default.any().optional(),
64
+ });
65
+ exports.update = joi_1.default.object({
66
+ name: joi_1.default.string().required(),
67
+ widgetTitle: joi_1.default.string().required(),
68
+ isActive: joi_1.default.boolean().optional(),
69
+ webPerRow: joi_1.default.number().allow(null).optional(),
70
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
71
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
72
+ autoPlay: joi_1.default.boolean().default(false).optional(),
73
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
74
+ widgetType: joi_1.default
75
+ .string()
76
+ .valid(...Object.values(types_1.WidgetTypes))
77
+ .optional(),
78
+ createdBy: joi_1.default.any().optional(),
79
+ updatedBy: joi_1.default.any().optional(),
80
+ deletedBy: joi_1.default.any().optional(),
81
+ deletedAt: joi_1.default.any().optional(),
82
+ });
83
+ exports.list = joi_1.default.object({
84
+ search: joi_1.default.string().allow('').optional().default(''),
85
+ options: joi_1.default
86
+ .object({
87
+ // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
88
+ // populate: joi.array().items().optional(),
89
+ offset: joi_1.default.number().optional(),
90
+ page: joi_1.default.number().optional(),
91
+ limit: joi_1.default.number().optional(),
92
+ })
93
+ .default({}),
94
+ isActive: joi_1.default.boolean().optional(),
95
+ all: joi_1.default.boolean().default(false),
96
+ });
97
+ exports.partialUpdate = joi_1.default.object({
98
+ isActive: joi_1.default.boolean().optional(),
99
+ createdBy: joi_1.default.any().optional(),
100
+ updatedBy: joi_1.default.any().optional(),
101
+ deletedBy: joi_1.default.any().optional(),
102
+ deletedAt: joi_1.default.any().optional(),
103
+ });
104
+ exports.getCollectionData = joi_1.default.object({
105
+ collectionName: joi_1.default.string().required(),
106
+ search: joi_1.default.string().allow('').optional().default(''),
107
+ });
108
+ //# sourceMappingURL=widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/widget.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- export const VALIDATION = {
2
- WIDGET_EXISTS: 'Widget with same code is available',
3
- };
4
- export const RESPONSE_CODES = {
5
- DEFAULT: 'SUCCESS',
6
- ERROR: 'ERROR',
7
- };
8
- export const REGEXS = {
9
- OBJECTID_CAST_FAILED: /Cast to ObjectId failed/gm,
10
- };
11
- export const MONGOOSE_FIND_QUERIES = [
12
- 'count',
13
- 'find',
14
- 'findOne',
15
- 'findOneAndDelete',
16
- 'findOneAndRemove',
17
- 'findOneAndUpdate',
18
- 'update',
19
- 'updateOne',
20
- 'updateMany',
21
- ];
22
- export const success = 200;
23
- export const create = 201;
24
- export const internalServerError = 500;
25
- export const validationError = 422;
26
- export const messageRoutePrefix = 'msg';
@@ -1,139 +0,0 @@
1
- import { Types } from 'mongoose';
2
- import { SrcSet, Item } from '../models';
3
- import {
4
- create,
5
- remove,
6
- update,
7
- deleteAll,
8
- bulkInsert,
9
- } from '../services/dbService';
10
- import {
11
- successResponse,
12
- createdDocumentResponse,
13
- } from '../utils/responseHandlers';
14
-
15
- import { commonExcludedFields, defaults } from '../utils/defaults';
16
- import { IRequest, IResponse, IItemSchema, SrcSetItem } from '../types';
17
-
18
- const catchAsync = (fn: any) => {
19
- return defaults.catchAsync(fn, 'Notification');
20
- };
21
-
22
- export const createItem = catchAsync(async (req: IRequest, res: IResponse) => {
23
- const data = req.body;
24
- const createdItem = (await create(Item, data)) as IItemSchema;
25
- let response = createdItem.toJSON();
26
- if (data.srcset) {
27
- response = {
28
- ...response,
29
- srcset: (await updateItemSrcSet(
30
- createdItem._id,
31
- data.srcset
32
- )) as SrcSetItem[],
33
- };
34
- }
35
- res.message = req?.i18n?.t('item.create');
36
- return createdDocumentResponse(response, res);
37
- });
38
-
39
- export const updateItem = catchAsync(async (req: IRequest, res: IResponse) => {
40
- const data = req.body;
41
- const _id = req.params['id'];
42
- const updatedItem = (await update(Item, { _id }, data)) as IItemSchema;
43
- let response = updatedItem.toJSON();
44
- if (data.srcset) {
45
- response = {
46
- ...response,
47
- srcset: (await updateItemSrcSet(_id, data.srcset)) as SrcSetItem[],
48
- };
49
- }
50
- res.message = req?.i18n?.t('item.update');
51
- return successResponse(response, res);
52
- });
53
-
54
- export const deleteItem = catchAsync(async (req: IRequest, res: IResponse) => {
55
- const _id = new Types.ObjectId(req.params['id']);
56
- const deletedItem = await remove(Item, { _id });
57
- res.message = req?.i18n?.t('item.delete');
58
- return successResponse(deletedItem, res);
59
- });
60
-
61
- export const getItems = catchAsync(async (req: IRequest, res: IResponse) => {
62
- const widgetId = req.params['widgetId'];
63
- const items = await Item.aggregate([
64
- {
65
- $match: {
66
- widgetId: new Types.ObjectId(widgetId),
67
- isDeleted: false,
68
- },
69
- },
70
- {
71
- $project: {
72
- ...commonExcludedFields,
73
- },
74
- },
75
- {
76
- $lookup: {
77
- from: 'file',
78
- let: { imgId: '$img' },
79
- as: 'img',
80
- pipeline: [
81
- {
82
- $match: {
83
- $expr: {
84
- $eq: ['$_id', '$$imgId'],
85
- },
86
- },
87
- },
88
- {
89
- $project: {
90
- ...commonExcludedFields,
91
- width: 0,
92
- module: 0,
93
- height: 0,
94
- },
95
- },
96
- ],
97
- },
98
- },
99
- {
100
- $lookup: {
101
- from: 'srcsets',
102
- let: { item: '$_id' },
103
- as: 'srcset',
104
- pipeline: [
105
- {
106
- $match: {
107
- $expr: {
108
- $eq: ['$itemId', '$$item'],
109
- },
110
- },
111
- },
112
- {
113
- $project: {
114
- ...commonExcludedFields,
115
- _id: 0,
116
- itemId: 0,
117
- },
118
- },
119
- ],
120
- },
121
- },
122
- {
123
- $unwind: '$img',
124
- },
125
- ]);
126
- res.message = req?.i18n?.t('item.getAll');
127
- return successResponse(items, res);
128
- });
129
-
130
- const updateItemSrcSet = async (itemId: string, srcSets: SrcSetItem[]) => {
131
- await deleteAll(SrcSet, { itemId });
132
- const modifiedSrcSets = srcSets.map((set) => ({
133
- ...set,
134
- itemId,
135
- }));
136
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
137
- // @ts-ignore
138
- return await bulkInsert(SrcSet, modifiedSrcSets);
139
- };
@@ -1,65 +0,0 @@
1
- import { Types } from 'mongoose';
2
- import { Page } from './../models';
3
- import { create, remove, update, list } from '../services/dbService';
4
- import {
5
- successResponse,
6
- createdDocumentResponse,
7
- } from './../utils/responseHandlers';
8
- import { IRequest, IResponse } from '../types';
9
-
10
- import { defaults } from '../utils/defaults';
11
-
12
- const catchAsync = (fn: any) => {
13
- return defaults.catchAsync(fn, 'Page');
14
- };
15
-
16
- export const createPage = catchAsync(async (req: IRequest, res: IResponse) => {
17
- const data = req.body;
18
- const page = await create(Page, data);
19
- res.message = req?.i18n?.t('page.create');
20
- return createdDocumentResponse(page, res);
21
- });
22
-
23
- export const updatePage = catchAsync(async (req: IRequest, res: IResponse) => {
24
- const data = req.body;
25
- const _id = req.params['id'];
26
- const updatedPage = await update(Page, { _id }, data);
27
- res.message = req?.i18n?.t('page.update');
28
- return successResponse(updatedPage, res);
29
- });
30
-
31
- export const deletePage = catchAsync(async (req: IRequest, res: IResponse) => {
32
- const _id = new Types.ObjectId(req.params['id']);
33
- const createdPage = await remove(Page, { _id });
34
- res.message = req?.i18n?.t('page.delete');
35
- return successResponse(createdPage, res);
36
- });
37
-
38
- export const getPages = catchAsync(async (req: IRequest, res: IResponse) => {
39
- const search = req.body.search || '';
40
- const { page, limit, populate } = req.body.options;
41
- const customOptions = {
42
- populate,
43
- ...(page && limit ? { page, limit } : {}),
44
- };
45
- const query = {
46
- isDeleted: false,
47
- $or: [
48
- {
49
- name: {
50
- $regex: search,
51
- $options: 'i',
52
- },
53
- },
54
- {
55
- code: {
56
- $regex: search,
57
- $options: 'i',
58
- },
59
- },
60
- ],
61
- };
62
- const pages = await list(Page, query, customOptions);
63
- res.message = req?.i18n?.t('page.getAll');
64
- return successResponse(pages, res);
65
- });