@knovator/pagecreator-node 1.2.0 → 1.2.2

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 +4 -2
  2. package/src/constants/index.d.ts +20 -0
  3. package/src/constants/index.js +34 -0
  4. package/src/constants/index.js.map +1 -0
  5. package/src/controllers/PageController.d.ts +4 -0
  6. package/src/controllers/PageController.js +84 -0
  7. package/src/controllers/PageController.js.map +1 -0
  8. package/src/controllers/TabController.d.ts +4 -0
  9. package/src/controllers/TabController.js +46 -0
  10. package/src/controllers/TabController.js.map +1 -0
  11. package/src/controllers/UserController.d.ts +2 -0
  12. package/src/controllers/UserController.js +65 -0
  13. package/src/controllers/UserController.js.map +1 -0
  14. package/src/controllers/WidgetController.d.ts +10 -0
  15. package/src/controllers/WidgetController.js +329 -0
  16. package/src/controllers/WidgetController.js.map +1 -0
  17. package/src/index.d.ts +8 -0
  18. package/src/index.js +48 -0
  19. package/src/index.js.map +1 -0
  20. package/src/models/Item.d.ts +30 -0
  21. package/src/models/Item.js +50 -0
  22. package/src/models/Item.js.map +1 -0
  23. package/src/models/Page.d.ts +30 -0
  24. package/src/models/Page.js +23 -0
  25. package/src/models/Page.js.map +1 -0
  26. package/src/models/SrcSet.d.ts +30 -0
  27. package/src/models/SrcSet.js +17 -0
  28. package/src/models/SrcSet.js.map +1 -0
  29. package/src/models/Tab.d.ts +30 -0
  30. package/src/models/Tab.js +28 -0
  31. package/src/models/Tab.js.map +1 -0
  32. package/src/models/Widget.d.ts +30 -0
  33. package/src/models/Widget.js +63 -0
  34. package/src/models/Widget.js.map +1 -0
  35. package/src/models/{index.ts → index.d.ts} +1 -13
  36. package/src/models/index.js +19 -0
  37. package/src/models/index.js.map +1 -0
  38. package/src/plugins/softDelete.d.ts +7 -0
  39. package/src/plugins/softDelete.js +64 -0
  40. package/src/plugins/softDelete.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 +68 -0
  49. package/src/routes/WidgetRoute.js.map +1 -0
  50. package/src/services/dataService.d.ts +9 -0
  51. package/src/services/dataService.js +403 -0
  52. package/src/services/dataService.js.map +1 -0
  53. package/src/services/dbService.d.ts +16 -0
  54. package/src/services/dbService.js +88 -0
  55. package/src/services/dbService.js.map +1 -0
  56. package/src/types/{IRequest.ts → IRequest.d.ts} +3 -4
  57. package/src/types/IRequest.js +3 -0
  58. package/src/types/IRequest.js.map +1 -0
  59. package/src/types/{IResponse.ts → IResponse.d.ts} +3 -4
  60. package/src/types/IResponse.js +3 -0
  61. package/src/types/IResponse.js.map +1 -0
  62. package/src/types/{Router.ts → Router.d.ts} +1 -2
  63. package/src/types/Router.js +3 -0
  64. package/src/types/Router.js.map +1 -0
  65. package/src/types/common.d.ts +142 -0
  66. package/src/types/common.js +3 -0
  67. package/src/types/common.js.map +1 -0
  68. package/src/types/enums.d.ts +14 -0
  69. package/src/types/enums.js +21 -0
  70. package/src/types/enums.js.map +1 -0
  71. package/src/types/index.js +9 -0
  72. package/src/types/index.js.map +1 -0
  73. package/src/utils/defaults.d.ts +7 -0
  74. package/src/utils/defaults.js +41 -0
  75. package/src/utils/defaults.js.map +1 -0
  76. package/src/utils/helper.d.ts +7 -0
  77. package/src/utils/helper.js +225 -0
  78. package/src/utils/helper.js.map +1 -0
  79. package/src/utils/redis.d.ts +3 -0
  80. package/src/utils/redis.js +59 -0
  81. package/src/utils/redis.js.map +1 -0
  82. package/src/utils/responseHandlers.d.ts +6 -0
  83. package/src/utils/responseHandlers.js +57 -0
  84. package/src/utils/responseHandlers.js.map +1 -0
  85. package/src/utils/validate.d.ts +4 -0
  86. package/src/utils/validate.js +24 -0
  87. package/src/utils/validate.js.map +1 -0
  88. package/src/utils/validations/page.d.ts +7 -0
  89. package/src/utils/validations/page.js +51 -0
  90. package/src/utils/validations/page.js.map +1 -0
  91. package/src/utils/validations/tab.d.ts +6 -0
  92. package/src/utils/validations/tab.js +26 -0
  93. package/src/utils/validations/tab.js.map +1 -0
  94. package/src/utils/validations/user.d.ts +3 -0
  95. package/src/utils/validations/user.js +13 -0
  96. package/src/utils/validations/user.js.map +1 -0
  97. package/src/utils/validations/widget.d.ts +9 -0
  98. package/src/utils/validations/widget.js +153 -0
  99. package/src/utils/validations/widget.js.map +1 -0
  100. package/src/constants/index.ts +0 -30
  101. package/src/controllers/PageController.ts +0 -88
  102. package/src/controllers/TabController.ts +0 -47
  103. package/src/controllers/UserController.ts +0 -69
  104. package/src/controllers/WidgetController.ts +0 -420
  105. package/src/index.ts +0 -59
  106. package/src/models/Item.ts +0 -53
  107. package/src/models/Page.ts +0 -22
  108. package/src/models/SrcSet.ts +0 -16
  109. package/src/models/Tab.ts +0 -28
  110. package/src/models/Widget.ts +0 -65
  111. package/src/plugins/softDelete.ts +0 -84
  112. package/src/routes/PageRoute.ts +0 -30
  113. package/src/routes/UserRoute.ts +0 -32
  114. package/src/routes/WidgetRoute.ts +0 -77
  115. package/src/services/dataService.ts +0 -475
  116. package/src/services/dbService.ts +0 -102
  117. package/src/types/common.ts +0 -172
  118. package/src/types/enums.ts +0 -16
  119. package/src/utils/defaults.ts +0 -41
  120. package/src/utils/helper.ts +0 -285
  121. package/src/utils/redis.ts +0 -57
  122. package/src/utils/responseHandlers.ts +0 -60
  123. package/src/utils/validate.ts +0 -22
  124. package/src/utils/validations/page.ts +0 -52
  125. package/src/utils/validations/tab.ts +0 -26
  126. package/src/utils/validations/user.ts +0 -10
  127. package/src/utils/validations/widget.ts +0 -169
  128. /package/src/types/{index.ts → index.d.ts} +0 -0
@@ -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.notFoundError).json({
40
+ code: constants_1.RESPONSE_CODES.ERROR,
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,4CAMsB;AAGf,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;aACzC;YACD,CAAC,EAAE,CAAC;QACN,CAAC,CAAC,CAAC;KACJ;IACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,2BAAe,CAAC,CAAC,IAAI,CAAC;QACtC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC5C,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B;AAEK,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC3D,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IACnE,OAAO,GAAG,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAc,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,yBAAa,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,GAAc,EAAE,EAAE;IAC3D,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;QACtC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
@@ -0,0 +1,4 @@
1
+ import { NextFunction } from 'express';
2
+ import { IRequest, IResponse } from './../types';
3
+ declare const validate: (validator: any) => (req: IRequest, res: IResponse, next: NextFunction) => Promise<void>;
4
+ export default validate;
@@ -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 { IPageSchema, IDefaultValidations } from '../../types';
3
+ 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,51 @@
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
+ exports.create = joi_1.default.object({
7
+ name: joi_1.default.string().required(),
8
+ code: joi_1.default
9
+ .string()
10
+ .uppercase()
11
+ .replace(/\s+/g, '_')
12
+ .required(),
13
+ slug: joi_1.default
14
+ .string()
15
+ .required(),
16
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
17
+ createdBy: joi_1.default.any().optional(),
18
+ updatedBy: joi_1.default.any().optional(),
19
+ deletedBy: joi_1.default.any().optional(),
20
+ deletedAt: joi_1.default.any().optional(),
21
+ });
22
+ exports.update = joi_1.default.object({
23
+ name: joi_1.default.string().optional(),
24
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
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.list = joi_1.default.object({
31
+ search: joi_1.default.string().allow('').replace(/\s+/g, '_').optional().default(''),
32
+ options: joi_1.default
33
+ .object({
34
+ sort: joi_1.default
35
+ .alternatives()
36
+ .try(joi_1.default.object(), joi_1.default.string())
37
+ .optional()
38
+ .default({ _id: -1 }),
39
+ populate: joi_1.default.array().items().optional().default([]),
40
+ offset: joi_1.default.number().optional(),
41
+ page: joi_1.default.number().optional(),
42
+ limit: joi_1.default.number().optional(),
43
+ pagination: joi_1.default.boolean().default(false),
44
+ })
45
+ .default({}),
46
+ createdBy: joi_1.default.any().optional(),
47
+ updatedBy: joi_1.default.any().optional(),
48
+ deletedBy: joi_1.default.any().optional(),
49
+ deletedAt: joi_1.default.any().optional(),
50
+ });
51
+ //# 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;AAKT,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,EAAE;IACb,IAAI,EAAE,aAAG;SACN,MAAM,EAAE;SACR,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,IAAI,EAAE,aAAG;aACN,YAAY,EAAE;aACd,GAAG,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACvB,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;IACd,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"}
@@ -0,0 +1,6 @@
1
+ import joi from 'joi';
2
+ import { ITabSchema, IDefaultValidations } from '../../types';
3
+ type TabValidation = ITabSchema & IDefaultValidations;
4
+ export declare const create: joi.ObjectSchema<TabValidation>;
5
+ export declare const update: joi.ObjectSchema<TabValidation>;
6
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.update = exports.create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ exports.create = joi_1.default.object({
7
+ name: joi_1.default.string().optional(),
8
+ names: joi_1.default.object().optional(),
9
+ widgetId: joi_1.default.string().required(),
10
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
11
+ createdBy: joi_1.default.any().optional(),
12
+ updatedBy: joi_1.default.any().optional(),
13
+ deletedBy: joi_1.default.any().optional(),
14
+ deletedAt: joi_1.default.any().optional(),
15
+ });
16
+ exports.update = joi_1.default.object({
17
+ name: joi_1.default.string().optional(),
18
+ names: joi_1.default.object().optional(),
19
+ widgetId: joi_1.default.string().optional(),
20
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
21
+ createdBy: joi_1.default.any().optional(),
22
+ updatedBy: joi_1.default.any().optional(),
23
+ deletedBy: joi_1.default.any().optional(),
24
+ deletedAt: joi_1.default.any().optional(),
25
+ });
26
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/tab.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAKT,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAgB;IAC9C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,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,CAAgB;IAC9C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,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"}
@@ -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,13 @@
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().keys({
10
+ code: joi_1.default.string(),
11
+ slug: joi_1.default.string(),
12
+ }).xor('code', 'slug');
13
+ //# 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,EAAE,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import joi from 'joi';
2
+ import { IWidgetSchema, IDefaultValidations } from '../../types';
3
+ 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,153 @@
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 defaults_1 = require("../defaults");
7
+ const types_1 = require("../../types");
8
+ const srcset = joi_1.default.object().keys({
9
+ screenSize: joi_1.default.number().required(),
10
+ width: joi_1.default.number().required(),
11
+ height: joi_1.default.number().required(),
12
+ });
13
+ const item = joi_1.default.object({
14
+ title: joi_1.default.string().optional(),
15
+ titles: joi_1.default.object().optional(),
16
+ subtitle: joi_1.default.string().optional().allow(''),
17
+ subtitles: joi_1.default.object().optional(),
18
+ altText: joi_1.default.string().optional().allow(''),
19
+ altTexts: joi_1.default.object().optional(),
20
+ link: joi_1.default.string().optional().allow(''),
21
+ sequence: joi_1.default.number().optional(),
22
+ srcset: joi_1.default.array().items(srcset),
23
+ img: joi_1.default.string().allow(null).optional(),
24
+ imgs: joi_1.default.object().optional(),
25
+ itemType: joi_1.default
26
+ .string()
27
+ .valid(...Object.values(types_1.ItemTypes))
28
+ .default(types_1.ItemTypes.Web),
29
+ });
30
+ exports.create = joi_1.default.object({
31
+ name: joi_1.default.string().required(),
32
+ widgetTitle: joi_1.default.string().optional(),
33
+ widgetTitles: joi_1.default.object().optional(),
34
+ code: joi_1.default
35
+ .string()
36
+ .uppercase()
37
+ .replace(/\s+/g, '_')
38
+ .required(),
39
+ isActive: joi_1.default.boolean().default(true).optional(),
40
+ autoPlay: joi_1.default.boolean().default(false).optional(),
41
+ webPerRow: joi_1.default.number().allow(null).optional(),
42
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
43
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
44
+ collectionName: joi_1.default.string().optional(),
45
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
46
+ tabs: joi_1.default
47
+ .array()
48
+ .items(joi_1.default.object({
49
+ name: joi_1.default.string().optional(),
50
+ names: joi_1.default.object().optional(),
51
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
52
+ }))
53
+ .optional(),
54
+ items: joi_1.default.array().items(item).optional(),
55
+ backgroundColor: joi_1.default
56
+ .string()
57
+ .regex(/^#[A-Fa-f0-9]{6}/)
58
+ .optional(),
59
+ itemsType: joi_1.default
60
+ .string()
61
+ .custom((value) => {
62
+ if (Object.keys(types_1.ItemsType).includes(value)) {
63
+ return value;
64
+ }
65
+ const collectionIndex = defaults_1.defaults.collections.findIndex((collection) => collection.collectionName === value);
66
+ if (collectionIndex > -1) {
67
+ return value;
68
+ }
69
+ throw new Error(`${value} is not a valid widget type`);
70
+ })
71
+ .optional()
72
+ .default(types_1.ItemsType.Image),
73
+ widgetType: joi_1.default.string().optional().default(types_1.WidgetTypes.FixedCard),
74
+ createdBy: joi_1.default.any().optional(),
75
+ updatedBy: joi_1.default.any().optional(),
76
+ deletedBy: joi_1.default.any().optional(),
77
+ deletedAt: joi_1.default.any().optional(),
78
+ textContent: joi_1.default.string().optional(),
79
+ htmlContent: joi_1.default.string().optional()
80
+ });
81
+ exports.update = joi_1.default.object({
82
+ name: joi_1.default.string().required(),
83
+ widgetTitle: joi_1.default.string().optional(),
84
+ widgetTitles: joi_1.default.object().optional(),
85
+ isActive: joi_1.default.boolean().optional(),
86
+ webPerRow: joi_1.default.number().allow(null).optional(),
87
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
88
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
89
+ autoPlay: joi_1.default.boolean().default(false).optional(),
90
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
91
+ tabs: joi_1.default
92
+ .array()
93
+ .items(joi_1.default.object({
94
+ name: joi_1.default.string().optional(),
95
+ names: joi_1.default.object().optional(),
96
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
97
+ }))
98
+ .optional(),
99
+ items: joi_1.default.array().items(item).optional(),
100
+ backgroundColor: joi_1.default
101
+ .string()
102
+ .regex(/^#[A-Fa-f0-9]{6}/)
103
+ .optional(),
104
+ widgetType: joi_1.default.string().optional(),
105
+ createdBy: joi_1.default.any().optional(),
106
+ updatedBy: joi_1.default.any().optional(),
107
+ deletedBy: joi_1.default.any().optional(),
108
+ deletedAt: joi_1.default.any().optional(),
109
+ textContent: joi_1.default.string().optional(),
110
+ htmlContent: joi_1.default.string().optional()
111
+ });
112
+ exports.list = joi_1.default.object({
113
+ search: joi_1.default.string().allow('').optional().default(''),
114
+ options: joi_1.default
115
+ .object({
116
+ sort: joi_1.default
117
+ .alternatives()
118
+ .try(joi_1.default.object(), joi_1.default.string())
119
+ .optional()
120
+ .default({ _id: -1 }),
121
+ // populate: joi.array().items().optional(),
122
+ offset: joi_1.default.number().optional(),
123
+ page: joi_1.default.number().optional(),
124
+ limit: joi_1.default.number().optional(),
125
+ })
126
+ .default({
127
+ sort: { _id: -1 },
128
+ }),
129
+ collectionItems: joi_1.default.array().optional().default([]),
130
+ isActive: joi_1.default.boolean().optional(),
131
+ all: joi_1.default.boolean().default(false),
132
+ createdBy: joi_1.default.any().optional(),
133
+ updatedBy: joi_1.default.any().optional(),
134
+ deletedBy: joi_1.default.any().optional(),
135
+ deletedAt: joi_1.default.any().optional(),
136
+ });
137
+ exports.partialUpdate = joi_1.default.object({
138
+ isActive: joi_1.default.boolean().optional(),
139
+ createdBy: joi_1.default.any().optional(),
140
+ updatedBy: joi_1.default.any().optional(),
141
+ deletedBy: joi_1.default.any().optional(),
142
+ deletedAt: joi_1.default.any().optional(),
143
+ });
144
+ exports.getCollectionData = joi_1.default.object({
145
+ collectionName: joi_1.default.string().required(),
146
+ search: joi_1.default.string().allow('').optional().default(''),
147
+ collectionItems: joi_1.default.array().optional().default([]),
148
+ createdBy: joi_1.default.any().optional(),
149
+ updatedBy: joi_1.default.any().optional(),
150
+ deletedBy: joi_1.default.any().optional(),
151
+ deletedAt: joi_1.default.any().optional(),
152
+ });
153
+ //# 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,30 +0,0 @@
1
- export const VALIDATION = {
2
- WIDGET_EXISTS: 'Widget with same code is available!',
3
- SLUG_EXISTS: 'Widget with same slug is available!',
4
- };
5
- export const RESPONSE_CODES = {
6
- DEFAULT: 'SUCCESS',
7
- ERROR: 'ERROR',
8
- VALIDATION_FAILED: 'VALIDATION_FAILED'
9
- };
10
- export const REGEXS = {
11
- OBJECTID_CAST_FAILED: /Cast to ObjectId failed/gm,
12
- IS_AVAILABLE: /is available!/gm
13
- };
14
- export const MONGOOSE_FIND_QUERIES = [
15
- 'count',
16
- 'find',
17
- 'findOne',
18
- 'findOneAndDelete',
19
- 'findOneAndRemove',
20
- 'findOneAndUpdate',
21
- 'update',
22
- 'updateOne',
23
- 'updateMany',
24
- ];
25
- export const success = 200;
26
- export const create = 201;
27
- export const internalServerError = 500;
28
- export const validationError = 422;
29
- export const notFoundError = 404;
30
- export const messageRoutePrefix = 'msg';
@@ -1,88 +0,0 @@
1
- import { Types } from 'mongoose';
2
- import { create, remove, update, list , checkUnique } from '../services/dbService';
3
- import {
4
- successResponse,
5
- createdDocumentResponse,
6
- } from './../utils/responseHandlers';
7
- import { IRequest, IResponse } from '../types';
8
- import { defaults } from '../utils/defaults';
9
- import { updateRedisPage } from '../services/dataService';
10
- import { VALIDATION } from '../constants';
11
-
12
- const catchAsync = (fn: any) => {
13
- return defaults.catchAsync(fn, 'Page');
14
- };
15
- const getModals = (req: IRequest) => defaults.getModals(req);
16
-
17
- export const createPage = catchAsync(async (req: IRequest, res: IResponse) => {
18
- const { Page } = getModals(req);
19
- const data = req.body;
20
-
21
- await checkUnique({
22
- Modal: Page,
23
- uniqueField: 'code',
24
- value: data.code,
25
- errorMessage: VALIDATION.WIDGET_EXISTS
26
- });
27
-
28
- await checkUnique({
29
- Modal: Page,
30
- uniqueField: 'slug',
31
- value: data.slug,
32
- errorMessage: VALIDATION.SLUG_EXISTS
33
- });
34
- const page = await create(Page, data);
35
- res.message = req?.i18n?.t('page.create');
36
- return createdDocumentResponse(page, res);
37
- });
38
-
39
- export const updatePage = catchAsync(async (req: IRequest, res: IResponse) => {
40
- const models = getModals(req);
41
- const data = req.body;
42
- const _id = req.params['id'];
43
- const updatedPage = await update(models['Page'], { _id }, data);
44
- res.message = req?.i18n?.t('page.update');
45
- if (updatedPage) updateRedisPage(updatedPage.code, models); // update redis
46
- return successResponse(updatedPage, res);
47
- });
48
-
49
- export const deletePage = catchAsync(async (req: IRequest, res: IResponse) => {
50
- const { Page } = getModals(req);
51
- const _id = new Types.ObjectId(req.params['id']);
52
- const createdPage = await remove(Page, { _id });
53
- res.message = req?.i18n?.t('page.delete');
54
- return successResponse(createdPage, res);
55
- });
56
-
57
- export const getPages = catchAsync(async (req: IRequest, res: IResponse) => {
58
- const { Page } = getModals(req);
59
- const search = req.body.search || '';
60
- const { page, limit, populate, sort } = req.body.options;
61
- const customOptions = {
62
- populate,
63
- sort,
64
- ...(page && limit ? { page, limit } : {}),
65
- };
66
- const query = {
67
- isDeleted: false,
68
- $or: [
69
- {
70
- name: {
71
- $regex: search,
72
- $options: 'i',
73
- },
74
- },
75
- {
76
- code: {
77
- $regex: search,
78
- $options: 'i',
79
- },
80
- },
81
- ],
82
- };
83
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
84
- // @ts-ignore
85
- const pages = await list(Page, query, customOptions);
86
- res.message = req?.i18n?.t('page.getAll');
87
- return successResponse(pages, res);
88
- });
@@ -1,47 +0,0 @@
1
- import { Types } from 'mongoose';
2
- import { create, remove, update, getAll } from '../services/dbService';
3
- import {
4
- successResponse,
5
- createdDocumentResponse,
6
- } from './../utils/responseHandlers';
7
-
8
- import { defaults } from '../utils/defaults';
9
- import { IRequest, IResponse } from '../types';
10
-
11
- const catchAsync = (fn: any) => {
12
- return defaults.catchAsync(fn, 'Tab');
13
- };
14
- const getModals = (req: IRequest) => defaults.getModals(req);
15
-
16
- export const createTab = catchAsync(async (req: IRequest, res: IResponse) => {
17
- const { Tab } = getModals(req);
18
- const data = req.body;
19
- const tab = await create(Tab, data);
20
- res.message = req?.i18n?.t('tab.create');
21
- return createdDocumentResponse(tab, res);
22
- });
23
-
24
- export const updateTab = catchAsync(async (req: IRequest, res: IResponse) => {
25
- const { Tab } = getModals(req);
26
- const data = req.body;
27
- const _id = req.params['tabId'];
28
- const updatedTab = await update(Tab, { _id }, data);
29
- res.message = req?.i18n?.t('tab.update');
30
- return successResponse(updatedTab, res);
31
- });
32
-
33
- export const deleteTab = catchAsync(async (req: IRequest, res: IResponse) => {
34
- const { Tab } = getModals(req);
35
- const _id = new Types.ObjectId(req.params['tabId']);
36
- const deletedTab = await remove(Tab, { _id });
37
- res.message = req?.i18n?.t('tab.delete');
38
- return successResponse(deletedTab, res);
39
- });
40
-
41
- export const getTabs = catchAsync(async (req: IRequest, res: IResponse) => {
42
- const { Tab } = getModals(req);
43
- const widgetId = new Types.ObjectId(req.params['widgetId']);
44
- const tab = await getAll(Tab, { widgetId });
45
- res.message = req?.i18n?.t('tab.getAll');
46
- return successResponse(tab, res);
47
- });
@@ -1,69 +0,0 @@
1
- import { getRedisValue, setRedisValue } from '../utils/redis';
2
- import { successResponse, recordNotFound } from './../utils/responseHandlers';
3
- import { defaults } from '../utils/defaults';
4
- import { IRequest, IResponse } from '../types';
5
- import { getPageDataDB, getWidgetDataDB } from '../services/dataService';
6
-
7
- const catchAsync = (fn: any) => {
8
- return defaults.catchAsync(fn, 'User');
9
- };
10
-
11
- const getModals = (req: IRequest) => defaults.getModals(req);
12
-
13
- // TO Do: Optimize the following
14
- export const getWidgetData = catchAsync(
15
- async (req: IRequest, res: IResponse) => {
16
- const models = getModals(req);
17
- const { fresh } = req.query;
18
- const { code } = req.body;
19
- let widgetData = await getRedisValue(`widgetData_${code}`);
20
- if (widgetData && fresh !== 'true') {
21
- return successResponse(widgetData, res);
22
- }
23
- widgetData = await getWidgetDataDB(code, models);
24
-
25
- if (!widgetData) {
26
- res.message = req?.i18n?.t('user.widgetNotFound');
27
- return recordNotFound(res);
28
- }
29
-
30
- await setRedisValue(`widgetData_${code}`, widgetData);
31
-
32
- return successResponse(widgetData, res);
33
- }
34
- );
35
-
36
- // TO Do: Optimize the following
37
- export const getPageData = catchAsync(async (req: IRequest, res: IResponse) => {
38
- const models = getModals(req);
39
- const { fresh } = req.query;
40
- let code = req.body.code;
41
- const slug = req.body.slug;
42
- const { Page } = models;
43
- if (slug) {
44
- const page = await Page.findOne({ slug });
45
- if (!page) {
46
- res.message = req?.i18n?.t('user.pageNotFound');
47
- return recordNotFound(res);
48
- }
49
- code = page.code;
50
- }
51
- let pageData = await getRedisValue(`pageData_${code}`);
52
- if (pageData && fresh !== 'true') {
53
- return successResponse(pageData, res);
54
- }
55
- try {
56
- pageData = await getPageDataDB(code, models);
57
- console.log(code);
58
- } catch (error) {
59
- console.log(error);
60
- }
61
-
62
- if (!pageData) {
63
- res.message = req?.i18n?.t('user.pageNotFound');
64
- return recordNotFound(res);
65
- }
66
- await setRedisValue(`pageData_${code}`, pageData);
67
-
68
- return successResponse(pageData, res);
69
- });